cypher256's blog

Pleiades とか作った

JSP で Action に指定した roles を使う

SAStruts では Servlet コンテナの認証を使った場合、アクションの roles 属性を指定することにより、アクセス制御が可能です。これでセキュリティは守られます。でも実際のところ、その権限によって、画面にメニューやリンク、ボタンの表示/非表示を切り替…

JSP、JSTL、EL で定数を使う

今回のプロジェクトでは定数クラスは設計書から自動生成されるようにしました。でもせっかく定数クラス作っても、JSP ではベタ書きしていたり、JSP で定数使うのはおかしいとか言うエラい人もいたりしますが、やっぱり JSP でも定数使いたい場面はあります。…

SAStruts 採用説得パターン

今回のシステムは色々な会社が開発に参画しているのですが、END のお客様に説明した時にちょっと変わった反応が。あとで分かったのですが、他の人が Struts なので開発者はすぐ集まりますとか周知していたらしいです。当事者の方も見ているかもしれませんが…

SAStruts を選んだ 5 つの理由 - アーキテクチャ

これは私がその都度、俺々フレームワークでやってきた理想形でした。もちろん、すべての問題領域でカバーできるとは思いませんが、私が今まで携わったシステムでは適用しても問題にならないと思います。その昔、エラい人たちが語ってきたものとすべて真逆で…

フォームクラスをアクションとは別にする 5 つの理由

セッションに格納したい場合は作る、っていうのがあれな気がします Struts に慣れている人に違和感がない気がします 最近よくあるフレームワークはプロパティも一緒に持ってるけど、あれはページ単位です サンプルでは小さいけど、実システムでは一緒にする…

セッション管理

上でも書いてますが、フォームは InstanceType.SESSION 固定です。画面入出力情報だけでなくセッションに持ちたい情報はすべてフォームに持ち、ユーザに関する情報はすべて User オブジェクトにもち、アクションやロジックにインジェクションされます。HttpS…

JavaBeans プロパティ命名ルール

JavaBeans 仕様では先頭の連続する 2 文字が大文字だと先頭が小文字になりません。Struts でハマった方も多いのではないでしょうか? S2JDBC でも厳密にこれに沿っているため、DB のテーブル名が T_HOGE とかだと、S2JDBC デフォルトだとテーブルの外部キー…

フォームとアクションの標準構造

上の「アクションの粒度」で書きましたが、アクションと同じ粒度、つまり 1 機能に対し 1 フォームを作成します。一覧の明細はインナークラスにします。こんな感じ。 追記:下記から transient 指定は削除しました。コメント参照。 @Component(instance = In…

拡張性

Struts もそうですが、SAStruts と S2JDBC もかなり高い拡張性を持っています。汎用的に出来ている分、シンプルとはいえ、プロジェクトや開発メンバスキルにより切り捨てたほうが良い機能もあります。必要な機能のみを周知し、足りない機能は追加する。とい…

JSP2.0 ファンクション

今回のプロジェクトでは 2 種類程度のフォーマットしか使用しない (ほとんどのプロジェクトでそうだと思いますが) ため、フォーマット決めうちの x:date や x:datetime を用意しました。 だと汎用的すぎますもんね。

エンティティの自動生成

今回は Object Browser ER の備考欄だったかにマッピングアノテーションを書いておき、定義書を生成して、そこから Excel マクロでエンティティを自動生成しました。DB への CREATE も Object Browser ER でフォワードエンジニアリングで楽々でした。自動生…

アクションの粒度

アクションは機能単位で作成し、フォーム (Dto) も必ず対で作成。のためか思ったより肥大化せず。フォームはセッションスコープ固定で、メニューなどでセッションから削除。各業務画面では完了画面への遷移時にエンティティなどの大きなオブジェクトのみ削除…

SQL 発行

次のようなインターフェースを持つ 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 メソッドに少しコー…

SQL 自動生成の結合+ページング「列の定義が未確定」でハマり中

Oracle 10g。S2JDBC の SQL 自動生成で leftOuterJoin で OneToMany の結合をして、ページング指定すると「ORA-00918: 列の定義が未確定です。」が発生。使い方がまずいんでしょうか? 調査中です。 List<TCmp> oyaList = jdbcManager .from(TOya.class) .leftOute</tcmp>…

SAStruts + S2JDBC でサクサクか炎上か

可燃プロジェクトに飛び込むことになりました。下記のような炎上する要素満載。 関係者各社に告知済みのためカットオーバーは伸ばせない 外部仕様を策定した会社は行方不明 外部仕様はあるが、OS も AP サーバも環境もアーキテクチャーも未定 外部仕様を分か…

XPS m1710 ゲーマー向けノートで Eclipse はやばい件

速い。Eclipse 3.4 Ganemede Java EE Developers + Pleiades で起動 6 秒台(2 回目以降)。Pleiads なしだと 4 秒ぐらいか? スペックは CPU Core2 2.33GHz、メモリ 4GB で、元々メインで使っていたデスクトップが P4 2.4GB、メモリ 1GB だったのですが、実…

DBViewer 1.0.7 準備中

ZIGEN さんとこの DB プラグイン。新機能/改良内容。新機能としてスキーマやカラム名でフィルターできるようです。どんどんブラッシュアップされていますね。

Oracle 専用プラグイン jOra

こちらは ZIGEN さんとこでも紹介されていましたが、Oracle 専用プラグイン jOra。キャッシュのヒット率などを確認できるため、パフォーマンス・チューニングなどにも利用できそうです。左下の「データベース・エクスプローラー・ビュー」がリッチな感じの U…

JavaScript 開発ツール (Ganymede WTP 3.0 JSDT)

たけぞうさんとこでも紹介されていますが、Eclipse の JavaScript 用プラグイン。今の Europa WTP のものと比較してかなり変わっています。というか、JDT をコピーして新しく作り直されていて、設定の左ツリーでも Web の下に HTML や CSS と同じく横並びだ…

Eclipse がユーザの使われ方データをネット経由で収集し始めた

Eclipse 3.4 M5 Ganymede の Java EE Developers を少し前に入れて、こないだ起動してみたら、Usage Data Collector とかいうダイアログが・・・? というか Pleiades 対応してないです。eclipse のサイトを覗いてみると、使用プラグイン、使用ショートカッ…

Eclipse 3.3 日本語化言語パック(サードパーティ版)リリース

● blancoNLpackGenerator ● NTTデータグループ・オープンソーススクエア ● SourceForge ニュースリリース

オープンソースカンファレンス 2008 Tokyo/Spring

● Eclipse日本語言語パック 開発プロジェクト 2008-02-29(金)11:15。blancoNLpackGenerator + Pleiades マッシュアップ。これからの言語パックと BABEL の動向。 ● Excelからプログラムを作る多言語対応オープンソース 「blanco Framework」 2008-02-29(金)1…

VM、Eclipse 3.3 起動オプションによるパフォーマンス比較

BEA JRockit、IBM J9、Sun の Java 6 による Eclipse 3.3.1.1 起動速度比較。環境は Windows XP sp2。左のカッコ内は使用メモリ量です。もうちょっと拮抗していると思ったのですが、Sun がダントツで速くメモリ使用量も少ないようです。この結果からは Sun …

全自動4コマ

とりあえず、Pleiades って入力してみた。びびったw http://crocro.com/auto4koma/index.cgi?&k1=8&k2=1&k3=1&k4=1&ikey=1203792348&q=Pleiades&ref_dir=default

私の前世は OS

って同じプロジェクトのメンバーに言われました。OS って。生物どころか実体あらへんしw

indeed 求人統計で見る勢力図

indeed で色々統計とってみました。日本の傾向とは少し違いがありそうです。 Eclipse, NetBeans, JDeveloper, IntelliJ IDEA の統計。Eclipse ちょっと失速気味。NetBeans 伸びてるけど、JDeveloper のほうが多い? Java, C++, Ruby, PHP, Python, Perl, C#,…

DBViewer で昔使われてたフォーマッター

あれ? 知ってるじゃないですか。いがぴょんさん。 http://homepage2.nifty.com/igat/igapyon/diary/2006/ig060112.html