雑記帳 2004年 3月第2週

2004/03/07 Sun.

今日は別にやることも無いんで、とりあえず髪切ってきました。冬に切ると寒すぎです。
多摩センの安いトコでいつも済ませてます。シャンプー・カットで2,200円也。技術?お察し下さい。
S保とメシでも食おうかと思ってメールしたんだが、メールの届くタイミングが悪く、また後日となりました。
ボウリングでも久しぶりにやりたかったんだけどね。そろそろ腕も落ちてきた頃だろうし、勘を無くさないようにしないと。

知り合いに「Programming」で配布しているBBSを使わせてみたところ、早速苦情が来た。
Javascriptをオフにするのが普通だと言い張るヤツで、苦情内容もJavascript周辺のもの。オフでも使えるようにしろという事で。
別にJavascriptをオフの状態でも使えるようにはできるけど、全部が全部CGIで処理すると困る部分もあるんだよね。
例えば、フォームに投稿内容を書き込んで書き込みボタンを押したときに出るエラー画面とか。
エラー画面から前の画面に戻る時にはJavascript使ってるけど、そこもPOSTやらGETやらで処理すると非常に手間がかかる。
それに、エラー画面なんて色々なサブルーチンから呼び出すものだし、いちいち処理判別を加えるのもありえない作業だし。
汎用性を求めるなら、ある程度のJavascriptは我慢して下さいってことです。変なモノは仕組んだりしないからご安心を。
で、Javascriptに関連した修正作業を色々やってます。ログ初期化の前には警告ウィンドウくらい出そうと思ったし。
重要な作業の前には、ワンクッションあった方が便利だろうし。ミスクリックによるログ初期化防止とかね。
ってか、ミスクリックしてテスト用のログを飛ばしたのは自分自身なんですが。もうね、馬鹿かと。アホかと。
あと、ページ遷移関係でもJavascript使ってるし。「リロード」とか「戻る」とか。やっぱり便利なんだよね。
ただ、これで作り直すとかなり大幅な変更になるから、変なところでバグが出ないか不安だったり。
明日一日かければ、結構変更も進むかな。アイコン型BBSも一応公開間近だ。今週中には終わらなかったなー。

gadult」が「Programming」で配布してる「Random Image」を使ってみたとのこと。
画像が入れ替わるとか言って喜んでますが、そのために作ったCGIなんで画像入れ替わって当然です。
ってか、画像が入れ替わらなかったらバグなんで。あんな簡単なのでバグ出したら、首でも吊りたくなります。
あの程度の説明書きで「gadult」が使えるんなら、一般配布でも問題無さそうだな。今後はもうちょいコメント内容も考えますんで。
さて、Javascriptの作りこみをもう少しだけ頑張ってから寝るかー。

2004/03/08 Mon.

ようやくアイコン型BBSが完成!「Programming」から落とせますので、興味のある方はどうぞ。
最後に色々と細かい修正があったけど、一応何の問題も無く使えると思います。……多分。
ただ、アイコンの追加方法や、表示件数の設定をリストに追加するあたりは、ちょっと説明が足りないかもな。
でも、そこまで気にして改造しようって言う人ならある程度のCGIの知識はあるだろうし、その辺はよしとしましょうか。
で、一応アイコン型のを作り終えて、携帯対応のでも作ろうかなと思ったんだけど、予想外に改造がメンドくさい。
Javascriptも結構使ってるし、いちいち通常のリンクにするのも手間がかかる。特にエラー表示画面とかは使いまわしだし。
使いまわしだからJavascriptでhistory.back()とかは役に立つんだけど、Javascriptを使用しないで組みなおすのはキツい。
他にやる事が無くなったら、腰を据えてじっくり取り組みます。ってなワケで、「gadult」よ。テストはもうちょい待ってて。
今はファイルのダウンロード数をカウントするCGIを作ってます。コレは結構手軽に作れるかもしれない。
でも、自分だけが使うのであればログファイルの形式とかにはこだわらなくてもいいんだけどな。
やっぱり、CGIとかを知らない人がどれだけ手軽に使えるかってのも考えて作りたいし。自分がそうだったってのもある。
CGIを落としてきても、使い方とかがいまいち理解できないのってあるじゃないですか。そういうのが嫌なんで。
……そんなこと言うんだったら、他のCGIの付属ドキュメントをもっと充実させろって話になるけど、それは置いといて。
ここ数日だけで随分と知識が増えてきて、嬉しい限りだ。レスポンスヘッダとかについての知識なんて無かったし。
やっぱり何か作らないと、まともな知識として定着しないな。本読んだりしてるだけじゃ、ほとんど意味無いっぽい。
今作ってるのはすぐ終わりそうだし、次のを考えておかなければ。それともPHPに移行しようかな。
最終的に覚えたいのはPerlとPHP、JSPとASPくらいかな。やっぱりサーバーサイド。自宅でも何かと使えそうだし。
どっかで区切りつけて、Perlを一回中断しないといけないんだけどな。やっぱり自分はハマると長続きする人だ。
ってか、Javaやらないと買った本が無駄になりそうだ。ってか、もう職場に置きっぱなし状態だし。

最近は職場でも手が空きがちになってきたから、何か同期でプロジェクトでも立ち上げてみるかな。
そういや、自分のいるフロアで「ひまわり」って言語を勉強してる人がいる。何なんだあの言語は。不安でしょうがないぞ。
そもそもソースコードが日本語って奇妙すぎ。まともなアプリは作れるんだろうか。絶対やらないけど興味あり。
普通の人はまず手を出さないような、マイナーな言語でもやろうかな。ってか、仕事しろ。自分。

2004/03/09 Tue.

Perlやめちゃいました。もう十分やったから、これくらいにして次の言語へ移行だ。
そんなワケで、ダウンロード数をカウントするCGIはちょっとの間だけ放置で。
ってか、最初に考えてたロジックが上手く動かなくて、悪戦苦闘してるうちに嫌になっちゃったってのが本音だけど。
で、風呂に入りながらあれこれ考えて、ちょっと解決策っぽいのが見つかったんで、とりあえず明日に実験。
それでも動かなかったら……その時次第です。あまり一つの言語に長時間手をかけてる暇は無いのだ。
そういう経緯がありまして、今日からPHPを始めてみました。Perlよりも扱いやすい「らしい」言語とのこと。
とりあえずパッケージをダウンロード、そして職場のマシンにインストール。って言っても解凍するだけだけど。
で、INIファイルとかをちょっと編集して、システムフォルダに突っ込んだり。DLLファイルをコピーしたりとか。
最後に「AN HTTPD」でPHPを読めるようにして、作ったサンプルを早速読み込んでみる。お決まりの「Hello,World」だけど。
……動かねぇぇぇ。何故だ。パスも通ってるし、設定ファイルにも不備が無いし、DLLもコピったし。
あまりに不安だからMD5まで調べたけど問題無かったし、「AN HTTPD」はPHPに対応してるはずだし。
ちと原因がわからず、とりあえずフォルダ名を変えてみた。いつも自分でリネームするから。「PHP ver 4.3.4 for Win32」とか。
この状態じゃ動かなかったんで、「PHP」とだけにしてシステムドライブのルートに置いてみる。「AN HTTPD」も設定変更。
動くし。今どきフォルダ名が問題になって起動しないものなんてあったんかい。ってか、自分が迂闊でした。
サーバー関連になってくると、色々と問題があるんだろうか。本格的にやるならApache使ったほうがいいかなぁ。
本屋で関連書籍とか読んでも、大体例に出てくるサーバーはApacheだし。一応本格的なものだからかな。
やっぱり、実際の運用レベルでの環境でやらないと、それなりの知識も身につかないんだろうな。Apacheに移行するかー。
でも今はPHPの言語習得が最優先なので、その辺が一通り終わってからだ。当分はPHPの基礎知識を覚えるだけになりそう。
気が向いたら「PukiWiki」とかでも書いてみるかな。blogとか。うん、これが運用できるレベルに達するのを目標にしよう。
まずは、今までPerlで作ってきたBBS系のスクリプトをPHPで書き直すことから始めるかな。やっぱ手間かかるんかなー。
そう思って、とりあえずフォームから投げたデータを表示するPHPを書いてみた。ほとんどPerlで書いたソースの流用だけど。
……データの受け取りがすんげーラクだ。マジっすかこれ。フォームから投げた文字列のデコードもいらないっぽいし。
標準でフォームのデータを受け取る変数とかもあるし。環境変数周辺の扱いが手軽だ。これは慣れれば楽しそうだな。
$_POST{"name"}とか$_GET{"mail"}とか書けば、勝手にデータを受け取ってくれる。うーん、PHP素晴らしいかも。
さすがPerlの次にやる言語と言われているだけあるな。当分暇はしないでしょう。遊び尽くしてきます。今夜もまだまだー。

2004/03/10 Wed.

何故か今日は立川で後輩の買い物に付き合わされるという、妙な展開になりました。俺は暇だから構わないけどねー。
卒業生に贈るプレゼントってことらしいんだけど、立川じゃなかなか良さそうなものが見つからないという現実。
色々ありそうな街だけど、実際はそんなこと無いかも。ルミネかグランデュオ、マルイくらいしかないしね。
え?伊勢丹?高島屋?学生と安月給プログラマーがそんないいトコに立ち入れないですよ。
ソニープラザやらも見て回ったけど、どうもコレだっていうのが見つからず、結局はアロマテラピー系の店へ。
α波で熟睡できるCDと、適当に見繕った入浴剤などのリラクゼーション系グッズで攻めてみました。N阪の好みはわからん。
プレゼントは貰い専門だからなぁ。人にあげるってのを滅多にしないから、こういう時に何を選ぶべきかがわっかんね。
大学四年間で色々貰ったなー。全く実用性の無いものとかもあるけど。「gadult」のミスチルの譜面とかは激しくGJ。
随分前にK岡から貰ったドイツ語の時計もまだ動いてます。電池入れ替えてないんだけど、すんげー長持ちしてる。
itsuki」から貰った灰皿も部屋で活用中。寝る前に一服するのが習慣になってるんで。この習慣も矯正したいな。
「矯正」って変換したら「強請」ってのも出てきた。「強請る」って読めます?「ゆする」だけじゃなくて「ねだる」とも読む。
「甘えた声でプレゼントを強請る」とかって、文面だけで見たらとんでもない字面だ。はい、どうでもいい話です。

BBS」に小さなバグが残ってた。ってか、こういうのはバグと言うのだろうか?修正するかは微妙なライン。
管理者メニューから遷移するログファイル編集の機能。直せないことは無いんだけど、別にこのままでも問題無い気がする。
ログが6件あったとして、1ページに5件表示しているとする。新しい順に表示だから、1ページ目には2件目から6件目が表示。
2ページ目には一番古い1件目のログが表示される。で、この状態で1件目のログを消す。もちろん、ちゃんと削除はできます。
そうすると、2ページ目以降のログが存在しない状態になって、ログが表示されないページが生成されてしまう。
他のフリーで配布されてるBBSは、こういう場合にはどうしているんだろうか。利便性を追求する以上、直したほうがいいのかな。
あとはJavascriptをもうちょい何とかするか。window.confirmとかで出るウィンドウのキャプションて変えられないんですかね。
他にも、機能を細かく分けて片っ端からサブルーチン化もしたいし。綺麗なソースが一番。出力されるHTMLも綺麗であるべき。
で、何でまたPerlをやってるのかというと、PHPが結局よくわからなかったってことです。
CGIよりも速いらしいけれど、PHPの記述よりもPerlの書き方のほうが性に合います。Perl万歳。PHPは早速放置状態。
やっぱりサーバーの制限を受けにくい言語のほうがやる気出るし。まだまだ「BBS」も最適化していきますよー。

2004/03/11 Thu.

昨夜に風呂入りながらダウンロード数カウントCGIのロジックを考えてたんだけど、今日試しに組んでみたら一発で動きました。
やっぱり、一回詰まると変な考えが頭の中に定着しちゃうから、しばらく時間を空けてから考え直すってのは重要だね。
公開できるくらいのものになったら、配布してるCGIのZIPファイルにこのダウンロード数カウンターを付けてみます。
とりあえずカウンターが2桁まで増えたら目標達成。志が低すぎですか、そうですか。そこまで自信あるものでもないしなぁ。
むしろ、普通に使われるよりもダメ出しをして欲しい。そうじゃないと勉強にならんし。何にせよ、進展があってよかったー。
あと、昨日発覚した「BBS」のバグの修正も終わった。いやー、ややこしいソースになってきちゃったな。
if文とかを使いすぎると、ソース読んでるうちにこんがらがってくるんだよな。4回5回と判定が重なってくると、確認もメンドい。
もうちょい楽な記述方法見つからないかなー。Perlの美学は省略だけど、他人が見てもわかるように省略とかは極力しない。
後は、ちゃんとmy宣言をして綺麗なソースにすることだな。全部グローバルでやってるから、ソースいじるとバグが出やすい。
何かしらのルールに従って変数名とかつけたりしなきゃダメですな。かなり適当だし。文字列と数値の扱いもそんな感じ。
以前の新宿でのプロジェクトで使ってた変数名定義のルールでも採用しよっかな。変数名の前に変数の属性を表記するやり方。
$Numberとかで数値型だったら、$iNumberとか。配列だったら、@arListのように表記するとか。やっぱりメンドそうだな。
今やってるPerlは日曜プログラミングみたいな感じだから、かなり適当でも誰にも迷惑かけてないと思うけど。多分。
とりあえず、今後はソースの最適化が目標かな。まだまだコメント表記のミスや小さいバグもありそうだし、気は抜けません。
あとは、Javascriptをすべて排除したバージョンも作りたい。言い換えれば、携帯でも使えるようにしたいって事。
もともと自分がPerlを始めたのって、フリーのソースを自分好みに改変したかったからなんだけどね。完全に趣味の範囲。
で、ある程度まで自分で変更を加えたものが、今の「着メロjunmix」で稼動してるBBSなワケでして。
当時はコメントも付けないわ、ヒアドキュメントの意味も知らなかったわ、サブルーチンも知らなかったわと、ひどいものでした。
とてもじゃないけど、ソースを公表なんてできない。本当にお前はPGなのかと疑われそうなほど低レベルなソースなもので。
ってか、携帯用のを作っても自分じゃ運用テストできないんだよな。「着メロjunmix」は閉鎖しちゃうし。もうね、携帯は飽き気味。
最新機種とかも良く知らないし、通信関連の仕様とかも調べてないから、無難な機能しか積まないBBSしか作れなさそうだ。
下手にAccessKeyとか実装してもウザいだろうし、機種依存だし。携帯関連はそろそろ完全引退です。
あぁ、着メロのデータもったいないな。自宅サーバーで配信すれば、問題は無くは無いけど明るみには出にくいかも。
……やっぱダメだ。社会人である以上、大きすぎるリスクは負えません。ヘタレとでも何とでもいくらでも言ってくれ。
さすがに20台半ばで人生の終局を迎えたくないもんなー。こうなった以上やはり海外サーバーで一時的にごまかすか諦めるか。

2004/03/12 Fri.

ダウンロードカウンターの制作が終わったー。一覧表示とかの画面を作って、一応配布開始。「Programming」からどうぞ。
意外に手間がかかったな。$ENV{"PATH_INFO"}の扱いとかがよくわからなかった。$ENV{"QUERY_STRING"}とどう違うんだ?
配布開始だけど、早速大幅に仕様変更を行うつもり。環境変数の扱いがややこしくなってきたな。バグ出さんようにしなければ。
さすがにそろそろ作りたいものがなくなってきたな。今まで作ってきたものの修正やバージョンアップに力を入れるかな。
他に手軽に作れそうで役に立つものってどんなのがあるかなー。やるとしたらファイルアップローダーかな。難しそうだけど。
一回だけPHPのファイルアップローダーのソースを拾って読んでみたんだけど、かなりソースが短い。PHPやるべきかなぁ。
どうでもいい話だけど、PHPって「Hypertext Preprocessor」の略なんだけど、何でこれを略すとPHPなんだ。Hって最初じゃん。

最近は家で暇な時間が増えてる。今までどれだけオンラインゲームにハマってたかがよくわかる。
中毒性が高かったから、引退できて助かったと思ったけど、逆に今度は暇な時間が増えすぎて、時間がもったいない。
何か有効な時間の使い方とかできないものだろうか。家じゃプログラミングとかあまりやりたくないしなー。
かと言って、今さら引退したゲームを復帰するのもアレだし。「Lineage 2」でもやってみよっかな。でもスペックぎりぎりだ。
ってか、HDDの必要空き容量が多すぎ。5GBも必要なオンラインゲームって何ですか。そんなにHDD空いてないっすよ。
自分はパーティション切って、Dドライブをバックアップ専用ドライブとして使ってるんで、かなり容量を食ってます。
システムドライブには10GBしか割り当ててないし、しかも空き容量が4GBしかないときたもんだ。ゲームもできんのか。
Dドライブは15GBくらい余ってるけど、インストールが必要な類のプログラムはあまり入れたくないし。「Lineage 2」は却下で。
今までは暇な時間って言ったら読書するのがお決まりだったんだけど、諸事情で原付に乗れんから、古本屋にも行けやしない。
もうね、市役所は社会人のために土日も開けろと。公務員は働けと。おかげで原付放置期間8ヶ月突破。マジ勘弁。
中身のガソリンとかって、長時間に渡って放置しておいても平気なんだろうか。ってか、エンジンかかるんだろうか。
この際だし、新しいのを買っちゃおうかな。しかし今の原付の名義が自分じゃないため、廃車にすらできないという罠。

さて、今週も終わりかー。有り余る時間を何に使おうかな。「アクアブルー」にでも行ってみようかな。たまには泳ぎたい。
運動不足なのはマズいね。ちょっとした事で息がきれることが増えてる。テニスでもいいからやりたいっす。
あ、でも原付が復活したらもっと歩く距離も減って運動不足を助長するじゃないの。ダメじゃないっすか。どうすっかなー。