著作一覧 |
この日は、JRubyKaigiでLTやった。
なんか最後まで走りきれなかった。
走りきれなかったといえば、大場さんのRAVAデモ(jrubyの上でravaを動かして、その上でjrubyを動かして、その上ででravaを動かして、というのを12単衣にして、美しき日本のRubyというのを示すということに最終的にはなるはずのもの)が、まったくそこまでたどり着けなかったのが残念というか、観ていると余裕たっぷりに時間を使っているので予定調和としてデモまでたどり着かないのかと思った。後で聞いたら実際に動く(JRubyはクラスが不足しているから無理だけどfibは動く)というか動かすようにするためにravaのrequire循環参照のバグを潰さなければならなくてひどい目にあったとか。その成果物のrava。
あとは、えんどうさんのquine(特にエンディングの5分間実行にかかる大作)はすげぇなぁとか、akrさんのプレゼンは相変わらずおもしろいなぁとか。akrさんのプレゼンで、やたらと時間を気にしているので、最後の最後によほど重要なことを言うのだろうと思ってwktkしていたのだが、はて、なんだったのだろうか。単に集めたネタをすべて見せたいというような単純な話ではないと思うのだが。forkするとファイルハンドルが子プロセスに受け継がれるからopen-fork-closeの順で記述すると子プロセスの処理時間に引っ張られる可能性があるとか。非同期シグナル(EINTRの話だと思う)の話は最初から省略とか書いてあったように見えたし。feofの話はどうもおれも引っかかったか引っかかっているのを見たことがある気がした。最後はユースケース重要というまとめかな(確かに最後が重要だったようだ。事例を集めるとか他の言語はどのような仕様となっているかとか)。
後でゆうぞうさんと、httpsでのgets+sysreadは、もともと1行目のconnectに対する応答を受信しない限り(というか、受信してこちらがリクエストを送らない限り)、後続のデータは来ないので問題とはならないのではないかとかいう話をする。https proxyのプロトコルについてはその通りだけど、まあ相手次第だからかも(特に例が例だし)、とか。
ジェズイットを見習え |
HTTP CONNECT は例に悩んだんです。もともとは cvs pserver で通信の途中から gzip 圧縮というのが発端なんですが、いまさらそっちはねぇ。もっといい例があったら知りたいです。
確かに良い例は出ないですねぇ。何となくやってしまいそうな気はしますが。<br>プロプラエタリなプロトコル(メインフレームの尻尾を引きずっているようなもの)で、先頭2バイトに長さが入っていて残りはバイナリなので、先頭だけgetc2回で読んで、そこで得た長さをsysreadみたいなことはしそうですし、HTTPでbodyの直前までgetsで読んでbodyはcontent-lengthでsysreadとかもありそうですが、例としてはどうなのかなぁ。(どちらも長さを指定しているだけに困ったことになりそう)
JRubyKaigi登壇ありがとうございます。<br>面目ないです。スライド公開しました。<br>http://www.slideshare.net/koichiro/rava-on-jruby
最後まで見られなかったのは残念ですが、おもしろいLTだったと思います。