肥大化していくシステムの中で目的の機能を検索「Milkode」
MilkodeはRuby製のソースコード専用の検索エンジン。指定した単語が全て入った行を探すのが特徴。
MilkodeはRuby製のオープンソース・ソフトウェア。最近ではシステムの開発においてスクラッチで開発するのではなく、何かのフレームワークをベースにすることが増えてきた。シンプルなフレームワークもあれば、全てこなしてくれる大型のものもある。
そして開発を行っているとフレームワークやライブラリの中を見なければならないケースが増えてくる。そんな時には毎回grepで探すのではなく、Milkodeを使って高速に検索しよう。
Milkodeはソースコード検索エンジンだ。とてもシンプルなソフトウェアで、ターミナルからinitしてリポジトリを作成する。その後、addでソースコードを取り込んでいくだけで準備が完了してしまう。webオプションでWebサーバが立ち上がり、検索エンジンとして利用できるようになる。
検索に際してはgroongaを使っており、日本語の検索も問題ない。検索結果からソースコードを表示して、検索箇所をハイライト表示してくれる。どこで使われているかもMilkodeを使えば一目瞭然だ。数万のファイルからも瞬時に検索できるレベルのエンジンであり、とても強力だ。
ソースコードの検索エンジンであるため、指定した単語が含まれるファイルではなく指定された単語を含む行を返す所に特徴がある。さらに仮想ファイル、ディレクトリ機能によってファイル管理調にファイル一覧を見ることもできる。作っているシステムはもちろん、使っているフレームワーク等を放り込んでおくと便利そうだ。
[s2If current_user_can(access_s2member_level1)]
[/s2If]
[s2If current_user_can(access_s2member_level1)]
[/s2If]
MOONGIFTはこう見る
システム開発を補助するツールとしては昔からCTagがある。便利ではあるのだが、インデックスを作り直すのが面倒で最近は利用していない。その点、Milkodeのような検索エンジンであればサーバサイドに設置できるので便利そうだ。
プログラミングエディタによってはこの手の検索機能がついたプロジェクト管理機能を提供するエディタもある。だがそれだけでエディタを切り替えるのは難しい。MilkodeはWebブラウザベースなので環境によらないのがいい。スクラッチであっても、システムが肥大化していく中で、徐々に全体像が掴みきれなくなってきたら導入してみよう。