SAStruts + S2JDBCによる Seasar2ハンズオンセミナー

うちの会社で「SAStruts + S2JDBCによる Seasar2ハンズオンセミナー」 というサービスを開始しました。 これまで数回、プライベートで開催していたのですが、なかなか好評で、 今後もニーズがでてきそうなので、メニュー化してみました。 『SAStruts やS2JDB…

全体最適か?それとも部分最適か?

原則: * 既存コードを修正することなく、機能追加を実現する o 画面が追加されても、既存のメソッドに修正が入らず、メソッド追加で対応できること o ボタン追加などイベント処理が追加されても、既存のメソッドに修正が入らず、メソッド追加で対応できるこ…

cypher256さんのSAStruts関係のエントリがすごい件

id:cypher256さんが1日で14件もSAStruts関係のblogエントリを書いています。 しかも、どのエントリのかなり示唆に富む内容なので、マジで必見です! ネストしたプロパティで入力チェック 画面部品 認証 SQL 発行 アクションの粒度 エンティティの自動生成 J…

transient を付けたプロパティ

追記: 以前に以下のようなエントリを書いてしまいましたが、 transient を付けたプロパティは、HOT deployとCOOL deploy で 挙動が違うことが判明したため、使わないこと強くを推奨します。 混乱させてしまって、スミマセン。 挙動から判断するに、HOT depl…

普段私がコードを書く時に気を付けていること

普段私がSAStrutsでアクションのコードを書く際に 気を付けていることをまとめてみました。 原則: 既存コードを修正することなく、機能追加を実現する 画面が追加されても、既存のメソッドに修正が入らず、メソッド追加で対応できること ボタン追加などイベ…

SAStrutsのコミッタになりました

SAStrutsのコミッタになりました。 以下のような周辺タスクを中心に頑張りたいと思います。 [個人として] サンプルアプリのブラッシュアップ ドキュメントのブラッシュアップ 普及啓蒙活動 周辺機能の追加 サポート活動 [業務として] 教育活動 コンサル活動 …

ネストした子のバリデーション

ネストした子Dtoのバリデーションはやってくれない?とりあえず検証メソッドかな。 私も以前に確認したのですが、 アノテーションによるネストした子Dtoのバリデーションは、 複雑なことは対応しないという方針に基づいて、 やってくれないのが仕様です。 あ…

Actionクラスの肥大化対策

アクションクラスのサイズが有る一定行を超えたら、 そのアクションと 1対1の抽象親クラスを作成して、 publicメソッド以外をその抽象親クラスへ移動してしまうアイデアはどうだろうか。

Teedaのページ駆動開発のように実装してみる

1html = 1Page、ユースケース=ディレクトリ という分かりやすいTeedaのページ駆動開発をSAStrutsで挑戦してみました。 SASturtsの場合は、1html = 1Pageではなく、1JSP = 1Actionですね。 今回は、pageという名前のユースケースを想定してみました。 作成し…

花のソムリエNuvo

いとこの娘さんが小学校に入学したので、 インターネットでお花を注文してプレゼントしました。 そしたらなんと、送った花の写真画像をメールで頂きました。 自分はこういう心配りは初めてだったので、とても感激しました。 お花も想像以上に綺麗だったので…

"tiles"に対応するtaglibディレクティブが存在しないかTLDファイルが見つかりません。

Dolteng 0.30.0 でSAStrutsのプロジェクトを作ったら 以下のようなエラーが出ていました。 (sa-struts-blank-1.0.2-rc2.zip でも同様。) "tiles"に対応するtaglibディレクティブが存在しないかTLDファイルが見つかりません。 sa-struts-blank/webapp/commo…

DBFlute Tools for S2JDBC

昨日、開発中のバージョンをid:jflute さんに セットアップしてもらいました。かなりい〜い感じに仕上がっていました。 フライングでした? > id:jflute さん

Seasar2研修

先日、あるSIerさん向けに SAStruts + S2JDBC を使ったSeasar2のハンズオン研修を実施しました。 本日、担当者の方から以下のような連絡を頂きました。 先日はすばらしい研修を実施していただきありがとうございました。社内でも 非常に評判がよく、今までで…

必勝はちまき

最近、うちの会社では、既存のお客様に新たな価値を提供するために、 毎朝行っていた朝礼(※1)の代わりに週替わりで、 全社員でお客様向けの提案を考える取り組みを始めました。 三人集まれば文殊の知恵という教えに習って、 この取り組みの名称を「モンジュ…

Google App Engine

Google App Engine http://code.google.com/appengine/話題のGoogle App EngineをSDKをダウンロードしてみて 軽くいじってみました。 まだアカウントをもらえていないので、早くアカウントを もらってデプロイするのが待ち遠しい。 デプロイは、プロンプトか…

安定版リリース

Teeda 1.0.13がリリースされました。 http://teeda.seasar.org/ja/ 今回は、ひがさんによる枯れた宣言がなされた安定バージョンです。 ドキュメントがリニューアルされて、かなり充実しています。 先日、書籍も出版されました。 最近のマイブームであるSAStu…

リベンジ

4月1日には、id:kuranukiさんプレゼンツ、id:dewaさんを 囲む会があった。もちろん田町でサムゲタンを食べる。 当初、この会の空気が全く嫁ず、LTも固いテーマで 用意していた*1。実際、始まってみると、なんというか、いつもの よくある社外の飲み会でした…

Eclipseで学ぶはじめてのJava

Eclipseで学ぶはじめてのJava作者: 木村聡出版社/メーカー: ソフトバンククリエイティブ発売日: 2008/02/14メディア: 大型本購入: 3人 クリック: 425回この商品を含むブログ (28件) を見る Javaの入門書は世の中にたくさんありますが、 ハッキリ言って、この…

SpringSourceがMicrosoftによる買収を発表

SpringSource(サイト・英語)のCEOであるRod Johnson氏(source)による突然の発表があった。SpringSourceがMicrosoftによる買収に合意したというものである。InfoQはJohnson氏にインタビューし、この買収について詳細を聞き、この買収がSpringおよび.Net Frame…

David Pollak氏 lift と Scala を語る

lift は表現力ゆたかで洗練されたウェブアプリケーションフレームワークで、JVM上で動くスクリプト言語 Scala で書かれています。lift はセキュリティの重要性・メンテナンス性・スケーラビリティ・パフォーマンスを重視しています。また、lift により開発者…

id:kuranuki さんの会社の方と飲み

id:kuranuki さんの会社の方と飲んできました。 こちらは1名欠席で4名でしたが、どういうわけだか 相手側の出席者は10名を超える大所帯となりました。 飲み屋さんの1室を貸し切って、プロジェクタを使って ライトニングトークで大盛り上がりでした。 ウ…

箱根旅行

週末は親や甥と家族で箱根方面に旅行に行ってきました。 思い出を一杯作ってきました。 以下は今回の旅行で行ってきたところです。 富士サファリーパーク 防空壕や五右衛門風呂があるホテル ケーブルカー・ロープウェイで行く大涌谷 芦ノ湖で海賊船に乗って…

SAStruts + S2JDBCによるSeasar2ハンズオンセミナー

先週の金曜日にあるSIerさん向けに 「SAStruts + S2JDBCによるSeasar2ハンズオンセミナー」 と題した研修の講師をさせて頂きました。 参加して頂いた方は、どうもお疲れ様でした。

JavaとScalaの比較表

Note: this is not a language comparison exercise [i.e., X versus Y comparison to "conclude" which one is better!]. Rather, it is an attempt to give head-start to the Java programmers who want to learn other languages that run on the Java p…

機動戦士ガンダム:上井草駅に記念オブジェ 富野監督も祝福

上井草駅の発車メロディーをガンダムの主題歌「翔べ!ガンダム」に変更することが発表された。 やべぇ、すげぇ、楽しみだー!

ガンダム モニュメント登場!

うちの最寄り駅(西武新宿線の上井草駅)に ガンダムの銅像が3月23日付けで登場しました。 たまたまテレビ撮影している現場に通りかかったのですが、 取材でインタビューに答えていた高齢の方が 『自分よりも○○さんの方が適任なのに〜。』とか言いながら と…

プログラマのあるべき心構え

安定化に向かおうとしているなかの、最後の大仕事として 「SetupSelectの無限階層化」をやろうと決意し、 絶対にデグらないようにとテストテストしたつもりでしたが、 開発者の自分が現象を先に掴むことができませんでした。 非常に悔しい悔しいバグでした。…

動的言語と静的型付け言語の良さを美味しいとこ取り

Scalaが依然として静的型付け言語であるということを思い出してほしい。「動的言語の特徴のように見える物」が、実はそうでもないことがみえてくるのではないだろうか。実際Scalaを学んでいくと「型安全性と実行効率を引き換えに記述性と柔軟性を手に入れる…

S2JDBCでリッチドメインモデルはYes?No?

S2JDBCを使ってエンティティ内にビジネスロジックを定義する リッチドメインモデルの手法は効果的なのだろうか? 現時点での私の考えはNo。 「S2JDBCのようなレイジーロードをサポートしていないO/Rマッパーで リッチドメインモデルを実現するのは実務的では…

アクションの粒度はページの方が良さげ?

アクションの粒度はユースケースなので、 ちょっと規模大きくなるとソースコード量がわりとすぐに肥大化してしまう。 肥大化すると、いろいろと面倒なので、分かりやすさも考慮すると、 アクションの粒度はTeedaと同じページ単位の方が良い気がしてきた。 (…