2009-01-01から1年間の記事一覧

The dirty secret of pair programming

The dirty secret of pair programmingペアプロの本質ですね。

Spring+HibernateEntityManager(archetype編)

前回のおさらい 前回は、component-scan を用いつつ、ドメインモデル実装中の SpringFramework に依存したアノテーションを排除しました。 今回のテーマ 今回は、Spring+HibernateEntityManager 環境のサンプルプロジェクトの生成を、maven の maven-archet…

アノテーションによるアサーション(その14 例外の変更)

概要 アサーション失敗時の例外を、AssertionError から下記のように変更しました。 引数のアサーション失敗 java.lang.IllegalArgumentException 戻り値のアサーション失敗 java.lang.IllegalStateException リリース 0.0.19 意図 Error ではなく RuntimeEx…

アノテーションによるアサーション(その13 @Wovenの移動)

概要 @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 の…

アノテーションによるアサーション(その12 オーバーライド時の整合性編)

概要 バージョン 0.0.13 にて、メソッドのオーバーライドに制限を追加しました。この変更により、メソッドをオーバーライドする際に、オーバーライドする側がされる側と同様の制約アノテーションを持たない場合にはエラーになるようになりました。これはリス…

アノテーションによるアサーション(その11 @Max, @Min 編)

概要 バージョン 0.0.12 にて @Max および @Min アノテーションに以下の型のサポートを追加しました。 java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicLong - アノテーションによるアサーション(その1) アノテーションに…

アノテーションによるアサーション(その10 @Max, @Min 編)

概要 バージョン 0.0.10 にて、@Max および @Min アノテーションについて以下の変更を行いました。 サポート対象の型の追加 アノテーションに与える型の変更(不動小数点数サポートのため) サポート対象として追加された型 byte short float double Byte Sh…

アノテーションによるアサーション(その9 インラインか、メソッド呼び出しか、それが問題だ編)

2009.05.02 現在のバージョン(ver0.0.8) までは、アサーション用のバイトコードをインライン展開する形でバイトコードをウィービングしていました。理由は、そのほうが高速に動作すると考えたからです。しかし、アサーション用のコード全体が毎回ウィービン…

アノテーションによるアサーション(その8 java5 編)

概要 バージョン 0.0.7 までは java6 以上のみのサポートでしたが、バージョン 0.0.8 にて java5 に対応しました。 - アノテーションによるアサーション(その1) アノテーションによるアサーション(その2 mavenプラグイン編) アノテーションによるアサ…

アノテーションによるアサーション(その7 @NotEmpty 編)

概要 バージョン 0.0.7 にて、アサーション用アノテーションに @NotEmpty を追加しました。 @NotEmptyアノテーション 対象がnullでない、かつ、空でないことを保証するためのアノテーションです。現在は、CharSequence(String や StringBuilder等), Collecti…

アノテーションによるアサーション(その6 @Max, @Min 編)

概要 バージョン 0.0.6 にて、アサーション用アノテーションに @Max と @Min を追加しました。 @Maxアノテーション 最大値を指定するアノテーションです。現在は、int, long, Integer, Long 型をサポートしています。 @Minアノテーション 最小値を指定するア…

アノテーションによるアサーション(その5 訂正編)

以前、アノテーションによるアサーション(その2 mavenプラグイン編)に載せたサンプルの pom.xml に、pluginRepositories 要素が抜けていたためにうまく動かないという問題があったので、ページ上の pom.xml と サンプル を修正。 - アノテーションによる…

アノテーションによるアサーション(その4 eclpse 編)

前回 概要 eclise 上で javaagent を使用してバイトコードにアサーション用コードを織り込みます。 必要なファイルの用意 前回の「java agent 用ファイルの配置」と同様の準備をします。 各実行毎に設定を行う場合 実行設定用のダイアログを表示。 例:main…

アノテーションによるアサーション(その3 java agent 編)

前回 概要 java agent を使用してバイトコードにアサーション用コードを織り込みます。 必要なファイルの用意 bytecode instrumentation に必要なファイル assertion-agent-all-0.0.8.jar @NotNull アノテーションや weaving を行うクラスが含まれる jar フ…

アノテーションによるアサーション(その2 mavenプラグイン編)

前回 概要 maven のプラグインを使用してバイトコードにアサーション用コードを織り込みます。 フェーズ maven のデフォルトライフサイクルでは、ソースコードは以下の2つのフェーズでコンパイルされます。 compile main 系のコードがコンパイルされる。 te…

アノテーションによるアサーション(その1)

概要 アノテーションでアサーションを行うライブラリを作成してみました。(最新バージョンはこちらから確認してください)。 機能 @NotNull アノテーションによる引数と戻り値の null チェック。 @Min アノテーションによる最小値の保証。(バージョン 0.0.5…

Sonatype Nexus Maven Repository Manager

http://repository.sonatype.org/index.html maven2 のアーティファクトを検索するサイト。 結構軽いです。 ajax でソート機能を実装していたりして、操作性もよさそう。

Announcing TestNG 5.9

http://www.beust.com/weblog/archives/000511.htmlまだ maven の central には上がってないようです。上がったとしても、しばらくは maven や IDE との連携がうまくできるかの見極めが必要かもですね。

X200sが高速な件について

先日X200sが届いたので、X60sから環境を移行中。 速度について 速度について比較記事でも書こうかなと思っていたのですが、体感速度があまりにも速すぎて、比較する気が失せましたw同一ディスク中でフォルダ単位のコピーをした直後、人生どれだけの時間を無…

Subclipseのバージョン勘違いしてたorz

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…

Maven 2.1.0 Released

http://maven.apache.org/release-notes.html

久々にVM落ちた

# # 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 vs JTA

pseudo-transaction 肯定派とJTA屋のバトルですね〜。 Java Pseudo Transactions With Non-Transactional Resources Stay away from pseudo-transactions!おいら的には、non-xa なリソースに last-resource commit optimization を適用するということなら多…