アノテーションを使うこととする

ドライバ/URL/ユーザ名/パスワードだけど、定数フィールドから取得するよりもアノテーションから取得した方が高速なことがわかったので、そちらを使うようにする。
どのみち5.0導入ブツを多用しているから、いまさらアノテーションが増えたところで同じことだしね。
同様にマッピングするテーブル名もアノテーションから取得とする。

これらのお陰で、特定名を持つフィールドの除外処理とかがなくなったのもあって早くなったみたい。1.5secあたりだったのが1.0secあたりまで短くなったので、なかなか効果的。

ダイナミックプロキシとアノテーションを組み合わせる際の注意点として、invokeメソッドのproxy引数からそのままアノテーションを取得しようとしてもダメなこと。一度実装するinterfaceのclassを取得してからアノテーションを取得するようにしないと取れません。

第12回FLOSS桜山勉強会

20分ほど時間に余裕がある&LLも出てきてないみたいなので、自作FWの紹介ネタをやることとシマシタ。
現時点で作っているのがあくまでO/Rマッパーだけなので、これを題材にリフレクション・ダイナミックプロキシ・アノテーションの説明をしようかな、と。

自分自身はPHPが一番経歴が長いですが、チームでやる場合はJavaを基本推します。
スクリプト言語での単純ミスの発見は経験がそれなりにないと難しい、どうしてもパフォーマンス面で問題になるケースがある、開発者をラクにする開発環境が安価でそろわないといったあたりが理由です。
やはりJavaだと、Eclipseが強力、OSSなライブラリが豊富&ライセンス的にも商用利用が容易なものがある、コンパイルエラー系の単純ミスはすぐわかる、デバッグしやすいといったあたりで経験の浅い技術者でもそれなりに計算できる点でチームが大きくなるほどスクリプト言語よりもラクになる面が多いですね。

ぶっちゃけ、玄人はなにを使ってもそれなりにこなすので、好きな言語を使うのがいいでしょう:-p