二日目も天気のぐずつく中で、熱気にあふれるカンファレンスとなりました。
二日目午前中の演題は、話題のスペクトルが広く、Ruby 用途の果てしない広がりを伺わせる一幕となりました。 また、話題の幅がただ広いだけでなく、とりあげる話題や題材に、昨日から午後の講演へと収斂する流れを感じさせる、配列の妙がありました。
……昨日よりちょっとお客さんが少ない? いやべつに、たださんの『集客力がない』というわけではないんですけど…
知名度も環境もまだまだで、なにか Ruby で書いても使ってもらえない状況でした……なにも考えなかったら。
そこでプロモーション戦略を練った。
そのためには、
結果として名前空間の分離はなく、実行順序がファイル名依存というように、欠点も多い「うわ ださっ」な仕組みになったが、これは戦略。こうしてプラグイン開発のハードルを思い切り下げ、人々を Ruby プログラミングへと誘導した。
今日も古い話ばっかり。
dRuby では、オブジェクトにメッセージを送ると、そのメッセージが他のプロセスに転送され、その転送先でメソッドが起動される。
手を挙げてください……(20 〜 30 人くらい)。いる!
オブジェクトって、結局そのプロセスにしかない。
「相対的」永続化がほとんどだろう (たとえば CGI より長生きさせたい、というのが要求の肝)。 それはもしかして OODB じゃないの?
再起動のときの手がかりとして中身を RD に落とす。変更のログ。 実行中は一切 RD を読まない。書き込むだけ。起動時の再構築に使う。
Web の UI とか、長生きが自然。コンテキストは細切れ (ユーザーはそう思ってない)
どこに書くの? 相続問題が発生する。 「遺言に苦労するなら、死ななきゃいいじゃん!」
処理の協調が出来る。参加者がマスターしか知らなくてもちゃんと動くのがミソ。超かっこいい!
dRuby では結局だれかのことを知らないと動かない。ので Ring。これは TupleSpace を探す仕組 (RingFinger)。
参加者は lookup で自サービスを登録、取得する。参加者がこけたら、賞味期限切れで削除。完全ではないがまあまあ動く。 個人サイト druby.org の維持・運用に使っている。
少しだけ。proxy ネタで
$SAFE=4 だとログも残せない。ログを残すサービスなどを、$SAFE=4 のスレッドに公開したかったので書いてみた。でも $SAFE=4 がいまいちだめっぽいので ARb の出番は……。
今日話す Amrita2 の構想は「だいぶ前にはだいたい固まりつつあったのだが、blog にはまってしまって開発が中断していた」とのこと。
セキュリティ。
API は、ほとんど expand 一個だけ。 結果、テンプレートと組み合わせて、スカラーでも配列でも true/false/nil でも扱える。Ruby の素のオブジェクトも扱えるので、たとえば現在時刻が表示できる。
HTML to Ruby コンパイラ。amrita:type 属性はコンパイラオプション。API として公開はしていないが一応拡張可能な形。
なんとも…… どんどんせかしてください。 はてなにある開発ブログのタイトル変更: 「Amrita2 強化月間」→「gem 戦記」
控室から拍手が聞こえます。めずらしい。
ここで控室から長身痩躯碧眼の男性が登場、登壇者に英語で質問を浴びせ始めます。 DHH でした (二日目のみの参加者のみなさんの中には、ここで初めて Ruby on Rails 作者をごらんになった方もおありでしょう)。
(質問は 2 つあったとのこと、登壇者のブログに詳しく紹介されています。)
好きなアイドルの項を立てたのは、結局 secondlife さんだけでした。
いままでは社内システムは全部 Perl で書かれていた。でも Perl は……今後どうなるの? そろそろ転換期?でも Ruby で Web サービスといっても決定打はないし……
オススメは、はてな。