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

たごもりすメモ

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

AppEngine ja night #11 に行ってきたよ

GAE

いま見てみたら ajn10 のときはblogエントリ書き忘れてた……。まあいいや。

YAPC二日目のあと、そのまま AppEngine ja night #11 に移動して参加してきました。感想などをつらつらと。ひとセッションで自分もしゃべりました。
なお遅刻したため最初のセッションは聞けなかった。全文検索の話だったはず。

「appengineを携帯サイトで使ってみた」@yanaginさん

ATNDに携帯サイト向けの画像処理とか書いてあってなんのこっちゃと思ってたら、けっこう違っててGAEをCDNがわりに使おうという話だった。資料はどこかに上がるのかな? 簡単にまとめると以下のような感じ。

  • 携帯サイト向けに使ってる今のデータセンタが、回線の帯域が細いのでアクセスが増えたときにサチっちゃいそう
    • 回線帯域を増やしてもいいけど、お金かかる
    • これまで使ってみていたAppEngineを仕事でも使ってみたい
  • システムに大きく手を入れるのはちょっと
    • システム構成はガッツリと Struts + MySQL で、書き直しは面倒
    • トラフィックが問題なんだから画像を追い出せればよくね?
  • 画像だけappengineから流すようにしてみた
    • HTML出力時に画像のURLを appspot.com のに変換してやる
    • 携帯は appspot.com に画像を取りに行く
    • appengine側に置いたアプリは手元のキャッシュ*1を探して、あればすぐそれを返す
    • なければ本サイトに取りに行って手元にキャッシュし、その上で返す
  • 画像に変更とかあったら?
    • HTMLで出力するときにクエリ文字列つけて出して、appengine側でそれを見てキャッシュし直せばOK

それってモロにCDN*2じゃん! なるほどこれは新しい! と目からウロコが落ちた。
もちろん大容量・超広帯域のデータを流しまくるような用途だとappengineで代替するとかはありえないんだけど、元々そこまで転送量が多くないような場合、特に appengine の無料分に収まるかどうか程度のデータ量であれば、これは充分アリだと思う。iDC専用線って10Mbpsとかでもそれなりにお値段するしね。
このシステムを丸ごとOSSとして公開しちゃったら、そのまま使いたいところは多いんじゃないかなあ。どんなものにも流用できそうだしねw

「AppEngine上のMDAサービス MindProcessor」@prudence3298さん

きわめて正直に言って、MindMapとかまったく興味ないんで割とスルー気味だったことをここに告白します。すいません。
しかしMindMapからソースコード生成とかやって嬉しいのかなあ。ぜんぜん洗練されてない設計の何かが出力されるだけのような気がするんだけど。そうでもないのかなあ。んー。

Mirahとかエルシャダイなお話 @yuroyoroさん

エルシャダイでした。時事ネタはやれるときにやらないとね。
でMirahなんですが、JRubyより嬉しい理由が確かにわかんないんだよね。てかブロック引数をとれるメソッドが書けないとか意味がわからん。それはRubyっぽいとか言っちゃダメだろ。言語仕様も無しというのはともかく、ライセンス表記も無しとかもはや理解が不可能なレベル。
もうちょっとマシにRubyっぽくてappengineで動きますよーとかならともかく、今の状態ならどうでもいいや。放置して予後を見守りましょう。

appengine sdk updates @tagomoris

しゃべりました。資料はこちら。

頻繁にSDKがアップデートされるプラットフォームである一方、リリースノートにきちんと目を通せる状況というものに恵まれない場合も多々あるわけで、そんな人向けにajnでsdk updateをざっと眺めるセッションがあったらいいんじゃないかなーとtweetしてみたら、気付いたら自分がしゃべることになってました。まあいいけどさ……。
セッション中に会場で聞いてみたところ、やっぱりちゃんとリリースノートを読めている人はそんなに多くないっぽい。やってよかったかな。
みんなに恩恵がある上、発表する側としてもリリースノートをちゃんと読み込みさえすればいい。わかんないところは会場で「〜と書いてありますけどこれってどうなんですかね?」とか聞いてみるとみんなあれこれツッコミを入れてくれるし、やってみる障壁は低いと思います。
リターンは大きいよ。次回以降、特にあんまりしゃべってみた経験ない人、どうですかね?

内容としては、個人的にはChannel APIがないことが残念でしたー、と。もうしばらく出てこなさそうかも。
いっぽう、普通のシステムを普通に運用する上で必要そうな機能(動作してるインスタンス状況の把握とか、クエリの機能向上とか、エンティティの削除とか、TaskQueueの便利さ向上とか etc)はあれこれ追加されて、そんなに不便を感じる機会も少なくなってきたんじゃないかなーと思う。そろそろ利用者がどかんと増えてもあんまり驚かないレベルになってきたな。

そのほか飛び入りBT

@hanasooさん、Google Appsカレンダーを便利にするアプリの話。うちの会社も400人規模でスケジュール管理は完全にGoogle Appsカレンダー使ってますねえ。大人数なんだけど、要するにみんな興味のある同僚ってあんまり多いわけでもなくて、多分あんま見てないんだよね。だから便利になるとゆーても興味ないなーという感じ。それで回る会社はあまりないかもしれないけどw

@knj77さんのgobo-toolsの話。appengineのデータストアの内容をGoogle spreadsheetにダンプ/からリストアしてやろうぜ!というツール。すげー便利そう。たまらん。安定板の完成をお待ちしています。w
このツール、本格的に稼動してるアプリの大規模なデータセットのメンテナンスをやろうと思うと多分(手間とか的な意味で)死んじゃうんじゃないかと思うんだけど、その一方で実はテスト用のデータの作成とかにものすごく使えるんじゃないかという気がする。テスト走行前にDatasotreの内容をdropしてSpreadsheetからリストアして、んでそれをfixtureとしてテスト走行、とかものすごく天国っぽい。

あと @gae_1topi をはじめました、という話。自分にいまいち理解できない世界ですが、やりたい人がやりたいようにやるのはとてもいいことだと思います。まる。

そのほか感想とか

自分のセッション中に聞いてみたら、なんか4割くらいがPython派という状況になってた。すごい。みんなもっとナイスな言語のナイスさを知るといいと思います。何があってこういう状況になってきたんだろう? 明らかにちょっと前と較べると増えてるぞ。

あれこれ雑談したところ、やっぱり最初は趣味ベースで始めてみた、機会があれば仕事でも使ってみたいなあ、という人が多いと思う。使ってみたくなったときに、すぐに、タダで試せるってやっぱり大きいよね。AppEngineもiOS SDKも自分がやってるのはだいたいそうなんだけど、とりあえず始めるときの間口が広いってのは開発者を引き付ける、ほんとうに強力な理由になると思う。そりゃ大抵の言語は今や無料で試せる時代だけど、それを動かす環境となると意外に手間がかかったりお金がかかったりってことが少なくないからなー。
本当は初期費用(どころかある程度のトラフィックの費用まで!)タダってのは企業にとってこそおいしいんじゃないのと前から思ってるんだけど……まあ、それは言ってもしょうがないよなあ。特に今の自分は。

で、今回も楽しかったです! 幹事の @kazunori_279 さん++ および会場のリクルートメディアテクノロジーラボさん++ ということで。おつかれさまでした!

*1:保存先はインスタンスの静的メモリかDatastore

*2:Cotents Delivery Network: Akamaiみたいなやつ