From: Fujioka Date: 2010-06-16T09:31:11+09:00 Subject: [ruby-dev:41617] Re: 質問・提案:cgi.rbの後継となるライブラリについて 藤岡です。 > 私も、普通のライブラリであれば「gemで入れるべき」で済むことだと思います。 > ただ、CGIに関しては、それでは済ませられない特殊事情があるのです。 > > > まず、初心者がRubyでCGIプログラミングをやりたいといった場合には > 「レンタルサーバーでCGIを動かしたい」という目的を持った人が少なくないのではないかと思います。 > となると、専用レンタルサーバーやVPSならともかく > 一般的な共用レンタルサーバーで、gemによるRackなどのインストールを行うのは困難です。 > えっと、どこが特殊事情なのかさっぱりわからないのですが、 つまり、初心者のためにRubyはcgiライブラリを改善すべきだと言うのは 全然納得いきません。Rubyを使う万人が幸せで、かつ、 メンテナがいるというのが重要だと考えます。 > そのため、CGIプログラムを共用レンタルサーバー上で動かすための選択肢は > > 1. 標準添付のCGIライブラリを使う > 2. 別のCGIライブラリ(Rackなど)をgemなしで直接ダウンロードし、サーバー上にアップロードして使う > > のどちらかとなります。 3. cgiのライブラリを同梱する でいかがでしょう。かつてはperlはcgi-lib.pl(ファイル名自信ない)を cgiアプリに同梱するのが普通でした。 > このうち2の手間を考えると、初心者であれば > 1を選ぶ人も少なくはないでしょうし > そもそも、標準添付のCGIライブラリの他に「別のCGIライブラリ」が存在することに気付かない人も多いでしょう。 > (私もwebrick/cgiの存在を知ったのは、Rubyを始めてから半年〜1年くらい後でした) > > > 以上の理由から、新しいCGIライブラリを標準添付にすることは > RubyGemsが広まっている現在においても、重要なことだと考えます。 > > 「gemのRackが標準のRackを上書きしてしまう」「バージョンアップが難しくなる」と言う問題に対しては > Rackの機能を縮小した、別名(例:TinyRack, CGIRack)のライブラリを作り > それのみを標準添付することによって対処できるのではないでしょうか? > こうすることで、gem経由でバージョンアップしたいときには改めてRackを入れてもらう、という振り分けができます。 > これだけだと何も新しくする必要はなくて cgi.rbでいいのではないかと思うのですが。。。 そもそもどうしてcgi.rbだとだめなんでしたっけ?