トップ «前の日(12-18) 最新 次の日(12-20)» 追記   RSS 1.0 FEED  

Journal InTime


2000-12-19 (Tue)

_ RubyHandler

mod_rubyのRubyHandlerの仕様を決めた。

たとえば、次のようなコードでハンドラオブジェクトを生成したとする。

class MyHandler
  def hanlder(r)
    ...
  end

  def translate_handler(r)
    ...
  end
end

MY_HANDLER = MyHandler.new

このハンドラオブジェクトを次のようなディレクティブによって ハンドラとして登録する。

RubyHandler MY_HANDLER
RubyTranslateHandler MY_HANDLER

つまり、ハンドラによって呼び出すメソッドが違う(RubyHandlerはhandler、 RubyTranslateHandlerはtranslate_handlerなど)ため、一つのオブジェクトを 複数のハンドラに登録できるわけ。 これで複数のハンドラ間でデータ共有ができるはず。

後は実装するだけなんだけど、たいてい実装してみると何か問題があるんだよね。

_ HTTPステータスライン

comp.lang.rubyで、mod_rubyで以下のようなコード(ちょっと変更してある)が 期待通り動作しない、という質問があった。

print "Content-Type: text/plain\r\n\r\n"
print "hello world"

mod_rubyはNPH-CGI互換なので、HTTPステータスライン("HTTP/1.1 200 OK" とか"HTTP/1.1 404 Not Found"とかいうやつですね)を出力してくれない。 したがって、以下のように自分で出力する必要がある。

print "HTTP/1.1 200 OK\r\n"
print "Content-Type: text/plain\r\n\r\n"
print "hello world"

でもこんなの面倒だし、他にも出力するべきへッダがあるので、普通はcgi.rbを使う。

require "cgi"

cgi = CGI.new
print cgi.header("type"=>"text/plain")
print "hello world"

これもFAQに追加しなくちゃ。

_ RD::RD2HTMLVisitor

RD::RD2HTMLVisitorって&<>はエスケープしてくれるけど"はエスケープして くれないみたい。 これっていいのかな。


2003-12-19 (Fri)

_ 免許の更新

免許の更新に行って来た。 最近は誕生日からさらに一カ月猶予があるので12/24までに行けばいいらしいけど、 さすがにそんな日に免許の更新に行くのは嫌だな。

なぜか違反者講習しか受けたことがないのだが(まだ若いから更新自体そんなに何回もしてない せいに違いない)、2時間よりちょっと早く終わることが多い気がする。法令とかで定められて いるわけではないのだろうか。

毎回見るビデオだけど、今回はかなり力の入ったドラマを見せられた。主題歌はさだまさし。 最近はやってるんだろうか。

あと、パンフのイラストに「シュミレーター」っ書くのははずかしいからやめた方がいいと 思います。