SAStruts では Servlet コンテナの認証を使った場合、アクションの roles 属性を指定することにより、アクセス制御が可能です。これでセキュリティは守られます。でも実際のところ、その権限によって、画面にメニューやリンク、ボタンの表示/非表示を切り替…
今回のプロジェクトでは定数クラスは設計書から自動生成されるようにしました。でもせっかく定数クラス作っても、JSP ではベタ書きしていたり、JSP で定数使うのはおかしいとか言うエラい人もいたりしますが、やっぱり JSP でも定数使いたい場面はあります。…
今回のシステムは色々な会社が開発に参画しているのですが、END のお客様に説明した時にちょっと変わった反応が。あとで分かったのですが、他の人が Struts なので開発者はすぐ集まりますとか周知していたらしいです。当事者の方も見ているかもしれませんが…
これは私がその都度、俺々フレームワークでやってきた理想形でした。もちろん、すべての問題領域でカバーできるとは思いませんが、私が今まで携わったシステムでは適用しても問題にならないと思います。その昔、エラい人たちが語ってきたものとすべて真逆で…
セッションに格納したい場合は作る、っていうのがあれな気がします Struts に慣れている人に違和感がない気がします 最近よくあるフレームワークはプロパティも一緒に持ってるけど、あれはページ単位です サンプルでは小さいけど、実システムでは一緒にする…
上でも書いてますが、フォームは InstanceType.SESSION 固定です。画面入出力情報だけでなくセッションに持ちたい情報はすべてフォームに持ち、ユーザに関する情報はすべて User オブジェクトにもち、アクションやロジックにインジェクションされます。HttpS…
JavaBeans 仕様では先頭の連続する 2 文字が大文字だと先頭が小文字になりません。Struts でハマった方も多いのではないでしょうか? S2JDBC でも厳密にこれに沿っているため、DB のテーブル名が T_HOGE とかだと、S2JDBC デフォルトだとテーブルの外部キー…
上の「アクションの粒度」で書きましたが、アクションと同じ粒度、つまり 1 機能に対し 1 フォームを作成します。一覧の明細はインナークラスにします。こんな感じ。 追記:下記から transient 指定は削除しました。コメント参照。 @Component(instance = In…
Struts もそうですが、SAStruts と S2JDBC もかなり高い拡張性を持っています。汎用的に出来ている分、シンプルとはいえ、プロジェクトや開発メンバスキルにより切り捨てたほうが良い機能もあります。必要な機能のみを周知し、足りない機能は追加する。とい…
今回のプロジェクトでは 2 種類程度のフォーマットしか使用しない (ほとんどのプロジェクトでそうだと思いますが) ため、フォーマット決めうちの x:date や x:datetime を用意しました。 だと汎用的すぎますもんね。
今回は Object Browser ER の備考欄だったかにマッピングアノテーションを書いておき、定義書を生成して、そこから Excel マクロでエンティティを自動生成しました。DB への CREATE も Object Browser ER でフォワードエンジニアリングで楽々でした。自動生…
アクションは機能単位で作成し、フォーム (Dto) も必ず対で作成。のためか思ったより肥大化せず。フォームはセッションスコープ固定で、メニューなどでセッションから削除。各業務画面では完了画面への遷移時にエンティティなどの大きなオブジェクトのみ削除…
次のようなインターフェースを持つ Sql クラスを作成し、複雑な SQL に対応しました。このクラスは SQL 文字列とパラメータのリストを持つ単純なクラスです。メソッドは append しかありません。 public class Sql public Sql(boolean isAndOr) publilc Sql …
ひがさんお勧めの BASIC 認証 (+ FORM 認証) の JDBC レルム。どのアクションにアクセスしても、ログイン画面が出るのはやはり便利です。ただ、ユーザテーブルに削除フラグなどがあった場合、認証後に再度 ActionServlet などのサブクラスで SELECT し、判定…
Cubby TIPS にあるような画面部品を実現する場合は下記のような感じ。Action に依存しないため、かなり便利です。 common.jsp や header.jsp で dao を getComponent しておく。 JSTL で使用可能にするために検索結果を Beans で BeanMap にコピーする。 例…
アノテーションによるネストした子Dtoのバリデーションは、複雑なことは対応しないという方針に基づいて、やってくれないのが仕様です。 2008-04-17 - 出羽ブログ 自分でカスタマイズするなら ActionCustomizer を継承し、setupValidator メソッドに少しコー…
Oracle 10g。S2JDBC の SQL 自動生成で leftOuterJoin で OneToMany の結合をして、ページング指定すると「ORA-00918: 列の定義が未確定です。」が発生。使い方がまずいんでしょうか? 調査中です。 List<TCmp> oyaList = jdbcManager .from(TOya.class) .leftOute</tcmp>…
可燃プロジェクトに飛び込むことになりました。下記のような炎上する要素満載。 関係者各社に告知済みのためカットオーバーは伸ばせない 外部仕様を策定した会社は行方不明 外部仕様はあるが、OS も AP サーバも環境もアーキテクチャーも未定 外部仕様を分か…
速い。Eclipse 3.4 Ganemede Java EE Developers + Pleiades で起動 6 秒台(2 回目以降)。Pleiads なしだと 4 秒ぐらいか? スペックは CPU Core2 2.33GHz、メモリ 4GB で、元々メインで使っていたデスクトップが P4 2.4GB、メモリ 1GB だったのですが、実…
ZIGEN さんとこの DB プラグイン。新機能/改良内容。新機能としてスキーマやカラム名でフィルターできるようです。どんどんブラッシュアップされていますね。
こちらは ZIGEN さんとこでも紹介されていましたが、Oracle 専用プラグイン jOra。キャッシュのヒット率などを確認できるため、パフォーマンス・チューニングなどにも利用できそうです。左下の「データベース・エクスプローラー・ビュー」がリッチな感じの U…
たけぞうさんとこでも紹介されていますが、Eclipse の JavaScript 用プラグイン。今の Europa WTP のものと比較してかなり変わっています。というか、JDT をコピーして新しく作り直されていて、設定の左ツリーでも Web の下に HTML や CSS と同じく横並びだ…
Eclipse 3.4 M5 Ganymede の Java EE Developers を少し前に入れて、こないだ起動してみたら、Usage Data Collector とかいうダイアログが・・・? というか Pleiades 対応してないです。eclipse のサイトを覗いてみると、使用プラグイン、使用ショートカッ…
● blancoNLpackGenerator ● NTTデータグループ・オープンソーススクエア ● SourceForge ニュースリリース
● Eclipse日本語言語パック 開発プロジェクト 2008-02-29(金)11:15。blancoNLpackGenerator + Pleiades マッシュアップ。これからの言語パックと BABEL の動向。 ● Excelからプログラムを作る多言語対応オープンソース 「blanco Framework」 2008-02-29(金)1…
BEA JRockit、IBM J9、Sun の Java 6 による Eclipse 3.3.1.1 起動速度比較。環境は Windows XP sp2。左のカッコ内は使用メモリ量です。もうちょっと拮抗していると思ったのですが、Sun がダントツで速くメモリ使用量も少ないようです。この結果からは Sun …
とりあえず、Pleiades って入力してみた。びびったw http://crocro.com/auto4koma/index.cgi?&k1=8&k2=1&k3=1&k4=1&ikey=1203792348&q=Pleiades&ref_dir=default
って同じプロジェクトのメンバーに言われました。OS って。生物どころか実体あらへんしw
indeed で色々統計とってみました。日本の傾向とは少し違いがありそうです。 Eclipse, NetBeans, JDeveloper, IntelliJ IDEA の統計。Eclipse ちょっと失速気味。NetBeans 伸びてるけど、JDeveloper のほうが多い? Java, C++, Ruby, PHP, Python, Perl, C#,…
あれ? 知ってるじゃないですか。いがぴょんさん。 http://homepage2.nifty.com/igat/igapyon/diary/2006/ig060112.html