読者です 読者をやめる 読者になる 読者になる

たごもりすメモ

コードとかその他の話とか。

BPStudy 40 に行ってきたよ&しゃべってきたよ

GAE

最近勉強会だのハッカソンだのにいくつか行ったけど、書いてないなあ。反省。あちこちですごく面白い話を聞きまくってます。社内のTechMeetingでも一度しゃべったけど、それはプロダクトを公開できる状況になったらスライドもいっしょに公開できる……はず。

で、表題の通りBPStudy#40 : ATNDに参加して、しかもふたつめのセッションではしゃべりました。なんと毎月開催し続けて40回!というタイミングで声をかけていただいて、ありがたく時間をいただきました。楽しかった。

なお、自分のTwitter/blogプロフィールのアイコンは素顔がほとんどわからず、他に特徴的な外見もないもんで、初対面の人にほとんどわかってもらえないという悔しさを最近抱えてた。ので今回はネタに走り、写真そのままのヘルメットとサングラスを装着して会場入りするという暴挙を実行に移しました。
受付の背後あたりにいたので、来る人がみんな二度見していくのが面白くて面白くて。もうやりません。w

以下内容について。

Google App Engine1.4.0概説

最近Google API Expert (AppEngine)になった @IanMLewis さんのセッション。初めてお目にかかれた。appengine ja nightはいつもすごい遅い時間までやってるからつらいんだよねー、みたいな世間話してました。w

で、本題。1.4.0 が出てどう変わったかってこと。


スライドはこれだけど、あとこっちのblogエントリも詳しい。 Google Appengine SDK 1.4.0 がリリースされました! - Ian Lewis

目玉は4点で、そのうち3点がアプリケーション開発にビッグインパクトありそうということで、今回のアップデートはすごいわくわくでしたね。

個人的には cron/taskqueueの長時間化が大きいかなと思ってたけど、毎分あたりのQuotaが思ってたより厳しいので改めて考えるとビミョーかも、という気分に後からなってきた。巨大なデータセットのメンテナンスでフルにDatastoreアクセスを回しきって10分だったらあれこれできるなーと思ってたところだったので。sleep入れながらやるとか、やだなあ。まあ瞬間最大負荷をそんなにかけられても困るっていう事情もわかるけどさ。まあとにかく、30秒制約をほとんど考えなくてよくなったので自分には実にタイムリーな変更でした。既に30秒超えるtaskを投げまくりです。w
Channel APIはアプリケーション実装の上ではインパクト大きいだろうけど、これも個人的にはMatcher APIと組合せて最大に効果があるんじゃないかと思う。のでそっちも待ってみたいかな。
Always On と Warmup Request は完全にソーシャルアプリ向けですね。今の自分には関係ない。w

Metadata Queriesは最初よくわかってなくて、セッション前にどーなの?って話もちょっとしてたんだけど、現在保存されているデータセットを動的に確認しながらコードの動作を変えられるって意味では実はかなりキラーライブラリ的なものを作る切り札になるんじゃないかと今になって思っている。なんか作るかも。乞御期待。

AppEngine 1.4.0 SDK ソースコードから見る実行環境

で、こんなお題でしゃべりました。途中から実際にPython SDKソースコードを追ってみたりしてました。こんなマニアックな内容でいいのかなーと思いつつ。あと実はシラフでAppEngineについてのセッションをやったのはこれが初めてでした。appengine ja night だとBeerTalkでしかしゃべってないので。w

ざっとAppEngineの実行環境について解説したあと、コード中の謎の空白について実例を示して興味を引き、あとはDatastoreにGetするときの処理の流れをざっと実際のコードで追う、という感じ。
前に appengine ja night でコードリーディングやったときの反省をこめてやったつもりだけど、やっぱりその場でコードを理解してもらうってのはどうしても無理があるんで、そこはあんまり求めなかったつもり。
それよりも AppEngine SDK のコードってコンパクトで読みやすくて、なにかあったときに「わからん。まあ読めそうだったし、ちょっくら読んでみるか」とでも思ってもらえるように少しでも貢献できてたら、それで充分だったかなという気がする。それで読んでみた結果をblogエントリに書いてTwitterに #appengine ハッシュタグつきでポストしてもらえたら、自分としては万々歳かな。w

RemoteApiのくだりはMakeSyncCallというものについての理解が前提になるので、正直今回みたいなセッションででもないとしゃべるのはなかなか難しかったんで、ちょっと無理矢理感があったけど入れさせてもらいました。
あとはみんなの度肝を抜くデモができるはずだったのに、ああネットワークの調子が悪くてデモがうまくいかず……… orz
そのライブラリについては次回の appengine ja night でしゃべれる予定です。たぶんみなさんのデータメンテナンス事情が劇的に改善するはず。

しゃべった手応えはどうかというと、Twitterの #bpstudy ハッシュタグを見る限りはそれなりに好評だったような。そこに何もPOSTしてない人が実際どう思ってたかは不明ですが。個人的には何度かささやかながら笑いもとれたので大満足でございました。

最後にかなりクサい言葉を加えたのはスライドを作っていたときの酒の勢いもありますが、でもここしばらく、ライブドアという会社で働きながら強く強く感じていることでもあります。あんなことをみんなが大真面目に、声高に言える世の中になればなー、と思ってます。

懇親会

参加しました! 初めてお会いする人とか、ああTwitterではよく!みたいな人とか、ああjava-jaではよくお顔を!みたいな人とかとしゃべれたのですごい楽しかった。あとみんな色々な意味で動きが激しくて、やっぱりもう一ヶ所にずっと張りついてって時代じゃあないよなーとか、そんなことを考えつつあれこれ話をしてました。
仮にもスピーカーとしての時間があったので、あんまり物怖じしないで人の輪のなかに入っていけるのはいいね! 数少ない機会での特権! 自分の心理的な問題なんだけどさ。

ということで、もう最初から最後までずっと楽しいイベントでした。ありがとうございました!