2010年1月23日土曜日

#appengine ja night #4( #ajn4 )に参加した

1/22(金)にappengine java night #4が開催され、今回も参加してきました。今回からは、javaに拘らないappengineネタを!という事で、appengine ja nightという名称に変えて開催されることになりました。また今回はajn恒例の「LTを肴に懇親会」については、交流メインでTalk少なめ!という方向で参加者同士の交流もしやすかったです。

ゲットしたノウハウ

  • モデルのリファクタを可能にするための、トレーサビリティは重要
  • 最も説明したい内容の理解を進めていくために、超簡単な内容から始めて少しづつ変化するステップアップを徐々に積み重ねて説明する事はとても良い
  • appengineのデータストアのメンテナンスに、コンソール形式のインタプリタはかなり便利
  • 御座候のあんこは甘さひかえめ

浅海智晴さん(@asami224): DSL駆動開発×AppEngine

どこにappengineのお話が…?というカンジだったけど、自分もMDAな人なのでモデグラミングの話はとても面白かった。その中でも心に残った点がふたつあった。

ひとつは「テキストでモデリングできて、それをセマンティックに解析できるとリファクタも容易になる」ということ。確かにそうで、リファクタとかも大事だけどなにより記述もお手軽。最近同僚から教えてもらったQuick Sequence Diagram Editorというツールはテキストでシーケンス図を記述できるツールなんだけど、これが大変便利。実際には書ける・見れるでは機能として不十分で、「ソースを解析して取り出すAPI」「Webブラウザ等で共有できる」といった機能が提供されていないと今風の開発環境としてはベストとは言えないんだけど、その最初のステップを踏み出せている良いツールです。これが、シーケンス図だけではなくてユースケース、コラボレーション、アクティビティ、ステートチャート図あたりにも欲しいところ。逆に実装に近いクラス図なんてものは必要ないかなぁ。ソースを書いてIDEから追えるものはどうでもいいかな。

もうひとつ心に残ったのは、「全部を自動生成しようなんて思ってない」という点。ジェネレーションギャップパターンとかもあったりするけど、よほど大規模で無い限りはそれすら必要ないかも。テストケースが残っていれば、実装ってのはそんなに時間がかかるものでもないので、設計の変更があった場合はテストケースに変更を加え(ここが自動生成であればありがたい)、自動生成後に実装を作り直しても良いと思う。フレームワークがあって実装に必要なライブラリも揃っていて、そこへテストケースがあれば実装はそんなに手間ではないと思うし。自分としては設計から永続装用のソースとテストケースが自動生成されて、後はちょっとしたスケルトンが自動生成されれば片方向の方が使い易いかな。

…と、浅海先生が伝えたかった内容をひとつもキャッチアップできていない気がしないでもないw だってappengineの話が無(ry…まぁ、受け止め方は人それぞれという事で。ちなみに、資料の半分程度しか話を進められなかったかぁ、とか思ってたけど甘かった。公開された資料を見る限り、1/3くらいしか進んでいなかったようです!!

あらかわ(@ashigeru)さん:Transaction Puzzlers

説明の内容より、説明の進め方に感動しました。伝えたかった内容は、一番最後のBASE Transactionの話ただひとつだったのだろうな、と。それを導くためのステップが素晴らしかった!!単純な操作についてパターンとしての命名をし、擬似言語を使ってシンプルな記述でステップをすこしずつ進めていく…。資料は公開されているので、永久保存されると良いと思います。

誰かがashigeru言語をappengineプラットフォームで動かしてくれるんだと思います(他力本願)。

あらかわさんと言えば、会社を上げてappengineに取り組んでおられて、その技術力も一番であると思われるグルージェント社なのだが、appengineエンジニアとして腕に覚えがある方は狙ってみてもいいのかもしれませんね。

@urekatさん:jruby関連

JRubyの方のトークで、自分としてはやっぱり「irbでmakeSyncCall()」が印象的だった。会場も大いに湧きましたが、実際コマンドラインベースでちょこっとデータストアのデータを処理するにはLL系のインタプリタは大変便利ですね。

後うれしいなと思ったのは資料にも書かれている内容で「Low level API を知る=DataStoreの仕組みを知る」という風に理解をしていく人が増えてきた事。ちょっと何か作るとかならいいんだけど、それなりにappengineプラットフォーム向けのアプリを組むのであれば、JDOから入るのは間違いの元ですね。@urekatさんはTinyDSというLLAPIのラッパを作られているようで、それを通じて理解されたようです。JRubyでのスタンダートとなると良いですねぇ。

資料も公開されています

@shin1x1さん:ホッテントリを集計するサービス

ajnのために大阪から来ましたというハッタリ、PHPerとデカデカと紹介しつつ今回のトークネタはPythonだったり、素晴らしい方でした。ネタのメインは御座候botというbotの紹介と、はてなのホッテントリを集計分析するサービスの紹介。

御座候botはあえてリンクを用意しませんが、気になる方は"御座候"とつぶやいてみましょう。

ホッテントリの集計をするサービスはhttp://hot.hatebu.jp/です。なんとこのサービス自身はホッテントリ入りしていないらすぃ。数日前に自分もTLでこのサービスの立ち上げを知ったので有名なサイトだと思ってたけど、まだはてブは少ないようで勿体無い。って事で自分も微力ながら協力できればと思い、deliciousにぶくましておきました。

@kimteam

いつものように、@kimteaがTLのまとめをしてくれています。こういうの大事なので感謝です。

感謝

第2回でも会場を提供して下さり、今回もまた会場を提供してくださった株式会社リクルート様、リクルートメディアラボの川崎様、大変ありがとうございました。いつも開催に関するしきりをしてくださるスティルハウス佐藤さん、ありがとうございます&次回もよろしくお願いいたします。そして、スピーカーの皆様、面白いお話を大変ありがとうございました!!

過去の参加報告

追記

本文中でappengine ja nightに名称を変更した、とか書いてた癖にエントリのタイトルがappengine java nightのままでした。@bluerabbit777jpさんに指摘いただき修正しました。

コメントを投稿