20130720 firefox os勉強会

25
行指向ソースコード検索エンジン Milkodeを使ってみる 2013/7/20 関西Firefox OS勉強会 2nd GIG

Upload: masaya-nakayama

Post on 13-Jul-2015

403 views

Category:

Documents


0 download

TRANSCRIPT

行指向ソースコード検索エンジン  Milkodeを使ってみる

2013/7/20  関西Firefox  OS勉強会  2nd  GIG

* 中山  雅也(なかやま  まさや)  *  twitter:  @masaya  * 組み込み(と言っても携帯電話のみ)アプリ畑出身

自己紹介

最近(ソースコード)検索してる?

*  Firefox  OSのソースコードを取得したなら、色々調べたいじゃないですか。  

Firefox  OSと何の関係が?

というわけで

*  Androidのソースコードを調べることが多く、外部のサイトに頼りきっていた。  *  Firefox  OS(B2G)で類似サイトを探したものの、見つけることができなかった。

経緯

Androidソースコード検索サービス  -­‐  Developer  Collaboration  Project  https://sites.google.com/site/devcollaboration/codesearch  

こんな機能が欲しい  * 検索スピードが速い  * 簡単に導入できる  *  GUIを使った検索ができる  *  カスタマイズ無しで必要十分に使える

仕方ないので  検索エンジンを探してみる

良い点(個人の主観です)  *  “Androidソースコード検索サービス”で使われている  * 使い方は↑で慣れている  * 検索方法が充実している    悪い点(個人の主観です)  * ゼロから導入するには環境構築がタイヘン  

候補1  -­‐  OpenGrok

良い点(個人の主観です)  * 導入が比較的容易  *  emacsやviなどのエディタとの親和性が高い    悪い点(個人の主観です)  * 非シンボルの検索には弱い?  * 親和性の高いエディタは普段使ってない  *  GUIが使いにくい    

候補2  -­‐  GNU  Global

候補3  -­‐  Milkode

Milkode公式サイト  http://milkode.ongaeshi.me/index.html  

Milkodeとは?

* 数万オーダーのソースコードを素早く検索* 行指向の検索ルーチン* 簡単インストール*  gitライクなコマンドラインインターフェース*  コマンドラインから検索* 便利なwebアプリ(公式サイトより)

Milkodeとは?

* 数万オーダーのソースコードを素早く検索* 行指向の検索ルーチン* 簡単インストール*  gitライクなコマンドラインインターフェース*  コマンドラインから検索* 便利なwebアプリ(公式サイトより)

Milkodeとは?

Milkodeのインストール

公式サイトによると…(OSXの場合)

Milkodeのインストール

$  gem  install  milkode  $  rbenv  rehash  

$  sudo  gem  install  milkode  

*  rbenv  

*  MacPorts

これだけなら確かに簡単…?

しかし…

Milkodeのインストール

$  gem  install  milkode  ERROR:    While  executing  gem  ...  (Gem::FilePermissionError)          You  don't  have  write  permissions  into  the  /Library/Ruby/Gems/1.8  directory.  

$  sudo  gem  install  milkode  Password:  Building  native  extensions.    This  could  take  a  while...  ERROR:    Error  installing  milkode:  

 rroonga  requires  Ruby  version  >=  1.9.3.  

結局、Ruby+rbenvの環境が整っている必要があった。

Milkodeのインストール

$  brew  install  rbenv  $  brew  install  ruby-­‐build  $  brew  install  readline  $  brew  install  openssl  $  brew  install  ruby                                        :  

なお、Rubyは  ruby  2.0.0p247  を使用しました。

再びトライするも…

Milkodeのインストール

$  gem  install  milkode  Fetching:  highline-­‐1.6.19.gem  (100%)  Successfully  installed  highline-­‐1.6.19                                                      :  Fetching:  rroonga-­‐3.0.4.gem  (100%)  Building  native  extensions.    This  could  take  a  while...  ERROR:    Error  installing  milkode:  

 ERROR:  Failed  to  build  gem  native  extension.                                                      :  checking  for  groonga  version  (>=  3.0.5)...  no  downloading  http://packages.groonga.org/source/groonga/groonga-­‐3.0.5.tar.gz...  done                                                      :  

groongaがないらしいのでインストールする

Milkodeのインストール

$  brew  install  groonga  

もう一度…$  gem  install  milkode                                                  :  Successfully  installed  milkode-­‐1.1.0  Parsing  documentation  for  milkode-­‐1.1.0  Done  installing  documentation  for  milkode  after  3  seconds  1  gem  installed  

どうやらOKぽい。

Milkodeの使い方

データベースの作成

Milkodeの使い方

$  milk  init  –default  

$  milk  add  firefoxos/B2G/gaia/  

デフォルトでは  ~/.milkode  に作成される(変更可能)。

パッケージの追加

B2B丸ごとは何故か失敗したので、今回は  ~/gaia,  ~/gecko  のみとしました。  ※パッケージの追加には時間がかかります。   (計ってませんがこのマシンでも20分はかからないくらい)

Webアプリの起動

Milkodeの使い方

$  milk  web  

*  “本体のインストール”は簡単  * 検索機能は必要最低限  ※調査の取っ掛かりにgrep検索したい場合などに良さそう  

* 思っていたよりも高速  ※ファイル数が数万を超えるとさすがに遅くなるとか云々  

Milkodeを使ってみて

以上