2009-01-01から1年間の記事一覧
The dirty secret of pair programmingペアプロの本質ですね。
前回のおさらい 前回は、component-scan を用いつつ、ドメインモデル実装中の SpringFramework に依存したアノテーションを排除しました。 今回のテーマ 今回は、Spring+HibernateEntityManager 環境のサンプルプロジェクトの生成を、maven の maven-archet…
概要 アサーション失敗時の例外を、AssertionError から下記のように変更しました。 引数のアサーション失敗 java.lang.IllegalArgumentException 戻り値のアサーション失敗 java.lang.IllegalStateException リリース 0.0.19 意図 Error ではなく RuntimeEx…
概要 @Woven アノテーションを移動しました。 移動前 jp.objectfanatics.assertion.weaver.Woven 移動後 jp.objectfanatics.assertion.constraints.Woven リリース 0.0.18 意図 @Woven アノテーションは、ウィービング完了後に Weaver によって自動的に付与…
日本語:防水塗料ありました? 英語訳:Did they have the perfume "Toreo"? なるほど。
日本語:あんまりにもすまなそうに見えるって同情されちゃった。 英語訳:He looks so bored everyone felt sorry for us. 『すまなそう』と『つまらなそう』ですかね。
日本語:これ、根っこ? 英語訳:Is this a cat? これは難しそう。
日本語:男子にも勝るくらいの強さなのよ。 英語訳:She's as strong as Masaru from the boy's side. そう来たか。
JVM仕様の以下の情報から、intarface 以外のメソッドの引数名はデバッグ情報から取得できることがわかります。 4.6 Methods の attributes[] の説明から、オプションとして Code (§4.7.3) attribute を取得できることがわかる。 4.7.3 The Code Attribute の…
概要 バージョン 0.0.13 にて、メソッドのオーバーライドに制限を追加しました。この変更により、メソッドをオーバーライドする際に、オーバーライドする側がされる側と同様の制約アノテーションを持たない場合にはエラーになるようになりました。これはリス…
概要 バージョン 0.0.12 にて @Max および @Min アノテーションに以下の型のサポートを追加しました。 java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicLong - アノテーションによるアサーション(その1) アノテーションに…
概要 バージョン 0.0.10 にて、@Max および @Min アノテーションについて以下の変更を行いました。 サポート対象の型の追加 アノテーションに与える型の変更(不動小数点数サポートのため) サポート対象として追加された型 byte short float double Byte Sh…
2009.05.02 現在のバージョン(ver0.0.8) までは、アサーション用のバイトコードをインライン展開する形でバイトコードをウィービングしていました。理由は、そのほうが高速に動作すると考えたからです。しかし、アサーション用のコード全体が毎回ウィービン…
概要 バージョン 0.0.7 までは java6 以上のみのサポートでしたが、バージョン 0.0.8 にて java5 に対応しました。 - アノテーションによるアサーション(その1) アノテーションによるアサーション(その2 mavenプラグイン編) アノテーションによるアサ…
概要 バージョン 0.0.7 にて、アサーション用アノテーションに @NotEmpty を追加しました。 @NotEmptyアノテーション 対象がnullでない、かつ、空でないことを保証するためのアノテーションです。現在は、CharSequence(String や StringBuilder等), Collecti…
概要 バージョン 0.0.6 にて、アサーション用アノテーションに @Max と @Min を追加しました。 @Maxアノテーション 最大値を指定するアノテーションです。現在は、int, long, Integer, Long 型をサポートしています。 @Minアノテーション 最小値を指定するア…
以前、アノテーションによるアサーション(その2 mavenプラグイン編)に載せたサンプルの pom.xml に、pluginRepositories 要素が抜けていたためにうまく動かないという問題があったので、ページ上の pom.xml と サンプル を修正。 - アノテーションによる…
前回 概要 eclise 上で javaagent を使用してバイトコードにアサーション用コードを織り込みます。 必要なファイルの用意 前回の「java agent 用ファイルの配置」と同様の準備をします。 各実行毎に設定を行う場合 実行設定用のダイアログを表示。 例:main…
前回 概要 java agent を使用してバイトコードにアサーション用コードを織り込みます。 必要なファイルの用意 bytecode instrumentation に必要なファイル assertion-agent-all-0.0.8.jar @NotNull アノテーションや weaving を行うクラスが含まれる jar フ…
前回 概要 maven のプラグインを使用してバイトコードにアサーション用コードを織り込みます。 フェーズ maven のデフォルトライフサイクルでは、ソースコードは以下の2つのフェーズでコンパイルされます。 compile main 系のコードがコンパイルされる。 te…
概要 アノテーションでアサーションを行うライブラリを作成してみました。(最新バージョンはこちらから確認してください)。 機能 @NotNull アノテーションによる引数と戻り値の null チェック。 @Min アノテーションによる最小値の保証。(バージョン 0.0.5…
http://repository.sonatype.org/index.html maven2 のアーティファクトを検索するサイト。 結構軽いです。 ajax でソート機能を実装していたりして、操作性もよさそう。
http://www.beust.com/weblog/archives/000511.htmlまだ maven の central には上がってないようです。上がったとしても、しばらくは maven や IDE との連携がうまくできるかの見極めが必要かもですね。
先日X200sが届いたので、X60sから環境を移行中。 速度について 速度について比較記事でも書こうかなと思っていたのですが、体感速度があまりにも速すぎて、比較する気が失せましたw同一ディスク中でフォルダ単位のコピーをした直後、人生どれだけの時間を無…
Subclipse のバージョンと Subversion のバージョンって、同期してるわけじゃないのね。 ドキュメントはちゃんと読もうと反省 (´・ω・`) Subclipse 1.2.x (Subversion 1.4) http://subclipse.tigris.org/update_1.2.x Subclipse 1.4.x (Subversion 1.5) http…
http://maven.apache.org/release-notes.html
# # An unexpected error has been detected by Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c95aa01, pid=2988, tid=1804 # # Java VM: Java HotSpot(TM) Client VM (11.2-b01 mixed mode windows-x86) # Problematic…
pseudo-transaction 肯定派とJTA屋のバトルですね〜。 Java Pseudo Transactions With Non-Transactional Resources Stay away from pseudo-transactions!おいら的には、non-xa なリソースに last-resource commit optimization を適用するということなら多…