RubyでしょぼいCGIつくってみたんですけど・・・
1 :
デフォルトの名無しさん:
2 :
デフォルトの名無しさん:01/09/21 11:12
#!〜が書いてないとか?
おっ来たねぇ。
がんがれよ。おまえには才能がある。
>>2 それも試したんですけど、どうもうまくいかないようです
7 :
デフォルトの名無しさん:01/09/21 11:17
実行パーミッションにしてないとか?
>>4 死んだスレに質問してもちょっと・・・
ウザイのは十分承知ですが、ここで続けさせてください
>>5 昨日のスレみてくれてた人ですか?
実はあれから徹夜で改良してたんです
でもバグって・・・
9 :
デフォルトの名無しさん:01/09/21 11:19
死んだスレでもないだろ。最終書きこみ昨日だし
10 :
デフォルトの名無しさん:01/09/21 11:20
>>7 色々試したんですが、設定の問題ではなさそうです・・
11 :
デフォルトの名無しさん:01/09/21 11:22
HTTPヘッダを送ってないとか?
>>9 プログラマー板のすれと勘違いしてました。すいません
>>11 詳しく教えてください。ヘッダの送り方とは?
13 :
デフォルトの名無しさん:01/09/21 11:26
print "Content-type: text/html\n\n"
15 :
ラウンジャー:01/09/21 11:36
>>14 やたー!おめでとう。
しかもヘッダの間違いだったのかよ!ワラタ。。
完成したらひろゆきにメールして2チャンネルにリンクしてもらいなよ。
きっとOKだと思うぞ。
>>15 わーい!うれしいな
ここで相談するの怖かったけど、来て本当によかったよ
ありがとね
ラウンジでも宣伝したから今アクセス来まくり
サーバー落ちそう
18 :
デフォルトの名無しさん:01/09/21 11:56
13によりネタ(宣伝)と断定させていただきます。
>>18 ネタでも何でもいいよ!
プログラム板の人ありがとね
あれ?
放置?
CGIってのがねえ。
自分ならheadline.html生成するスクリプトをcronでまわす。
それと、 SocketError, Errno::ETIMEDOUT 例外くらいは拾っておいてくれ。
>>22 おお!
貴重な助言ありがとうございます。
でも、自分はwin厨なんでcronまわせないっす
ソケットのエラーは戻り値をチェックすればいいんでしょうか?
例外処理はまだ勉強してないからやっときます
――――――――――――――――――――――
番組の途中ですが、臨時ニュースです。
「Rubyはクソです。ゴミ箱逝きです。 いじょ 」
この発言をコピペしていただければ幸いです。
___________ __________
‖ \|________
‖ | ON AIR.|
‖  ̄ ̄ ̄ ̄
./ ̄ ̄θ Λ_Λ
.../ //(´∀` )/|
./  ̄/⊂ ||_/
| ̄ ̄ ̄ ̄ ̄| ( ━┳┛
|_____| /ヽ」┘┻
――――――――――――――――――――――
番組の途中ですが、臨時ニュースです。
「Rubyはクソです。ゴミ箱逝きです。 いじょ 」
この発言をコピペしていただければ幸いです。
___________ __________
‖ \|________
‖ | ON AIR.|
‖  ̄ ̄ ̄ ̄
./ ̄ ̄θ Λ_∧
.../ //(´∀` )/|
./  ̄/⊂ ||_/
| ̄ ̄ ̄ ̄ ̄| ( ━┳┛
|_____| /ヽ」┘┻
――――――――――――――――――――――
番組の途中ですが、臨時ニュースです。
「Rubyはクソです。ゴミ箱逝きです。 いじょ 」
この発言をコピペしていただければ幸いです。
___________ __________
‖ \|________
‖ | ON AIR.|
‖  ̄ ̄ ̄ ̄
./ ̄ ̄θ ∧_∧
.../ //(´∀` )/|
./  ̄/⊂ ||_/
| ̄ ̄ ̄ ̄ ̄| ( ━┳┛
|_____| /ヽ」┘┻
↑なんでこの人はRubyが嫌いなのか?
知ってる人おせーて。
>>1 Oui. ソース、確かにありました。
それに、お役に立ててもらって嬉しいです。
何か気づいた点があれば、またカキコします、、、
>>30 僕の推測ですが、次のような人たちであると思われます。
1.Rubyがわからない、というよりオブジェクト指向を理解できなく、Rubyが使えないので、その八つ当たりする勘違いな人。
2.Rubyの驚異を恐れるPerl信者。
3.ルビ厨のうざさに苛ついているが、プログラムを組んだことも無い板違いな人。
4.よくわからんが、とりあえず煽っとけとがんばる厨房。
こんな感じではないでしょうか?
一部、Rubyの弱点(遅いとか、Ruby使えるCGIサーバが少ないとか、その他にも僕はあまりよくわからないがあるらしい、、)に嫌気がさして、Rubyを批判をしている人もいますが、そのような人たちはちゃんとした理由を書いて、無意味なコピペなんかしてないみたいです。
33 :
デフォルトの名無しさん:01/09/30 15:23
こっちもageよう。
メルマガで紹介されてたよ。
34 :
デフォルトの名無しさん:01/09/30 16:46
Rubyの驚異ってなんですか?(・ x ・)
>>34 >Rubyの驚異ってなんですか?(・ x ・)
んなものないよ、、、
Rubyが盛んになったとしても、それとPerlが落ちぶれるかはまた別の話だし、、、
まあ、コピペする人は変な強迫観念に陥っていると思われ
まあ、Rubyがおそいって言っても、Javaよりは速いから実用になるでしょ
37 :
デフォルトの名無しさん:01/09/30 17:33
>まあ、Rubyがおそいって言っても、Javaよりは速いから実用になるでしょ
すごい理論だね(笑)
今度、Javaが遅いって言う人には
こういう言い訳をすればいいんだ
>>31 日本人が作ったということで興味がわき
Rubyを作った人の本を読んだのですが
やはり、C,C++,Javaプログラマーから見ると
小規模なプログラムしか作れない言語だと見られてしまうはずです
一方、CGIのような使い捨てスクリプトを作る人にとっては
最初からツールがそろっていて便利だと感じるでしょう
たしか、あの本では何桁の数でも変数に保存できる
という事を説明していましたが、
c,c++,javaで作るような大規模プログラムでは
処理の種類によって、何桁の数でも保存できるデータ構造の仕組みを
変えます
ハッシュもキューもスッタクもリストも全部そうです
この変数(データ構造)を、Javaならばインターフェースでラップし
ポリモーフィズムで使うこともできますし、改良するのも楽です
オブジェクト指向はこのように使うのだと理解している人間にとって
Rubyのオブジェクト指向はいまいちなのです
書きやすさという点では
文字列処理はPerl,Rubyともに便利ですね
CGIには、もってこいの言語だと思います
そして、やはり新しいだけあってRubyの方が断然優れていると
個人的には感じます
>>37 スケーラビリティが必要なプログラムが世の中どれだけあるかだな。
例えば基幹システムをスクリプト言語*だけ*で作ろうとは思わないし作れるとも思わないが、
テキスト処理部分など一部に使うのは十分に有効だろう。
小規模なプログラムの組み合わせで大きなプログラムが作れる(と俺は思っている)。
適所適材ということだ。
個人的に Ruby でプロトタイプを作成して Java で実装をやってみたが、
UnitTest をきちんとやれば Java だけで十分だと感じた。
ま、結構そのままコードを移せることが分かったのは収穫だった。
(XML の DOM ツリーの diff を取るというだけのプログラム)
補足
>十分に有効だろう。
というのは、基本的なデータ構造でも
自作のものを十分に robust かどうかテストするのは結構大変だから。
使えるものは何でも使ってできる限り手抜きしたいのよ。
>>37-39
はいはい、板違いだから向こうに行ってね。
41 :
デフォルトの名無しさん:01/09/30 18:07
>使えるものは何でも使ってできる限り手抜きしたいのよ。
ここが意識の違いだよね
そんなこといったら、アルゴリズムとかデータ構造って
意味ないじゃん
42 :
デフォルトの名無しさん:01/09/30 18:42
ひろゆきのメルマガで紹介されたね!
おめでとう>作者
さてさて、昔の2chユーザーは知ってるとおもうんですが、
昔はヘッドラインってのがあったんですよ。。
いろんな掲示板のスレッドtop20とかが、
わちゃわちゃと見れるページですね。
ただ、サーバ負荷が高いので現在ははずしてたりしてたんですが、
ヘッドラインを公開してる方がいるので、
紹介してみますです。
「2ちゃんねるヘッドライン 」
http://nmgm.s2.xrea.com/2ch.htm このページにいって、見たい掲示板をチェックして「送信」ってボタンを
押せば表示されるですよ。
ソースも公開されてるそうなので、自分で置きたい人は
置いてみてくださいですー。負荷分散になるしね。
http://nmgm.s2.xrea.com/getsub2.zip ただrubyなんで、無料でおけるところは、、、あるのかな?
フリーのrubyサーバってあるのかなぁ、、
知ってたら教えてくださいー。
44 :
デフォルトの名無しさん:01/09/30 18:48
perlだったら俺の鯖においたのになぁ。。。
45 :
デフォルトの名無しさん:01/09/30 18:53
クッキーで利用者ごとのヘッドラインを保存してくれると便利になると思う
既出かしら
48 :
デフォルトの名無しさん:01/10/01 05:18
あ!作者さんだ
ありがとう、便利に使わせてもらてます
>>48 どうもね
なんか最初に板を立てた頃とは明らかに反応が違うね(笑
恐るべしひろゆきの影響力
CGIでもクッキーは使えるよ
>>50 見てくれたらわかると思うけど
この2ちゃんねるヘッドラインは、
掲示板を選んでCGIにリクエストを渡す部分と
リクエストを受け取ってヘッドラインを出力するCGIの部分から出来てるんだよ
利用者ごとに設定を変えるとなると、前者にクッキーを発行させるのが普通だと思うんだけど
これは静的なHTMLで書いちゃったから、もうJavaScriptでやるしかないと
という話です
んーとそうかな?
getsub.cgiっていうのがフォームからのPOSTで入力を受け取ると、クッキーを要求しつつ結果を出力する。
そこでユーザはgetsub.cgiをブックマークする。
で、次にブックマークからGETでgetsub.cgiが呼ばれたときにクッキーがあるようなら
それを元にHTMLをつくる、でいけるんじゃないの?勘違いだったのかな。
>>52 うーん、どうだろ?
それでいいのかな
暇が出来たらやってみるよ
Rubyはいいんだけど、Ruby使える無料鯖ってないよね
>>54 XREAがあるよ。
つか、
>>1がすでに使っているじゃん、、、
メルマガでひろゆきも気づいてなかったみたいだけど、、、
>>52 クッキーめんどくさいからブックマーク作成スクリプト組みました
>>47みたいなのを作る奴
とりあえずラウンジとニュー速とネットウォッチが選べます
この辺はまだ作りかけなんで我慢してください。
Delphiのはいいよ。
Rubyでもっと作ってくだされ〜
へ?apolloで作れって事?
大幅に改良
TWebBrowser使ってみました
「常に前」をいじるとエラーが出るんでさわらないで下さい
62 :
デフォルトの名無しさん:
if bbs.length == 0 #引数チェック
の前に
# cookie対応
bbs = cgi[ 'bbs' ]
if bbs.empty?
bbs = cgi.cookies[ 'bbs' ]
end
cookie = CGI::Cookie.new('name'=>'bbs','value'=>bbs,
'expires'=>Time.now+60*60*24*30).to_s
puts "Set-Cookie: #{cookie}"
unless bbs.empty?
logstr << "cookie: #{cookie}\n"
end
を入れてここより後のcgi[ 'bbs' ]をbbsに全部変えればいい。
if bbs.length == 0 # こんな感じ。