Mitaka.rb & 三鷹プログラマーズカフェ合同忘年会

Webアプリ系しかもRubyの集まりっぽいからあまり縁のない世界なのだと思っていたのだが、プログラマーズカフェって何?って気になっていたので、急遽参加を決めた。とはいえ世間は狭いので、思いがけない再会があったり、見知った顔も何人かいた。ともかく普段とは経路の違う話が聞けて楽しかった。

で、ご飯を食べて返るってのも何なので、Webっぽいネタでと頭をひねって、Plan 9 + Pegasus + RitでLTすることにした。PegasusはWebサーバ、RitはPHPやebashみたいにHTMLの中にRcスクリプト埋めることができるドキュメント埋込み型言語。どちらも有澤先生の作品。LTではちゃんと説明する時間はなかったのだが、ごくごくシンプルな掲示板っぽいアプリを書いてみた。久々にRcのコードを書いたので結構構文を忘れていたのだが、POSTリクエストをパースしてってのも割と簡単に書ける。URLデコードだけは自分で書くのが面倒だったので、wercのライブラリを使った。

Pegasusのセットアップ方法も書こうかと思ったけど、またの機会に。ドキュメント通りにやれば特に迷うところはないと思うけど、/lib/ndb/localにドメイン名書いておかないと起動に失敗するとか、CGIを実行するときには、次のようなハンドラファイルを書く必要があった。

$web/etc/handler:
*.cgi	text/html	0	$target

資料はこちら。「Plan 9とWebプログラミング