ひがやすを技術ブログ

電通国際情報サービスのプログラマ

2007-01-01から1ヶ月間の記事一覧

ドキュメント

1月中にSeasar2のサイト(S2Container.Java)のドキュメントを一新します。以前から要望のあった、どのバージョンから使える機能なのかということも、少なくても2.4については記述します。1月中にユーザガイド、2月中にJavadoc、3月中にチュートリアルを完成さ…

DIコンテナの設定ファイル書くの?書かないの?

etc

DIコンテナの設定ファイル書くの?書かないの? ほとんど同意、確かに適用するコンテキストが抜けてますね。Webアプリケーションのようなパターンにあてはめやすい部分は、自動的に処理させるのに向いています。それ以外は、明示的に書いたほうが良いと思います…

DI情報のビジュアル化

EclipseのJavaエディタでコードを書いているときに、DIされる(だろう)クラスをエディタの左側にマーカー表示するようにします。DoltengのHTMLとのマッピングでやってるのと同じようなイメージです。マーカーにカーソルを当てると実装クラス名がポップアップ表…

iRule

etc

暗黙的な規約は直感的ではない Seasar2では、規約はドキュメントに記載されているし、デプロイされた状態もブラウザから確認できます。XMLで書いたものと同じ情報は取得できるのです。つまりアプリケーションの状態は視覚化できる。 私は、設定だけでなく、コー…

スクリプト言語とタイプセーフな言語の生産性

etc

最近、JavaScriptのようなスクリプト言語と、Javaのようなタイプセーフな言語をどちらも使っているので、私が感じた生産性の違いを書いてみたいと思います。 スクリプト言語は、「書いて動かす」を短期間で何度も繰り返すことができるので、短いコードを試す分…

Flex2再入門

今年は、Flex2な年にしようと思っているので、Flex2についていろいろ書いてみようと思います。Flexとは何かというと、JSPみたいにXMLでテンプレートを記述して、コンパイルするとFlashのファイルになるというもの。FlexのテンプレートをMXMLといいます。コン…

フレームワークの進化的開発

etc

フレームワークは、多くのユーザのニーズに応えられるようにするために、汎用的で、最初から多くの機能が盛り込まれるというのが一般的ではないかと思います。 でも、本当にそうかなぁと私は思います。例えば、私がフレームワークを作るとします。多くのユーザの…

規約ベースのフレームワークのほうが覚えることが増える?

etc

設定の記述量を減らす→規約ベースになる→覚えないといけないことが増える(ように見える)、という図式ですね。ただ、規約がないF/Wでは設定を記述するための書式を覚えないといけないので実は覚えないといけないことの量は大して違いはないのかもしれません…

単純と簡単の狭間で。

etc

シンプルであるということは,それだけで様々なメリットもたらす,とてもとても重要なものだと思います. しかし,シンプルでさえあればそれでいいのかというと,必ずしもそうとはいえないのが難しいところ. 私は、シンプルなのが好きですね。ただ、私のポリ…

SQLの扱い

今度は、手動のSQLを使う場合です。 Uujiは、S2Daoと同様にクラス名_メソッド名.sqlのファイルがDaoのインターフェースと同じパッケージに置かれていたら自動的にそのSQLを適用します。強力なのは、関連もきちんとサポートできることです。例えば、次のSQLファ…

updateAll

EmpDao#updateAll(Emp entity, EmpCriteria criteria);updateAllは、複数の行を1回のSQLで更新するためのものです。組織替えがあって、deptIdが1の従業員を2に更新する必要があるとします。Javaのコードは次のようになります。 EmpCriteria criteria = new Em…

UujiとKuina-Daoの関係

UujiのCriteriaの仕様は、実はKuina-Daoとそっくりです。兄(Kuina-Dao)と弟(Uuji)の関係と言えるでしょう。KuinaDaoはS2Dao-CodeGenにインスパイヤされたといっていた気がするので、S2Dao-CodeGenは、いとこのお兄さんなのかもしれません。 Uujiは、DBFluteに…

AOPの使いどころ

AOP

そもそもAOPってそんなに使いどころあるでしょうか。 AOPは、使いどころありますよ。よく使うのをあげると トレースログ 例外処理 ログインチェック これらのAdviceは、ほとんどのシステムで有効だと思います。ログインチェックは、Servlet Filterでもできる…

DIの設定をJavaでその2

予想通り(?)、反応は、まさたかさんと太一と横田さんだけですね。太一は予想してなかったけど。もともと、Seasar2は設定ファイルを書かないので、あまりニーズはないのかもしれません。 後、DSLとしてJavaを使うのは、JavaはDSLとしての記述力が弱いので、向いて…

Uuji(うーじ)

JPAでは、生産性の向上にはつながらないと言うことが分かったので、生産性を向上させる永続化層のフレームワークとして、Uujiを作ることを思いつきました。 当初、Uujiは、極力Javaのクラスもコードも書かずに、データベースにアクセスすることを目指して設計…

JPAの問題点

JPA

JPAには非常に期待している人も多いでしょう。私もその一人です。実際にプロジェクトで使ってみて、見えてきた問題点を書いてみます。JPAの実装としては、Hibernate3.2を使っています。 学習コストが高い。 JPAの全機能のうち、プロジェクトで使うものに絞り込…

DIの設定をJavaで

以前、Seasar2の設定をJavaでかけるようにするってのをSeasar2のコミッタMLで提案したことがあるのですが、小林さんに却下されました(笑)。 個人的には、Springの案は悪くないと思っています。 http://blog.interface21.com/main/2006/11/28/a-java-configurati…