ログ日記

作業ログと日記とメモ

2010-11-01から1ヶ月間の記事一覧

UiBinderで独自クラスを使う場合のコンストラクタ

GWT

例えば、SimplePagerでfastForwardRowsの行数を変えたい場合*1。 package myapp.client.widget; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiConstructor; import com.google.gwt.user.cellview.client.SimplePager; /…

GWT MVPあれこれ

GWT

Place, Activity, View, Presenter を使った開発が段々分かってきた。 以下一連の流れ。だいたいは http://code.google.com/intl/ja/webtoolkit/doc/trunk/DevGuideMvpActivitiesAndPlaces.html ここの通り。 まずclient.viewパッケージ以下にFooViewインタ…

一時的なデータ置き場

Javaで一時的なデータをどこに保存しようかと調べていた。 File.createTempFile はサーバーでは使えなさそうだし…ということで、EHCacheを試す。 http://journal.mycom.co.jp/articles/2010/05/19/ehcache/index.html 簡単な使い方はここ。 ダウンロードは h…

JavaMailは遅くなかった

http://d.hatena.ne.jp/n314/20101118/1290101208 Postfixが遅かった。 原因は不明。 下に追記 開発マシン time /usr/sbin/sendmail -t < /tmp/body.txt real 0m0.032s user 0m0.004s sys 0m0.008s サーバー time /usr/sbin/sendmail -t < /tmp/body.txt rea…

JavaMailが遅い

SMTPを喋ってるから遅いのかな?と思ってsendmail実行に切り替えてみた。 class MailService { ... private final boolean useSendMail; public MailService(){ if (new File(SENDMAIL_PATH).exists()) useSendMail = true; else useSendMail = false; } ...…

GWTでRPCの共通処理

http://d.hatena.ne.jp/n314/20101026/1288070773 ここでRPC処理も含めてjarを作れば簡単に共通化できるよねと書いたんだけど、うまくいかない。 これを書いたときはうまくいってたのかな…ちょっと覚えてない。 jarの中のServiceAsyncを呼び出すと、Incompat…

GWTのHudson用ビルドスクリプト

GWT + Git + Hudson の設定 - より良い環境を求めて の続き ほとんど変更がないけれども #!/bin/bash USAGE="Usage: gwt-build.sh com.company.appname.ModuleName dirName appPath" if [ "$1" == "" ]; then echo "ERROR: Required module name." echo $USA…

Ext GWT のライセンスとかバージョンとか

検索したら、Ext GWTを使うとGPLだから公開しないといけないと書かれた記事が複数見つかったけど、受託開発とかじゃなかったらGPLは関係ないよね? http://www.slideshare.net/naotori/080826-ext3slideshare-presentation これとか、一見詳しいんだけど…。 …

ActivitiyとPlaceを使ったGWT MVP開発

GWT

なかなか頭に入らなかったので図を描いた。 https://cacoo.com/diagrams/nOyKQhP02LcxOV4u 見にくいね…。 参考: http://code.google.com/intl/ja/webtoolkit/doc/trunk/DevGuideMvpActivitiesAndPlaces.html http://d.hatena.ne.jp/soundTrick/20101013/128…

セッションIDの変更

Javaの標準ではPHPのsession_regenerate_id()のような仕組みは無いのかな? コメントより 詰め替えしてinvalidate()するInterfaceを作りました。 Teeda -- HttpSession.invalidate()する際の注意点 - jfluteの日記 ここは手動でやるしかないのかなぁ…。 http…

単純なファクトリクラス

ソース探索していると、こんなクラスがあった。http://www.seasar.org/source/browse/s2container/trunk/seasar2/s2-framework/src/main/java/org/seasar/framework/container/assembler/AutoBindingDefFactory.java?revision=4417&view=markup http://www.s…

SeasarでインターフェースをCreatorの対象にする

プロパティファイルを読み込んでインターフェースを実装したクラスからプロパティ値を受け取るということをやってみた。 インターセプタークラスを作る。 package app.lib; import java.util.Properties; import org.aopalliance.intercept.MethodIntercepto…

SeasarとJavassist その2

Seasarで自動生成されているEnhancedByS2AOPっていうクラスはどこから来てるんだ?と思って探してたら org/seasar/framework/aop/javassist 以下にそれらしきクラス郡があった。 素直にInterfaceをCreatorの対象にして、Interceptorで自動生成されたクラスを…

SeasarとJavassist

Seasarで環境別の設定を切り替えようと思って 設定情報の中でenvキーを使うことによって環境に依存した設定値を扱うことができます. systemConfig.propertiesで以下のように本番環境のJDBC接続情報を定義しているとします. envキーを使って環境名をstaing…