雑記帳 2006年 3月第5週

2006/03/26 Sun.

何が不便かって、食事が不便だ。両親が約一週間ほど家を空けるのは構わないが、何かとメンドくなることもあるんだよな。
風呂に関しては、湯船を洗うのがメンドいならシャワーで済ませられる。流しに関しても、食器は使わなきゃ洗う必要がない。
肝心の食事については、腹が減ろうがどうだろうが放置しておけばいいというワケにはいかない。一週間食わなきゃ死ぬ。
で、昼飯が無かった場合の常套手段ということで「ラーメンショップ西海」。高菜の赤麺と明太子おにぎりで630円で済ます。
ラーメン食いに行ったのが16時くらいってことで、極端な話夕食は抜いてもいいが、明日の朝が慌しいと食う暇無さそう。
とりあえず明日の朝食を調達しに、ラーメン屋からの帰りがてらにコンビニに寄って買っておく。結局コンビニのメシか。
何やって過ごしてたか忘れたけど、23時くらいに腹が減ってきたので冷凍庫のうどんを食うことに。んで風呂入って寝る。
風呂入ってから寝るまでの間に何故か3時間くらいの空きがあるんだけど、何やってたんだっけかな。MP3の整理だったっけ。

2006/03/27 Mon.

200倍の速度の向上を見せた性能改善の試験環境リリース。もちろん何事も無く終了。性能検査の調査結果も完璧だ。

で、いつも通りにコメント機能の開発。あ?仕事?明日にできるものは明日にやればいいって誰かが言ってました。
ようやくログファイル読み出しのCGIも完成、Javascriptでの画面制御も問題無しと。あとはコメント投稿機能だな。
投稿時に指定した削除キーで投稿者による削除を可能にするかどうするか悩む。「エキサイト:ブログ」は削除機能あり。
ここのは優秀だから、可能な限り機能は引き継ぎたいんだけど、ぶっちゃけメンドい。これはどうしたもんかね。
とりあえず削除キーつけてコメント投稿できるようにしておいて、削除機能は後から開発すればいいか。放置しそうだけど。
つーか、できれば4月1日にはコメント機能をつけた状態にしたいな。年度が変わるってこともあるし。関係ねーか。

2006/03/28 Tue.

きたきたきたきたきたぁぁぁ!コメント機能の実装が完成した!これで今までとは一味違ったアクセントが入るはず!
コメント数のカウントも実装、コメントを書き込むと自動的にコメント数の表記がカウントアップされるようにしてみた。
何というか、Javascriptがこんなに役に立つものだとは思ってもいなかった。今回の開発では類を見ないほど大活躍だ。
最初はコメント数のカウントはどうするか悩んだけど、そんなに重くないCGIだし複数回呼び出しても問題無いだろう。
HTMLが表示された直後ではコメント数が表示されないのはしょうがない。ページ全体がCGIなら同時に表示できるけどさ。
デフォルトの表示をどうするか考えたけど、とりあえず0を表示とした。CGI呼び出し失敗時でも数値を出しておきたい。
手法としては、<IFRAME>の中に最初からコメント数をカウントするCGIをロードしておいて、innerHTMLを書き換えてる。
コメントを投稿した後にも<IFRAME>の中にコメント数カウントCGIを呼び出して、コメント領域と同時に書き換える。
投稿時のエラー制御としては、Javascriptでアラートを表示するという方法に落ち着いた。無難な選択だとは思うが。
名前に関しては、管理者名(ここではjunmix)を入れて投稿しようとするとエラーという、「junmix BBS」と同形式。
実際に影響が何も無くても、管理者の名前を詐称されるというのは気分悪い。投稿には専用パスワードが必要です。

あぁ、そうそう仕事しないとね。性能改善結果の追加調査依頼がありました。これだけ速くなってまだ疑ってんのか。
とりあえず試験ケースを大量に用意するんだけど、作成スクリプトをサーバーで実行するのが非常に時間かかる。
おかげで、試験に移る前の段階だけで数時間を費やすハメに。もう少しサーバーの性能を上げるってのは無理っすか?

2006/03/29 Wed.

あれだけ詳細な性能改善調査の結果を提出したにもかかわらず、どうやらまだ不満があったらしい。何を書けというのだ。
画像を使わないExcelのファイルでファイルサイズが10MBもいくようなのは初めて作ったぞ。開くだけで重くなるっての。
こうなったら、調査パターンを総当たりでやるか。どれだけ時間かかるかわからん。試験データ作るだけでも数時間かかる。
しかも、大量のデータを流している最中に限って例の原因不明のPC落ちが起きる。おかげで今日は酷い目に遭ったぞ。

自サイト用に使ってる「junmix BBS」は、URLの書き込みがあると自動的にリンク化してるけど、実は以前からバグがある。
普通にURLを書くとリンクが赤くなるけど、自分のサイトのURLを書くとリンクを青くしている。バグがあるのは後者の方。
正規表現をもっと勉強すればいいんだろうけど、なかなかややこしいモノで簡単にはいかない。直す方法あるんかな。
ちなみにこのバグは2年以上前からあったモノ。何で今さらこの話が出てくるかって言うと、例のコメント機能に関連する。
コメントを投稿する時にURLが含まれていればリンクを貼るけど、ここでも自分のサイトのURLを書くとリンクを青くしている。
ぱっと見ただけだと何がおかしいのかわからないけど、リンクが貼られたURLの部分のHTMLソースを見るとバレてしまう。
自サイト内へのリンクにだけ<A>タグが二重になって使われていて、これじゃHTMLの構文としては明らかに異常だ。
そんなワケで、バグがある機能を使いまわししているワケです。納得いかないんだけど、直し方も検討がつかない状態。

2006/03/30 Thu.

今日中にできるか不安だったけど、コメントの削除機能の実装が完了した。思った通りの設計で動いて助かったな。
削除するコメントを指定する時はラジオボタンでも使おうとか思ってたけど、見た目が激しく悪くなるから却下だ。
エキサイト:ブログ」と似たような感じで、投稿時の情報を表示してる右端に「x」という文字を置いてリンクにしておいた。
クリックすると別ウィンドウが開いて、そこで削除キーを入力するという方式。他にまともな案が浮かばなかったし。
削除キーが正しければ、削除キーの入力ウィンドウを消してコメントからログを削除、その後にまた読み出して再表示。
誤った削除キーが入力された場合はアラートを出すが、その際に入力ウィンドウを消すかどうか悩んだ。結局消すことに。
隠しフレームの中にsubmitして実行してるんだけど、そこから削除キー入力ウィンドウの制御をするのはメンドい。
さらに、削除成功時はCGIでリダイレクト用のレスポンスヘッダを送信してるため、Javascriptを実行するタイミングが無い。
そのリダイレクトでコメント表示のCGIを呼び出し、指定したログが削除された状態の最新のコメントを呼び出すというワケ。
別にJavascriptで「location.href」を使ってもいいんだけど、これ使うと一部のサーバーはエラー吐きやがるんだよな。
ページが全て表示されてないのに突然別ページへ遷移ってことで、CGIの実行に異常があったと勘違いされるケースがある。

Thu Mar 30 17:25:57 2006 Warning: CGI TerminateProcess 2088 error 5

こんな感じ。ほとんどのサーバーはこのエラーは無視すると思うけど、間違ってないのにエラー出るって何だか気分が悪い。
コメント表示のCGIでも「location.href」を使ってるけど、これはレスポンスヘッダで代用することはできない部分だし。
こんな細かいトコはどうでもいいか。とにかくコメント削除機能も正常に実装できて素晴らしい一日でしたって話です。

あ?仕事?してますよ?性能改善の資料にケチつけてきた連中に、これ以上無いくらい詳細なデータを提示してやったよ。
これでさすがに性能改善関係は一段落つくだろう。さて、PCが変更できるらしいので、その為の準備もしておかないと。

2006/03/31 Fri.

コメントの削除機能の動きを一部修正。どう考えても削除用パスワードを送信する際のメソッドがGETなのはよろしくない。
<IFRAME>の中を「location.href」で移動させるのは却下して、そのフレームをターゲットにPOSTでsubmitするように修正。
削除用パスワードが間違ってる場合はアラートを出すけど、その後にページをリロードするとデータが再送信されてしまう。
Ctrl押しながらF5を押すみたいに、「Cache-Control: no-cache」みたいにリロードすれば問題無いっぽいんだけどね。
これを防ぐために、エラーのアラートを出した後に「location.href」でコメント数カウントCGIに遷移させておくことに。
で、懸念していた問題が全部解決か。変なパラメータを渡すとおかしくなるけど、HTML上で指定をミスらなければ問題無し。
この辺のを上手い具合に使って、配布用のスクリプトでも作ってみるか?本文も投稿できる形式にすれば偽blogになるな。
ってか、現状の掲示板CGIを改造した方が早そうだな。個別の記事に対してコメント付けられるようにすればいいだけか。

次の課題は、実装できるかどうかは全く不明だけどTrackback機能だな。まずはどういう機能かを理解しないと始まらない。
検索してみると、Flashで解説している「3分でわかるトラックバック」と図解の「こせきの日記」というサイトが見つかった。
しかし、図やら説明だけ聞いてもよくわからんな。「エキサイト:ブログ」あたりに登録して、色々と実験する必要がありそう。
その辺にあるblogで「この記事へのトラックバックURL」とかを開いてみると、XMLが表示される。RSSとかRDFってヤツ?
PerlでCGIを実装しているってことで、XML::Parserとかも使う必要がありそう。つーか、ホントにこれ自作できんのかよ。

さて、今日は「gadult」が大学にいるというので、仕事が上がってから多摩センで会うことに。またメシを食うって話です。
多摩センというのは意外に食う場所が少なく、普段行かない所へ行こうということに。とりあえず「日本海庄や」へ。
最初はそこの近くにあるパスタの店で食うって話だったんだけど、どうやら「gadult」には素敵な思い出がある模様。
別にそこでも良かったんだけど、あまりくつろげなさそうってことでスルー。「日本海庄や」に決定します。
しかし、金曜という事もあり、さらに送別会などの時期も重なっているのか店は満席。しょうがないので別のトコへ。
駅裏のビルの飲み屋でもいいかってことで、「多香箸」と「注文の多い料理店」を覗くも、どちらも満席っぽい。
無難に「白木屋」にしようということで移動をするも、まだ多摩センには行ったことのない「魚民」がある。
以前に某T口が行って綺麗だったという話を聞いていたので、そこに行ってみようということに。20分待って入れた。
で、食事がかなり美味いことが判明。これは「白木屋」を遥かに上回るんじゃないか?是非ともまた来てみたい所かも。
1時間半くらい二人であれこれ話しつつ一人2,000円ちょい食って店を出る。向かう先は、「魚民」のすぐ下にあるゲーセン。
狙いはもちろん「麻雀格闘倶楽部」だ。今日は二級にはなっておきたいところ。可能ならば一級を狙いたいんだがな。
1時間半ばかりで半荘3回くらいやって、一応二級に昇格。あー、四暗刻をテンパったの和了りたかった。シャボだけど。
ゲーセンが閉店になって解散。今日はあまりに寒すぎるので、神の聖地ことTCPへ行ったりするのは却下。風邪引きそう。
いやー「gadult」さん、神のごとき素晴らしい金曜日をありがとうございました。また多摩センにお越し下さい、歓迎致します。