JavaWorld Day 2008に参加しました。
残念ながらスケジュールが合わず、基調講演のみの参加です。
[プラットフォームとしてのインターネット -- クラウドのプログラミング]
米国Google ソフトウェアアーキテクト グレゴリー・ホーペ氏
Cloud Computing の時代は、「アーキテクトの夢」かつ「開発者の悪夢」になりうる。
通常のシステムとは考え方を変えなければならない。
[従来のACID]
Atomic 原子性
Consistent 一貫性
Isolated 独立性
Durable 永続性
[新しいACID]
Associative... 順序が変えられること。 (A+B)+C = A+(B+C)
Commutative... 交換可能なこと。 A+B = B+A
Idempotent.. べき等性。複数回実行しても同じ結果になること。 F(x) = F(F(x))。
リトライを繰り返しても副作用ないように
Disitributed... 分散を前提に。対応策としては "Try again" or "Give up"
後者は現実世界に近い。本人のエントリー"Starbucks Does Not Use Two-Phase Commit"を参照。
2. Google のインフラ
Google は、クラウドを実現する仕組みとして以下のものを備えている。
・Google File System (GFS)
・BigTable ... 分散処理に向くデータ構造。
・Map Reduce ... 並列処理を実現するために、状態を持たない(Stateless)。オブジェクト指向ではなく、関数処理に近い。
・Sewzell (ザウズル)... ログ処理に向く。並列処理を実現するため、直列処理の典型であるforループを使わない。
3. Google App Engine
Google App Engine は、このような仕組みを利用して動いてる。"Automatic Scale"な仕組み。
[感想]
Google App Engineの意義は、このようなGoogleのインフラ上でアプリケーションを動かせることだと、あらためて感じました。もっとスケールが必要なアプリを作りたいところです。
2008年8月21日木曜日
岩井さんのトークイベントでTENORI-ON
Auのイベント「ガッキとケイタイ」のイベントに参加しました。
岩井俊二さんのブログ(いわいさんWeb)はいつも楽しく拝見させていただいているので、直接話が聞ける機会を逃す手は無いと思い、参加しました。
TENORI-ONに繋がる今までのいろいろな作品の解説が聞けて、とても今日に深いイベントでした。紙テープのオルゴールは自分も持っているので、逆さまに演奏したエピーソードは思わずうなづいてしまいます。
ちょっと時間が押して、TENORI-ONの説明が短くなってしまいましたが、ぐっと興味がわいてきました。YouTubeで様々な演奏が見れるとの事なので、調べてみたいと思います。
2008年8月17日日曜日
clip'nのToDo
ブックマークアプリのclip'nも、やりたい事が色々あります。
忘れないように、こちらもTo Doリストとしてここに書いておきたいと思います。
- 検索で、大文字小文字を区別しない
- 検索で、ヒットした箇所の色を変える
- タグをリストから選べるようにする
- サムネイルを出す
- ブックマーク先の内容を検索できるようにする
徐々に成長させていきたいです。
2008年8月16日土曜日
アナログシンセサイザー SX-150
2008年8月8日金曜日
1 Tap Mail の ToDo
iPhone用のアプリの「1 Tap Mail」ですが、まだ完成度が低いものです。
今後改善したいことを、ここにメモっておきます。
- 見た目がiPhone用らしくない。iPhoneに合わせたデザインにしたい。良いライブラリ、パーツがあれば使いたい。
- メールの題名、宛先などに特定の記号を使うと、iPhoneのメーラーが起動しない。シングルクォートなどが駄目。
- 本当は、SMSを一発で送れるようにしたい。どなたか、URL指定でSMSを起動する方法を知っていたら、教えていただけると嬉しいです。
2008年8月3日日曜日
1 Tap Mail
iPhoneのWeb Clipから、1タップでメールが送れるようにする、「1 Tap Mail」をGoogle App Engine 上で作ってみました。
宛先、題名、本文を入力して、「generate」ボタンをクリックすると新しいページが開きます。それをWeb Clipとして保存してください。
あとはWeb Clipを1タップすれば、メールが起動され、新しいメールが作成されます。
どうぞお試しください。
登録:
投稿 (Atom)