勉強会2件参加しました

「ブログを書くまでが勉強会」ということで。。。

先週立て続けに2件、IT勉強会に参加してきました。初・勉強会。

変なプログラマーの作り方(第5回)

http://sites.google.com/site/hennapg/

テーマ「検索」で、お二人のプレゼンターが発表をされました。

fujioka0729さんの”Ruby(Rails)をつかって全文検索アルゴリズムを実装”ってのが面白かったです。フレームワークの使い方もRails初心者としてはかなり参考になりました。SennaMySQL全文検索エンジンも基本的なアルゴリズムはきっと同じですよね。違うのは全文検索インデックスの保管先が、Sennaではエンジン独自のバイナリファイルであり、fujiokaさんのサンプルではActiveRecordを用いたRDBMSのレコードであったという点、くらい。
サンプルでは、文章と単語の関係をn:nのテーブルリレーションでストアしたということで、300文章?程度のデータ量で、全文インデックスの作成に丸一日かかっちゃったらしい。そのときは「ふ〜ん」って感じでしたが、今思うとこれはかなり重要だなと。
今日、Webアプリケーションを作る際には、データの永続化にRDBMSを使うことが一般的だけれど、しかし当然のことながら、正規化されたDBのレコードという体系が向いていないアプリケーションも多いはずで、データストアをRDBMSではなく、独自のバイナリファイルにすることで、モノによっては数千倍の高速化ができるケースがあると。RDBMSを使ったデータストアの裏側には、これだけの「のりしろ」が眠っている、ということでしょうか。。最近ではRDBMS以外のデータ永続化手法もメジャーになってきてるので、スケールさせるためにも用途に応じた使い分けが必要ですね。

もう一件は地図検索サービス概論、という感じのお話でしたが、地図検索も、サービスによってかなり挙動がちがってくるんですねぇ。勉強になりました。

Kanasan.JS - Greasemonkeyチュートリアル読書会

Greasemonkeyって何?状態で参加しました。こんなことができちゃうプラグイン自体がJSで書かれているという、FirefoxExtensionの仕様やJSの柔軟性に、もうかなり興味しげしげ。JS勉強しないとな〜。。
勉強会中は、ずっと
「これでLang-8の使い勝手が悪いところがやっと直せるなぁ」→「いやそれって何かおかしいだろ」
のループ状態に。
いろんな尖った方とお話しすることができるのが楽しいですね〜勉強会。他の参加者の方の中に、Lang-8をご存知の方がおられたのも嬉しかったです。今後も精力的に参加していきたいです。