groonga / meetup

Repository for Groonga meetup
6 stars 0 forks source link

Groongaソースコード読書会(仮) #4

Closed kou closed 9 years ago

kou commented 9 years ago

https://twitter.com/noranuk0/status/579828683512287232

そういえば、先週末のgroonga talknizer talk でのgroonga内部のデータ構造の話を聞いて、groongaソースコード読書会的なものがあったらちょっと行ってみたいなーと思いました。

を実現できないか、というイベント。

TODOリスト:

shogondo commented 9 years ago

@kou ホワイトボード使えます!

kou commented 9 years ago

さすがです!!!

kou commented 9 years ago

事前準備はなにがありますかねぇ。こんな感じでしょうか。

Groongaコマンドなど共有する必要があるファイルはこのリポジトリーにpushしていっていいです!

noranuk0 commented 9 years ago

@kou さん

転置インデックスを作るGroongaコマンド

公式サイトのチュートリアルに載っているテーブル作成&データインサート用のgroongaコマンドで大丈夫かなと思いましたがいかがでしょう。

Windows環境でGroongaをビルドできることを確認(当日でもよい?。事前にやるなら手順メモを残したほうがいいかも)

今、cmake + visual studio 2013 express で動作確認をやろうとしていたところです、結果は追って記載いたします。

対象Groongaのバージョンを決める(masterにする?リリースしたtar.gz/zipを使う?)

特に理由はないですが、最新リリース版(5.0.2)で合わせたほうがいいかなと思いました。

noranuk0 commented 9 years ago

今、cmake + visual studio 2013 express で動作確認をやろうとしていたところです、結果は追って記載いたします。

visual studio 2013 express Desktop で、ビルドok & 統合開発環境内でのデバッグちゃんとできてます。 環境作成手順とか、余裕があればまとめておきます。

kou commented 9 years ago

公式サイトのチュートリアルに載っているテーブル作成&データインサート用のgroongaコマンドで大丈夫かなと思いましたがいかがでしょう。

↑のGroongaコマンドということですね。よいと思います。

レコード数が9個ありますが、単純にするために1個に減らしてもいいかもしれません。

特に理由はないですが、最新リリース版(5.0.2)で合わせたほうがいいかなと思いました。

では、5.0.2で統一しましょう!

kou commented 9 years ago

visual studio 2013 express Desktop で、ビルドok & 統合開発環境内でのデバッグちゃんとできてます。

おぉ!よかったです!

環境作成手順とか、余裕があればまとめておきます。

ありがとうございます!

noranuk0 commented 9 years ago

イベントページに、当日参照するソースコードのバージョンについての説明を書き忘れていたので追記しておきました。

kou commented 9 years ago

ありがとうございます!

参加者、結構いますね!

noranuk0 commented 9 years ago

参加者、結構いますね!

そうですね。ここに書き込んでいるメンバーのぞいて5、6人かなー、と勝手に思っていたので、結構びっくりしています。

あと、今使っているプロダクトのアンケートで、まだ使っていない と回答されている方も結構いらっしゃったのも意外でした。

kou commented 9 years ago

あと、今使っているプロダクトのアンケートで、まだ使っていない と回答されている方も結構いらっしゃったのも意外でした。

もしかしたら、外から(ユーザーから)見えるGroongaの動きも説明しないといけないのかもしれませんね。どこまでフォローするのがよいか難しそうですよねぇ。あまり進まなくてもよい、と割りきっちゃうのがいいんですかねぇ。

noranuk0 commented 9 years ago

もしかしたら、外から(ユーザーから)見えるGroongaの動きも説明しないといけないのかもしれませんね。どこまでフォローするのがよいか難しそうですよねぇ。あまり進まなくてもよい、と割りきっちゃうのがいいんですかねぇ。

うーん、それをやってしまうと、groongaの内部ロジックを見てみたいと思ってきたコアな方が退屈してしまうような気がします。 例えば、ウィキペディアの「転置インデックス」のページ等を参照しつつ、転置インデックスとは的な説明を簡単に入れた後、groongaでの転置インデックス作成の実装方法の話に持っていく形とかではどうでしょう。

そういえば、もう明日なんですね。

kou commented 9 years ago

うーん、それをやってしまうと、groongaの内部ロジックを見てみたいと思ってきたコアな方が退屈してしまうような気がします。 例えば、ウィキペディアの「転置インデックス」のページ等を参照しつつ、転置インデックスとは的な説明を簡単に入れた後、groongaでの転置インデックス作成の実装方法の話に持っていく形とかではどうでしょう。

「(興味はあるけど)基礎知識はぜんぜんない人」より「基礎知識がある人」を優先ってことですね。「決め」の問題だと思うので、最初に宣言すればそれでアリだと思います! Doorkeeperでは参加者にメッセージを送ることができるので、事前に「こういう方針だよー」とか「基礎知識がない人はここを読んでおくと得るものが多くなると思うよー」みたいなことを伝えておくのもありかもしれませんね。直前なのでさすがに読んでいる時間はないかもしれませんが。。。

kou commented 9 years ago

@shoutakenaka 18:30くらいに着くように向かいます!会場準備、少しお手伝いできると思います!今日はよろしくお願いします!

shogondo commented 9 years ago

@kou こちらこそよろしくお願いします!

noranuk0 commented 9 years ago

私もそれくらいの時間に着くように向かいます(もう少し遅くなるかも)。

一応、Visual Studio 2013 express for windows desktop のインストールイメージの入ったUSBメモリー1本持っていきます。

shogondo commented 9 years ago

自分用にUbuntuのVagrant Boxを作ったのですが、せっかく作ったので共有します。 ここにVagrantfileがあります。

Box単体でダウンロードする場合はこちらから。

kou commented 9 years ago

おぉ!

./configureのオプションは--enable-debugの方がおすすめです!--enable-debugをつけると中で勝手にCFLAGSCXXFLAGSを設定するんです。なので、挙動は同じなんですが、後でみたときにわかりやすいので--enable-debugの方がおすすめなのです。

shogondo commented 9 years ago

@kou なるほど、勉強になりました。ありがとうございます!

kou commented 9 years ago

すみません… 近くまで来ている気はするんですが迷っています…

shogondo commented 9 years ago

外苑前駅1a出口出てすぐ左です

shogondo commented 9 years ago

みずほ銀行の左隣のビルです

noranuk0 commented 9 years ago

すみません。でるのが遅くなってしまったので到着19時過ぎになりそうです

shogondo commented 9 years ago
table_create --name Site --flags TABLE_HASH_KEY --key_type ShortText

select --table Site

column_create --table Site --name title --type ShortText

select --table Site

load --table Site
[
{"_key":"http://example.org/","title":"This is test record 1!"},
{"_key":"http://example.net/","title":"test record 2."},
{"_key":"http://example.com/","title":"test test record three."},
{"_key":"http://example.net/afr","title":"test record four."},
{"_key":"http://example.org/aba","title":"test test test record five."},
{"_key":"http://example.com/rab","title":"test test test test record six."},
{"_key":"http://example.net/atv","title":"test test test record seven."},
{"_key":"http://example.org/gat","title":"test test record eight."},
{"_key":"http://example.com/vdw","title":"test test record nine."},
]

select --table Site

table_create --name Terms --flags TABLE_PAT_KEY|KEY_NORMALIZE --key_type ShortText --default_tokenizer TokenBigram

column_create --table Terms --name blog_title --flags COLUMN_INDEX|WITH_POSITION --type Site --source title
kou commented 9 years ago
table_create --name Site --flags TABLE_HASH_KEY --key_type ShortText
column_create --table Site --name title --type ShortText
table_create --name Terms --flags TABLE_PAT_KEY|KEY_NORMALIZE --key_type ShortText --default_tokenizer TokenBigram
column_create --table Terms --name blog_title --flags COLUMN_INDEX|WITH_POSITION --type Site --source title
kou commented 9 years ago
truncate Site
load --table Site
[
{"_key":"http://example.org/","title":"This is test record 1!"},
]
kou commented 9 years ago

/tmp/test.grn:

table_create --name Site --flags TABLE_HASH_KEY --key_type ShortText
column_create --table Site --name title --type ShortText
table_create --name Terms --flags TABLE_PAT_KEY|KEY_NORMALIZE --key_type ShortText --default_tokenizer TokenBigram
column_create --table Terms --name blog_title --flags COLUMN_INDEX|WITH_POSITION --type Site --source title

load --table Site
[
{"_key":"http://example.org/","title":"This is test record 1!"},
]

command line:

% rm -rf /tmp/db && mkdir -p /tmp/db && gdb --args /tmp/local/bin/groonga --file /tmp/test.grn -n /tmp/db/db
kou commented 9 years ago

~/.gdbinit

set history save
set history size 10000
set history filename ~/.gdb_history
set breakpoint pending on
set print pretty on
set print static-members off
set charset UTF-8
redfigure commented 9 years ago

手伝います!

kou commented 9 years ago

ほんとにイベントを開催できました!イベント主催・会場提供、ありがとうございました!

次回開催に向けた話は #6 で!

noranuk0 commented 9 years ago

昨日はお疲れ様でした&私の思いつきを実現していただきありがとうございました。

全く別件で恐縮ですが、 当日、Windowsのデバッグ環境構築の手伝いをしていて気づいたのですが、 groonga 公式サイトの Windows - ソースからビルド のページに誤植が有りました。

誤) cmake . -G "Visual Studio 10 Win64" -DCMAKE_INSTALL_PREFIX=C:\groonga 正) cmake . -G "Visual Studio 12 Win64" -DCMAKE_INSTALL_PREFIX=C:\groonga

誤) Visual Studio 2010 正) Visual Studio 2013

かと思います。

kou commented 9 years ago

ありがとうございます!ソースの方は更新しておきました!サイトの方は次のリリースのときに反映されます。