Abstract Bits : Dynamic Classpaths

http://abstractbits.blogspot.com/2009/08/dynamic-classpaths.html

バッチプログラムみたいな,JavaSEのプログラムを起動させるためにシェル組んでクラスパス設定するのメンドイでしょ,だからJavaプログラム内でダイナミックにクラスパス設定したみたよってな話。


ProtectionDomainCodeSourceって相当昔からあったAPIなのに,今まで知らんかった。


それはさておき。本来protectedなURLClassLoader#addURL()を使ってシステムクラスローダにゴリっとクラスパスを追加するのは,ちょっと気が引けるわな。
あと,追加ライブラリのJarファイルをどこに格納させるかで,またやりようも変わってくる。例えば,本体をJarファイルにしていると先のCodeSourceから得られるURLってJarファイルそのものになる。さらに,そのJarファイル中にWARファイルみたく依存ライブラリを放り込んでおくと,動的にJarファイル探索するのも(java.io.Fileと比べて)ちょと面倒。


とかとか思うと,自前はやめてclassworldsあたりを頼った方がいいかな思う。
...そんな面倒しなくても依存ライブラリごといっぺんClassファイルにばらして,ひとつのJarファイルに再アーカイブしてしまえって話もあるわな。:-P

テストを分類する

http://www.infoq.com/jp/news/2009/08/categorizing-tests

「単体」がナニモノを指すのか分からんけど「単体テストが〜!」「結合テストが〜!」言える人がうらやましいと思いつつも,自分も自分でテストについて一家言持てるようにならんとイカンなと思うのであった。

Scalaスケーラブルプログラミング

買ったった。紙が薄いので本の厚さのわりにページ数あるし,紙面も余白が少ないのでむちゃくちゃ情報量多いって印象。まだ全然読めてないけど,あたらしい言語を覚えるのは楽しいのう。


実のところ,Groovy/Grailsで結構満足しているんだけど,そこはそれ,動的言語と静的言語の使い分けつうか,ちょいとScalaに期する所もあるので,そこいらへんの感触がつかめるといいな。
なにより,これでようやっとIntelliJScalaプラグインの威力が試せるというもの。:-)

Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)

Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)