2012-03-13 (Tue) [長年日記]
_ Asakusa.rb参加
たまたま出張が入ったのでAsakusa.rbに行ってきた。
ささださんのところの学生さんの発表で、サーバサイドからRubyでブラウザ上のJavaScriptを呼び出すフレームワーク(?)の話を聞いて面白かった。 RJSに似てるけど、もっとやり取りの粒度が細かくて、ブラウザ側では一切JavaScriptコードをユーザが書かなくていいのが特徴。 リモートオブジェクトの参照をテーブルで管理してて、現状ではテーブルから削除しないそうなので、実用化するにはそのあたりを何とかしないといけなさそう。 RubyのファイナライザからJavaScriptを呼び出してテーブルからエントリを削除するとかかなあ。毎回呼ぶと遅そうだけど。 dRubyはたしか一定時間アクセスがないオブジェクトをテーブルから削除してた気がするけど、そんなのでも問題ないのかな。
あと、松田さんたちから何か話せと言われたので、Enumerable::Lazyが入った話をしてきたけど、Asakusa.rbの猛者たちでも意外とどういうものか理解してなかったので、一般の人たちがちゃんと使えるか不安になってきた。 flat_mapの実装でrb_block_callを入れ子で呼ぶとSEGVするとささださんに文句をいったけど、後でデバッグしたら単にrb_funcallとrb_funcall2を間違えてたせいだった。ごめんなさい。やっぱりCは死ぬべき。