トップページ⇒php
982コメント335KB

【Ruby】RubyでCGI

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/05/04(金) 12:57ID:c4hRtzGY
Rubyについて語るスレッドです。
関連リンクは>>2-3
0002名無しさん@お腹いっぱい。2001/05/04(金) 12:57ID:c4hRtzGY
【関連ホームページ】
Ruby Home Page http://www.ruby-lang.org/ja/ (公式ホームページ)
Ruby Ring http://kahori.com/ruby/ring/ (WebRing。ここをたどればいろいろあるはず)
0003名無しさん@お腹いっぱい。2001/05/04(金) 12:58ID:c4hRtzGY
【関連スレッド】
ruby http://tako.2ch.net/test/read.cgi?bbs=perl&key=969198148
PerlよりRubyがいいらしいぞ http://tako.2ch.net/test/read.cgi?bbs=perl&key=974680215
Rubyで掲示板スクリプト http://tako.2ch.net/test/read.cgi?bbs=perl&key=972938974
0004白痴な疑問でスマソ2001/05/04(金) 16:10ID:fcczG5h.
Rubyが動くサーバーの条件ってなんですか?
rubyが使える無料サーバーってありますか?
0005名無しさん@お腹いっぱい。2001/05/04(金) 17:23ID:c4hRtzGY
無料鯖でruby使えるところがあるかどうかは知らないが
有料鯖・ISPに関しては、ここを参照。

Rubyが使えるISPリスト http://www.jin.gr.jp/%7Enahi/Ruby/anywhere.html
0006名無しさん@お腹いっぱい。2001/05/04(金) 17:26ID:???
無料かつruby使えるが「クリエイタ限定」らしい。
http://www.users.yun.co.jp/
000742001/05/05(土) 02:36ID:???
>>5-6
有難うございました。試しに無料鯖で色々するってワケにはいかない
んですね(perlやPHPと両方使える有料鯖を借りるしかないかー)

ところでRubyのウリってなんでしょう?
というかオブジェクト指向ってどういう意味なんでしょう・・・
0008名無しさん@お腹いっぱい。2001/05/05(土) 03:28ID:???
Windows に冷たいので逝ってよし!
0009名無しさん@お腹いっぱい。2001/05/05(土) 10:59ID:???
有料鯖で、Perl Ruby C言語 PHP が使えるかどうかの一覧。
http://fantasien.cup.com/link/feature_rentalserver.html

(e-SITE、サービス終了しちゃったね…残念)
0010名無しさん@お腹いっぱい。2001/05/06(日) 10:36ID:???
プログラム技術板のRubyスレッド。

オブジェクト指向スクリプト言語Ruby part2
http://piza.2ch.net/test/read.cgi?bbs=tech&key=987231068
0011名無しさん@お腹いっぱい。2001/05/06(日) 19:08ID:???
>>7
有料鯖でも色々(実験とか)したらダメだろ。
0012名無しさん@お腹いっぱい。2001/05/10(木) 01:37ID:???
Ruby の CGI があまり無いのはなぜだろうか。
1. Ruby 自体普及してない。
2. Ruby 使いは CGI に興味が無い人が多い(?)。
3. いろんな意味で Perl の方が向いている。
4. 作者に悪いが cgi.rb があまり嬉しくない。

すぐに沈むのでage....
0013名無しさん@お腹いっぱい。2001/05/10(木) 02:53ID:7PDMmFLY
4.って好みの話?
それとも根本的に何かまずい所でもある?
cgi.rbを使ったCGIを作って使っているので、
そこんところとても興味あります。
0014名無しさん@お腹いっぱい。2001/05/10(木) 09:18ID:???
Ruby はウェブプログラミング向きではない。
0015名無しさん@お腹いっぱい。2001/05/10(木) 10:08ID:???
>>13
cgi.rb には私もお世話になってます。とても有難いです。
ただ、Perl で CGI を書いてる人をやる気にさせる程の
ものじゃないかなってこと。他のライブラリもそうなんだけど
日本人がターゲットなのに(勘違い?)日本語の説明が無いのも
よくないと思います。

あと不満じゃないけど、タグの出力機能は必要無いでしょう。
Ruby 使いで初めて CGI を書く人、暇な人、固い人
以外は使わないような気がする。
0016名無しさん@お腹いっぱい。2001/05/10(木) 10:15ID:???
>>14
>Ruby はウェブプログラミング向きではない。
というよりも、ウェブプログラミング入門に向いてない、の方が正しくないかな。
0017名無しさん@お腹いっぱい。2001/05/10(木) 11:16ID:???
>>15
私はタグ出力機能、重宝してます。
文法レベルでタグの閉じ忘れがチェックされるのと、
HTMLの規格に準拠したタグが強制されるのが有難い。

あと日本語の解説は
http://www.ruby-lang.org/ja/man-1.6/index.cgi?cmd=view;name=Ruby%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB
から
添付ライブラリ→CGI
で見られます。
すげー大雑把な解説ではありますが。

ターゲットはむしろ日本人限定じゃないと思います。
日本人が作者なんで日本語の取り回しに長けてる面はありますが。
最近は北米でのユーザーもがんがん増えてるようです。
0018名無しさん@お腹いっぱい。2001/05/10(木) 13:16ID:???
スクリプトの中にヒアドキュメント書きまくりは気持ち悪いし、
タグ出力機能はソースの見通しが悪くなる。
ということでおれはeRuby使ってるよ。
0019名無しさん@お腹いっぱい。2001/05/10(木) 22:23ID:7PDMmFLY
*.cgi一つでHTMLも書けるというのと、
ヒアドキュメントが嫌いってのがあって、
cgi.rbは重宝しました。
とはいえ、最近になってERbを使い始めている(^^;)。
0020名無しさん@お腹いっぱい。2001/05/12(土) 00:01ID:hPIXpPE6
eRubyで書いたドキュメントをCGIとして呼び出して
使っている。だからcgi.rbも使うなぁ。
0021名無しさん2001/06/21(木) 04:52ID:fZd90uYU
cgi.rbに、改行コードがLFだけのマルチパートなデータをPOSTすると、
read_multipartの中で無限ループするんだけど……。

しかも、NT4.0だとタスクマネージャからRubyを終了出来なかったよ。
Win2000だと終了出来たけど。

Apacheの設定か何かで、無限ループを阻止出来る方法無いの?
一定時間経ったら、自動的にプロセスを殺すとか。
0022名無しさん2001/06/21(木) 04:59ID:fZd90uYU
あと、cgi.rbの中で呼んでるtempfile.rbって、なんかUNIX依存っぽくないか?
Win32なApacheじゃ、素で動かなかったぞ。
0023名無しさん2001/06/21(木) 11:18ID:???
cgi.rb のマルチパートはバージョン上がるたびにトラぶってる。
(UNIX版もね)
うまくいかなかったらバージョン戻してみるのもいいかも
0024名無しさん2001/06/22(金) 02:11ID:E9i/qXeg
>cgi.rb
multipartの各パートをそれぞれ全部一時ファイルに書き出す仕様もなんだかなぁ。
中見てみたけど、eval多用してたりして、厨房な漏れには訳分からん。効率の為なのか?
もっとシンプルに書けるんじゃないの? いや、漏れは書けないけど。

Web検索してみたら、このライブラリに不満持ってる人は少なくないみたいだし、
CGI本出しちゃったし、Perl代替を狙うならCGIは欠かせない訳だし、
誰か他の人が書き直してくれないかなぁ、3つ目(?)のCGIライブラリを。
0025名無しさん@お腹いっぱい。2001/07/03(火) 23:17ID:hGnmL6gM
cgi以外にRuby使ってる人って
どんな用途で使ってんの?
0026名無しさん@お腹いっぱい。2001/07/03(火) 23:27ID:Z6/vpDDM
っつうかRubyでCGIを組むメリットってあんの?
0027名無しさん@お腹いっぱい。2001/07/04(水) 10:49ID:???
>>25
CGIにRubyを使ってるほうが少数派でしょ。RAAを見ても明らか。
0028名無しさん@お腹いっぱい。2001/07/05(木) 12:53ID:EtKdHoqM
RAAって何?
0029名無しさん@お腹いっぱい。2001/07/05(木) 23:43ID:???
>>28
Ruby Application Archive
http://www.ruby-lang.org/ja/raa.html
0030名無しさん@お腹いっぱい。2001/07/06(金) 00:55ID:???
それって、CPANとかPEARのRuby版って思って良い?
0031名無しさん@お腹いっぱい。2001/07/06(金) 02:35ID:P7VWVoDE
有難う>>28
0032名無しさん@お腹いっぱい。2001/07/09(月) 00:36ID:XKA0nNxs
タダでRubyCGIが動くレンタルサーバあるかね。
0033名無しさん@お腹いっぱい。2001/07/12(木) 23:12ID:.ANFtm8I
multipart使うと
cgi = CGI.new したとして
cgi['hoge'] じゃなくて
cgi['hoge'][0].read しないと値を得られない。

multipart じゃない form からデータがくると
read なんつうメソッドはないってエラーが出てしまう。
なんで同じにしなかったんだろう?
0034名無しさん@お腹いっぱい。2001/07/14(土) 16:34ID:gnTS0OVs
この情報ならここに沢山あるよ
変なURLに見えるけど内容は確か。
ttp://members.tripod.co.jp/casinoA1/
0035名無しさん@お腹いっぱい。2001/07/14(土) 18:43ID:???
>>34
氏ね。
0036名無しさん@お腹いっぱい。2001/07/25(水) 18:21ID:???
トップページからリンクされなくなってしまったので、とりあえず覚え書き。
http://www.ruby-lang.org/ja/compar.html
0037tempfile.rb2001/07/29(日) 23:25ID:jUN2xdtU
>>22
>あと、cgi.rbの中で呼んでるtempfile.rbって、なんかUNIX依存っぽくないか?
>Win32なApacheじゃ、素で動かなかったぞ。
僕もそんな気がしました。結局、
tempfile.rb[line31]
> def initialize(basename, tmpdir=ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp')
を次のようにいじったところ動くようになりました(?)。
→ def initialize(basename, tmpdir=ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'c:/tmp')

かっこ悪い修正ですが、悩んでいる人がいたら助けになるかも。
0038名無しさん@お腹いっぱい。2001/07/30(月) 19:55ID:???
そんなことしなくても Ruby がインストールしてある
ドライブの / (C:\とか) に tmp ディレクトリ作れば動いたよ。
0039372001/07/30(月) 23:40ID:nDJaYIZI
>>38
ほんとはそれでいいらしいんですよね。
こちらの環境ではなぜかうまく動作せず、
(Win2000+Appatch、アドミニストレータで動作)
思考錯誤の結果ああいうかたちになりました。
今度もう一度確かめてみます.
0040名無しさん@お腹いっぱい。01/09/25 01:51ID:jG.IKxsA
その情報ならここに沢山あるよ
変なURLに見えるけど内容は確か。
http://www.ruby-lang.org/ja/compar.html
0041るびちゅう01/09/25 23:30ID:???
Rubyを使える無料鯖はXREAがあるので、その記念age
0042名無しさん@お腹いっぱい。01/09/26 19:44ID:???
こんなん作ってみました
http://nmgm.s2.xrea.com/2ch.htm
0043名無しさん@お腹いっぱい。01/09/26 20:19ID:???
>>42
これRubyで作ったの?
0044名無しさん@お腹いっぱい。01/09/26 21:30ID:Y.kwk7Ok
>>42
ちょっと便利かも
とりあえずブクマークしとくわ
0045名無しさん@お腹いっぱい。01/09/27 08:33ID:???
PHP>>Perl>Ruby
一流CGIプログラマーの間ではこれが定説なんだってね。
俺も最初聞いた時はそんな馬鹿な!?って驚きを
隠せなかったよ。でも良く調べてみたら確かにその通りだなって納得したよ。
0046名無しさん@お腹いっぱい。01/10/07 23:58ID:???
なぜか200近いのであげ
0047名無しさん@お腹いっぱい。01/10/08 14:28ID:???
RubyなんかでCGI組んでる奴は糞

======終了======
0048名無しさん@お腹いっぱい。01/10/11 02:45ID:???
一流じゃなくてもやりたきゃやれば良いじゃん
OOの勉強には良いと思うよ
ただ実用面だとPerlにはかなわん、こっちはこれでもかって位モジュールが有るからねー
0049名無しさん@お腹いっぱい。01/10/11 10:19ID:???
>PHP>>Perl>Ruby

こんな順位つけてるヤツは所詮2流です。

適材適所が1流の仕事です。
0050名無しさん@お腹いっぱい。01/12/05 09:58ID:xi2isyGi
age
0051名無しさん@お腹いっぱい。01/12/05 18:45ID:acrdgRBF
Rubyに適したCGIってのもあまり思い浮かばないけどね。
0052名無しさん@お腹いっぱい。02/01/10 14:32ID:pG5s4nbd
eRubyをローカル鯖でテストしたいんだが、
次のようなエラーメッセージが出るだけだ。

ERROR
ruby: No such file or directory - "" (Errno::ENOENT)

内容はこれ
<% print "Content-type: text/html\n\n"
print "Hello, ruby!\n"
puts "hoge?"
puts "hoge?" %>

AN httpdを使ってるんだが
どうすればいいんだ?
00535202/01/10 15:29ID:SCRJRkGL
質問したけど、
APACHEをインストールして
やってみたら解決したYO!!

やはり鯖はAPACHEですな。
0054名無しさん@お腹いっぱい。02/01/12 09:20ID:3v4I3+Ai
eRuby向きのCGIフレームワークみたいなのないでしょうか。

CGI::Sessionをちゃんとupdateしてくれるとか(これはまった)、
例外拾ってくれてあの派手なエラー画面(+ソース丸見え)
が出ないようになってるとか、ページ間の状態遷移を楽に
記述できるとか。

自分で書いててよくわかんないけど、
皆さんどうしてますか。
0055名無しさん@お腹いっぱい。02/01/17 01:37ID:eUnOdGnG
>>52
さん!一人で解決しないで!APACHEインストールしたけど動かないよ!
たぶん設定だと思うんだけど・・・Perlは設定にすごく詳しいページ
http://www2j.biglobe.ne.jp/~apollo/server/server.html
があるのにRubyにそういうページが不足してると思う・・・
何で動かないんじゃー。Meにアパッチバイナリインストールが無謀だったのか。
0056名無しさん@お腹いっぱい。02/01/17 13:12ID:???
TEST
0057名無しさん@お腹いっぱい。02/01/18 02:13ID:ElgNfh5R
gzipのストリーム展開ってどうやるんでしょうか?
zlibインストールしてみたけどまだ良く解らなくて・・・
くだらん質問でスイマセン。
0058名無しさん@お腹いっぱい。02/01/23 10:39ID:???
消防の感想

Rubyに興味があるけど、実際に作りたいプログラムが思い浮かばない。
本に書いてあるスクリプトを丸写ししていても、勉強にならないし。

で、ちょっとでも自分にとって需要があるものと言うと、CGIなんだけど
如何せん、参考に出来るソースが少ない。

ソースが少ないと、CGIの種類が少ないってことだし、
絶対量が少ないと、結果として話題性に乏しくなる。

そうすると、情報量が少なくなる。=> Poorな製作者は作りづらい
作りづらいとCGIが増えないし、公開されるソースも減る。

この循環があるかと、思うのですが。
0059名無しさん@お腹いっぱい。02/01/24 22:05ID:C7eIKAZ/
eRuby/erbを使ってる人いる?
初めて使ってみたけどなかなかよかった
0060名無しさん@お腹いっぱい。02/01/25 00:33ID:???
>>59
JSPとかColdFusionもそうだけど、あの手のHTMLに埋め込む
タイプのやつ苦手だ。プログラムの可読性下がる。
Rubyの良さ半減て感じ。
0061名無しさん@お腹いっぱい。02/01/25 00:50ID:???
>>60
禿げしく同意。短いコードならいいんだがな。
0062名無しさん@お腹いっぱい。02/01/25 01:01ID:???
CGI書くときは、内部処理とHTML出力を完璧に分離させて書くけどなあ
0063名無しさん@お腹いっぱい。02/01/25 04:33ID:pTuOifZD
RubyでCGIかいてる人いる?
0064名無しさん@お腹いっぱい。02/01/25 06:15ID:???
マルチレスすまそsage。

>>58
そういう話になるともう数の問題になってしまうので、
誰かがばりばりCGIを書いて増やすしかない、ってことに
なってしまいそう。地道でよいので徐々に頑張っていく方向で。

>>59
ERbつかってます。良いですね。

>>60
埋め込む量とか程度の問題、と僕は考えてます。
他にはWARLUSとかは違う手法ですね。
ruby-listにでも紹介されてましたが、以下の2ch風(?)BBSで
使われています。

匿名掲示板(仮)
ttp://210.155.146.159/bbs/

>>63
ヘタレなCGIであれば書いてますが、何か?
0065名無しさん@お腹いっぱい。02/01/26 03:25ID:???
確かにerubyだけで全部済まそうとすると読めたもんじゃないと思うけど、
データ処理のロジックの部分は普通のスクリプトで書いて表示部分だけerubyで書くと、
処理と出力の分離もできて一石二鳥だと思う。
0066名無しさん@お腹いっぱい。02/01/26 03:50ID:YLXIwbR+
WALRUSってなんかすごそう
0067名無しさん@お腹いっぱい。02/01/26 16:00ID:???
内緒だけどちゃんと仕事でrubyのCGI作ってるよ。

たしかに重いんだけど、mod_rubyを使えば我慢できないこともない。
なんでrubyを使ったかというと、たんに新しいものが使いたかったって
だけだけど。
0068名無しさん@お腹いっぱい。02/02/02 10:04ID:???
>>65
それって、内部処理を埋め込みスクリプトからrequireしちゃうってこと?
0069名無しさん@お腹いっぱい。02/02/02 11:01ID:5I8PZ1VP
>>59
使ってるよ。>>68 のいうとおり、erubyスクリプトでは require した後は
ほとんど結果を繰り返し出力するくらいの小さいことしかしてない。

ただうまくいかないのは、結局 rhtml も html なので、
例えば何枚かhtml素片があって好きな部分を表示するには
ロジックを入れて選択するしかないんだよね。
つうわけで、rhtmlがcase when... だらけになったりしてしまい、
あまり美しくならない。結局動的に html 生成するなら、eruby に1発任せるんじゃなくて、
むしろ rhtml は唯のテンプレートと開き直り、
ERb 等で生成ロジックまで自分でコントロールするのが
正しいのかも。
例外拾うのも必須だけど(でないとエラーの時にソースコード丸見え…)
rhtmlにいちいち begin rescue end とか入れたくないよね?

みんなどうしてる?
0070名無しさん@お腹いっぱい。02/02/04 16:47ID:C5lTY9nr
Rubyで作ろう!スレッド式掲示板 だって。
http://210.155.146.159/bbs/s194/
0071名無しさん@お腹いっぱい。02/02/06 08:52ID:???
>>70
そこ見てコソーリ勉強中
0072名無しさん@お腹いっぱい。02/02/12 10:15ID:iISjt4Rm
>>70
更新されてたよ。でも、いつになったら出来ることやら(藁
http://210.155.146.159/news.html
0073nobodyさん02/03/21 07:38ID:+PRed0xw
上げてみよう
■ このスレッドは過去ログ倉庫に格納されています