シーサーカンファレンス2007に行ってきました。

噂のSeasarConference2007Autumnに行ってきましたよ!

寒空の中会場の法政大学に向かう。ちょっと遅刻していたこともあり会場周辺には人があんまいなかった。んでキャンパスにはついたんですがどこに行ったらいいか分からない!なんとなくやじるしに従って歩いて行ったら能協会の会場についちゃったり迷子になりながらやっとこさ会場につきました。出来れば正門から入った時にも案内板を立てておいて欲しかった〜〜

A2: つらいJavaから楽しいJavaへ &  A3: 実践楽しいJava

ひがさんの3連続セッション。
今日のひがさんはいつもと違った。なにせアジェンダ付き。そしてとってもいきいきしてました。
最近ひがさんのプレゼンあんま生き生きしてなかったんだけど実装を前面に出した内容の為かとっても楽しげだった。
やっぱスーパープログラマーなひがさんのが好きだ。

  • 何故Java開発はつらいのか
    • 設定値地獄
    • 再起動地獄
      • やりたい作業以外の作業がおおい
      • 開発の思考を妨げられる
      • 生産性が落ちる
  • 生産性
    • 今まではFWの生産性が多く叫ばれていた
    • 大事なのは個人の生産性なんだ!
    • 自分の生産性を上げるのに最適なのがSeasar2
      • そのためのHotDeployでありCoC
    • またリリース用にCoolDeployを用意
      • それによりプロダクティビティーとライヤビリティーを保証できる
        • LLのいいところとJavaのいいとこどりだぜ
  • テーブル駆動とページ駆動開発
    • HTMLページからソースを作っていく
    • シーサーではHTML、SQL共に動いている状態を維持したまま開発していく*1
    • なのでお客さんに見せるモックがそのままリリース成果物に。
  • 業務処理をどこに書くか
    • ページ固有の場合
      • 各ページに書く
    • ユースケース固有の
      • ページの親クラスに書く
    • ユースケースまたがりの場合
      • サービスクラスに記載して処理を移譲
A4: データベースプログラミングの生産性を10倍向上させるSeasar2の新機能

最近話題のS2JDBC。ひがさんは相当やる気らしく「生産性が10倍にならなかったら僕をDISってください」と言っていた。
また使いやすいこと、分かりやすい事をとても重視している。その為DBコネクションが切れたときや変なカラムを指定した時など考えられる全シーンを想定したでテストを行いエラーメッセージがわかりやすいかを確認している。
「エラーメッセージがわかりにくいことはバグだ」分かりにくかったら不具合を上げてくれというのがとてもよかった。私も常々そう思っていたため共感できた。*2

  • 流れるようなインターフェース*3
    • 静的言語とIDEととても親和性が良い
    • やりたいことを書いて「CTRL+SPACE」で保管
      • 思考を止めることなくコーディングが出来る。
  • JPAとの比較
    • JPA:高機能 ⇔ S2:シンプル
    • JPA:はまりやすい ⇔ S2:とらぶりにくい
感想

SQLを理解している人にとってはとても楽そう。その反面SQLを触ったことの無い初心者向けではないかもしれない。
今までのS2のいいところだった「SQLの動いたまま開発をしていく」ところが損なわれてしまう。規模や開発者のレベルによってどっちを使用するかわけるのが良いのかな?
S2JDBCでもSQLファイルは使えるんだけどそれならS2Daoを使った方がシンプルな気がする。*4
しかしさくっと出来る人で開発するにはもってこいな感じ。今後が楽しみです。

*1:やっぱりこれはいいよね。お客さんに見せるものが古くならないし、SQLもすぐにコンソールとかで流して確認できる

*2:特にFWのようなJava初心者や保守の人も使用する基盤の場合、メッセージの分かりやすさはとても大事だと思う。一行で原因が特定でき対策がわかるものが望ましい

*3:流れるようなIFについてはひがさんのブログを読むといいよ 2007-10-25 - DJ HIGAYASUWO (元ひがやすを)

*4:あのサブシスはSQLファイルでこっちのサブシスは流れるIFなんて感じだと保守しにくくなってしまうから