Java

Joda-Time で日付操作

commns-lang3 が便利だったけど Joda-Time も便利なので // 月初を取得 DateTime dt = DateTime.now().dayOfMonth().withMinimumValue().dayOfMonth().roundFloorCopy(); System.out.println(dt); // 月末を取得 dt = DateTime.now().dayOfMonth().withMaxim…

JSON library

JSON のライブラリをまさぐってみた。対象は以下の3つ JSONIC Jackson JsonPullParser 結論はJSONIC 使い安いしとっかかり易い。Jackson もまぁまぁ。JsonPullParser は僕の環境では上手くコード生成ができなかった。気づいた点は以下の通り。 JSONIC は JSO…

JBoss AS 7

Java のアプリケーションサーバの評価をするのに JBoss AS7 をインストールして何も考えずにスタンドアローンで起動したらエラーになった。7.0.0 の時は起こらなかったのに。。。 $ $JBOSS_HOME/bin/standalone.sh ========================================…

モジュールの設定

一通りPlay framework を触って、ポリシーとかいい感じなんだけど早速悲しいところを見つけた。module は以下のコマンドでインストールすることができます。{version}を省略すると最新の version が取得できます。 play install {module name}-{version} そ…

Maven でリポジトリにないライブラリを参照させる。

Oracle の JDBC ドライバ とか再配布に問題があるライブラリとか古いもしくは独自ライブラリを Maven で参照させる場合、独自のリポジトリなどを作って参照させていましたが、プライベートネットワークな場合が多いためネットワークが異なる場所で作業する場…

Google Guava

Google が実装している Java 1.5 以上向けのライブラリ。昔、Google Collection として開発していたものが統合されています。Guava: Google Core Libraries for Java 1.5+いくつかリソースがあります。 guava-examples PDF Slides of a presentation focusin…

システムの一時ディレクトリ

Javaの場合System.getProperty("java.io.tmpdir")

Play Framework

ちょっと時間ができたので、最近やってなかった色々な調べ物に手をつけました。まずは Java で Rails のように CoC で開発ができる Play Framework を試してみました。 1.0 が出たときにとりあえず動かすことはしてみていたんですが、その時はまたリリース直…

TomcatのフロントとしてのApacheの設定

状況とやりたいこと 静的ファイルはApache側で処理させる 静的ファイルはサブディレクトリにも散在している SAStrutsなので拡張子での振り分けはムリ(設定変えればできるけど.doとか付けたくないし) トップページは動的なので、ディレクトリで分離するのは…

Listのランダムソート

http://java.sun.com/javase/ja/6/docs/ja/api/java/util/Collections.html#shuffle%28java.util.List%29

ivy

Apache antのサブプロジェクトのビルドシステム。ライブラリの依存関係を解決する様です。mavenでいいやん。ant使ってるひとからするとありがたいのかも。サイトが死んでる。

Sonar

Javaコードの静的解析のビジュアライズツールにSonarというのがありますが、スタイルがよさげなのでちょっと動かしてみました。checkstyle.xmlに日本語が含まれていてその場合なんか落ちてる。 [INFO] [sonar-core:collect][ERROR] Cannot execute the comma…

HttpSessionListener#sessionDestroyed

HttpSessionListenerでセッション・イベントで処理をしてるんだけど、セッションの永続化をしてるとどうもオンメモリな情報と永続化された情報それぞれでsessionDestroyed()のイベントが起きてるみたい。困った。どうしようかなぁ?

Validationのテストコードを作る意味あんのかなぁ?

ふと思ってみたので。個別のフィールドの話だし。独自に実装したvalidateはやるべきなんだろうけど、設定だけで済むようなものはやった方がいいんかなぁ?Strutsみたいに遠くにあればやる必要はあるのかも。 でもS2StrutsもSAStrutsも近くにあるし。世間では…

SAStrutsのFormフィールドのアノテーションをJavaDocに出力してみる。

Formのフィールドに着ける検証用のアノテーション(@Requiredや@IntegerType)といった内容をJavaDocに出したかったんだけど、アノテーションクラスに@Documentedがついてないのででない。Formの内容をJavaDocだけで周知したいんだけどな。なんか他に出す方…

SAStrutsでS2Strutsのように*FormなクラスをSmartDeployしてみる

SAStrutsではFormはSmartDeplayの対象になっていません。DTOをActionのフィールドにするようなルールです。SAStrutsの規約に従うのも良いんですが、リクエストからセットされるフィールドは全てString型にしたかったのでDTOとは区別したいです。そこでAction…

S2JDBCのBeanMap

Mapインターフェースなんだけど、実装はHashMap。なのでSQLで記述したカラム順序とBeanMapから取得できる項目の順序は一致しない。大概は問題では無いんだけど、ダウンロードデータをめんどくさいからそのまま出力したい場合、カラム順とCSVの並びを一致させ…

S2JDBCでの関連

S2JDBCの関連はHibernateとかと違って、対象のキーもエンティティに指定する必要があります。 その辺りの話はここから。OneToOneやManyToOneの場合、先に関連付けする方を登録しないと、関連付けされる方に設定する識別子が判らない気がするんだけど、どうな…

Click Framework

もう乱発状態のJavaのWebアプリケーションフレームワークですが、また新しい名前を聞いたのでちょっとつまみ食いです。Click FrameworkフレームワークのたぐいとしてはWiketに似ている感じ。設定地獄をなくすために、「コンポーネント指向」という名の下に、…

JRubyで作ったRailsアプリをJavaで動かす。

Jruby on Rails on Tomcatを参照しながら。環境は JRuby-1.1.1Rails2.0.2GoldSpike Rails2だけど、GoldSpikeでやってみる。というのは、「Rails2は Warblerで」みたいに書いてあるけど、 Copy the generated file $YOUR_APP_NAME.war to $TOMCAT_HOME/webapp…

Apache Beehiveを試してみる。

今更ですが、タスクリストに隅の方に残ってたのでやってみました。 タスクに追加したときの元記事はこちら。だいぶ古いので新しい情報を探したんですが、Beehive自体が2006年12月のが最新版のようなのでどうも落ちぶれた組っぽい。でもせっかくタスクに入っ…

DBFluteでのNotInScope

DBFluteの0.6.8からどうもNotInScopeがデフォルト出力されないようになってる。dfpropのincludeQueryMap.dfpropが # /

Architecture Rules

「Javaで書かれたプログラムの設計」というのがよくわからんけど、どうやるんやろ。 Javaプログラムの設計をテストするツールArchitecture Rules 2.0.3 - builder by ZDNet JapanArchitecture Rulesでは、Javaで書かれたプログラムの設計を、ユニットテスト…

JpMobileUtilsをリリースしました。

PEARのNet_UserAgent_MobileをJavaにポーティングした、JpMobileUtilsをリリースしました。以下から取得できます。 https://sourceforge.jp/projects/jpmobileutils/files/mavenからは以下をpomに追加してください。 JpMobileUtils http://jpmobileutils.sou…

Wicketで出力されるFormのaction属性

WicketでFormを作成すると、action属性の値が変です。 <form id="form1d" action="?wicket:interface=:14:form::IFormSubmitListener::" method="post"> 変というかなんじゃこれって感じです。どうも内部のキャッシュのために変なパラメータがついてる。でもこんな勝手につけられたら使えない・・・。 一応リソース的には一意なっているけど、これはRESTfu</form>…

JPA

最近書籍なんかも出てきて、俄に流行っていて噂はをちらほらと見聞きしていましたが、やっとさわってみました。感想はというと hibernateじゃん。(APIの多くはhibernateの思想がそのまま) でもhibernateよりマッピングは楽ちん。 程度の低い処理であればhibe…

正規表現 メタ文字 \d

正規表現のメタ文字で「\d」ってあるやん。大体説明が「[0-9]と同じ」になってるんだけど、javaのregexとoroでどうも困ったことに。java.util.regexは全角数字にマッチしないのに、org.apache.oro.text.perl.Perl5Utilのほうはマッチするんだよね。 それだけ…

S2StrutsのDate型のauto validate

S2StrutsでFormの中にjava.util.Date型のプロパティがある場合、どうも自動でvalidationgが動くみたい。 null許容したいんだけど・・・解決策 @DateTypeでPattern属性を指定する。 @NoValidateをつける どっちでもうまくいけた。

S2StrutsでのHotDeploy

S2StrutsのHotDeploy環境でPOJOのFromBeanをセッションスコープに設定するとセッションの内容がリセットされる。 どうも既知("[#STRUTS-51] HotDeployでSessionスコープのFormがクリアされる ":https://www.seasar.org/issues/browse/STRUTS-51)様なのだが修…

16進エンコードされたNULL値

時間があったので久しぶりに@ITの記事なんかをしらみつぶしに読んでると、こんな記事を発見。その文字列はセーフ? 本当は奥深いデコード処理 − @IT例えば、Webアプリケーション内で利用されている関数に、バイナリセーフの関数と非バイナリセーフの関数が…