Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Namazu Next Generation



現在の Namazu はソースコードの老朽化が進み、保守が不可能にな
りつつあります[1]。また、libnmz はまともなライブラリとは言え
ません。

そこで、夏休み (9月末まで) を利用して、次世代の Namazuの開発
を始めようと思います。次のような目標を考えています。

  * きれいに書き直す
    - 保守性、拡張性の向上

  * 便利なライブラリを目指す
    - いろいろなアプリケーションに簡単に埋め込めるように

  * 柔軟性を向上させる
    - 検索結果の表示を自由に変更できる、設定を柔軟に
    - libguile[2] を採用。 Scheme でばりばりカスタマイズ (?)

  * 現代的なソフトウェアを目指す
    - glib[3] を採用
    - iconv[4] を採用
      (iconvに完全に依存しようと思っていたのですが、やめた方
       がよさそうです。文字コードの変換は入れ替え可能にしよう)
    - mmap を採用 (fseek/fread を使わない)
    - libsgmt の採用 (libkakasi/libchasen の dlopen)

  * 機能拡張
    - zlib[5] によるインデックスの圧縮に対応 
    - 曖昧検索

  * libnmz, namazu, namazu.cgi を書き直す
    - 2ヶ月くらいで作業が終わるといいなあ
    - mknmz は後回し (よって、インデックスの構造は変わらない)

この計画に伴う細かい話は次のメイルに続きます。

References:

  [1] <http://www.namazu.org/events/lc2000s/handout.html#moral>

  [2] <http://www.fsf.org/software/guile/guile.html>

  [3] <ftp://ftp.gtk.org/pub/gtk/> から入手可能

  [4] <http://clisp.cons.org/~haible/packages-libiconv.html>
      libc に iconv が存在しないシステムではこれを使う?

  [5] <http://www.cdrom.com/pub/infozip/zlib/>

-- Satoru Takabayashi