Seasar Conference 2008 Autumn にいってきました。

Seasar Conference 2008 Autumnに行って来ました。

転職してからそろそろ一年になるけど、 最初の半年はRuby、あとの半年はPHPPerl中心にやってきました。

が、いきなり2週間くらい前にJavaの案件の火消し的な役回りを命じられ、 今は、S2の案件を担当しています。。


1.理事会活動報告  寝坊して遅れていったので、ちゃんと聞けなかったのですが、  プロダクトとファウンデーションを分離して~とか、  どうやって長いこと出資してもらえる団体になるか~とか、  技術者的には興味が湧かないが、OSSで活動していくにあたって、  S2って結構先頭きって突っ走ってるところがあると思うので、  大切なことなんだろうな、と思って聞いていました。


2.SAStrutsS2JDBCの最新機能  Seasar2は今2.4。TeedaS2DAOっていう形で、  既に2年くらい経過していて、枯れてきている。

 あるとき、とある大規模案件をS2で使いたいという話があがり、  S2StrutsS2DAOで、みたいな話になったものの、  S2DAOはディクショナリの情報をメモリ上にキャッシュするが、  HOT Deploy時に毎回DBにそれをとりにいくと、Oracleの場合数秒かかってしまい、  サクサク感が出なくなってしまう。  S2Strutsも当時まだベータ版で、エラー時のトレースが難しかったり。

 そんなこんなを踏まえて、エンタープライズ用途で使えて、  且つシンプルなもの(たとえばLazyロードしないとか)をっていう思想で、  SAStrutsS2JDBCが出来ました、と。

 んで、デモ。  ・ひがさんのスキャフォルドの実演。   なんかデモが手馴れてるっていうか、安定感がある。  ・中村さんのS2JCBC-GEN   昔、はじめてDoltenをみたときに感動に近かったですが、   最近はDoltenがいろいろなS2プロダクトに対応している。   Eclipse3.4でのAntの文字コード設定の注意点等を経て、   "データをそのままに"テーブル定義の変更ができるっていう。   当然HOT DEPLOY対応なわけで。いやー、これも熱いっす。

 # ただ、PHPとかやってきた自分にとっては、  # Eclipseを立ち上げるだけでダルくて・・・。  # 実行環境(Linux)上で、直接vimでバンバンぶっ叩いた方が、  # いざ外部接続しようとしたときとかも、全然早いし。  # Unix前提みたいな、軽量言語と比べちゃうと、やっぱり差でちゃうよな、と。  # DBまわりもSQLちゃんと書いて、ResultSetをちょっと扱いやすくしたような  # 感じなだけの薄いフレームワークで別によくて。setter,getterしかないオブジェクトとかいらないし。  # んで、超大量件数で業務べったべたなシステムの場合、  # 副問い合わせできないとか、ジョインの数に制限があるO/Rマッパとは論外で。  # S2JDBCは子テーブルの子テーブルの・・・って無限にいけるらしいけど。


3.OpenSocialに見るGoogleのオープン戦略†  このセッションは非常に腑に落ちました。  OpenSocialがなんたるか、が良くわかりました。

 背景的には、FaceBookが開発者作ったアプリを動かせるってのが  画期的ってのがあって。

 でも、FaceBookのは完全に独自仕様だったから、  Googleが秘密裏に仕様を作成し、各ベンダーっていうか会社と  裏でネゴりながら、共通の仕様を策定してっていう。

 ただ、仕様を公開してからは、オープンなフォーラムで、  今後の仕様が検討されていて、  んで、コンテナの実装も、GoogleOSSとして公開してて。

 で、結局"OpenSocialって何なの?"っていうと、  「SNSに使えるi googleのガジェットに毛が生えたようなもの」  って感じっていうと一番わかりやすいんじゃないかと。

 エンジンがi googleのガジェットと同じで、そのコードもOSSとして公開されている。

 講演者のよういちろうさん(天使やカイザーと呼ばれての人)は、  GoogleAPI Expertといって、社員ではないけど、  ディベロッパー向けのGoogleの回し者みたいなことをやってる人。  API Expertって呼び方は日本だけらしい。海外はGuruって呼んでいるそう。  日本では、あの事件の影響で、グルってのはあんまりイメージがよくないからって・・・。


4.Seasarの中の中  このセッションが今回一番熱かったです。  全くもってブラックボックスな、クラスファイルのバイトコードをいじくってるところの話。

 S2AOPを題材にして、どうやって、依存性なく、インスタンスを生成して、ぶっこむか  ってところの話。

 バイトコードでサブクラス作って、そいつがinvokeから~的なところははじめて聞いた。  で、javassistがいかにイケてるかってところ。

 上位のAPIを使うだけで、バイトコードを全然意識しないで、  バイトコード変換ができてしまうっていう。addMethodとか。

 クラスをプールしてたり、クラスパスのリストを~とか、  そんな風になってんのかよってことの連続でした。

 ただ、そこまでして実現しなきゃいけないのかな、、とか思いつつ、  なんか、自分も、もっと奥のほーぅまで行ってみたいな  的な気分になりました。


5.仕事の加速装置、Tugboat.GTD  以前、いい加減自分のタスクが溢れすぎて困ってたときに使ってたツール。  しばらく見ないうちにいろいろ機能がパワーアップしてました。  が、デモ中心で、結構知ってることが多かったから、  もうちょい中身の突っ込んだこととか知りたかったんですが・・・


6.ライトニングトークス  ・S2Swing・・・いや、実際やばいんじゃないかと。アノテーション使っていとも簡単に。。  ・Terasoluna・・・以前使ってたからちょっと愛着ありますが、発表的には普通でした。。  ・定時退社のために・・・俺みたいなやつがいるから、みんな定時で帰れないのカモとか。。  ・Sabotter・・・Eclipse上でTwitterが楽しめるからサボれる。クラウザーさんも出てきました。  ・軽量コンテナ・・・Tomcatの設定とかタルイから。コマンド一発でWebアプリが動かせる。


x.前の会社の同僚にLTの会場で遭遇したので呑みいきやした。