Java

アジャイルにTDDしようとしてペアプロして失敗した話

これはTDD Advent Calendarの18日目。 記事としては @mao_instantlife さんの TDDやってみてコメントが減った話 のあと、@cubeon さんの きっと方眼の理から逃れられないお前たちにも告げる!テストコードを手に入れるのだ! の前となります。最近、新しい開…

Java1.4.2〜Java7.0で文字列操作の速度を測ってみた(やっつけ)

昨日ちょこっと計ってみたら大きく差が出たのでネタとして。最初Java1.4.2とJava7.0だけを比べていたらメジャーバージョン2つ飛ばして計測はアレみたいな反応があったので、間のも測ってみました。文字列操作は業務システムだと沢山の箇所で使われていると思…

メッセージリソースとしてExcelファイルを利用する(ResourceBundle)

国際化プログラミングをする時にXXXX.propertiesファイルを作成するけれども、 設計書(Excel)から設定ファイルにいちいち直すのではなくExcelから直接読み取れないかなということで調べてみました。国際化対応をする場合はResourceBundleクラスを使用するの…

ちょこちょこ修正(jsf-scrumtoys-refactored)

JavaEE6用のテンプレートを目指されているということで、 せっかくなので、おや?と思ったところをちょくちょく直そうというタスク。 少しずつでも進めばいいのです。今回は、エラーメッセージについて。 現時点だとフォーム名が出てしまっているのを項目名…

jsf-scrumtoys-refactored を動かすまで

達人プログラマーを目指してを執筆なされているryoasaiさんが作られているものについて。 #glassfishjp にて拝見させていただいて動かしたのですが、 ちょっとつまづいたので動かすまでの説明資料として。jsf-scrumtoys-refactoredの内容についての説明につ…

JSP EL式だと文字列連結はできない?

久々にJSPをペチペチ書いていたらはまったのでメモ。 EL式だと文字列連結(concat)はできないらしいです。 普通に+でできると思っていたからすごい困りました。 こんなのは書けない。 //何がしたいかは判ってくれるはず・・・・・JSTLのFunctionタグでもでき…

Twitter APIポケットリファレンスもらった

今日こそ書こう、今日こそ書こうと思いつつすでに週末だけれどもついに書きます。7/28のweblogic勉強会に参加したら、くじに当たりTwitter APIポケットリファレンスをもらうことが出来ました。Twitter API ポケットリファレンス (POCKET REFERENCE)作者: 山…

HttpSession IllegalStateException:セッションは既に無効化されています

昔の本を読むとHttpSessionにアクセスする場合には必ず同期化するようにと書いてあった気がしたけれども、 最近の書籍を読むとそれが書いていないことが多い。 どうして書かれなくなったのだろうか?Sessionにアクセスする場合には同期化をする必要がある。 …

JavaでのBlobの取り扱い

だいたいOracle。 JDBC接続 JavaのJDBC接続でBlobからデータを取り出すときはResultSet#getBlob()を使用するけれども、 実はResultSet#getBytes()で直接byteとして取り出すこともできます。 Webシステムぐらいだと殆どの場合大きくても数Mbyteのファイルだと…

java.lang.IllegalStateException: レスポンスをコミットした後でセッションを作成できません

JavaEEを扱っていると何回か見たりするけれども、 此処で言うレスポンスとはHttpServletResponseのこと。 クライアントに返事を返した後にセッションを作成することは出来ない。*1直すためにはRequestDispatcherを呼び出したりResponseWriter(ResponseOutput…

JPA(Hibernate)におけるEnumの扱いって難しい

※だいたいJPA2.0とHibernate3.6.Xぐらいの話 Enumはよく使うのだけれども JPA(というかHibernate)で使うと色々と考えどころがある。 とりあえず二つ。 OrdinalかStringか EnumをDBに保存する方法としては2種類ある。 序数として保存するか、文字列として保存…

(JPA+Hibernate)LazyよりもEagerがいい気がしてきた

二つのFetchMode HibernateだとLazyがデフォルトなんだけれども、その上にJPAがかぶさるとEagerがデフォルトになる。 昔、Hibernateを直接扱っていたときはLazyがいいなぁと思っていたけれども、最近はEagerのほうがいい気がしてきた。 Eagerの方が楽じゃな…

実装を知るって大切 Collections#sort

Listをソートしてくれるのだけれども Collections#sortはList(正確にはコレクションフレームワーク)をソートしてくれるメソッドなんだけれども、 昔、以下のようなコードを見たことがある。 String[] anArray = getAnArray(); List list = Arrays.asList(anA…