2008年7月31日木曜日

イントラ用語集#4

http://domain.name/context/servlet/path/info.ext

とURLが存在する時にRESTのアプリケーションを特定するルールを

springのbean idにそのまま割り当てて

Application application = (Application) ApplicationContext.getBean("path");

で取得することにしました。
"path"以降のPATH_INFOはそのままApplicationの引数に利用するので、
その仕様はApplication次第。
Applicationは以前のネタでHttpメソッドのHEADとexist()メソッドをマッピングさせようと思っていましたが
実装していったら、GETとHEADのレスポンスHTTPヘッダーは同じじゃないといけないみたいなので
参考になるのを探していたら、結局HTTPServlet#serviceメソッドと同じような実装になってしまいました。

でもServletAPIをラップしてコンテナ依存を実装では回避してテストしやすくなったかな?
JettyServletTesterがあるからコンテナ依存でもテストしやすくなったんだけど・・・

2008年7月28日月曜日

jetty on windows with p6psy

eclipse@windows, derbyで開発していたのですが、jetty6.1.7 をプラグイン経由で起動した時に
p6spyを利用すると"java.sql.SQLException: No suitable driver"が発生してしまう。

Derbyorg.apache.derby.jdbc.EmbeddedDriverに変更すれば問題なくDBアクセスもできるので
p6spyと相性がよくないみたい?

fedora8では問題ないみたい。
継続調査と。

2008年7月27日日曜日

eclipse@fedora8

fedora8でeclipse(ganymede)を利用しているのですが、今日のfedora のセキュリティーアップデート
を行ってから「BugBuddy」が登場して起動出来なくなってしまった…

コマンドラインから起動すると、

eclipse: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' が失敗しました

ってことみたい。

でもBugBuddyのダイアログを表示させたままならeclipseを利用できるようなのでなんとか
なったけど、何のアップデート入ってたかなー。忘れた…

ウロウロしてたら
LIBXCB_ALLOW_SLOPPY_LOCK=1
を設定することで回避できることがわかりました。

2008年7月23日水曜日

イントラ用語集#3

クールなURIは諸説イロイロあるみたいですが、用語集として扱う場合には
やっぱりwikipediaを参考にして

http://hogepedia/word/ブログ

見たいな感じがいいですね。

ここで拡張子を意識してURIを考えて、おおよその場合はHTMLで参照されることも考慮して
未指定の場合はHTMLとみなします。feedが欲しかったら

http://hogepedia/word/ブログ.atom

こんな感じでしょうか。
URIには不透明性が大事とも言われてますが、MUSTでもなさそうなので気にしないで
いきます。
たぶん、プログラムではURIをコテコテに組み立てるのは愚作だとは思いますが、
ユーザーがアドレスバーにキーワードを想定して入力するのは(想定できる事は)
便利なことではないかと思いますし。

IEではアドレスバーにはURLエンコードされないまま表示されていましたが、
firefox3でも同じように表示されるようになったため、メールなどにリンクを
貼り付ける場合には便利になりそうです。

蛇足ですが、firefox3 win版の場合はアドレスバーに「about:config」と入力して
「network.standard-url.encode-utf8」の値を"true"にしておいたほうがよさそうですね。

2008年7月22日火曜日

eclipse property editor

eclipse 3.4(ganymede)を利用していてプラグインのUPDATE通知が出来るようになって
property editor 5.0に更新されている通知がさっそく来たので
適応してみた所、ClassNotFoundが発生して使えなくなってしまった…

revertを実施しても戻らず、以前のバージョンを探しても見当たらず。
失敗した…

というか、上記は私が間違ってました。
インストールの際に表示される「インストール元の確認」(?)の
ダイアログが表示された際にチェックを入れるのを忘れてました…

一体なんだったんだ… 7days