Seasar Conference 2008 Autumnに行って来ました。
転職してからそろそろ一年になるけど、
最初の半年はRuby、あとの半年はPHPとPerl中心にやってきました。
が、いきなり2週間くらい前にJavaの案件の火消し的な役回りを命じられ、
今は、S2の案件を担当しています。。
——
1.理事会活動報告
寝坊して遅れていったので、ちゃんと聞けなかったのですが、
プロダクトとファウンデーションを分離して~とか、
どうやって長いこと出資してもらえる団体になるか~とか、
技術者的には興味が湧かないが、OSSで活動していくにあたって、
S2って結構先頭きって突っ走ってるところがあると思うので、
大切なことなんだろうな、と思って聞いていました。
——
2.SAStrutsとS2JDBCの最新機能
Seasar2は今2.4。TeedaとS2DAOっていう形で、
既に2年くらい経過していて、枯れてきている。
あるとき、とある大規模案件をS2で使いたいという話があがり、
S2StrutsとS2DAOで、みたいな話になったものの、
S2DAOはディクショナリの情報をメモリ上にキャッシュするが、
HOT Deploy時に毎回DBにそれをとりにいくと、Oracleの場合数秒かかってしまい、
サクサク感が出なくなってしまう。
S2Strutsも当時まだベータ版で、エラー時のトレースが難しかったり。
そんなこんなを踏まえて、エンタープライズ用途で使えて、
且つシンプルなもの(たとえばLazyロードしないとか)をっていう思想で、
SAStrutsとS2JDBCが出来ました、と。
んで、デモ。
・ひがさんのスキャフォルドの実演。
なんかデモが手馴れてるっていうか、安定感がある。
・中村さんの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が秘密裏に仕様を作成し、各ベンダーっていうか会社と
裏でネゴりながら、共通の仕様を策定してっていう。
ただ、仕様を公開してからは、オープンなフォーラムで、
今後の仕様が検討されていて、
んで、コンテナの実装も、GoogleがOSSとして公開してて。
で、結局”OpenSocialって何なの?”っていうと、
「SNSに使えるi googleのガジェットに毛が生えたようなもの」
って感じっていうと一番わかりやすいんじゃないかと。
エンジンがi googleのガジェットと同じで、そのコードもOSSとして公開されている。
講演者のよういちろうさん(天使やカイザーと呼ばれての人)は、
GoogleのAPI 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の会場で遭遇したので呑みいきやした。
コメント
OpenSocialについて話をしたものです。他の魅力的なセッションがある中、私担当のセッションにお越しいただきまして、ありがとうございました。少しでもOpenSocialやGoogleに興味を持って頂けると嬉しいです。
コメントありがとうございます!
よういちろうさんのお話、とてもわかりやすく、
聞けてよかったです!!
GoogleのAPI群を使って、何か面白いことやりたいなぁと
思ってはいるもの、、、的な感じで、
今後、何かやっていきたいなぁと思っています。
API Expert頑張ってください~