Java

Prepare Interceptorの使いどころ

http://struts.apache.org/2.x/docs/prepare-interceptor.html action methodの事前処理としてprepare() methodやprepare{MethodName}() methodを呼べる と言われても今一使い勝手が分からなかったが、 これがinterceptorであり、 interceptorはinterceptor-…

mapが空であることのテスト

Map<K,V> map; // ↑こんなmapが空ですよっての書きたい時 assertThat(map.isEmpty(), is(true)); // こう書くのが一番シンプルだけど // 空じゃなかったときに何が入ってるのか分からなくて不便なので assertThat(map, not(Matchers.<K, V> hasKey(any(K.class)))); // </k,></k,v>…

Velocity用Eclipse plugin・Veloeclipseの導入とStruts2対応

Velocity用Eclipse plugin VelocityのtemplateをEclipseで編集したいので探してみた。 ↓を入れるだけ de.veloeclipse.update ユーザー・ディレクティブ対応 VeloeclipseはHTMLタグやディレクティブの入力補完に対応し、 ブロック・ディレクティブの閉じ漏れを…

Struts2+Velocityでのカスタムタグ拡張の初歩

Struts2のカスタムタグ Struts2では様々なカスタムタグが用意されていて、 しかも、それらはJSP・FreeMarker・Velocityの3つのテンプレートエンジンで使える。 詳しくは、http://struts.apache.org/2.x/docs/tag-developers-guide.htmlらへん参照。 例えばfo…

Maven2俺々リポジトリをhg servで立てる。

前置き やること自体はほぼこれと一緒なので詳細はこっち見てください。 Maven2でテキトウに社内リポジトリを作る方法 - tanamonの日記 違うところ ローカルでてきとーにMercurialリポジトリを作って、そこにMaven2リポジトリのディレクトリ構成に従って、ja…

BP Study#20 Wicket for Beginers

株式会社ビープラウド 発表者はid:t_yano 本体はグラサン巫女で、会場に来ているのは式神(自称) Wicketの特徴 UIをコンポーネントベースで制御 フレームワーク上で作られるプログラムもオブジェクト指向になる オブジェクト指向 データと振る舞いのパッケー…

Effective Java 第2版

Effective Java 第2版 (The Java Series)作者: Joshua Bloch,柴田芳樹出版社/メーカー: ピアソンエデュケーション発売日: 2008/11/27メディア: 単行本(ソフトカバー)購入: 77人 クリック: 936回この商品を含むブログ (264件) を見る第1章の1ページ目にJava…

ソフトな情報隠蔽

インターフェイスには記述されていないけど、実装クラスには存在するpublicメソッド。例えば、あるクラスライブラリで、Factoryを使ってインスタンスを得て、インターフェイスでそれを受け取るケース。インスタンス的にはpublicメソッドを持っていても、イン…

Seasar Conference 2007 Autumn

行ってきたー 以下、聞いてきた話 A1: Seasar を支えるテクノロジー 千葉 滋 准教授 A2: つらいJavaから楽しいJavaへ ひがやすを(id:higayasuo)さん B3: Irenka (Ahikunep) 栗原 傑享(id:masataka_k)さん B4: Mayaa 実践活用 TIPS 須賀 幸次さん

Seasar Conference 2007 Autumn Seasar を支えるテクノロジー

東工大の准教授で、Javassist開発者の千葉 滋 先生のゲスト講演 ReflectionとMetaobject(後のAOPである)の歴史 クラスローダの話 と来て、動的言語vs静的言語の比較→落とし所を提供するGluonJというものの紹介をしていました。 静的言語vs動的言語 静的言語 …

JJUG Cross Community Conference 2007 Fall

行ってきたー。 LTまで聞いた後で、楽天技研のSilverlightのセミナーに梯子した。 丸山先生レクチャーシリーズ 第1回 Googleの分散処理技術 コミュニティパネル 「Webアプリケーション開発の今後を占う」 - 第1部 ポジショントーク コミュニティパネル 「Web…

JJUG Cross Community Conference 2007 Fall コミュニティパネル 「Webアプリケーション開発の今後を占う」 - 第2部 パネルディスカッション

パネルDISカッション Seasar代表のひがやすを(id:higayasuo)さん、Spring Framework代表の鈴木 雄介さん、Ruby on Railsの代表の高井 直人さんの3人が喧々諤々。 モデレータはid:Yoshiori 大まかなテーマ DBアクセス層 ホントにRubyに行くべきか? その他 DB…

JJUG Cross Community Conference 2007 Fall コミュニティパネル 「Webアプリケーション開発の今後を占う」 - 第1部 ポジショントーク

Seasar代表のひがやすを(id:higayasuo)さん、Spring Framework代表の鈴木 雄介さん、Ruby on Railsの代表の高井 直人さんの3人が、 各フレームワークについてのお話をしました。 Seasar2 ×生産性はフレームワークに紐付く ○生産性は開発者自身に紐付く よっ…

Url Rewrite Filter その9 URLパラメタの置換

あるURLパラメタが特定の条件を満たしたときに、そのパラメタを書き換えて、 書き換えた後のパラメタを持つURLにリダイレクトさせてやるとします。 例えば、検索キーワードが半角カナを含む場合に、半角カナの部分を全て全角カナに置換してやるとかです。 そ…

第一回チキチキ そろそろ Wicket について一言いっとくか

http://java-ja.yoshiori.org/index.php?%E7%AC%AC%E4%B8%89%E5%9B%9E行ってきました。 以前、JavaWorldの記事で存在を知って、 コンポーネント指向好きだったこともあって気にはかけていたのですが、 勉強会に行ったのは初めてです。 個人的にはデザイナに…

http://nurucom-archives.hp.infoseek.co.jp/digital/escape-codec-library.htmlってMacOS(9・X両方)版IEだと使えないので結局どうするか追記

よく考えたら、Url Rewrite Filterでできるんじゃないか? condition要素の例に↓こんなのあるし。 <condition name="user-agent" operator="notequal">Mozilla/[1-4]</condition> 問題は自前Filterの時にやったような処理の握り潰しが、 run要素で呼び出すメソッドで書けるかどうかかな。 駄目なら、空のjsファイルにforwar…

http://nurucom-archives.hp.infoseek.co.jp/digital/escape-codec-library.htmlってMacOS(9・X両方)版IEだと使えないので結局どうするか

【インフォシーク】Infoseek : 楽天が運営するポータルサイトってMacOS(9・X両方)版IEだと使えないのね - 文殊堂の続き そのままだと、動かないじゃなくて、とても変な風に動くのでとても困る。 じゃあ、UAがMacOS版IEだったらecl.jsと ecl.jsを使用するjs…

Url Rewrite Filterは便利だなあ、と

webで提供しているサービスの移行のときに、 新旧サービスの差異を吸収してやるruleが割と簡単に書ける。 慣れるまでには結構時間がかかったけど、 いったんある程度形を作ってからなら、 似たようなルールの記述は本当に簡単。 なので、事前に洗い出せてな…

Url Rewrite Filter その8 ruleの並べ方試案

ruleとoutbound-ruleの順番はどうでもいいし、それぞれ交互になっても良い ruleとoutbound-ruleは実行される箇所が違い、競合しないため。 typeがリダイレクトの類のto要素を持つruleは優先度の高いものから順に書いていく ruleのurlパターンにもconditionに…

IBM developerWorks JavaOne 2007: Sun が再びクライアントに力を入れ始めています

IBM Developer 日本語版 : 大変申し訳ありません。このページは無効です。 JavaOneのまとめ。とりあえず、 有能な Flash のプロが完成するのに 3 時間を要するアプレットは、Java 言語で同じものを作ろうとしたら 3 週間はかかるはずです。このギャップを Ja…

Url Rewrite Filterについて言及しているblog

マイコミジャーナルの記事に言及してるんじゃなくて、 実際に使ってみて書いてるblogを見つけますた。 新・たけぞう瀕死の日記 追記 これ、マイコミジャーナルの記事を執筆した人のブログでした。

Url Rewrite Filter その7 実は結構重くない?

web.xmlの設定からUrl Rewrite Filter自体を外した時との比較で、 outbound-ruleとruleが両方記述されている場合は2,3割CPU使用率が上がってる感じ。 outbound-ruleのみの場合は両方記述されている場合とほぼ同じ、 ruleのみの場合はほとんどCPU使用率が上が…

Url Rewrite Filter その6 なんかキモイ現象

<rule> <condition type="parameter" name="hoge" operator="equal">HOGE</condition> <from>.*/hogehoge\?.*</from> <run class="Fugafuga" method="doSomeMethod" /> <set name="rewrited_hoge">HO</set> </rule> <rule> </rule>

Url Rewrite Filter その5 outbound-rule要素について

外向けのURLを書き換える際のルールを記述する要素で、 HttpServletResponseのencodeURLメソッドが実行されるタイミングで、 ルールが適用されるくらいにしか把握していませんでしたが、 具体的には↓こんな感じみたいです。 下準備 UrlRewriteFilterがフィル…

Url Rewrite Filter その4 run要素を使うときはjarをshared/libに置いちゃダメ

Url Rewrite Filterにはrun要素というのがあって、 <rule> <from>^/world/[a-z]+/[a-z]+$</from> <run class="com.blah.web.WorldServlet" method="doGet" /> <to>/world-presentation.jsp</to> </rule> こんな感じで記述してやると、指定したクラスの指定したメソッド*1を実行できますが、 これを使う場合はUrl Rewrite Filterのjarをshared/libに置いて…

JavaSE7

多プログラミング言語対応 JavaSE6の時点でJVM上で他プログラミング言語を動作させる仕組(JSR 223)自体は持っていたが、サポートする言語が増えた。 JVMレベルで動的な型をサポートする仕組みを追加予定(JSR 292(マイコミ記事)) 動的型付をしている言語の動…

JavaWorld DAY2007 JA-1 「Java SE 7でJava仕様はどう変わる?」

JavaWorld DAY2007で私が一番気になっていたセッション。 講演者はJava in the BoxとかITProのJava技術最前線を書いてる、横河電機株式会社の櫻庭祐一 氏。 http://journal.mycom.co.jp/index.html等でチェック済みの話もあるけど、せっかくだからまとめてお…

リポート&講演資料(2007/08/24追加)

公式サイトにてレポートと講演資料が公開されています。 http://www.idg.co.jp/expo/jwday/2007/report/ http://www.idg.co.jp/expo/jwday/2007/dl/

Url Rewrite Filter その3

cookieオフ時のjsessionid削除でけた。 <outbound-rule encodefirst="true"> <from>(.*);jsessionid=[0-9A-Fa-f]{32}(.*)</from> <to>$1$2</to> </outbound-rule>encodefirst="true"が重要で、ルール適用前にencodeURL()を実行するという意味らしいんだけど。 詳しいところは後で調べて書きます。 後、セッションIDの文字数が32文字決…

Url Rewrite Filter その2

うぇ、outbound-ruleでの表示用URL書き換えが、JSTLのc:urlでうまく使えないっす。 どうやら、outbound-ruleの動作ってのは、response.encodeURLを実行した際に 以下のようになるようにするというものらしいです。 to要素で設定した変換後URL= response.enco…