2003年08月13日(水) [長年日記]
■ [tdiary] キャッシュファイルのサイズ
サーバのディスク使用量が増えてきているので何が原因かを調べたら、tDiaryのキャッシュファイルが一番容量を食っていた。一番サイズの大きい7月分が .parser, .parser~, .rb を合わせて2.5MBくらい。このペースだと1年で30MBにもなってしまうではないか。なんとかしないと。
どうもリンク元の数が多いとキャッシュのサイズも大きくなるようだ。検索エンジンからのリンクを弾くしかないかなあ。
■ [xrea] namazu.cgiは依然として動かない
が、pnamazuというperl版のnamazuがあることを知り、これを設置してみたら日記の検索はできるようになった。既存のnamazuの設定はそのままに、pnamazu.cgiを置いただけでこれまでと同様に検索できるようになったようだ。簡単で素晴らしい。
…と思ったのだけれど、実は.namazurc内に書いたReplaceの設定を正しく解釈してくれなくて検索結果のリンク先がおかしかった。\1を置き換えてくれない。検索したら2001年11月の段階で修正されているようだった。このメイルにあるパッチと現在のソースを見比べると違いがあるのでそれを追った。結局意味も分からぬままサブルーチンentry_replaceとreplaceの内容をパッチに合わせて修正することで正しく変換されるようになったと思う。ふー、何時間掛かったのだろう。
えと、pnamazuはpnamazu.cgiと同じディレクトリに「debug」という名前のファイルを置くとデバッグ出力してくれる、というのをメモしておく。
それにしてもPerlのソースって何がなんだか分からん。なんで皆こんな呪文みたいのをスラスラ書けるようになるのだ。
■ [perl] Perlメモ
せっかくPerlについて調べたからメモしておこう。基本的なことばかり。間違いがあったらごめんなさい。
- スカラー変数は$で始まる。「$var = "abc";」。
- 配列変数は@で始まる。「@var = (1, 2):」。配列の個々の要素へは「$var[0]」のように$付きでアクセスする。
- 連想配列は%で始まる。「%var = ("key1", "value1", "key2", "value2");」ってのは「$var{"key1"} = "value1"; $var{"key2"} = "value2";」ってことのようだ。連想配列の要素へは中括弧{}でアクセスするのだ。
- 変数名の前にlocalを付けるとローカル変数。myってのもあるぞ。
- 「@_」はサブルーチンの引数を表す特殊な変数。こういうのが他にもたくさんあるのがイヤだなー。
- どういうわけか至る所で「$_」という変数が省略されているとみなさねばならない。
- 例えば「s/PATTERN/CHANGE/i;」って書いたら「$_ =~ s/PATTERN/CHANGE/i;」のこと。
- 「$var =~ s/PATTERN/CHANGE/i;」は“変数var内に現れる最初の"PATTERN"という文字列を"CHANGE"に置換する。このとき大文字小文字を区別しない。”という意味みたい。
Perlについてはここのサイトが易しく教えてくれそう。
- Perlプログラミング講座 (Knave Web講座)
■ [life] FreeStyleWikiをバージョンアップした
公式サイトが再開したFreeStyleWiki、古いバージョンは色々問題があるようだったので3.4.2へバージョンアップした。
いきなりエラーで動かなかったが、サポート掲示板を見てlogディレクトリを作成したら動くようになった。その後ページ更新時にもエラーが出たが、これはbackupディレクトリを作成したら直った。配布ファイル中にはこれらの必要な空ディレクトリが入っていないので注意。
あー、あとRSSプラグインがきちんと動いてなさそう。これはわからない。まあいいか。
■ 生活
- 色々設定していたら夕飯食べ損ねた。疲れた一日。
- 一昨年12月の日記を補完。わずらわしがっている。
■ やること
- 電気カミソリを買う