Apr 07, 2006
CPAN最速検索
作りました。http://cpan.ma.la/
Firefox用パネル。ブックマークしてプロパティ→サイドバーに読み込む。
http://cpan.ma.la/panel.html
全モジュールのリストを改行で区切ったテキストファイルを受信してクライアントサイドで検索させています。クライアントサイドで検索させているのでサーバー負荷は全くかかりません。
仕組み
省メモリ、高速に動作するように工夫してあります。- 配列に変換せずに一つの巨大な文字列から検索 → 切り出し。
- クロージャで次の検索結果を取得する関数を保持しておいて、描画が必要になった時点で検索を実行。
-- その代わりにトータルのヒット件数がわかりません。
今の所の機能
- 上下で選択、エンターでperldoc表示、マウスクリックでもperldoc表示。- 正規表現がおかしくなければ、そのまま使えます。
-- 例えば \d\d\dで数字が入っているモジュールが検索されます。
- 最初の文字を大文字にすると先頭一致になります。
- 全部タイプしなくてもOK。
-- 例えば C::dbiでClass::DBIを引けます。
-- C::d::p → Class::DBI::Plugin
コードの行数は大したことないですが、ちっこいノートPCで作ったので大変だった。モジュールのリストをcronで自動更新させたいんだけど、レンタルサーバーなのでちょっと工夫しないとダメかも。
例によって放置してしまうかもしれないので、引き継ぎたい方や改造したい方がいればどうぞご自由に。
更新履歴
2006-04-02- :: の代わりにハイフンとスペースも区切りとして使えるようにした。
- Firefox用パネルを作った。
2006-04-03
- MultiViewsでgzip圧縮が無効の場合でも使えるようにした。プロキシ経由で動かないケースが直るはず(転送量増えるけど)。
2006-04-07
- cron仕込んであります。一日二回更新。今のとこ上手く動いてる様子。
Edit this entry...
wikieditish message: Ready to edit this entry.
A quick preview will be rendered here when you click "Preview" button.