java
以下は apache1.3系、mod_jk2、Tomcat4.1.31での話。 getRequestURL()とかを呼ぶと http://hoge.somehost.dn.jxx/context/hoge.jsp とか帰ってくるけど、このホスト名の生成に関しては GET /context/hoge.jsp HTTP/1.1 Host: hoge.somehost.dn.jxx というよ…
ehCacheとOSCacheの違いを備忘録 キャッシュエントリのキーがehCacheではSerializableに対して OSCacheではString固定…に見える いずれにせよこの手のライブラリを使おうとしたらキーはシリアライズできないとダメだ、ということだな。もしくは…「使用すると…
キャッシュマネージメントについては、自分で作るのもバカらしいので以下のものを候補に上げておき、実装レイヤを分離できるようにするのがよさげだ。 ehCache OScache とりあえずehCacheで作ってみよう。この手のキャッシュフレームワーク?ライブラリ?は設…
CallCacheInterceptorというものを実装してみているところ。 これは、あるインスタンスのあるメソッドにある引数リストで呼び出したときに、その結果をキャッシュして次回以降は実際には呼び出さずにキャッシュした戻り値を返却する、というもの。二次キャッ…
ということで早速ダウンロードして使ってみました。3.1M6aから、F2でjavadocを閲覧した時に tableタグその他のHTMLタグがレンダリングされて、非常によろしくなったのですが、反面ソース上の日本語が表示化けしたり謎の事象に見まわれ導入を見送っていました…
CruiseControlのWebインタフェースを使っていると、日本語がとにかく化ける。これは、UTF-8なXML を XSL で HTMLに変換するとき、xsl:outputでencodingを指定していないせいで、htmlもutf-8になっているのに、そのファイルをストリームに流し込むときに''Fil…
今日の今日まで知らなかったことを恥じるのですが、 Javaがfgで動作中に Ctrl+[\] (Linuxもしくは telnetとかでlinuxに入ってるとき) Windowsだと Ctrl+Break それ以外にも # kill -3 javaのpid で、全スレッドの現在のスタックトレースを出力できるのですね…
昨日の続き。 あの方法の場合、端末ごと、など条件ごとにファイルを分けるような使い方になるが、変更に対するトレースが重要になってくる(メンテしたけどPCの画面しか変わってないなんてことが起こる)ので、場合によって選ぶしかないのかな。ただ、デザイナ…
Strutsを使ったシステムで、Actionのオブジェクトは各種処理を実施したあと、遷移先の画面を決定することになる。Actionは遷移先を通知する手段としてActionMapping#findForward(String)を使う。 この仕掛けのおかげでクラスの責務の分離が取れているように…
いつも使ってるsetCharacterEncoding()が効かない!日本語が化ける!と思ってたら、手元の試験用Tomcatが4.1.29だった。このバージョンはServlet Specにマジメに準拠した "GETのURIは適用外"のやつなんだよね。4.1.30から元に戻ったのでしたっけ。ひょっとし…
なかなか面白そう。別に両者に関係があるというわけではないが。 jSynのほうはASIOも対応してるらしい。CのライブラリをJNIで叩いてるからか。 jMusicのほうはフレームワークとしては目的からすると重いけど、アルゴリズミック音楽へのアプローチが面白い。…
Oracle JDBC(thin)で。普通に問い合わせしてると…なんかいきなり"SDU mismatch"とかいうSQLExceptionが発生することがある。謎が多い。 調べてみると結構遭遇している人は多いようなのだけども、これだ!という確実さがない。いろんなケースで起こるのか? 他…
ど、どうやって使うのかすらわからん。。。。featureのリストにも出て来ないしなんかインストールミスってるっぽいのかな。 JEMとかXSDは追加でいれてみたんだけど。contributorに lombozのとこがはいってるのでlombozとダブってると実はわからんのだろうか…
GroovySqlはなかなかいいヤツです。例えばこんなかんじ url = 'jdbc:oracle:thin:@hogefuga:1521:sid' driver = 'oracle.jdbc.driver.OracleDriver' user = 'scott' password = 'tiger' sql = Sql.newInstance( url, user, password, driver ) sql.eachRow("…
mix-in的なものの言語サポート、やっぱり欲しいよなあ。 一番シンプルなケースだと、extends TestCaseな、ちょっとした機能が追加されたテストケースクラスっていっぱいある(GroovyTestCase, djUnitのTestCase(VMO対応), S2TestCase, jMockの...etc)んだけど…
3.0.1にしたら、antの補完が復活した。どういうわけか Ctrl+Spaceでうんともすんともだったんだよね。なんかbugfixらしいけど…良かった良かった。なんか3.0.0の動作が不穏、という人は3.0.1にしましょう。ちなみにうちはplugins/とかfeatures/とかオラオラ上…
今日後輩のソースコード見ながらあれこれいじってたら(ペアプロとよべるような代物ではないけど)、「おっなんすか その機能??」という指摘?質問?を受けたので、意外と知られていないのかと思い、はてなプッシュ。まず while (condition) { if (con != null) …
JDK1.3までのURLEncoder#encode()は引数1つを取る。 JDK1.4からは引数2つを取る。2つ目の引数はenctypeを指定する。これは考えてみれば当たり前のことで、URLエンコードにJavaの内部形式であるStringを渡して、出力されてくるものはバイト列のエンコード表…
読みましたよ 上原さん。Nanowebの紹介が入るかと期待しましたがなしで残念!!! Groovyの利用用途としてscript-enabledなアプリケーション(plugin,hotspot)がかなり魅力的だと思うのですがとっつきにくいっすかね?? beta-5,beta-6あたりでSecurityManage…
http://blogs.sun.com/roller/resources/watt/jvm-options-list.html 圧巻です。使いこなしたらすごいのか、はたまた -server オプションを超えるお手軽存在はないのか??興味はあるけれども〜
パッケージエクスプローラを見ると、やたらと"jar"が散らばってて困っている人へ。 PackageExplorerの「▼」でメニューを出す Filters...を選択 上のName Filter Patternにチェックを入れる Filter条件のところに "*.jar" とか入れる これでちょっとスッキリ…
が、JSPでクラス名の補完やチェックが行われず、XMLエディタでもDTDを読み込んで補完してくれるわけでもなく、バリデーションをしてくれるわけでもなく、実はちょっぴり期待していたXMLファイル中でのクラス名の補完入力もできなかった。 とりあえずハイライ…
Flow4Jを試してみた。なかなか面白い。なんというか簡潔で、出来ること、多様性はそれほど提供されていないが、シンプルに使えるという印象。 ちょっとフレームワークに依存した作りを要求されるような気がするが、TaskFlowletをインプリメントすればいいわ…
J2SE1.5(5というべきか)のクラスのバージョンは48.0。jadは47.0までしかサポートしていない。 で、やろうとするとエラーが出る。うーん、そりゃ当たり前なんですが、new featureを使っていないclassの場合とかもあるし。 しかも、.jadが造られる場合と造られ…
Project Amateras/IP-Messenger実装を使って、Groovyからワンショット?メッセージを送信してみた。 import tk.ipmsg.*; class Messenger extends tk.ipmsg.IPMessenger { public Messenger() { super("hogefuga", "hogefuga", "TEST", true); } public void …
、というのを思いついた。きっとすでに考えている人もいるに違いない?? いるかな。手元にはまだOracle8iしかない。10gとかを試す環境もない。のでまだ試していない*1。8iの知識を元に話すと、loadjavaを使ってGroovyおよびそのdepsを全てライブラリロードす…
Velocity1.4にて確認。 Velocityはlog4jがあっても自分のcategory,appender,layoutで出してくるのでそのままでは使いにくいですが、以下の方法でマージというか、取り込むことができます。 まずは、velocity.propertiesに以下の行を追加 runtime.log.logsyst…
p6spyでSQLデバッグをしてみてるのだが、resultsetとかいうcategoryがいつも出てきてうざい… excludecategories=result,statement,resultset とかしてみてもダメ。どうしてもresultsetだけ出てくる。ソース見てみるか…結果。 やっぱりそうですか。私も調べて…
もう少しお気に入りの自作テンプレートを紹介しておきまっす。 Iterator ${iterator} = ${collection}.iterator(); while (${iterator}.hasNext()) { ${Object} ${element} = (${Object}) ${iterator}.next(); ${cursor} } これが「いかにラクチンか」を説明…
codehausにホスティングされているNanoContainer関係のコンポーネント?ファミリ?のnanoweb(今はnanowarにマージされてるの?)を試してみた。pserverが使えない環境からのアクセスなので distサーバからSNAPSHOTを拾ってきて動作させる。サンプルも置かれてい…