Ads by Google [--/--/-- (--)]
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

役に立ったらぽちっとよろしく。 人気ブログランキングへ

DI vs SL [2008/02/28 (木)]

DIとは…宮崎県知事HigashiKokubaruの言ったDogenkasentoIkanの略ではない。かの有名なプログラマMartinFowlerの言ったDependencyInjectionの略である。

いきなりですが、MartinFowlerは本当すごいと思うこの頃。プログラマとしてのセンスももちろん、何より右往左往する開発者の世論をいい方向に引っ張っていく所がかっくいい。POJOも彼が作った言葉らしい。…ちなみにおいらの場合、会社でどんなに提案してもほぼ全て却下…。社内では技術的には良いほうだった…。て事は…発言力が無いのか人格が無いのか…。人としてそっちの方がどうかと…みたいな…ぼろーん。

そんな暗い話は置いといて…実はついさっきまでDI大嫌いだった…。ServiceLocatorの方がはるかに柔軟だろう…と。オートワイヤリングっていうのかな?勝手につながっていくあれが嫌で嫌で。もちろん何でも自動でやってくれるのは大いに嬉しい。ただ、全自動でこちらの割り込む隙が少なそう。機能追加したいならライブラリの開発者に頼むしかない、そういうライブラリは何ていうか最初楽だけど将来が不安…そんな大学四回生(おいらの場合はそうだった)…みたいな。(そういう意味ではJPAを初めとする最近のORMappingもなんとかしてほしい)

で、何を見落としていたのかと言うと、ServiceLocatorの場合、最初から特定のServiceLocatorを想定してサービスを取り込む部品を設計する必要がある。つまり、どこの馬の骨か分からない部品はサービスの取り込み先として選べない。一方、DependencyInjectionの場合、依存性を注入する先の部品のコンストラクタやゲッタセッタを解析して依存性を注入する。つまり、DpendencyInjectionを意識して作りこまれた部品でなくても注入先として選べる場合が多い。
もち、柔軟性は劣るのだけど、このフットワークの軽さは最近の色んなライブラリが群雄割拠する時代には非常に有利に働く。そんなこんなでDIを取り入れたフレームワークが沢山でてきた…て事のようだ。(…なので、JavaEEは注入先が限定されているので利用価値が半減してる…標準を確立する意味としてはServiceLocatorの方が大きいはず(泣))

で、何で今頃そんな話に気付いたかと言うと…以前MartinFowlerのホームページを見た時は、苦手な英語を辞書片手に読んだからでした。分からない所は全て読み飛ばしてたみたい…。何と今日、日本語訳を発見!助かった〜。。。


http://kakutani.com/trans/fowler/injection.html

役に立ったらぽちっとよろしく。 人気ブログランキングへ

お疲れCSS [2008/02/24 (日)]

CSSってブラジルかどっかのバンドの事ではありません。Webでクライアント側の画面表示を担う技術の事です。

この手のテキストを解析して表示を行う手法は手軽な反面、表現力がヘボヘボです。対抗馬として考えられるリッチクライアントプログラムによるレンダリングには足元にも及びません。加えてCSSには実装する各ブラウザのバグからも分かるように、その仕様自体が単純そうで複雑です。特に初心者にとっては誤解して使用する危険性があります。また上級者にとっても仕様を理解していざ使おうとしても結局、痒い所には手の届かない場合があります。

もちろんCSSには文書モデルと見栄えを分離して、各要素の見栄えをいっせいに切り替えたりするといった当初の目的は見事に達成しています。

しかし、特に一言物申したいのは、仕様の定義の仕方です。行き当たりばったりでこの場合はこう、この場合はこうと定義されています。もっと一般的で包括的な仕様を一つ決めるやり方の方がいい気がします。

最初に思いつくのは各DOM要素表示時の制御点やサイズを表す変数を公開する方法です。子を先に描画するとか親を描画するとかのパラメタを用意し、後から描画される要素は前に描画された要素をDOMのPathで検索し、それらの変数を参照して専用の式から自分自身の変数を決定し公開します。こうすれば、仕様全体に渡ってある程度統一感ができます。

またビュー部分を担当する性質から考えて、DOM要素を1:1で直接レンダリングしていくのも反対です。三重線を適用したい場合も当然あるわけですが、現状二重線までしか対応していません。一つの要素を複数の箇所に別々のスタイルで表示したい場合もあるはずです。これらの事をいざやろうとすればDOM要素を継ぎ足す嫌われ物の手法を使うしかなくなります。

なので素のDOM構造から描画用のDOM構造へ変換する機構を"CSS自体に"バンドルした方がいい気がします。

さてさて散々CSSに対する文句を書きましたが、ドmのせいか…完全に自由な環境より、束縛された方がやる気が…。粘土よりレゴの方がいい…みたいな。そんなこんなで嫌いじゃなかったりCSS…。

最後にCSSとJavascriptで頑張っているサイトを紹介。

役に立ったらぽちっとよろしく。 人気ブログランキングへ

記念すべき第一回ですが、特にこれといった前フリも無く、開発やら何やらについて書きます…。そんな感じの不器用者ですが、どうぞよろしく。

昨今Web2.0のマッシュアップがどーとかで。自分のシステムでまかなえない情報も他のシステムから拝借できます。この情報のやり取りに使う通信手段に、最も普及しファイアウォールにも遮断されない事の多いhttpが使われます。おかげで自分所で集めるにはコストのかかり過ぎるような情報を、いつでもどっからでも利用できるようになってます。

Webやらを触った事のある技術者は、かなり前にたぶん将来こーなるだろーな…と予測されてた方は多いみたいです。僕もその一人でした。ただ、Web2.0の普及以前は、どうせそんな技術でてきても高いお金を払わないと使えなくって企業専用みたくなるに違いない!そして脱サラ個人プログラマは泣きをみるのだ!…と思ってました。所がいざ蓋を開けてみるとタダ!…しかもどちらかというとターゲットになってるのは企業というより個人プログラマっぽい…。嬉しい予想外!でもなんでやろ?

もちろん、情報を提供する企業の宣伝的な意味もあるのかな…。でも、それ以上にオープンソースやら何やらでの個人の活躍が別の形で実ったのかな?とも思ったり…。なこんなで…おいらも企業に属さぬハグレプログラマのハシクレなわけで純情派なわけで…でも決して失業中というわけでわないわけで…だからえっと…見習ってがんばらな…みたいな…そんな感じ。(終)

・・・てか・・・初回から何このグダグダの終わり方・・・と思った方、すみません。多分今後もこんな感じです。テーマも文章ヘタレです。時々プログラミングチップスとかも予定してますが、全然関係ない方向にそれていく可能性も高いです。

ついでにさっき見つけた個人が作ってるっぽいWeb2.0なサイトこみゅすけ
どうもプログラマー向けのイベント情報を提供しているみたい…!すごい!

役に立ったらぽちっとよろしく。 人気ブログランキングへ

Copyright © ふらふら技術者の日記 All Rights Reserved.
Powered by FC2 Blog FC2ブログ