ひがやすを技術ブログ

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

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

2007年のSeasar2と今後

etc

2007年度のSeasar2のもっとも大きなテーマは、Seasar2.4,Teeda,S2Dao,Doltengを使ったさくさく感のある開発(HOT deploy)を実現することでした。 HOT deploy抜きに今のSeasar2を判断しても、正確な判断はできないと思います。HOT deployがなければ、あまり他…

Super Agile Struts開発記その11 - 遷移先の指定を簡易化

これまで、遷移先は、下記のように指定してきました。 @Result(name = "list", path = "/employee/list.jsp")1つだけならまだいいんですが、複数あるとちょっとうざったい。 @Results({ @Result(name = "list", path = "/employee/list.jsp"), @Result(name …

脱DTO

SAStrutsは、1ユースケースで1アクション。基本的には、Serviceクラスもなければ、DTOもありません。例えば、従業員の一覧に部署名も出力するには次のようになります。 <c:forEach var="e" items="${empItems}"> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </c:forEach> @Result(name = "list", path="/employee/list.jsp") public class EmployeeAc…

tiles-defs.xmlなしのSuper AgileなTiles

TilesをJSPのみで使おうとすると、tiles:putで個別のレイアウトを指定するJSPとコンテンツ用のJSPを2つ用意しないといけないから、めんどくさいけど、tiles-defs.xmlを使うというのが、これまでのTilesの利用方法だと思う。 でもさぁ、tiles-defs.xmlのエン…

Railsの成功は枯れた技術を改良したところにあると思う

etc

最近、Strutsのソースコードを読みつつ、Super Agile Strutsを作っているわけですが、そこで気づいたことがあります。 Strutsは、確かに古さが目立つところがあるけど、結構わかりやすくて悪くないということ。 Railsは、実は、Struts、Hibernateのいいとこ…

Super Agile Struts開発記その10 - Validator

commons-validatorを使った検証は、フィールドにアノテーションをつけることで行ないます。 @Required @IntegerType public String arg1;メッセージを指定したい場合は、msg属性で指定します。 @Required(msg = @Msg(key = "errors.required"))メッセージの…

SeamとJBossToolsがやばい

etc

昨日、GavinにJBossToolsのデモを見せてもらいましたが、これがやばい。 もちろん良い意味で。 HOT deployでさくさく開発していくようすは、まるで私のデモのよう。HOT deployは、まだ完璧ではなくて、Hibernateが管理している部分とメッセージリソースは、H…

Gavin King

etc

Gavinに対して、怖いイメージを持っている人もいるんじゃないかと思いますが、あった感じはシャープなオニーチャンといった感じです。結構小柄。もちろん、私よりは、おっきいけど。 Webにでてくるようなやり取りを見てると、ちょっと性格がきつく見えるとこ…

WebBeans

etc

JBUGのセミナーでGavinから直接、WebBeansの仕様を聞かせてもらった。 EJB3、JSF、JPAとも必須じゃないんだね。それぞれの実装を必要と思えば利用できる感じ。これは、悪くないと思う。 WebBeansは基本的にはDIの仕様。SeamよりもGuiceに似ていて、Guiceより…

Super Agile Struts開発記その9 - 検証メソッド

検証をcommons-validatorではなくメソッドで行いたい場合は、引数がなく戻り値がActionMessagesのメソッドを用意し、そのメソッド名を@Executeのvalidate属性で指定します。 検証メソッドがエラーのメッセージを返した場合は、実行メソッドは呼び出されず、@…

好きを貫く

etc

「好きを貫く」よりも、もっと気分よく生きる方法 私は、プログラミングが好きではない。 じゃ、何でプログラマをやってるかって? 自分の力が発揮されるから。 私は大学のとき、ゴルフ部に入ったんだけど、半年でやめた。なぜって。 遠くに飛ばないから。 た…

Super Agile Struts開発記その8 - ActionFormの更新

ActionFormの更新機能をサポートしました。特徴的なのは、Strutsのタグを利用せず、JSTLのみ(html:formは使うこともあるかも)で開発ができることです。 例えば、nameプロパティを更新するには、つぎのようなJSPを用意します。 <form action="bbb2.do" method="post"> <input type="text" name="name" value="${name}"/> <input type="submit"/> </form>input系のタグのname属性を…

太るのが怖い

etc

何人かの方にもう少し太ったほうがいいといわれたけど、正直言うと私は、太るのが怖い。 子供のころ、デブっていじめられたから。 小学6年生のころは、体重が65kgくらいあったかなぁ。当時身長は、150cmくらいだったから、明らかに太ってるよね。 中学3年の…

Super Agile Struts開発記その7 - ActionFormの分離

SAStrutsでは、ActionとActionFormは、基本的に同じクラスで実装しますが、複数のActionで同じActionFormを共有したくなることもあるでしょう。 その場合、ActionFormをPOJOのDTOで作成し、Actionのプロパティに@ActionFormアノテーションをつけます。 publi…

Wii fit

etc

昨日、有楽町のビックカメラにWii fitを買いに行ったけど、売り切れだった。(;_;) 人間ドックの結果、体重が1.2kg増えて44kg、体脂肪が1増えて13.9だったんだよなぁ。まだ、微妙増だけど油断大敵。「ちりも積もればはぶになる」かもしれない(笑)。 年末、年…

Super Agile Struts開発記その6 - JSTL連動

JSTLと完全に連動できるようになりました。もちろん、JSTLやELがpublicフィールドを認識するし、HOT deployでメモリリークも起きません。よくあるHelloWorldのサンプルはこんな感じ。 package tutorial.web.hello @Result(path="/hello/world.jsp") public c…

常にフィードバックが得られる状態を保つ

etc

今回のSAStrutsのActionFormの機能を実装しようとしたときに、丸一日コンパイルが通らない状態が続いていました。DynaBeanの実装をどこに持たそうか悩んでいたためです。別にコードをあれこれ書いて試行錯誤していたわけではなく、StrutsとBeanUtilsのソース…

Super Agile Struts開発記その5 - BeanUtils

以前のエントリで、BeanUtilsとHOT deployをあわせて使うと、PropertyDescriptorが無駄にどんどんキャッシュされていってメモリリークする話を書きました。 http://d.hatena.ne.jp/higayasuo/20070725#1185340917 実は、問題はそれだけではなく、BeanUtilsは…