2009-01-01から1年間の記事一覧
@higayasuoさんのつぶやき: #appengine でリクエストを処理するスレッドは1インスタンスあたり1つという仮定は正しい。ただし、インスタンスの特定にRuntimeのhashCodeを使うのは間違いでFilterなどで起動時にServletContextにUUIDなどを突っ込んで調べるの…
RedditにApp Engineの日本語の情報を集めるページを作ってみました。ブログやスライドなど、なんでも投稿お待ちしてます!http://www.reddit.com/r/AppEngineJa/
memcacheに対するロックを書かずに、リングバッファみたいなキューを作って値を受け渡しする方法が以下の記事で紹介されてました:Memcache lockless queue implementation値を書き込むときはこんな感じ。例のincrementメソッドでアトミックに連番を取得して…
ご存じのとおり、App EngineのJVM(App Server)はクラスタ化されていて負荷分散される――というのがGoogleの説明です。しかし、WebブラウザからApp Engineに届くHTTPリクエストや、Task Queueのタスクによって呼び出されるHTTPリクエストは、実際にどのよう…
appengine java night #2 の私のLT「私はいかにしてXMPPで悩むのをやめ、Tornadoを愛するようになったか」の資料です。この資料のベースとなった調査結果等は、XMPPカテゴリの各記事で見られます。XMPP and TornadoView more presentations from kazunori279.
appengine java night #2 にご参加いただいた皆様お疲れ様でした&ありがとうございました!ひがさんとshin1ogawaさんをはじめ、浅海さん、yuroyoroさん、cactusmanさん(乱入感謝!)など、なんだかキャラ立ちすぎな方々(ほめ言葉)とその場で議論できたり…
最近なぜか私のTLにはマニアックな若者が増えてきて、Smalltalk/Lispマシンの話とかすると妙に反応があったので、まとめ。私とSmalltalk-80との運命的な出会い(いやほんと人生が変わった)は、マイコン雑誌「I/O」のSmalltalk-80紹介記事でした。1985年ご…
appengine java night #2のお知らせです。今回もまたまたひがさんとshin1ogawaさんによるセッションの続きです。また同じ会場でLT見ながら懇親会やりますので、こちらもぜひご参加ください! 詳細はこちらをご覧ください。http://atnd.org/events/1793 http:…
ここ2日くらいデバッグではまりました。もともとこんな処理してるコードです: a. クライアントが大量データダウンロードのリクエストを投げ、ポーリングをはじめる b. リクエストに基づいてTask Queueに数個〜数10個のタスクが積まれる c. 個々のタスクの結…
昨日の深夜になぜか私のTLの人たちがMacRubyのVM実装についてつぶやき始めたのでまとめておく。@shudoさん: RT @wtakuo: MacRuby 0.5 beta 1 はすごい.YARVからLLVMに変更.それによってGILの心配がなくなる.さらに並列処理はGCDを利用.AOTも提供.もは…
前回にひきつづき、GAEとFlashをXMPPでつなごうとしてます。 Amazon EC2でejabberdを動かす ejabberd on Amazon EC2 Ubuntu AMI My first problem came when I tried to communicate with users registered in other Jabber servers like Jabber.org and Goo…
GAE/Py+FlashでXMPP接続したい! この目標に向けていろいろ調査中です。 GAE/PyとGoogle Talkをつなぐ これはとても簡単にできました。特に参考になったのは、civicさんの Google App Engine の XMPPをPythonで書いてみる-1というページ。これをまねして、 …
GAE/Jとの戦いをくぐり抜けてなんとかproductionリリースしたところ、モリアの坑道を抜けたガンダルフが白くなったように、気がついたら私もJava使いからPython使い(※見習い)へと変身してしまいました(まあまたJava案件になれば戻ると思いますが)。Pytho…
TaskQueueで分散処理した結果をまとめるときは、排他を考慮する必要があります。Datastoreを使う場合なら、単に結果を新規エンティティとして追加したり、エンティティグループの楽観排他を使ったりすればOKです。一方、やっぱりMemcacheでスピーディーに集…
ColaboloがAdobe AIR Contest 2009で「業務アプリケーション賞」を受賞しました!わ〜い! http://www.adobe.com/jp/events/aircon2009/awards/
MLのやりとりでJasonさんに見せるためにここにアップ。
IDG「ITアーキテクト」の最終号に最初で最後の記事を書きました。バキっぽい出だしにしてみました。Google App Engineの要、Bigtableを通して知る 分散キー/バリュー・ストアの実力 http://www.itarchitect.jp/mag/pdf/ita_vol025_Feature4.pdf (冒頭のみ)
謎なエラーのひとつ、NoClassDefFoundErrorについてヒントとなりそうなポストがMLにありました。http://groups.google.com/group/google-appengine-java/browse_thread/thread/ec4a06cd90cc49f3# You had a request back at 09-25 06:27AM 29.110 that excee…
Datastoreやmemcacheが固まる時によく出てくる「sun.misc.Unsafe#park」って何だろ?と思ってググってみたら(←なぜか変換できた。ATOKすばらしす)、以下のページによると「Object#wait」みたいなもんらしい。。http://d.hatena.ne.jp/freebeans/20080509/p…
以前、コンポジットインデックスを自作するというエントリを書きましたが、そのためにわざわざ新しいエンティティを作らずに、普通のエンティティにコンポジットインデックス代わりのプロパティを持たせる方法をちょこちょこ使い始めました。例えば、以下の…
appengineをここ10日くらいproductionで運用して、もうひとつ気づきました。CPUコストのほとんどが、アプリケーションの正常動作ではなくて、Datastoreやmemcacheが勝手に固まる謎のエラーによるものってことです。Datastoreやmemcacheが固まると、そのまま3…
http://home.att.ne.jp/sigma/satoh/diary.html (個別記事にリンクがない〜) 分散アルゴリズムに多少知識がある方ならば、Paxosを含む3相トランザクションプロトコルは遅いことは常識。だから遅延が大きいことは当初から予想されたことだと思います(個人…
appengine java night #1 にご登録いただいた皆さんへ、たくさんのご登録ありがとうございました! ひとつ重要なお願いです。告知ページでお知らせしましたとおり、Google東京オフィスの入館には事前に「本名」の事前登録が必要となります。もしappengine ja…
appengineを運用していると、ときおり原因不明のエラーが起きます。Googleが説明する0.1%程度のエラーとはちょっと違う感じがします。どれも毎回起きるわけじゃなくて、一時的に頻発したりします。想像するに、特定のApp Serverノード上でデプロイやクラスロ…
利用者同士で実践的ノウハウを共有するためのGAE/J勉強会、appengine java night #1の開催のお知らせです。 id:higayasuoさんとshin1ogawaさんをスピーカーに迎え、皆さんとわいわい議論&情報交換できればと思います。ぜひ以下ページからご参加登録ください…
ここ2か月ほどは、AIRクライアント+Railsサーバーで動いていた既存サービスをappengineに移行する作業を地道に進めてきました。先週末はそのリリース(ってもユーザーさん的には変化がない)があり、なんとか大きな問題はなく移行が完了しました。リリース…
Migration to a Better Datastoreの要点の後半です(前半はこちら)。 Megastoreレプリケーションで解決 Megastoreとは、Bigtable上に実装されたGoogle内部のライブラリ 宣言的スキーマ(スキーマ定義ってこと?)、複数行トランザクション、セカンダリイン…
appengine blogにポストされたMigration to a Better Datastoreの要点をピックアップしてみました。間違い等ありましたらご指摘ください! Googleは「マルチホーミング」を追求している データセンター単位でのダウンに対応する リードオンリータイプのアプ…
Seasar Conference 2009 Autumnのひがさんのセッション「SQL脳からBigtable脳へ」を見てきました。おおこれはB脳だ!と思った部分: レンジスキャンがBigtableのかなめ Bigtableは単なるKVSではなく「ソートされたキー」があるKVSという点が重要 自分の要件…
本日のDXEセミナー「Flex/AIR×GAE/J開発tips」の資料です。Flashデザイナーさん向けに、Flex/AIRとGAE/Jを組み合わせた事例紹介、Blaze/DS利用法、その他tipsを簡単にまとめてあります。Flex/AIR×GAE/J 開発tipsView more presentations from kazunori279.