2007-01-01から1ヶ月間の記事一覧
1月中にSeasar2のサイト(S2Container.Java)のドキュメントを一新します。以前から要望のあった、どのバージョンから使える機能なのかということも、少なくても2.4については記述します。1月中にユーザガイド、2月中にJavadoc、3月中にチュートリアルを完成さ…
DIコンテナの設定ファイル書くの?書かないの? ほとんど同意、確かに適用するコンテキストが抜けてますね。Webアプリケーションのようなパターンにあてはめやすい部分は、自動的に処理させるのに向いています。それ以外は、明示的に書いたほうが良いと思います…
EclipseのJavaエディタでコードを書いているときに、DIされる(だろう)クラスをエディタの左側にマーカー表示するようにします。DoltengのHTMLとのマッピングでやってるのと同じようなイメージです。マーカーにカーソルを当てると実装クラス名がポップアップ表…
暗黙的な規約は直感的ではない Seasar2では、規約はドキュメントに記載されているし、デプロイされた状態もブラウザから確認できます。XMLで書いたものと同じ情報は取得できるのです。つまりアプリケーションの状態は視覚化できる。 私は、設定だけでなく、コー…
最近、JavaScriptのようなスクリプト言語と、Javaのようなタイプセーフな言語をどちらも使っているので、私が感じた生産性の違いを書いてみたいと思います。 スクリプト言語は、「書いて動かす」を短期間で何度も繰り返すことができるので、短いコードを試す分…
今年は、Flex2な年にしようと思っているので、Flex2についていろいろ書いてみようと思います。Flexとは何かというと、JSPみたいにXMLでテンプレートを記述して、コンパイルするとFlashのファイルになるというもの。FlexのテンプレートをMXMLといいます。コン…
フレームワークは、多くのユーザのニーズに応えられるようにするために、汎用的で、最初から多くの機能が盛り込まれるというのが一般的ではないかと思います。 でも、本当にそうかなぁと私は思います。例えば、私がフレームワークを作るとします。多くのユーザの…
設定の記述量を減らす→規約ベースになる→覚えないといけないことが増える(ように見える)、という図式ですね。ただ、規約がないF/Wでは設定を記述するための書式を覚えないといけないので実は覚えないといけないことの量は大して違いはないのかもしれません…
シンプルであるということは,それだけで様々なメリットもたらす,とてもとても重要なものだと思います. しかし,シンプルでさえあればそれでいいのかというと,必ずしもそうとはいえないのが難しいところ. 私は、シンプルなのが好きですね。ただ、私のポリ…
今度は、手動のSQLを使う場合です。 Uujiは、S2Daoと同様にクラス名_メソッド名.sqlのファイルがDaoのインターフェースと同じパッケージに置かれていたら自動的にそのSQLを適用します。強力なのは、関連もきちんとサポートできることです。例えば、次のSQLファ…
EmpDao#updateAll(Emp entity, EmpCriteria criteria);updateAllは、複数の行を1回のSQLで更新するためのものです。組織替えがあって、deptIdが1の従業員を2に更新する必要があるとします。Javaのコードは次のようになります。 EmpCriteria criteria = new Em…
UujiのCriteriaの仕様は、実はKuina-Daoとそっくりです。兄(Kuina-Dao)と弟(Uuji)の関係と言えるでしょう。KuinaDaoはS2Dao-CodeGenにインスパイヤされたといっていた気がするので、S2Dao-CodeGenは、いとこのお兄さんなのかもしれません。 Uujiは、DBFluteに…
そもそもAOPってそんなに使いどころあるでしょうか。 AOPは、使いどころありますよ。よく使うのをあげると トレースログ 例外処理 ログインチェック これらのAdviceは、ほとんどのシステムで有効だと思います。ログインチェックは、Servlet Filterでもできる…
予想通り(?)、反応は、まさたかさんと太一と横田さんだけですね。太一は予想してなかったけど。もともと、Seasar2は設定ファイルを書かないので、あまりニーズはないのかもしれません。 後、DSLとしてJavaを使うのは、JavaはDSLとしての記述力が弱いので、向いて…
JPAでは、生産性の向上にはつながらないと言うことが分かったので、生産性を向上させる永続化層のフレームワークとして、Uujiを作ることを思いつきました。 当初、Uujiは、極力Javaのクラスもコードも書かずに、データベースにアクセスすることを目指して設計…
JPAには非常に期待している人も多いでしょう。私もその一人です。実際にプロジェクトで使ってみて、見えてきた問題点を書いてみます。JPAの実装としては、Hibernate3.2を使っています。 学習コストが高い。 JPAの全機能のうち、プロジェクトで使うものに絞り込…
以前、Seasar2の設定をJavaでかけるようにするってのをSeasar2のコミッタMLで提案したことがあるのですが、小林さんに却下されました(笑)。 個人的には、Springの案は悪くないと思っています。 http://blog.interface21.com/main/2006/11/28/a-java-configurati…