いつもより少しだけ早めに目がさめる。 多少調子はよいが念のため薬を一錠飲ンでおく。
駅に早めに着いたが、 定期券が切れているのを忘れていた。 結構ショック。 何か順調にすすみだしたかと思うと何かにつまづく。 一日以内に幸福の量の均衡をはかろうとしているかのようである。 あたしゃまだつかい果たすほど運をつかっていないぞ。 もしかして絶対的な量が足りない?
やはり mysql
を Telnet 経由でつかいたかったので、
マニュアルの dvi をつくるために先週ダウンロードしたソースパッケージを
Cygwin でコンパイルすることにした。
$ ./configure --without-server --without-bench \ --with-charset=sjis --with-extra-charsets=complex $ make Makefile $ make $ make test $ make install
とくにエラーもなくさくっと終了してしまった。 ちょっとつまらン。
mysql
は起動時にホスト名を与えないと
Unix ソケットで接続しようとするのがあれだがまあいいや。
今日は帰りがちと遅くなってしまった。 何やら列車に酔っ払いらしき集団が多い。 月曜日からうらやましい限りである。 この国が不況だとは思えない。
今日も早く目がさめた。 定期券を買わねばならないので、少し早めに家を出る。 が、ひとつ前の駅との間で人身事故があったらしく、 ダイヤが乱れている。 去年から人身事故が多くなったような気がする。 不景気から来る自殺とかなンかだろうか。
Web サイト構築フレームワークで遊ぶ。 というより遊ばれる。 サーブレットベースのフレームワークだ。 評価用に特別にお借りしているのでとくに名前を匿む。 フリーのものでは Struts が有名。 Struts もそのうち調査しなければと思い、 資料とか集めているがスタックに押し込ンだままにしている。
で、今つかっているフレームワークは結構機能が多い。 ちょっとしたデモにつかうには役不足の感じ。 しかし、画面遷移情報や画面構成情報の設定ファイルを Servlet コンテナの JVM の起動パラメータで設定するっていうやり方ってどうなンだ? これでは Servlet コンテナひとつに対して Web アプリケーションひとつってこと? うーむ、何か別の指定方法があると思うのだが。 サンプルをみると、 実際の Web アプリケーションのインストール場所とは 別の位置にいろいろな設定ファイルを置くようになっている。 しかもフルパス指定で位置を指定するようになっている。 これってアプリケーションを deploy するときなンだか設定が面倒だ。 このあたりはもう少し調べてみる必要があるな。
なかなか設定の仕方がわからず、久しぶりに終電で帰る。 さすがに終電は酔っ払いが多い。
昨夜遅かったせいか、 さすがに朝起きられず。
今日は先週作った、というか作らせた Applet のリファクタリングをする。
まずは、データベースのデータが 10 レコードしかない。 木曜日にデモをしなければならないので追加しなければなるまい。 ある程度現実的なデータにしなければならないので、 ID などは乱数で発生させることにした。 またデータとして、 プログラムのソースファイルのチェックサムの値を登録しなければならない。 が、テストデータとして作ってもらったファイルの中を見たら、 たった一行「aaaaa」とか「1234」とかしか書いていない。 これじゃ現実的なテストにならない。 こういうことをやっていると、 実際に使ってみたら使い物にならないような速度だったなンてことになりかねない。 それでも動けばまだしもシステムがダウンしちまうってことだってある。 しかし全面的みなおしなンてことになったら目も当てらないことになるだろう。 仕方がないので JDK についてくるサンプルのソースコードを使うことにした。 しかしこれらも全部で 183 ファイル、 1 ファイルの行数が 1000 行以内なのでまだまだ物足りない。 そのうち GNU Emacs のソースでも食わしてみるか。
データを作成するのに、ちょいと酔狂で Java で作ってみる。
乱数でデータを生成して、その値を元に INSERT
SQL コマンドを出力するってもの。
このデータで実行してみたら 100 回のクエリーを処理するのに 1 分近くかかる。 1 クエリーあたり 0.6 秒。 これではとてもじゃないが遅すぎる。 せめて 0.1 秒をきらないと使い物にならない。
検索処理まわりをみなおしてみると、
文字列の連結を
演算子で行っているところがある。
これは +
StringBuffer#append ()
におきかえる。
文字列の
演算子は何回も繰り返すとひどく遅くなる。
これは +
が
s += t;
に展開されるためだ。
s = new StringBuffer ().append (s).append (t).toString ();
StringBuffer
と String
オブジェクトが一時的に生成されている。
オブジェクトの生成はコストが高い。
これを何度も繰り返すとバカにならない。
しかもループの中で連結しているので、
ループ中で不変な部分はループの外に出した。
よくみたらデータベースを検索する SELECT
クエリーを作成している部分なので、
全部ループの外に出して PrepareStatement
に変更。
多少は改善がみられたが、それでも満足のいく結果ではない。 しかし何回か繰り返しているうちに、数秒で検索が終わったりする。 どうも腑に落ちない。
あやうく終電に間に合わなくなりそうになったので、駅まで走る。 久しぶりに走った。思ったより体力は落ちていないようだ。 今日も今日とで列車に酔っ払いが多い。
先日 Cygwin 1.3.10-1 をインストールしたら Vim もバージョンアップされたらしく、
メッセージが化けるようになってしまった。
なのでソースをダウンロードして Shift_JIS に変換することにした。
とおもったら、ソースの中にすでに Shift_JIS のメッセージファイルがあった。
だったらバイナリパッケージも Sfit_JIS なってたらいいのに。
Vim のメッセージファイルは gettext
パッケージの msgfmt
をつかって、
バイナリイメージに変換する。
変換したファイルは /usr/share/vim/vimVER/lang/ja/LC_MESSAGES/vim.po
にコピーする。
さて昨日の続きで、データベースの設定とかを見てみたら、 テーブルに主キーが設定されていないことがわかった。 これでは検索パフォーマンスが最悪だ。 インデックスやデータ型をもっと効率よく設計しなおさなければならない。
いっそのこと、
テーブルの作成やテストデータの格納をプログラムでやってしまえとツールを作り出す。
テーブルの定義はテキストファイルで定義しておいて、
それを読みこんで SQL に変化してデータベースに送るプログラム。
定義ファイルを読みこむのに StreamTokenizer
クラスを使うことにした。
しかしこのクラスもつかい方がよくわからない。
あまりこだわらなければそこそこつかえるのだが、
ちょっと特別なつかい方をしようとすると何をどうしたらよいかわからなくなる。
あやうく終電に間に合わなくなりそうになる。 今日も今日とで列車に酔っ払いが多い。 いいご身分だ。
今日は座席移動があった。 久しぶりの力仕事。というほどのものではなかったけれど。 それでも机上整理とか配線をやり直したりとかで午後一杯かかる。
Java のコーディングレベルにおけるパフォーマンスについて、 実際にはかって数値を出してみた。 今のところは
くらいだけど。 少しずつ増やしていく予定。
今日も終電。 さすがにいつもより酔っ払いが多い。 しかも怒鳴りまわしてけんかうってるやつとか。 あーいうのは暴力沙汰になる前に乗務員がさっさとおろせ。
駅から帰る道すがら、道端で眠り込んでいるやつがいた。 よほどいい酒を呑んで気分がいいのだろう、気持ちよさそうな顔をして寝ていた。 しかし暖かくなったとはいえまだまだ地べたの上じゃ底冷えがするだろうに。
少し遅く起き出してネットを散策。 Java のパフォーマンス関連の情報はないかと検索してみたが、 Web 上には少ない模様。 Sun のサイトにはいくつか。 これはあとでじっくりと読むことにしよう。 あとは書籍で 2 冊くらいそれ関連のものが出ていた。 Amazon で発注しておく。 ついでにレインボーマンの DVD が出ていたという話をどこかの Web サイトで見た気がするので、 検索してみるとありました。全 4 巻出ている模様。 しかし 1 巻 15000 円くらいする。 ちょっと躊躇してしまうな。 でもすぐに廃盤になってしまいそうな気もするし。 思案のしどころである。 ふと思い出してモンティパイソン・ホリー・アンド・グレイルを検索してみたら、 なんと 3 月末に発売になっていた。 これはたしか昨年 9 月に出るはずだったものだ。 とうとう出たか。 で、これは早速注文した。
ほかにアラミスのアフターシェーブローションを検索してみたが、 扱っているところが少ない。 あっても残念ながら在庫なし・入荷未定とあるばかり。 ようやくみつけたのはアラミスはアラミスでも、 タスカニー・ペル・ウォモのアフターシェーブローションだった。 背に腹はかえられないので注文してみる。 タスカニー・ペル・ウォモのシリーズはまだつかったことがないのでちょっと香とか心配。 今つかっているオードトワレとあうのか。 なのでオードトワレの方も注文しておく。
で 1 時間もしないうちに確認メールがあった。 なんでも注文したオードトワレの 50ml が直前で在庫切れになったとか。 仕方がないので 100ml の方にかえてもらう。
それ以外にも 900 の洗顔石鹸とか扱ってるところはないかとしつこく検索してみたところ、 デパートの情報サイトがヒットした。 銀座松坂屋とか三越、新宿伊勢丹、などでアラミスを取り扱っている模様。 900 やラボシリーズがおいてあるかどうかの詳細はわからなかったが。 来週あたり足を伸ばして有楽町にでも映画を観にいくついでに冷やかしてみようかね。
今日は朝から瀟瀟。 街道の桜並木、花わずかである。
散っちゃったね。
・・・。
桜。
あっという間。
咲くのも散るのも。 ・・・嫌い?
え?
桜。花とかって興味なし?
・・・いや。好きだね、むしろ。 きれいなものは何でも。 桜も。 それに君も。
あたしは好きじゃないな。
・・・。
桜っていうか、桜の下に集まる人が嫌い。 花見だっていってよっぱらって醜態をさらす人が嫌い。
あれは凶器だよ、満開の桜は。 平常心じゃいられなくなる。 あっという間に咲いてあっという間に散る。 それがなんていうかな、 まるで自分の人生を見ているようで気がせくというか。 バラはとげで怪我するけど、桜は精神に傷がつきそうだ。
人生の花なんて咲かせたんだ。
そうじゃなくてさ。花なんか咲いてないけどさ。 咲かずに散っていくんじゃないかってこと。 そんなあげあしとるようなこといってると嫌われるぜ。
いわゆる無常とか諦念とかそういうこと。
それもある。 それもあるけど、 散ったあとには若葉がいっせいに噴出すだろう。 葉を出すために花が散るというか。 それはまた再生の象徴ってかんじでさ、 それで俺も今年こそはって思うわけ。
なんかさっきから矛盾してない。
そうかなあ。
だいたい葉っぱがなんか出たら毛虫が落ちてくるじゃない。 やっぱり桜なんて大嫌い。