@m_seki の

I like ruby tooから引っ越し

Tofuのこと

眠いけど忘れないうちにメモしとこ。

id:xibbarさんが札幌の道中にCGIとRackのことを話してたので、WEBrick::CGIっていうのがあるんですよとか説明してるうちに大昔のことを思い出しました。

10年くらい前にDivっていうのががあって(私は未だに使っているけども)、その後WEBrickと出会ってTofuを書いた(ような気がする)。
最初のDivはCGIを使っていたんだけど、WEBrickサーブレットとどっちでも動くような層が欲しくなってDivのセッション管理部分から独立するようにTofuができた。Tofuはセッション管理が目的だけど、Webサーバとのインターフェイスの違いを吸収する係でもあったんだ。Contextとかいうのがたぶん界面になるクラス。当面はCGIWEBrickサーブレットを対象としてて必要になったら増やす作戦。でもその後両者の差異を全部吸収するのがしんどくなって須藤社長から叱られたりするうちにやる気がなくなって、WEBrickCGIになってくれよー、とか念じていたらnotwork方面の神々がWEBrick::CGIを提供してくれました。というわけで私がやりたかったWebサーバとのインターフェイスの違いを吸収する係を自分で用意する必要がなくなってハッピーになったのでした。ちゃんちゃん。

使ったことないけど、RackはRackですばらしいと思うので否定するつもりはないです。機能がダブる部分があろうがなかろうが、書きたいものを書くべきだっ!

最初のDivは黄色い本に、次の世代のは赤い本になんか書いたと思います。
dRubyによる分散オブジェクトプログラミング dRubyによる分散・Webプログラミング