2010年の振り返り

2010年もようやく終わりです。まだちょっと残っていますが、
今 DBFlute がちょっと落ち着いたってのと、
また、本当の年末になっても誰もブログ見ないですからね。

さて、今年の始めは何を言っていたでしょう?

2010年01月01日 | jfluteの日記
http://d.hatena.ne.jp/jflute/20100101

元旦リリースしてますね。。。(何やってんだか)
その前の年(昨年)は、DIコテンナ非依存で、
DBFluteがより広い世界で活躍できる環境が整い、
本格的に世に出るための土台ができた感じでした。
今や Seasar(S2Container) のみならず、
Spring Framework, Google Guice などでも
普通に動作します。(もちろん実績はSeasarが圧倒ですが)

今年一年は、DBFlute-0.9.6.3 で始まり、ChangeLog を
見直してみると... ChangeLog | DBFlute
随分と DBMS の名前がピンポイントに記されている
課題が多いですね。そうです、より広く使われるように
なったからか、現場にフィットさせるための DBMS ごとの
微調整をやたら実装したような気がします。微調整という
レベルを超えて、かなり特化した一大機能もありますしね。

Oracleの配列・構造体パラメータ | jfluteの日記
また、とてもハイエンドなフレームワークに進化できたん
じゃないかと思います。個人的にとても印象深かったのが、
シーケンスキャッシュの機能。

DBFluteはシーケンスのキャッシュ機能を装備した | jfluteの日記

地味なことですが、いざ活躍する場面が来た時は本当に役に
立つもので、あるとないとではスピードが全然違うでしょう。
しかも、DDLに注文をつけない「バッチ方式 (batchWay)」
も提供できたのが本当に良かったです。
最近、この機能のソースコードを一部読み返す機会があった
のですが、なんとも難解で...ちょっと気合いを入れないと
読み返せないぞ、というところでした。ああよく実装したなぁ、
このときも朝から夜中まで実装してたかなぁと思い返します。
また、さらに飛躍した機能の一つとして挙げられるのが、
外だしSQLのFORコメントです。

FORコメント (外だしSQLでループ) | jfluteの日記

そんなにたくさん使う場面はないかもしれませんが、
やはり「なんでもできる外だしSQL」のネックだった部分。
これができないと安心できないと言える機能でしょう。
さらにこれに関連して、BEGINコメントなどの強化を
したのも大きいでしょう。(BEGINのネスト利用など)
外だしSQLで悩むと逃げ場がないですからね。
あとは、たくさんあって挙げ切れないですが、
やはり ConditionBean の特徴であるサブクエリですかね。
もともと DBFlute が得意としているところですが、
今年一年でさらにパワーアップしています。
例えば、以下のような機能。

(Specify)DerivedReferrer - 子テーブルの子テーブル
(Specify)DerivedReferrer - 導出値の関数によるフィルタ
ColumnQuery - 子テーブルの導出カラム

実装は...いや、大変でしたよ。
機能以外で大きな発展、それはドキュメントですね。
二度目のリニューアルですが、これが最終形態。
計画から公開まで 9 ヶ月掛かり、正式なドキュメントと
することができました。。最初はディレクトリ構造を決める
ところから始まり...一大建造物ですね、まだ終わってません。

素敵なDBFluteのモチーフを手がけてくれた
IKUE さん(futatsuさん)、ありがとう。以前、描いてもらった
メインモチーフは DBFlute の永遠のトレードマークです。
以前のリニューアルでは、メインモチーフのみの利用でしたが、
今回は別のモチーフもところどころで活き活きしています。
今後もアーティストとして活躍されること、応援していますからね。

また、ドキュメントのデザイン・HTML基盤・CSS作成を
無償で手がけてくれた素敵な人にありがとう。
jfluteの(非常に)わがままなデザイン要件を
見事に実現してくれました。

ドキュメント書きながら、
「ああぁ、ここの仕様いけてないなー」
「ぐだぐだドキュメント書くなら対応しちゃおう」
という感じで自発的な課題もたくさんこなしました。
(日本語書くよりプログラム書く方が速いしってことで)
やはりそう言う意味でドキュメント書くって、品質を高める上でも
必要ですね。これをきっかけに今まで怖くてあまり手を触れたく
なかった部分のコードなどにも思いっきり手を入れることになり、
ずいぶん根底の部分から精査されました。
おかげでリファクタ技術も向上しました(テストも増えた)。

これだけ機能豊富なフレームワークのドキュメントだと、
もう片手間の趣味の活動という感じじゃなく、普通に仕事でやる
ような一つのプロジェクトって感じでマネジメントが必要でしたね。
そういうテンションでやらないと全然先に進んでいかない。
(さて、残りのドキュメントをどうこなしていくか...)
そして、これだけの活動ができたのは、
今年始めた「食生活の改善」が大きかったでしょう。
食のことを勉強して、今までの固定概念が吹っ飛んだという意味で、
人生においてもターニングポイントの年と言えるかもですね。
ベジタリアン(ヴィーガン)生活への一歩を踏み込んだ年と。
確実に以前よりももっと食事が楽しくなりました。

食生活の改善 (さようなら、口内炎) | jfluteの日記
ベジタリアンのスタイル | jfluteの日記
「食品の裏側」を読みました | jfluteの日記

まあ、とにもかくにも「口内炎」の心配が激減したのが大きいです。
それほどいやだった口内炎、今では全く発生しません。
結構、最近でも「ぐげっ!?」って口の中噛んじゃって、
血が出るほど傷になってるようなこともたまにはあるのですが、
直るんです、口内炎にならずに。昨年までの感覚ならあり得ない。

ベジフェスでお店のボランティアもやらせて頂き、
禁煙スタイルベジタリアンのコラボレーションを広める
活動が少しでもできたのがなかなか新鮮でした。
それまではずーーっとプログラムをひたすら書き続けて来たわけ
ですから。社会人になって初めての課外活動(!?)と言えるかも。
一方で、そのプログラミング技術が禁煙スタイルの改善という形で
ボランティア活動に役に立ったというのがこれまた新鮮。
また、ベジフェスでは色々な方と会話することができて楽しかったです。
協力して頂いたレインボーバードランデブーの皆様、
本当にありがとうございました。

探しませんか?空気のおいしいベジのお店 | jfluteの日記
禁煙スタイルのご紹介 | jfluteの日記
ベジフェス2010 終了 | jfluteの日記

「不健康なことをするためには健康でなければならない」
ってとある方が言っていた言葉が印象的です。
自分に置き換えると、
「DBFluteをやり続けるためには健康でなければならない」
「ぶっ通しプログラミングをするためには健康でなければならない」
まだまだ先がありますから、変な一時の快楽のために、
その先の活動を鈍らせてもおもろしくないので。
(そういえば、今年は一杯もお酒を飲んでない)
とはいえ、制限してるっていう感覚は正直ゼロで、
食事が以前よりも一層楽しくなりましたけどね。
さて、来年どうするか。
色々とまた難題が待ち構えていますが、
詳しくは来年のブログで書くことにしましょう。
皆様、今年一年ありがとうございました。
特にDBFluteユーザの皆様、素敵なフィードバック
ありがとうございました。そのおかげで、
成長した今の DBFlute を見ることができます。