Java版に追いつけ、DBFlute.NET

@DBFlute.NET, C#
DBFlute.NETについて語ります。
あんまり書きたくない内容もありますが、
オープンソースですから、やはりそういった
"現状" というのも明らかにしたいと思います。
それが、日本人が日本のオープンソースを使う
メリットの一つだったりもしますし。

DBFlute.NETは、最近 0.8.9.xx をジョギングしています。
おお、0.9.x に繰り上がるか!?と思ったら、
マイナーバージョン二桁かよ!って感じで。
Java版は、0.9.0 でDBFlute独自のライブラリを用意し、
S2Dao非依存、ついては、コンテナ非依存となりました。
なので、.NET版も 0.9.0 のときに、という思いが
ありながら、実現できずに今に至ります。
別に、今のままでもいいんじゃないの?という意見もあります。
まあ、ある意味その通りなのですが(後述)、ポイントは:

今以上に進化する(Java版の品質に追いつく)ためには、
DBFlute.NET独自のライブラリの導入が必要

というところです。
要因は:

o Java版と同じ構成でないと品質管理が大変
o Velocityテンプレート上で複雑な実装は無理
o いつまでもS2Dao.NETの仕様にしばられてしまう

構成だけでなく、DBFlute.NETはJava版に比べて多くの
細かい違いが存在します。違いというか、どちらかというと、
"追いついてない" という感じです。それを埋めるためには、
上記の要因を考慮する必要があると考えています。
じゃあ、やっちゃえば!?というところですが、
それがなかなかできない体制が現状です。
以下のような状況が生まれない限り、進めないと
感じています。

<A>
Java版が完璧すぎて他にやることがなくなる。
jfluteのメインフィールドはJavaなので、
やはり、Java版をやり切る事を優先しています。
実装は終わっても、ドキュメントなど周辺要素の
作業があるので、現実的にはまだまだ先です。

<B>
仕事でDBFlute.NETの実装を支援してくる企業があって、
jfluteがそこに就職、もしくは、契約する。
要は、DBFluteやりながら生活が保証できればという
ところです。特に.NETは、VisualStudioのライセンス、
Windowsのライセンスなど、何かとお金が掛かるので。
(VisualStudio 2010 はどうしたらいいだか...)
ただ、今の日本状況から考えても、現実的ではないかも。

ちなみに、jfluteはMac上のVMWareWindowsしか
持ってないので、Windows上での大きな作業はかなり
厳しいのが現状です。

<C>
DBFlute.NETのコミッタが増える。
現状は、少なくともモジュールの実装はほとんど
jflute一人でやっています。変わりに進化のための
作業を受け持ってくれるコミッタが出てくれれば、
状況は変わるでしょう。ただ、ストイックな作業が
多い事は確実です。忙しい生活の中、現実的な人数と
現実的な作業時間が確保されるかどうかは難しいところです。
と、なかなか先に進めない状況があるのですが、
「まあ、今のままでいいんじゃないの!?」
という意見もあります。それはその通りで、
DBFlute.NETは、気付いたら既に多くの人に
利用されています。最初は身内しか使ってないなぁ、
という感じだったのが、思ったよりどんどん広がって
いったのが自分でも驚きです。
自分の知る限りでも、600人月、200人月クラスの
システム開発でも活躍して、企業からのフィードバックも
頂くほどになりました。(本当にありがとうございました)

// アプリごとのBehavior (フィードバック頂いた機能)
http://d.hatena.ne.jp/jflute/20100527/1274888515

現状のDBFlute.NETで、現場で困る事はそんなに多くないと
考えられます。基本機能は備わっているからです。
Java版との機能差も、「あればうれしいけどなくても」
という感じの機能が多いです。
また、逆に全てのクラスがテンプレートになってることで、
ユーザが気軽に拡張しやすいということもあります。
で、もちろん、現状の構成のままでも、大工事ができないだけで、
できる範囲での重要なメンテナンスはしていきます。
なので、下手に変わる必要はないとも言えます。

個人的には、S2Dao.NETに依存しないAllCommonのクラス
だけでも、ライブラリ化したいなという気持ちがあります。
今だと、例外クラス一個追加するのもVelocityの手続きを
踏まないといけないので、何かと腰が重くなるので。

ということで、DBFlute.NETの現状です。
とにもかくにも、現状を大事にしつつも、長い目でチャンス
を伺っていきたいと考えています。
下を向かないで、長く続ける事が大事だと考えています。

DBFlute.NETのJava版との機能差

@DBFlute.NET, C#
そもそも、DBFlute.NETとJava版でどの程度の
差があるものなのか!?"DBFlute.NETの紹介"
のページにそのことが書いてあります。

DBFlute.NETの紹介

ただ、ここに書いてあるのも代表的なものだけ。
細かいところでたくさんあります。
細かすぎて、あり過ぎて、まとめ切れていません。

機能というか、非機能的な部分での違いもあるので、
一つ一つの違いを吸収していくというより、Java版と
同じ実装を持ってきて一気に吸収する、というのが
現実的でしょう。

対応する全てのDBMSのテスト環境も必要です。
テスト環境がないと、デグレの心配があるので、
なかなかDBMS依存の処理を実装しづらいところです。
特にプロシージャ関連は、それぞれのDBMS用の
DataProviderがどのような挙動をするのか、
しっかりと把握する必要があります。

jfluteとしては、やはりどうしても
「Javaで作ったクラスをC#で使えればいいのに」
という言葉が何度も何度も頭をめぐってしまいます。

レインボーバードランデヴー @中目黒

レインボーバードランデヴー(Rainbow Bird Rendezvous)

中目黒と祐天寺の丁度真ん中(中目黒駅から10分)にある
オーガニック素材のご飯が食べられるロハスカフェです。
オーラソーマなどのセラピーもやっているようです。

落ち着いた雰囲気で、ドリンクだけでも気軽に利用できます。
玄米やパスタ・野菜など、それぞれこだわった食材が使われており、
一つ一つがとてもおいしく堪能できます。全てヴィーガン仕様で、
ベジタリアンの方が利用できる数少ないお店かと思います。

ただ、肉が無いからと言ってベジタリアンじゃない人が
不満かと言うとそうではありません。
ぜひ「ソイミートの唐揚げ」を一度食べてみて下さい。
プレートに必ず付いていることが多いです。
また唐揚げプレートというのもあります。
自分は恥ずかしながら最初これを「肉料理」だと
思っていました。
でも、よくよく見たら「ソイミート」と呼ばれる、
要は大豆です(正確には大豆たんぱく)。
とても食べごたえのありながら、
体に負担の少ない唐揚げですね。

そして、「大豆ハンバーグ」は大豆で作られたハンバーグ、
コクのある味でありながらふんわりした食感がたまりません。
他にも「車麩のカツ」や「ランデブーのカレー」など、
魅力的なメニューがたくさん。
もちろん、これらも植物性由来。

以下の写真は、あるとき食べた大豆ハンバーグのプレート。
大豆ハンバーグにソイミートの唐揚げ、その他デリ、
圧力釜で炊かれたもちもちの玄米とお味噌汁。
日替わりセットなので、いつも同じとはもちろん限りませんが、
このような栄養的にもバランスのとれた食事が楽しめます。



お弁当もやっていて、テイクアウト(持ち帰り)できます。
ちょっと近くを通るときがあれば、気軽に頂けます。
また、まとまった単位であれば、
デリバリー(配達)もしてくれるようです。

お店の中ではベジタリアン向けの食材や、
オーガニック素材の身の回り用品などの物販コーナーも。
自分なんかは自宅でのベジライフを楽しむために、
時々ここでいろいろ買ったりします。
見るだけでも楽しいですよ。


実は、このお店のオフィシャルサイトが数ヶ月前から
リニューアルされていて、"Menu" が追加され、お店の
料理が写真付きでわかりやすく説明されています。
(以前のを知らない人にとっては全くわからないですが...)
細かいところでは、Flashの呼び出し部分がリファクタされて、
また、"ベジタリアン対応メニュー" という言葉を明記。
ヴィーガンの方も安心して食事ができます。

お店はもちろん全席禁煙で、
安心してご飯を食べることができます。
禁煙スタイルにも載っています。

禁煙スタイル:RAINBOW BIRD RENDEZVOUS
さて、ベジタリアンと聞いても、ほとんどの人が
漠然としたイメージしか持っていないのでは
無いでしょうか?

o 肉を食べない人たち?
o 野菜ばっかり食べてる人たち?

実は、ベジタリアンという言葉は厳密には曖昧で、
そのスタイルは色々と分類されます。代表的なもの:

o ラクト・ベジタリアン (肉・魚・卵は食べない)
o オボ・ベジタリアン (肉・魚・乳製品は食べない)
o ヴィーガン (肉・魚・卵・乳製品・蜂蜜は食べない)
 -> 衣類など食事以外でも動物性のものを利用しない

なので、ベジタリアンとだけ言っても、厳密な説明には
ならないことがあります。ですが、厳密さが要らない、
もしくは、厳密さを求めるのが非常に難しいときは、
ベジタリアンと言って済ませる事も多々あります。

さらには、そのベジタリアンになるきっかけ、
それを続けるモチベーションも様々です。

o 健康のため
o 動物愛護精神
o 環境保護のため
o 宗教上の戒律
o 単なる好き嫌い

もちろん、それぞれ独立ではなく「AとB」、「BとD」
などと、色々な組み合わせが人それぞれにあります。

詳しくは以下の別の日の記事で書いています。
興味があればぜひ読んでみて下さい。
(ちょっと長いんで読むの大変ですけど)

// マイ ベジタリアン ポリシー | jfluteの日記
http://d.hatena.ne.jp/jflute/20110208/1297156804
ベジ料理ではおいしい豆料理が多くあります。
一言で "豆" って言っても、これまた種類は豊富です。
また、調理の仕方も豊富で、特に大豆ミートは、
歯ごたえがあり非常に満足感のある食感にあります。
そういうことからも、栄養だけでなく、実は味に関しても、
もの足りないと感じることは個人的にはありません。

逆に、ベジタリアン料理は、とても "工夫された料理"
が多く、食べる楽しみという面でとても魅力的です。
今の時代、おいしくない料理を積極的に食べる人なんて
いなくて、それはベジタリアンの世界でも一緒かと。
特に、ベジタリアンは同時に食に対する興味も深い人が
多い(気がする)ので、素材にこだわる料理が本当に多い。

個人的には、そこが大きなポイントです。
ベジタリアン料理はおいしいものが多い。
実際に、ベジタリアンでない人でもベジタリアン料理が
好きな人はけっこういらっしゃいます。
また、厳密なベジタリアンではなく、週に何日かは
ベジタリアンとか、朝はベジタリアンとか、
色々なスタイルもあります。個人個人で合う形で
実践していくのが大事ですね。

ということで、自分は、レインボーバードランデブー
のベジタリアン料理がとても大好きです。
良質な菜種油で揚げられた「ソイミートの唐揚げ」は、
ちょっと大げさに自分の食生活観を変えたかもですね。
そしていまや「大豆ハンバーグ」は外せない料理に。
さーて、また食べにいこうかなっ、て今思っています。

Rainbow's keywords:
@ベジタリアン, ヴィーガン, ビーガン, ロハス, 菜食, 自然食
 , Vegetarian, Vegan, Lohas, Natural Food
 , セラピー, オーラソーマ, Therapy, Aura-Soma
 , オーガニック, 有機野菜, デリバリー, 弁当, Organic
 , 中目黒, 上目黒, 祐天寺, 目黒銀座, 東急東横線, 禁煙のお店