スティルハウスの書庫の書庫

はてなダイアリーで書いてた「スティルハウスの書庫」を移転してきました。

appengine ja night #6やりました!

先週金曜はappengine ja night #6でした。今回はSlim3 1.0.0をリリースされたばかりのひがやすをさんに、前回からひきつづきSlim3のグローバルトランザクション(gtx)についてソースを見ながらの解説をいただきました。またその前に、予備知識としてのgtxの仕組みについて荒川さんから30分ほど解説いただきました。

<セッション1>
発表者:荒川さん(@ashigeru)
テーマ:「図解Global Transaction」
資料:appengine ja night #6 図解Global Transaction

<セッション2>
発表者:ひがやすをさん(@higayasuo)
テーマ:「Global Transaction・第2部」
参考ページ:Slim3 1.0.0 Released

しげる先生は相変わらず図版(Visioで書いてるそうです)の豊富なわかりやすい資料をきっちりつくっていただいて、非常にありがたい! App Engineにおいて複数のEntity Groupが参加する2相コミット(2PC)を実装する必要性と手法について解説いただきました。ここでジャーナルやTQを使った2PCの実装方法を(たぶんw)理解できたところで、ひきつづきひがさんによる実際のソースを見ながらの解説という贅沢な流れ。今回は特に、前回以降にSlim3に投入された最適化手法についてコードベースで説明していただきました。

Slim3では、gtxを使ってコードを書いても、その中でEGが1つしかなければローカルトランザクションとして処理されるためオーバーヘッドがありません。よってSlim3を使うときは基本gtxで書いておけばいいだろ!むしろフィルタでbegin/commitしとけばいいんじゃね?という私の感想でした。これでもう、複数のEGの取り扱いでコードをぐにゃぐにゃ書いたり怒ったり悩んだり落ち込んだりするような状況から開放されそうです。空回り感のあるJDOの学習(hollow?detached?owned?なんぞそれ)からも開放されました。あらためて1.0.0のリリースに感謝しお祝い申し上げたいです。あとは、こういったgtxのような並列処理的コードはとにかくテストや検証が重要なので、皆さんでガンガン使って早く枯れたフレームワークになっていってほしいですね。すでにSlim3を実開発で使ったという事例も、今回のBeer Talkで発表いただいたまぴおんさんのSlim3事例(大変生々しい^^かつ貴重な情報ありがとうございます!)をはじめ、随所で聞こえ初めています。

皆さんのまとめやBeerTalk資料

あと@tokibitoさんもrs2pdf.netでBT参戦いただきありがとうございました!

リクルート川崎さんによるust記録

今回もリクルート川崎さんのご厚意でMedia Technology Labを会場としてお貸しいただきました。いつもいつも感謝です!さらにustもしていただき、一部はその記録も公開されてます:

ちなみに、前回の差額-13133円は今回分から差し引きまして、累計差額は-2915円となりました。私の持ち出しはありませんのでご安心ください!>shin1さん(ビールやピザの量は今回ちょうどよかったですね)。

次回は4月に「shin1ogawa ja night!」の予定です!