Java

m2eclipseでSAStrutsプロジェクトを作成する

Seasar2関連で。 参考文献に「mvn archetype:generate」コマンドでの作成方法が載っているので、それに合わせてm2eclipseから作成する。 手順 1. New Maven Project にて、 Add Archetype で下記内容を入力してOK押下 Archetype Group Id: org.seasar.sastru…

Seasar2でAjax

Seasar2でAjaxする方法を簡単にまとめ。 SAStrutsはそもそも任意のAjaxライブラリと連携可能 SAStrutsは任意のAjaxライブラリと連携可能。jQueryなど。 下記サイトを見る限り、JSONによるパラメータ渡しなども特に気にする必要はなさそうだ。 参考サイト Sup…

JavaのO/Rマッパーを軽く調べてみた

JavaのO/Rマッパーとしては、個人的には以下のものを耳にする。それぞれ自動生成ツール観点で軽く調べてみた。 iBATIS(現MyBatis) Seasar2関連 Hibernate EJB JOD iBATIS(現MyBatis) 日本語マニュアル http://www16.atpages.jp/sekom/ibatis-2.3.0.677/d…

GCの可視化ツールを調べてみた

JavaのGCを可視化するツールについて調べてみた。 GCのインターバルが短いとGCによる負荷が高いといえるため、ヒープサイズを調整することで性能改善が見込まれる。 リアルタイムで可視化 visualgcを用いる。 1. jvmstat のページのダウンロードリンクから、…

アノテーションを使ってみた

アノテーションを遂に使える局面に当たったので使ってみた。 /** * キー項目に付与するアノテーションです。 */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface KeyColumn { }/** * ユーザテーブルのエンティティです。…

log4jについて追記

同じクラスで複数の目的でログをはきたい場合について考えていた。 ⇒未検証。むしろ、カテゴリを分ければいいだけか。(20111015追記) log4j のロガーをコード上で設定して生成する Logger getFileLogger(String file, String pattern, Level level) { Logg…

intra-martの拡張メモ

intra-mart の機能拡張としてBiz∫APFがある。 さらに、Biz∫APFの上に各種パッケージを用意したもの全体をBiz∫というもよう。

im-JavaEE Frameworkについてちょっとメモ

以前 intra-martについてちょっとメモ - oknknicの日記 で記述した中に im-JavaEE Framework があったので、一応以下に補足しておく。今回も適当感ありありで。 im-JavaEE Framework 以下のサブフレームワークからなる。 サービスフレームワーク イベントフ…

Beanリストを特定フィールドの値でソートする

ジェネリクスを使ったユーティリティメソッドを書いてみた。 org.apache.commons.beanutils.BeanComparatorを用いることで簡潔に記述している。 public static <T> void sort(List<T> beanList, String orderByFieldName, boolean isAsc) { Comparator<T> comparator;</t></t></t>…

ようやくジェネリクスの使い方がわかった気がする

少しばかり使用する機会に恵まれたので、ジェネリクスの使い方を調べてみた。 下記サイトの解説がとても丁寧でこれ以上書くことは無い気もするが、要点のみメモしておく。 Javaジェネリクス再入門 - プログラマーの脳みそ 概要 ジェネリクスには2種類のスコ…

djUnitを使ってみた

djUnitを使ってみたのでメモしておく。 概要 Eclipseプラグイン。 JUnitテストケースのコードカバレッジをレポート出力してくれる。 できること JUnitテストのカバレッジをレポート形式で出力 Line branch% ⇒ djUnit 該当コードへのハイパーリンク、カバーさ…

クラスパスについて復習しておく

JVMは以下の順でクラスを探索する。 ブートクラスパス エクステンション・ディレクトリ クラスパス ダウンロード・エクステンション ブートクラスパス システム標準クラスライブラリが含まれる場所。rt.jarとi18n.jarか? 変更方法は下記。 コンパイル時:ja…

log4jではまったのでメモしておく

昨日もlog4jについて書いたばかりだが、使ってみて早速はまったのでメモしておく。 自前の log4j.properties が読み込まれない 現象 クラスパスの先頭に同ファイルを配置してもなお読み込まれない。 原因 - log4jの設定ファイルを含んでいる jar をクラスパ…

log4jのアペンダを整理しておく

以前「今更ながら、Log4Jについて復習しておく - oknknicの日記」で一通りの使い方をまとめた。 が、実際に使うにあたって、どんなアペンダが標準で用意されているのかを把握しておきたくなった。 そこで、日本語のAPIから抜き出して整理しておく。 全体像 A…

で、Strutsは何が嬉しい?

と、自問自答してみた。 基本的な処理フローを担ってくれる 開発者はアクション、アクションフォーム、JSPなどを作って配置し、xmlに設定を書くだけで、フレームワークが勝手に呼び出してアプリが動いてくれる。 コントローラ→アクション→JSP or ファイルUP/…

Strutsって結局何だっけ?

約300のクラスで構成される、MVCに基づくWebアプリケーションフレームワーク。 パッケージ action: コントローラクラスやActionFormなどのフレームワークコンポーネント actions: 出来合いのActionクラスなど config: Struts設定ファイルのメモリ内表現クラ…

サーブレット標準でどこまで定義されているか

Webアプリケーションフレームワーク以前に、そもそもサーブレット標準でどこまで定義されているのかを認識できていないことに気付いた。 ここを正確に把握できれば、各種フレームワークの実現方法をより明確ににイメージすることができるだろう。 ということ…

intra-martについてちょっとメモ

適当感ありありで、ちょいとメモメモ。 概要 Webシステム共通基盤。 ユーザ管理や統合メニューなど、どんなWebアプリ開発でも必要になってくる部分を始めから用意してくれている。 それ単体で動作し、グループウェアや原価管理機能等のアプリケーションを使…

Velocityがちょっと楽しそう

Javaベースのテンプレートエンジン Velocity が楽しそう。 テンプレートとなるテキストファイルに変数を埋め込んで、Javaで値をはめ込む。 JSPの単なるテキスト版、みたいな?マクロみたいなのもあるようだし。 用途的にはむしろ、以前使ってみた Excella Re…

iBatisによるDBアクセスおよびファイル出力をチューニングした

iBatisを使って大量(千万件程度)のデータをDBから取得し、編集してCSVファイル出力するコードのチューニングを行った。 ポイントは以下の3点。 メモリに乗りきらないため、RowHandlerを用いて1行ずつ処理する 単純に1行ずつ取得ではDBアクセスの負荷が高く…

正規表現 覚え書き

正規表現を毎度忘れて調べてる気がするので、メモしておく。 一般 正規表現 - Wikipedia Java Java における正規表現の定義は下記が正式。 Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle 正規表現中の部分文字列の指…

Javaプロファイラを調べてみた

大きくは、以下の2つのプロファイラがあるようだ。 とりあえず羅列。 VisualVM Eclipse TPTP VisualVM 起動方法 jdk/bin/jvisualvm.exe を実行 Eclipse TPTP インストール ソフトウェア・サイト:http://download.eclipse.org/tptp/updates/ 参考リンク Visu…

リフレクションでできることを整理しておく

リフレクション機構は java.lang.reflect パッケージにまとめられている。 Java Platform SE 6 の API は下記。 Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle これを用いてできることは下記。 Class<T> インスタ…

Eclipseのコード体裁補助機能を整理しておく

コードの体裁に関しては、コード・テンプレート、フォーマット、メンバー・ソート順序、がある。 コード・テンプレート 設定:Java>コード・スタイル>コード・テンプレート 大きくは、コメントとコードについて設定可能。 コメント 以下について設定可能。…

今更ながら、Log4Jについて復習しておく

毎度忘れるので、Log4Jを復習&メモしておく。 うまみ 下記を外部ファイルで設定できる点、性能面が考慮されている点、など。 出力先(コンソール、ファイル、Syslogデーモン、データベース、メール、など) 表示内容(SimpleLayout、HTMLLayout、XMLLayout…

Javaの例外処理について頭を整理する

Javaの例外処理機構の背景を考える Cで例外処理を記述する場合は、下記のような不都合があった。 正常処理の中に例外処理が入り混じる 関数内で例外的な事態となったことを呼び出し元に伝える方法は、戻り値に値域外の値をセットする以外ない Javaでは、上記…