【Ruby】RubyでCGI
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2001/05/04(金) 12:57ID:c4hRtzGY関連リンクは>>2-3
0553nobodyさん
04/03/15 06:15ID:???EOFの真似というのでかなり興味をそそられるのだが、
この手のもので、どれが一番広まりそうかな。
大きいアプリ作っている人は、皆たいてい「自分用フレームワーク」を持ってると
思うし、この手の共通フレームワークに移行できたら楽かなと思うんだろうけど、
いざ移行するとなると、こいつとなら心中しても悔いなしという決心が要るよなあ。
0554nobodyさん
04/03/15 08:53ID:???J2EE をお手本にしたアプリケーションサーバ( + フレームワーク)。
0555nobodyさん
04/03/15 09:34ID:???EOF って、Enterprise Object Frameworks っていうやつなのかな?
ググってみたけど、あんまり分かりやすく説明しているところが無かったな。
誰か簡単に説明してくれ。もしくは、良いページを紹介してくれ。
0556nobodyさん
04/03/19 14:28ID:???結局作者しか使えないフレームワークになりそう。(数年後にははっきりすると思うけど)
rwikiの実装見ると、drubyでさらっと作ってる印象。
実はこれが正しいエンタープライズなシステムの作り方だと思うよ。
0558nobodyさん
04/03/20 12:47ID:???いちいち手で書くのが好きならいいんだけど、車輪の再発明だもんなあ。
0559nobodyさん
04/03/21 01:38ID:???るびきちさんの言動
0561nobodyさん
04/03/21 14:01ID:???0562nobodyさん
04/03/22 13:17ID:???漏れはウェブシステムのインターフェースとしては一番意味があるフレームワークだと思うんだけど。
(他のフレームワークは申し訳ないけど、手間かかるだけであまり意味がない)
0563nobodyさん
04/03/22 14:35ID:???ドキュメント (チュートリアル的なもの) が見当たんないので手が出せないでいます。
0564nobodyさん
04/03/22 15:20ID:???意味がある、ないを具体的にお願いします。
煽りじゃないよ。何を求めるかによってフレームワークにも合う合わないがあるからさ。
0566nobodyさん
04/03/23 15:16ID:h4hJAwq6rubyでcgiを勉強するのにおすすめの本ってありますか?
今のところ候補としては
・Ruby de CGI オーム社 堀川 久
・RubyによるCGIプログラミング SCC books 三並 慶佐
です。
0567nobodyさん
04/03/23 16:53ID:???どっちも薦めん。tDiary とか読め。
それか、オライリーのCGI本、もしくは Rubyアプリケーション何とか、とか。
それよりも、大学ではどんな風にRubyを教えてるのか、それを教えてくれ。
0568nobodyさん
04/03/23 19:31ID:???0569nobodyさん
04/03/24 04:59ID:???Tofuは使ったことがありますが、RWikiでの説明などで大体わかりました。
Divについては実際に使われているもののソースを読むのはいかがでしょうか。
たとえばdivipとか。
divip - Div IP Messenger
http://divip.sourceforge.jp/
で、divipのMLを読んだらUNIX USERのバックナンバーに
Divの解説記事があるとのこと。
[divip-list:7] UNIX USER2003-09
http://lists.sourceforge.jp/mailman/archives/divip-list/2003-August/000006.html
0570nobodyさん
04/03/24 20:00ID:???dRuby 本は積ん読になってました。読まんと。
divip と UNIX USER もチェックしてみます。
あと、ついでといってはなんですが、
Webrick のドキュメント (チュートリアル的なもの) で良さそうなのありますか?
webrick.org にいくつか使用例がありますが、
フォーム (HTTP POST) を使う例が無いのでそこらへんからつまずいてます。
0572nobodyさん
04/03/29 09:30ID:3mAZfbN2ちょっと勉強してみようと思うんだけど、お薦めの本とかあります?
拙者はC言語が分かる程度です。
0573nobodyさん
04/03/29 14:03ID:JHAif1f9たのしいRuby
0574nobodyさん
04/03/30 02:15ID:???Rubyのソースにある sample/webrick/demo-app.rb とか。
GETとPOSTのサンプルだと思います。
0575nobodyさん
04/03/30 02:40ID:???おおお!ありがとうございます。私の目は節穴でした。
言い訳ですが、FreeBSD の ports で入れると、
こういう Ruby 標準添付になった物のサンプルやドキュメントが
ごっそり無くなってる (インストールされない) んですよね。
まだ標準添付にならずに独立してた頃の方が、
そのへんがインストールされる分、良かった。
0576nobodyさん
04/03/30 03:09ID:???sample/webrick以下のファイルは、1.8.1リリース後に[ruby-list:39029]が
きっかけとなって追加されたみたいです。
http://rrr.jin.gr.jp/rwiki?cmd=view;name=ruby-cvs-2004-01-07#a21.3a22.3a19
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/39029
今後portsのrubyが更新されればこの辺のファイルもインストールされる、
と思います。多分。
0578nobodyさん
04/04/11 02:08ID:???perl CGI同様格好のセキュリティホール(攻撃対象)になりそうな予感。
0579nobodyさん
04/04/11 02:33ID:???“perlのCGI並に「動けば正義」みたいだなあ。”
という意味かな?
言語は何を使っても、きちんとプログラムを作らなければ
穴が出来るのは同じだと思うのですが。
0580nobodyさん
04/04/11 03:58ID:???なんとなく人と違うことをしたがるけどほぼ同じ事やってるプチあまのじゃくな人が好む言語ですか?
それならperlでいいじゃないかと正直思う。
0581nobodyさん
04/04/11 04:22ID:???0582nobodyさん
04/04/11 04:56ID:???穴が出来るかどうかと、出来やすいかどうかとは違う話です。
rubyの方が出来にくいと私自身は感じますが、rubyに親しんで無い人が作れば簡単に穴は出来ます。
それはどの言語でも一緒でしょ。
っていうか、そう思うなら自分で「CGIで穴bェ出来にくい」血セ語を作れよ。
どれだけ実用性とバランスが取れた言語が出来るか、見ものだな。
0583nobodyさん
04/04/11 19:08ID:???メリットないならrubyでCGIやる必要ないし。
0584nobodyさん
04/04/11 20:36ID:???0585nobodyさん
04/04/11 21:58ID:???0586nobodyさん
04/04/11 23:04ID:???0587nobodyさん
04/04/12 01:50ID:???ポイントにエサ垂らしてみて食いついてきたらキターって感じ。
デバックしてるときのブレークポイントでうまく捕まえられたときの嬉しさに通じるところがある。
最近は魚も賢くなってあきらかにエサ垂らしても食いついてこないので戦略的に釣りをするところが楽しい。
0588nobodyさん
04/04/12 05:59ID:???Perl使い続ける人は偉いと思うですよ。
Perl使う人は、仕事人という感じがしてる。
歴史が長いから、ユーザが多いからという理由だけてであれを使いつづけられるのは凄い。
コードに好き嫌いは無いというか、いい仕事をする、いいコードを書くというエゴから解放されていると思う。
Ruby使う人は激しく怠け者。
0589nobodyさん
04/04/13 22:38ID:???農作業なんかも得意だと思うね。
0590nobodyさん
04/04/20 15:47ID:Ea+/kdHDで書かれている内容はWindows+Cygwinの環境で試すことができますか?
0591nobodyさん
04/04/20 23:30ID:???Cygwin 上の DB がパフォーマンス悪いくらいのもので。
0592nobodyさん
04/04/21 01:08ID:???0593nobodyさん
04/04/21 09:39ID:???cygwinの方が私には良さそうです。
ttp://pcweb.mycom.co.jp/special/2004/sfu/
0594nobodyさん
04/05/06 00:28ID:wtWitys7この構文で warning: escaped terminator '"' inside string interpolation
と、エラーがでるんですが、原因はなんですか?
0595nobodyさん
04/05/07 22:30ID:OJ0mxpcsわしは、 TapKit に期待してます。
http://www.spice-of-life.net/tapkit/index_ja.html
0596nobodyさん
04/05/08 01:50ID:???お使いのRubyが1.8.0以降でしたら、以下のページの記述が当てはまるかも。
ttp://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=changes.1.8.0.ja
以下引用。適当に改行してます。
文字列の式展開 (expression interpolation in strings)
Now arbitrary statements are allowed inside #{} interpolation without escapes.
In other hand, they can no longer access to variables defined in eval.
#{} の中で、任意の文がエスケープなしで記述できるようになりました。
一方、evalの中で定義された変数にはアクセスできないようになりました。
0597nobodyさん
04/05/08 13:41ID:???PerlとJavaを比べたらPerlのほうがいいと思うよ。しかし、PerlとRubyでは、漏れの場合はRubyのほうがいい。
0598nobodyさん
04/05/13 14:13ID:???ここに色々なtemplateが紹介されてますけど、
皆さんはどれを使ってますか?
使った感想やお勧めがあったら教えてください。
出来れば理由も。
私はtempuraを使って見ようかなと思ってます。
理由は
http://www.imasy.or.jp/~hisa/tempura/tempura.ja.html
を読んで納得が出来たので。
0599nobodyさん
04/05/14 16:45ID:???0600nobodyさん
04/05/14 17:07ID:???0602nobodyさん
04/05/20 12:28ID:NShBOzWM�@Perlでは別インストールで多くの人が知らないデーターベース利用を標準で使用できるようにし、「データーベースが簡単に取り扱える」というイメージを特に強く植えつけた。
�Aウェブサイト作成への特化。例えば、セッション管理がそうだ。
�Bソースの隠蔽による著作権保護を可能にした。
データーベースを使いたいが、使い方がわからない。そこに、PHPなら使えるという情報が先に入る。これで、PHPに入った人もかなり多いはず。
PHPの言語仕様はZendに大きく左右される。
二年ほど前、PHPが出始めた頃には、変数のスコープがPerlとまったく同じ仕様だった。
もともと、Perlのソースコードを改編して作成されたPHP。
↓PHPの歴史
http://php.planetmirror.com/manual/ja/history.php
PHPには、Perlコードの退行による高速化の意図が言語のいたるところに見える。
マイクロソフトは、オブジェクト指向への対応というのが大義にVB6.0からVB.NETに言語仕様を大幅に変えた。
今後も大きく言語仕様が変わることはないのか?
オープンソースとは言っても、Zend社の
http://www.zend.com/management.php
の数人のスタップによって大きく左右される。
再帰的定義とされる「PHP:Hypertext Preprocessor」という名前にも理由がある。これは、要するに、正確には、「Perl Hypertext Preprocessor」としたいところだが、GNUの「GNU is Not UNIX」という再帰的な定義をもじったものだ。
要するに、「GPLのフリーソフトのライセンスには違反していませんよ!」と一つには主張し、また、一つには、「PHP is Not Perl」とでも言って、Zendの社としての姿勢を、先人の「Perl開発者たち」から擁護する意図があったのだろう。
Nではなく、Hなのが、そのための味噌だ!Perl開発者たちは、当然、面白くないはずだ。
PHP信奉者は、六芒星(hexagram)マークのユダヤ教にでも、入信せよ!
0603nobodyさん
04/05/20 16:28ID:cgjPprlDマルチぼけがぁああああああああああああ!!
0604nobodyさん
04/05/23 23:41ID:???def con(str1, str2)
str1+str2
end
普通のRubyだと、
puts con(con("h","o"),"ge") #=>"hoge"
とメソッド内の引数にメソッドを書いてもOKですが、
hikiで{{con(con("h","o"),"ge")}}を書くと、
Hiki::PluginException(wrong number of arguments(3 for 2)): con
が出ます。
0605nobodyさん
04/05/24 01:05ID:???Hikiのプラグインの引数は単に「,」で適当にちぎって
渡すだけで式として評価されるわけではない。ただし
数っぽく見えるものは数に変換したり、"..."や'...'
は外側の「"」「'」をはぎとったりはしてくれたかな。
0607nobodyさん
04/05/24 08:42ID:???うかつに用意するとセキュリティホールになりそうだが。
0608nobodyさん
04/05/24 08:55ID:???0609nobodyさん
04/05/24 15:45ID:Nhm51QmvRuby本体はruby-1.8.1-i386-mswin32.zipを利用しています。
0610nobodyさん
04/05/30 15:58ID:???【オフィシャル】Rubyはこのまま消えていく言語にノミネートされました 【サイト消滅】
http://pc5.2ch.net/test/read.cgi/prog/1085829204/
0611nobodyさん
04/06/28 21:24ID:???0612nobodyさん
04/06/28 21:39ID:???0613nobodyさん
04/07/05 05:17ID:???0614nobodyさん
04/07/05 07:05ID:8NRD/g5jほんとだよ。だれか知らないか。
0615nobodyさん
04/07/25 10:20ID:lhtgOqn2http://www.ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/104977
> he is working on restoring the web pages.
ってあるからそのうち復活するんじゃないすかね、きっと。
0616nobodyさん
04/09/06 20:32ID:yBVAikae0617nobodyさん
04/10/08 03:24:16ID:???Ruby人口って激減してるの?
0618nobodyさん
04/10/08 11:01:15ID:???CGIならPerl、というのが結局定着してるし。
0619nobodyさん
04/10/12 14:03:12ID:???0620nobodyさん
04/10/12 20:39:31ID:???0621nobodyさん
04/10/18 04:58:49ID:???単なるフォームの場合はわかるんですけども。
0622MoonWolf ◆BwMoonWLvE
04/10/18 21:46:47ID:???ソースをアップしてくれたらアドバイス出来るかもしれない。
普通はLocationヘッダを吐くか、<meta http-equiv="Refresh" content="10;URL=http://example.com/">
みたいなHTML吐いてリダイレクトさせる。
0623nobodyさん
04/10/18 22:01:58ID:MFPrIGvPCGIKitの場合は
response.set_redirect(飛び先のURL)
ですよ。
ちなみにファイルアップロードの時って違いあるんだっけ?
0624nobodyさん
04/10/19 01:06:57ID:???お答えいただいた内容をもとに解決することができました。
0625nobodyさん
04/11/11 16:59:35ID:???CGIKitはWebObjects風に<CGIKIT>タグをtemplateに埋め込むが、
SWSは通常のHTMLタグにsws属性で指示を埋め込めるらしい(Tapestry風か)。
通常タグの方が、templateのデザインにHTMLエディタが使えていいんだが、
CGIKitとしては「プリプロセッサでやってくれ」という立場のようだ。
http://www.freeml.com/message/[email protected]/0000480
というわけで、SWSの方が筋が良さそうなんだが、誰か使ってる奴いる?
0626nobodyさん
04/11/11 23:34:30ID:???やっぱりTemplateEngineは自作でしょ
0627nobodyさん
04/11/12 11:58:22ID:???0628nobodyさん
04/11/12 23:41:20ID:???割と簡単だったので今書いてるプログラムに使う予定。
ruby-listのがちょっとアレだけど、まあ。
0629nobodyさん
04/11/13 01:24:13ID:a20D0PWxどこのサイトか誰か知りませんか?
0631nobodyさん
04/11/22 04:45:41ID:???print "content-type: text/html\r\n\r\n"
# htmlをプリント
のようなcgiがまともに動きます.
ttp://arika.org/doc/debuan.mod_ruby.html.ja
ここを見る限り,
print "HTTP/1.1 200 OK\r\n"
などを書いてからじゃないと駄目くさいですが,
これはmod_rubyが使われていないって事でしょうか…?
0632nobodyさん
04/11/22 06:06:28ID:???サンプルのhttpd.confのままだと/rubyにrubyスクリプト置かなきゃ駄目なんですね…
恥ずかしい…
0633nobodyさん
04/12/09 01:38:09ID:???0634nobodyさん
04/12/11 01:20:49ID:???ちょっと感動した。
っても、BTS使おうよ!!とこれから会社の連中に頼み込まねばならんのだがorz
# どうせならDB、Firebirdにも対応させたいなぁ
0635nobodyさん
04/12/11 09:19:02ID:???なかなか便利だ。
っても、おれのToDoがバグ呼ばわりされてしまうのがorz
# 最初の報告者の表示を消したいなぁ
0636nobodyさん
04/12/15 22:22:22ID:GHNVBmM130歳を超えたサラリーマンの日曜プログラマは作りかけのスクリプトを一ヶ月ぶりに開くなんてザラ。
この歳になると記憶力も相当に落ちているので、コードが読みやすいことは切にありがたいのです。
0637nobodyさん
04/12/31 22:25:51ID:???来年はCGIクラスが使いやすくならないかな。
0638637
04/12/31 22:35:02ID:???などと思っていたら……
RAA - cgi_adjuster
http://raa.ruby-lang.org/project/cgi_adjuster/
というのがありました。
http://www.nslabs.jp/rubycgi-18compat.rhtmlを読むと「とぼけた失敗」
「Ruby 1.8.1でもRuby 1.8.0と非互換な変更が入っている(ふざけているの?)」
などと、そうとうお怒りのご様子。
0639nobodyさん
04/12/31 23:46:34ID:???これは開発者のメンタリティの問題だが。
0640nobodyさん
05/01/01 00:46:57ID:???いつまでも cgi.rb なんか使い続けてる方が間違いでしょう。
0641nobodyさん
05/01/01 14:50:38ID:???標準添付のがまともだと言う気はさらさらないが。
0642nobodyさん
05/01/01 18:47:11ID:???0643nobodyさん
05/01/01 21:09:57ID:???とか言うと荒れそうなのでやめとく。
0644nobodyさん
05/01/02 06:43:52ID:???WEBrickのServletとしてもすぐに使えるように作れるし。
0645nobodyさん
05/01/02 15:28:22ID:???え、標準添付? ……うぉっ、ほんまや。
たまにはmake installしたあとlib以下ものぞいてみるもんですなorz
つらつら眺めてみるです。さんくー
0646nobodyさん
05/01/03 09:59:01ID:???0647nobodyさん
05/01/03 15:10:16ID:???1.8.3が出る事には改善されていると思いますよ。
……などと他人事のように書いているのが間違いなのか。
0648nobodyさん
05/01/04 08:17:56ID:Y50UuVB0他に乗り換えなきゃいけないくらい深刻?
0649nobodyさん
05/01/05 00:21:46ID:???あるとしたらどんな点ですか?
0650nobodyさん
05/01/05 01:27:35ID:???638で出てる辺りは結構イヤソな気も。
0651648
05/01/05 07:58:47ID:ZQKhbklSたしかにそれはある。
>>649
CGIがRubyの書式で気持ちよく書けることでしょ。
またいったん覚えたらRubyの方がいろいろと他の用途にもつぶしがきく。
でもウェブ技術に限定すれば、ユーザーも多く高速なうえサーバー負担も軽いときているPHPには到底及ばん罠。
0652nobodyさん
05/01/05 15:29:45ID:???■ このスレッドは過去ログ倉庫に格納されています