勉強会2件参加しました
「ブログを書くまでが勉強会」ということで。。。
先週立て続けに2件、IT勉強会に参加してきました。初・勉強会。
変なプログラマーの作り方(第5回)
http://sites.google.com/site/hennapg/
テーマ「検索」で、お二人のプレゼンターが発表をされました。
fujioka0729さんの”Ruby(Rails)をつかって全文検索アルゴリズムを実装”ってのが面白かったです。フレームワークの使い方もRails初心者としてはかなり参考になりました。Senna等MySQLの全文検索エンジンも基本的なアルゴリズムはきっと同じですよね。違うのは全文検索インデックスの保管先が、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をご存知の方がおられたのも嬉しかったです。今後も精力的に参加していきたいです。