映画とネットのDIARY(tDiary版)
検索エンジンからのアクセスで、お探しのキーワードが見あたらない場合はNamazuで再検索してみてください。
【映画の感想一覧】 2004年7月以降 2005年 2006年 2007年 2008年 2009年
2005年02月14日 [Mon]
■ サポート
拙作のnlview.cgiが動かないとのメールをいただく。昨日と同じ人である。Namazuを設置できる人なら、nlviewは簡単に設置できるはず。これまでにこういうメールをもらったことはない。考えてみると、pnamazuの場合は普通のCGIより簡単に動くので、こういうこともあるのかも。
教えられたページを見てみると、nlviewは動いているが、検索ログがまったく表示されていない。検索プログラムはpnamazuなので、ローカルで作成したインデックスファイルをサーバーにアップロードしているのだろう。ということはローカルのNMZ.slogをサーバーのNMZ.slogに上書きしてログが消えているのにちがいない。という返事を送ったら、NMZ.slogにログが記録されていないとの返事。それはパーミッションが違うのでしょう。という返事を送ったら、お礼の返事が来た。
シェアウェアを公開してサポートしている人には初心者からのメールも多いだろう。シェアウェアからフリーウェアになるソフトが時々あるが、サポートの大変さが原因の一つなのかもしれない。
nlviewは2年以上、放置したまま。Perl初心者のころ書いたものなので(いや、今も初心者ですが)、不都合な部分も目に付く。そのうち改良版を出そうと思う。と思っているだけで、書き直すとなると、全面的に書き直したいので、なかなか暇はありませんね。
■ 行の最後の特定文字列を先頭に持ってくるマクロ
会社でちょっとした秀丸マクロを書いた。自宅に送るのを忘れたが、こんな感じだったか。いちおうメモっておく。//行の最後の特定文字列を先頭に持ってくるマクロ gofileend; #y = y; $word = "([0-9].*/[0-9].*)"; call subreplace; endmacro; subreplace: gofiletop; while(y < #y){ searchdown $word,regular; if(!result){return; }else{beginsel; golineend; cut; golinetop; paste; } } return;「ああああああ(2/14)」という日付が最後にある文字列を「(2/14)ああああああ」と日付を最初に持ってくるだけのマクロ。
2006年02月14日 [Tue]
■ 全文検索システムFFTS
徳島大学とピーチツリーという会社が共同開発したWeb全文検索システム。FFTSはFast Full Text Searchの略。商用のソフトで販売しているが、このホームページには価格は書いてない。問い合わせないとけいないようだ。いくらぐらいなのか知りたいところ。
技術資料にはNamazu、Googleとの比較があって、Namazuは比較的検索漏れが多く、検索ノイズも多いとの指摘がある。Namazuのように形態素解析によるインデックスではないので、文書中のすべての語が検索できるという。例えば、トピックスという言葉をトピックで検索してもヒットするのだという。それは便利と思うが、それがフリーのNamazuに比べてどの程度のアドバンテージになるのか、費用対効果を判断するには価格の明示が重要だろう。
Googleの検索で感心するのは多少の検索キーワードの間違いは修正してくれること。FFTSのヒント機能よりはこの方がユーザーには親切だと思う。
■ Sylpheed2.2.0
Linuxでは以前から使っていたが、Windows環境でも使えるようになった。いや、以前からそういうバージョンはあったが、随分前に使った時はまだベータ版で使い物にならない感じがした。今回のバージョンは何ら不具合はないようだ。動作が軽いのが最大のメリットか。
外部エディタの指定ができるのもいい。秀丸を外部エディタとして使う場合は
'C:\Program Files\Hidemaru\Hidemaru.exe' '%s'
のようにシングルクオーテーションで囲む必要がある。
2009年02月14日 [Sat]
■ 正規表現ではまる
ブログ(ココログ)のファイルをNamazu用に1記事1ファイルで保存するツールをなでしこで作っている。ほぼ完成したのだが、JavaScript部分を削除するところでつまずいた。正規表現で行末に;':{}のどれかがある行を削除しようとしたが、どうしても1行残るのだ。残ったのは
Facemark.Pallet.captionText = Facemark.is_mac ? 'alt(option)キー+クリックで連続入力'
という部分。英字で始まり、行末に'があるので、<以外から始まって'で終わる正規表現で大丈夫のはず。でも残る。秀丸上で
^[^<].*[';:{}]$
を検索してみると、確かに上の行にマッチする。でも、なでしこで正規表現置換すると、残る。なぜだろう。正規表現のDLLが違うためか。いろいろ試行錯誤して、これで半日つぶした。要するにアスキー文字列と日本語が混じっているいるからダメなのだった。ココログのファイルは文字コードがUTF-8、なでしこはSJISなので、アスキー文字列ならマッチしても日本語部分にはマッチするはずがない。というわけで、ファイルの文字コードを調べ、一度SJISに変換して保存する際に元の文字コードに戻す処理を付け加えた。やれやれ。
それにしてもブログの文字コードはどういうものが使われているのだろう。XHTMLを使うMovable Type系のブログならUTF-8が多いと思えるのだが、念のために作ったプログラムの対応調査と合わせて各ブログを調べてみた。以下の通り。
◆忍者ブログ ページ内リンク:相対パス 画像:絶対パス 表示OK JavaScriptOK トップページ保存OK(index.html) 文字コードUTF8
◆FC2ブログ ページ内リンク:絶対パス 画像:絶対パス 表示OK JavaScriptOK トップページ保存NG 文字コードEUC
◆Yahoo!ブログ ページ内リンク:相対パス 画像:絶対パス JavaScriptOK トップページ保存OK(index.html) 文字コードEUC
◆アメーバブログ ページ内リンク:相対パス 画像:絶対パス JavaScrip OK トップページ保存NG 文字コードUTF-8
◆gooブログ 保存:NG
◆Livedoorブログ ページ内リンク:絶対パス JavaScript OK 画像:絶対パス トップページ保存OK(index.html) 文字コードEUC
◆Blogger ページ内リンク:絶対パス 画像:絶対パス JavaScriptOK トップページ保存OK(index.html) 文字コードShift_JIS
◆ウェブリブログ ページ内リンク:絶対パス 画像:絶対パス トップページ保存OK(index.html) 文字コードShift_JIS
◆ココログ ページ内リンク:絶対パス 画像:絶対パス JavaScriptNG トップページ保存OK(index.html) 文字コードUTF-8
◆さくらのブログ ページ内リンク:絶対パス 画像:絶対パス JavaScriptOK トップページ保存OK(index.html) 文字コードShift_JIS
意外にEUCやSJISのファイルが多かった。作ったプログラムでファイルを保存できなかったのはgooブログだけ。ここはURLを見ても静的なHTMLファイルではないから仕方がない。変わっているのは忍者ブログで、記事ナンバーのフォルダの中にそれぞれindex.htmlが入っていた。ココログは保存したローカルのファイルを開くと、JavaScriptエラーが出る。ここはJavaScriptをカットして保存した方がいい。しかし、中にはレイアウトが崩れる場合があった。削除しきれなかったスクリプトの残骸が影響しているらしい。Firefoxではちゃんと表示されるのにね。なでしこはIEのブラウザエンジンを使っているからしょうがない。保存してJavaScriptエラーが出たのはココログだけだった。
これぐらいのブログで対応していれば、僕の拙いプログラムも少しは有用かもしれない。もっともブログの中には開いただけでJavaScriptエラーの嵐となって強制終了しなくてはいけないものもあった。元のページにJavaScriptエラーがあってはどうしようもない。自分でページを修正してもらわないと、対処できませんね。ブログパーツやデザインのテンプレートの中には作りの良くないものがあるのかもしれない。こういうのはあまり付けない方が無難。なでしこブラウザがブラウザのエンジンをIEからFirefoxに切り替えられれば便利なんですけどね。
もう少し調べてみて大きな不具合がなかったら、このプログラム、公開してみよう。と思ったが、不具合の質問が来るのは目に見えているのでやっぱりやめた方がいいか。