[groonga-dev,03323] Re: Groongaソースコード読書会2の準備

Back to archive index

Kouhei Sutou kou****@clear*****
2015年 7月 1日 (水) 15:19:25 JST


須藤です。

In <CA+Tq-RrOu12v2Zur+nf_OaZoE****@mail*****>
  "[groonga-dev,03321] Groongaソースコード読書会2の準備" on Wed, 1 Jul 2015 09:46:12 +0900,
  Hiroyuki Sato <hiroy****@gmail*****> wrote:

> 明日(7/2)のGroongaソースコード読書会2に参加予定です。
> groonga初心者です。よろしくお願いします。

よろしくお願いします!

> 明日の勉強会に備えて少し予習しておきたいのですが

すばらしいです!

> 次のようなものがあったら教えていただけますでしょうか?
> 
> 1, 閲覧する予定のソースコードのファイル名
> 2, 見ておいた方が良い資料

まだどの処理を読むか決まっていないので、挙げづらいんですよ
ね。。。一番希望が多い処理にしようと思っていたのですが、今の
ところ全部ばらばらで。。。

https://groonga.doorkeeper.jp/events/26764

> * main関数(src/groonga.cなど)から順番に主要な処理を辿っ
>   てみたい(SEゼミで聞いた「アルゼンチン的ソースコードリー
>   ディング 」のような方式)
> * 前回の続き(データインサート時の転置インデックス作成まわ
>   りの処理)か、まだGroongaを使いこなしていないので、ソース
>   コードにおける機能の分割単位の把握を行いたいと考えていま
>   す。
> * インデックス周りの構造について
> * selectコマンド発行からの流れ(基本的すぎますかね?)

selectコマンドでインデックスを使って検索する処理、を読むこと
にしましょうか。

とすると、

> 1, 閲覧する予定のソースコードのファイル名

は

  * lib/proc.c
  * lib/expr.c
  * lib/ii.c

あたりで、

> 2, 見ておいた方が良い資料

は、今回は検索するときの処理なので↓がよいかと思います。

http://www.clear-code.com/blog/2011/10/20.html

> あと余談ですがOSXを使っている皆さんlddbのフロントエンドは何か使っていらっしゃいますか?
> Xcodeでgroongaってデバッグできるのでしょうか?
> 
> * GUI
>   * https://github.com/meeloo/xspray
>   * LLDBまでビルドが必要で時間がかかってエラーが出たのでひとまず断念
> * VIM
>   * https://github.com/gilligan/vim-lldb
>   * とりあえずインストール、使い方未収得
> * Emacs
>   * ???

私はOS Xを使っていないのでわからないのですが、検索したところ、
Xcode 6以降ではLLDBで"gui"コマンドを実行するとGUIモードにな
るらしいです。

  http://stackoverflow.com/questions/19820247/is-there-a-tui-mode-for-standalone-lldb

> To enter the GUI mode, just type gui from the lldb command line when you're debugging.

>   https://gist.github.com/hiroyuki-sato/b534f88dfa771f96aae7

http://okamuuu.hatenablog.com/entry/2015/04/13/224707
にも(シレッと)書いていますが、configureのとき
に--enable-debugオプションを指定したほうがよいです。デバッガー
で処理を追いやすくなるのです。(最適化の影響で処理がポンポン
飛んだり、変数が消されたりしない。)

GDBだと↓くらい便利になりますが、LLDBでもデフォルトのときよ
りデバッグしやすくなります。

  http://www.clear-code.com/blog/2013/5/8.html


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
  http://www.clear-code.com/recruitment/




groonga-dev メーリングリストの案内
Back to archive index