charset="Shift_JIS";なメールを受け取った。メール自体は読めなくはない。5.1-Jr5とあるので、このメーラーはデフォルトでそういう設定になっているのかもしれない。charset=ISO-2022-JPとあるくせに、本文はおもいっきりShift_JISで書いてあるのでWanderlustではぜんぜん読めない。OutlookExpressとあるので、このメーラーはそういう設定が可能であったり、問題なく読めるのであろう。いうか、ちゃんと読めるメールを出したいのなら素直にDQNソフトを使えばいいのにとか思う。読まれずにspamfilterの肥やしになるだけなんだし。(Sun)■Seasarを使ってみる開発途中のプログラムを引き継いだ。メッセージドリブンのプログラムで、ネットワーク経由でやってきた情報から必要な情報を抜き出して、変換やDB挿入を行うというもの。概要はそんなに複雑ではないけども、細かい仕様がいろいろあって実装はちょっと複雑。未実装の機能追加と、例外処理などの制御系を書き直そうとする。制御系については長いメソッドを分割、各処理をステートレスなコントロールとして実装する。各処理の終了状態で次の処理を次々と決定していくモデルで、この手のプログラムではよくやる方法。コード規模は多少大きくなるけども、見通しや拡張性などが向上したように思う。おかげでソースがかなり変わってしまう。今まで、各種設定情報やJDBC接続管理、コントロールの実装クラス名などは自前のコンテナで管理していたけども、今回からSeasarに移行。設定ファイルは書くべきことが少なくて使いやすい。Beanの作成が面倒だけども、SQLを文字列やMessageFormatやPreparedStatementでがりがり書くよりは、圧倒的に楽。SQLを書かずに勝手に検索条件を組み立ててくれたり、insertと書くだけでinsertできるのを目の当たりにして感動する。maxとかの関数はどうしようもないみたいなので(副問い合わせができれば解決?)、そこはS2JDBCを使う。最後にトランザクションの指定を設定ファイルに書く。各処理がクラスとして独立しているので、必要なクラスにトランザクションの指定を書くだけ。ここまでくると、元のコードは跡形もなくなってしまう。一応、元のコードを移しながら作ったので、気持ち的には一から書き直したつもりではないのだけど、元のコードの著者には悪いことをしてしまった。書き直しの前に、時間が無いと思われたのでJUnitで動作確認用テストを書かなかった(処理単体では書いていた)のだけども、やはり仕様の解釈にずれがあったために結合テストでことごとく引っかかる。動作確認テストは書いておけばよかったと思った。今回のケースではS2は相当に役に立った。SQL方面がさっと作れるというところが大きい。各処理をクラス単位に分割していたので、ダイコンの威力を十分に発揮することができた。ログ以外でAOPを有効に使えるのか疑問視していたが、S2の使い方は非常に洗練されていると思う。S2DaoにしろAOPにしろ、S2が裏で何をやっているのか分かっている人がプロジェクトに1人はいないと、実際のプロジェクトへの適用は難しいのではないかという感触をもった。具体的には、ダイコンの設定ファイルの書き方や、AOPのトランザクションの適応範囲やロールバックの条件、S2Daoのアノテーションと自動生成されるSQLとの関係など。それぞれの知識が必要なだけでなく裏で何が行われているかある程度予想できなければ、その書き方で合っているのかどうかの判断や、期待通りに動かないときのトラブルシューティングはできないのではないかと思った。他のところではそうでもないのかな。いっても、S2は強力であることには変わりないので、今後も積極的に使っていこうと思う。アガテナ)実際に自分のシミュレーションで試してみたところ、43%程度の速度向上がみられた。IBM製のJavaの方が依然早い。6.18以前調べたように、おそらく配列などを駆使した数値計算ではIBM製JREの方が速くて、GUIやWebなどの細かいオブジェクトが絶え間なく生成されるような状況ではSun製JREの方が速いらしい。(Sun)盆なのだけど、休みではないっぽい。cygwinハードディスクを入れ替えてから、入っていると思っていたものが入っていないソフトが多数。入れ替え当時は急いでいたので、必要最低限のものだけ入れていたということで。ダウンロードしてそれぞれ入れる。namazuのコンパイルがうまくいかない。libtool付近で止まっている。2004年4月のコンピュータ駄目日記)で修正方法を発見。「\\\\」を削除するとコンパイル成功。インストール後、cygwinのアップデートでperlが更新されたためやり直し。これで探し物が出てきた。■ウイルス警告メール盆のためか、やってくるのはSPAMやウイルスメール。流行の春香メールはうちにはまだ来ない。毎日やってくるウイルスメールの半分くらいは、鯖による自動返事。偽装してることが分かってるんだから、分かっていることを重々承知でFromにウイルスの通知を出すなど嫌がらせでしかない。中にはおもしろい返事を出すものがある。GroupShield。×やXは一応隠したところ。ファイルに置き変えました。Malware.bアドレスを2重に囲ってしまうところや、送信時刻が意味不明なところがおもしろい。「チケット番号が生成されました」とか「実行されたアクション」とかいう部分が、外部に送ってはいけないような雰囲気。これだけでいろいろ想像できてしまう。こんな面白い嫌がらせをしてくるのはどこの会社だと思って、@以下のドメインをnslookupしてみる。普通にWeb鯖がありそうだったので、@以下のドメインにhttp://をつけて普通にブラウザでアクセスしてみる。するとMicrosoftと大きな文字が出てきた。インストールしたままのNT4のIISの初期画面らしい。ちなみに、頭にwwwを付けると立派なサイトが出てきた。某所に通報するような問題ではないようなので、とりあえず何も見なかったことにする。最近近所でもrootkitを入れられた鯖があって、復旧にすごい苦労をしていたので、煙が見えたら近寄らないようにするのがいいみたい。registered.と出るものの、SCSIのリストに追加されない。入っていないかららしい。カーネルを再構築すれば解決するけども、今は安定動作中のカーネルをコンパイルしなおすのはちょっとやりたくない。認識させてみようと試みる。VMWareの設定でUSBを認識できるようにして、繋いでみると以下のような表示。driver.このUSB機器の設定情報が無いので認識する気が無いらしい。読み込まれても認識されない。外付けのusbハードディスクが使えない(@Tubolinuxユーザーズフォーラム)などを見ると、やっぱりカーネルにUSB機器の情報を書かないといけないらしい。取ってきて、Debianでのkernel再構築(source-package版)(@UNIXな生活)を参考に再構築。HDD"のエントリ後ろに以下を追加。),カーネル再構築後リブートして、必要なモジュール(hid,usb-uhci)を読み込ませて繋ぐと何とか認識された。USB1.1経由では非常に遅い。■miniSD携帯電話A5504Tに保存してある写真をパソコンで読ませたい。Bluetoothの適当なプロトコルで転送できれば一番良いのだけども、今のところ東芝にその気は無く、転送できそうなBREWアプリも見当たらない。メール経由という方法もあるけども、大きなデータ(数10KByte)を添付することができなさそう。仕方なく、miniSDメモリカードを読むインタフェースを導入することにする。