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

【Ruby】RubyでCGI

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/05/04(金) 12:57ID:c4hRtzGY
Rubyについて語るスレッドです。
関連リンクは>>2-3
0299nobodyさん03/07/29 04:29ID:???
>>295
それじゃ自分で正規表現を指定できないではないか
0300nobodyさん03/07/29 23:02ID:SXyppRH6
CGI::Sessionを用いてセッション管理をしようと思うのですが、

利用しなくなったセッションファイルを自動で消去することは
できないんでしょうか?

ある本をよんだら、CGI::Session.sweep()を使うと書いてあった
のですが、エラーが出て使えません。
0301nobodyさん03/07/30 03:09ID:???
>>300
> ある本をよんだら、CGI::Session.sweep()を使うと書いてあった

sweepの定義はその本に書いあるのだと思われ。

利用しなくなったかどうかの判断基準は利用者によって異なる。
だから、一般的な方法は存在しない。
0302nobodyさん03/07/30 04:42ID:???
Rubikitiさん出版おめでとう。
0303nobodyさん03/08/05 00:21ID:???
843 :デフォルトの名無しさん :03/08/01 01:55
るびきち著『Rubyシェルプログラミング−irb&irbsh徹底活用−』8月4日発売です
http://www.gihyo.co.jp/books/syoseki.php/4-7741-1798-6

基本的にこの人は他人との意思疎通が不可能な引き篭り星人な為、
何を言っているのか、何を伝えたいのかが全く見えません。故に専門書としては全く使えません

ではこの本のウリは何か?それは「他人をムカつかせるにはどうすればいいのか?」という厨房必修のスキル養成本としての価値に
他ならないでしょう。礼儀をわきまえない砕けすぎた態度から始まり、徐々に高圧的な態度へ、最後は相手を全否定し卑下し、自分が
相手に比べ、如何に優れた人間であるかを延々と語り続けるその試合運びに、各地厨房サイトから歓声が上がっております
なんとあの、2ちゃんねるネトヲチ板の皆様からも「掲示板のレスが反感を買うための例文集のようだ」とのお墨付きを得ております


そして「絶対零度つまらなギャグ集」としての機能も持ち合わせております。
なぜ、ウケ狙いの小ネタが、そこまでつまらないのか?スベろうと努力したってそこまでつまらない発言できるものではありません
正に天が与え給った才能だNe!! 合コンで思いっきりスベッて周りからジト目で見られてみたいソコのあなた!必読です。

参考文献 Rubyを256倍使うための本 魔道編
0304nobodyさん03/08/06 19:53ID:???
次は農道編キボンヌ
0305山崎 渉03/08/15 22:44ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0306nobodyさん03/08/23 03:43ID:???
eruby で エラーメッセージをブラウザに表示したいんだけど
できません。
MLをみたら $DEBUG = true
にするとありますが、そうしても変化がありません。。。

どうすればいいんですか?
0307nobodyさん03/08/23 19:08ID:???
Internal Server Error とかで eruby から何も返ってこないなら、
eruby 自体が起動されてないんじゃないの?
サーバーの設定を確認した方がいいような。
サーバーのエラーログが見れるのならそこを見るべし。
0308nobodyさん03/08/23 21:49ID:Ba5Hz+Nk
erubyは動いているんですが、apacheのログを開きながらデバッグするのが
面倒くさいだけなんです。

作っている時だけブラウザにエラーを表示してくれると助かるんですが。

eruby + mod_ruby で使ってます。
手元に環境がないんでversionがわかんないんですが、どちらも最新のものだと思います。
0309nobodyさん03/08/23 22:32ID:???
生成したrubyコードが parse error になる場合はstdoutには何も返さん罠。
コマンドラインで実行してみれ。
0310nobodyさん03/08/24 00:59ID:???
>>313

ruby の parse error は apacheのログには表示されますので、
それをブラウザに表示できる設定がないかなと思ったんです。

stderrはerubyでは拾えないということですか?
0311nobodyさん03/08/24 02:40ID:???
parse error って拾えるのか?
0312nobodyさん03/08/24 05:41ID:???
つーかコマンドラインで表示されるエラーを
なんでブラウザで見たいのかがさっぱり分からん
0313nobodyさん03/08/24 06:34ID:3TVF6Tbn
>312
CGIの引数渡すのがめんどくさいんだろ
031431203/08/24 10:00ID:???
>317
めんどくさいていうか、わかんないんです。
コマンドラインでPOSTデータやcookieデータを渡す方法が。

0315あぼーんNGNG
あぼーん
0316nobodyさん03/08/24 20:16ID:???
parse error になるかどうかと入力の有無は関係ないと思うのだが
031731203/08/25 00:38ID:???
別に parse errorばかりのことをいっているんじゃなくて、
例外が発生しても Internal server errorになるわけで。

できないんなら、できないでいいんだけど。
煽られるのって楽しいね。
0318nobodyさん03/08/25 01:25ID:???
おいおい、parse error以外の例外は大抵捕捉できるだろ
つーか、311=312なの??
0319nobodyさん03/08/25 09:27ID:???
どれが>>306かいまいち分からんが、
実行時の例外は $DEBUG=true しとけばブラウザで確認できるはずだから
インタプリタがコンパイルできるかどうかだけはコマンドラインでeruby実行して
調べれっていわれてるんでしょ。
0320nobodyさん03/08/25 14:17ID:IWdWlewI
IISでeRubyって無理なのかな・・・
0321nobodyさん03/08/25 15:13ID:???
ISAPIにすればいけるんでない?
0322nobodyさん03/08/25 18:59ID:???
あれ、eRubyは昔はparse error もバッチリブラウザに出てたけど・・・
ソース丸見えになるのでデフォルトでこれは勘弁と思ったものだ。
0323nobodyさん03/08/26 01:50ID:???
>323
mod_ruby を外したらブラウザに表示できました。
mod_ruby + eruby だと表示できないようです。

--
mod_ruby 1.0.5
ruby 1.6.8 (2003-03-26)
eRuby version 1.0.3
0324nobodyさん03/08/26 11:26ID:???
>>323
なるほど、と思ってソースのあたりをいろいろ探して見た
httpd.conf で
RubyRequire apache/eruby-run -> RubyRequire apache/eruby-debug
RubyHandler Apache::ERubyRun.instance -> RubyHandler Apache::ERubyDebug.instance

に変更したらparse error もブラウザに出た
しかし、HTTPサーバごとデバッグ環境にしなけりゃならんのだなあ・・・
0325nobodyさん03/08/26 22:36ID:???
埋め込みコード系(ERB,eruby)よりHTML::Templateを勧める。

http://raa.ruby-lang.org/list.rhtml?name=html-template2

他の環境(オブジェクト、DB)を変更する副作用が一切ないから
思う存分プレゼンテーションロジックのデバッグが出来る

ビジネスロジックはTest::Unitできちんとテスト書きましょう
0326nobodyさん03/08/31 13:41ID:???
テンプレートなら、amritaと言うライブラリもあるよ。
0327nobodyさん03/09/01 20:45ID:???
>>326

amritaは名前空間が判りづらいから嫌い。
0328nobodyさん03/09/02 06:02ID:jo93f+PB
rubyでCGIを書くにあたって、使ってるデザインパターンとかあります?
0329nobodyさん03/09/03 02:26ID:???
nora はどう?
0330nobodyさん03/09/03 02:41ID:6XWfASQR
HTML::Templateについて詳しいサイトないですか?
html-template.rdだけじゃ、複雑なことしたいときどーすりゃいいか分からん
0331nobodyさん03/09/03 22:54ID:???
1.8.0にしてみた
ENV[]から代入した文字列は変更不可だった
とりあえずひっかかったのはいまのとここれだけ
0332nobodyさん03/09/04 02:16ID:???
freeze するようになったんだっけか。
変数にアサインしてもStringオブジェクト自体はかわらんからね。
dup すれ。
0333nobodyさん03/09/04 10:48ID:???
サンクス。dupで対応したけど
Rubyの使用が最も少ないサーバ(ほとんどphpとPerl)を選んで
入れたのに、いきなり出たんでちょっと別のサーバに持ってくのは
慎重にならざるをえないな・・
0334nobodyさん03/09/07 18:35ID:90cSPk+W
コマンドラインからは動くCGI(HTMLを期待通り出力する)
が、サーバから動かない時って、どんな可能性があるでしょうか?
INTERNAL_SERVER_ERRORになってしまいます。
以下のことは確認しました。何か理由思いつかないでしょうか?

実行可能になっています。
そのディレクトリにwwwがファイルを作れるようになってます。
Apacheの設定でCGIを使えるようにしています。
#!/usr/local/bin/rubyを文頭に書いてます。
print "Content-type: text/html"はあります。
0335nobodyさん03/09/07 18:46ID:???
>>334
apacheのエラーログには何か出てない?
suEXEC関連のエラーなら、そっちのログも(ディレクトリがグループ書き込みできると実行できない)
033633403/09/07 19:18ID:90cSPk+W
>>335
やっと、できました!!
あーよかった。もうちょっとで一日が無駄になるところでした(^^;)

Apacheのログみてたら、book1~ に対してPermission deniedとか書いてあったので、
book1~を削除したら、動いてくれました。
PStoreの保存するファイルの名前がbook1で、コマンドラインから実行していた時に
book1やbook1~が作られていました。
book1の方は消していたのですが、book1~は気にせず残したままでした。

ありがとうございました。これからは、CGIが動かない時、Apacheのログもよむことにします。

ちなみに、他にでてたエラーのキーワードは、こんな感じです。
同じようなエラーが出た時に検索にかかるように、載せておきます。
Premature end of script headers: wook.cgi, referer: http://localhost/cgi-bin/***.html
/usr/local/lib/ruby/1.8/ftools.rb:23:in `initialize': Permission denied - ./book1~ (Errno::EACCES), referer: http://localhost/cgi-bin/***.html
/usr/local/lib/ruby/1.8/ftools.rb:23:in `open', referer: http://localhost/cgi-bin/***.html
from /usr/local/lib/ru
by/1.8/ftools.rb:23:in `syscopy', referer: http://localhost/cgi-bin/***.html
from /usr/local/lib/ruby/1.8/ftools.rb:43:in `copy', referer: http://localhost/cgi-bin/***.html
などでした。

ホントありがとうございました!
0337nobodyさん03/09/08 00:50ID:???
すんません
URLエンコードってどうすればよいんでしょ‥?
0338nobodyさん03/09/08 01:40ID:???
>>337

require 'cgi'
CGI.escape

そういう意味じゃなくて?
まあcgi.rbの中見ればわかる
033933703/09/08 01:57ID:???
取り敢えず、エンコード部分は、CGI.escapeと同じにしてみたんだけど
どうやら、IEが返してくるENV['HTTP_COOKIE']の値が想定していたのと違うみたい
writeから始まって、値のみがカンマ区切りで入っているデータが返ってくるようで
キーはどこいったの??って感じです

値を変えてみてしてみたのですが、返ってくるENV['HTTP_COOKIE']の値が変わらず‥
path指定を消して、再度値を変えてみてしてみたのですが、変わらず‥

以下のメソッドの結果をそのままプリントしているのですが、なにかまずいでしょうか?
def mkCookie(recipe, expiryDate = 30, path = nil)
 t = (Time.new.to_i + (expiryDate * 86400)).to_i
 t = Time.at(t).gmtime.strftime("%a, %d-%b-%Y %H:%M:%S GMT")
 text = ''
 recipe.each do |key, value|
 text << "Set-Cookie: #{escape(key)}=#{escape(value)}; expires=#{t};" + (path ? " path=#{path};" : '') + "\n"
 end
 text
end


ひょっとして、クッキー使用前に使ってた
IE Powertoys Plus!のどこでもクッキーが???
034033703/09/08 08:54ID:???
おは
関係のあるCookieを全て削除したらどうやらスクリプト側で受け取るものは正常になっていました

Cookieのファイルを見た感じの違いはキー・値のペアの区切りが改行になっているか「*」になっているかの違いでした

どうしてそうなったのか、Cookieはなぜ上書きされなかったのかは不明‥
0341nobodyさん03/09/08 10:36ID:???
>>330
具体的になにがしたいんだ?
HTML::Templateでは、テンプレート側では複雑なことはできない。
複雑なこと(例えば複雑な条件式など)は、ぜんぶメインプログラム側で行う。
0342nobodyさん03/09/09 01:02ID:64dJm4LW
HTML::Templateってparam()にセットした配列がテンプレート内で
使われてないとエラーになんの?
0343nobodyさん03/09/09 09:58ID:???
>>342
どんなエラー?
実際のスクリプトとテンプレート、それにエラーメッセージをみせろ。
0344nobodyさん03/09/09 10:23ID:64dJm4LW
----hogehoge.rb----
templ = HTML::Template.new('hogehoge.html');
templ.param({'test'=>true});
array = [{'host'=>'book.2ch.net','board'=>'bizplus'},
{'host'=>'news5.2ch.net','board'=>'newsplus'},
{'host'=>'news4.2ch.net','board'=>'news'}];
templ.param({'array'=>array});
print(templ.output);
------------------

----hogehoge.html----
<!begin:test>
<!begin:array>
HOST:<!var:host>
BOARD:<!var:board>
<!end:array>
<!end:test>
---------------------

----error message----
./template.rb:78:in `node': node array not found (ArgumentError)

from ./template.rb:62:in `param'
from ./template.rb:61:in `each'
from ./template.rb:61:in `param'
from ./template.rb:59:in `each'
from ./template.rb:59:in `param'
from ./hogehoge.rb:9
--------------------
0345nobodyさん03/09/10 19:14ID:???
>>344
これって、どのHTML::Templateを使っている?
おれが使っているのは
http://raa.ruby-lang.org/list.rhtml?name=html-template2
なんだけど、テンプレートの書き方がなんか違うね。

それはそうとエラーの原因は、
(1)テンプレートで記述している木構造と
(2)テンプレートに与えているデータの木構造
が異なることが原因だろ。
(1)では test の下に array があるが、
(2)では test と array が兄弟になってないか?
034634503/09/10 20:46ID:???
>>344
おれの勘違いだったかも。

ループのまわりをif文で囲むと、どうもうまくいかないみたい。
表示する/しないをif文で制御するのではなく、
ループするデータがある/ないで表示を制御するとうまくいく。

------- sample.html ------
<TMPL_LOOP NAME="list">
HOST: <TMPL_VAR NAME="host">
BOARD: <TMPL_VAR NAME="board">
</TMPL_LOOP>
--------------------------

034734503/09/10 20:47ID:???
つづき。

-------- sample.rb -------
#!/usr/bin/ruby

require 'html/template'

test = true # or false

list = [
{ 'host' => 'book.2ch.net', 'board' => 'bizplus', },
{ 'host' => 'news5.2ch.net', 'board' => 'newsplus', },
{ 'host' => 'news4.2ch.net', 'board' => 'news', },
]
param = {}
if test then
param['list'] = list
else
param['list'] = []
end

template = HTML::Template.new('filename' => 'sample.html')
template.param(param)

print template.output
--------------------------
0348nobodyさん03/09/10 21:02ID:sTBsqDi+
html-template2の方に乗り換えようと思ったんですが
そっちもループをifで囲めないんですか?
0349nobodyさん03/09/11 05:07ID:???
>>348
おれがためした限りではできなかった。
作者に聞いてみれば?日本人だから、日本語のメールでOKだよ。
0350nobodyさん03/09/11 17:30ID:???
>>348
直したから試してみて(20030911 version)

<TMPL_IF NAME="list">
<TMPL_LOOP NAME="list">
HOST: <TMPL_VAR NAME="host">
BOARD: <TMPL_VAR NAME="board">
</TMPL_LOOP>
</TMPL_IF>

こんなのも、ちゃんと動くようになった。
0351nobodyさん03/09/13 02:40ID:???
>>350
作者登場!
0352nobodyさん03/09/13 02:53ID:???
>>350
見事に直ってた。さすが作者。


-------- sample.html --------------
<TMPL_IF NAME="flag">
<TMPL_LOOP NAME="list">
HOST: <TMPL_VAR NAME="host">
BOARD: <TMPL_VAR NAME="board">
</TMPL_LOOP>
</TMPL_IF>
-----------------------------------

------------ sample.rb ------------
#!/usr/bin/ruby

require 'html/template'

list = [
{ 'host' => 'book.2ch.net', 'board' => 'bizplus', },
{ 'host' => 'news5.2ch.net', 'board' => 'newsplus', },
{ 'host' => 'news4.2ch.net', 'board' => 'news', },
]
param = {}
param['flag'] = true
param['list'] = list

template = HTML::Template.new('filename' => 'sample.html')
template.param(param)

print template.output;
-----------------------------------
0353nobodyさん03/09/13 02:55ID:???
実行結果:



HOST: book.2ch.net
BOARD: bizplus

HOST: news5.2ch.net
BOARD: newsplus

HOST: news4.2ch.net
BOARD: news


>>348
ちゃんと作者に感謝しとけよ。
0354nobodyさん03/09/13 12:06ID:???
自演ですかぁ〜?
0355nobodyさん03/09/14 00:05ID:???
>>354
もちろんです。あたりまえじゃないですか。
素早い対応を印象付けるために、色々仕込んでるんですよ。
これでも。
0356nobodyさん03/09/15 08:44ID:???
cgikitってやつで作ってるんだけど、つらいね。
ページあたりにオブジェクトを割り当てるってのはまどころっこしいだけ。
(これはWebObject / Struts あたりの方法)

eRubyやPHPのようにページとロジックを直接結びつけるアプローチが
どれだけ正しいのかということがわかる。(MVCは向かないね)
0357nobodyさん03/09/15 08:47ID:4+LfvYPm
1ページ/1オブジェクト っていうアプローチは、
amrita のように出力するためだけにあるものならいいけど、
値の受け取り、処理、までやるとなると、複雑さが増すだけ。

むしろ、1処理/1オブジェクトというアプローチをとるべきだ。
ページの抽象化なんて Hash オブジェクトで十分
0358nobodyさん03/09/15 08:49ID:???
1 処理/ 1 オブジェクトっていうのは、純粋なServlet のアプローチか。
0359nobodyさん03/09/15 10:37ID:???
>>355
ワラタ
0360nobodyさん03/09/15 10:42ID:???
>>356
eRubyやPHPではロジックとビューとが分離できないじゃん。
友達いないやつなら一人でロジックとビューをやるしかないけど
そうでないなら分担して作業したほうがいいよ。
0361nobodyさん03/09/17 21:23ID:???
>>360
eRubyやPHPでロジックとビュー分離できますよ。
多くの場合、あえて分離しないだけで。
0362nobodyさん03/09/17 22:45ID:???
>>361
それ、参考になるようなドキュメントってありますか?
0363nobodyさん03/09/18 01:57ID:???
ttp://phpmvc.net/
0364nobodyさん03/09/18 11:16ID:???
>>363
みたけど、専用のフレームワークじゃん。それはずるいだろ。
そんなの持ち出していいんなら、なんだってロジックとビューの分離は可能だよ。
逆にいえば、そういうのを持ち出さないと分離できないってことじゃないか?
#まあPHPでは include() 使えば分離できるんだけどね。

つーか、もとの発言
>>356
では、
> eRubyやPHPのようにページとロジックを直接結びつけるアプローチが
> どれだけ正しいのかということがわかる。(MVCは向かないね)
なんてことをいってたので、それは違うだろ!というツッコミで
「ロジックとビューの分離」をあげてみた。
文章が悪かったかもしれんが、分離ができる/できないという話よりも、
分離をすべきか否かという話をしたい。

おれは分離したい。そのための手段として、CGIKitはいいと思う。
0365nobodyさん03/09/19 20:30ID:Z56dowS1

<TMPL_LOOP NAME='list1'>
 <TMPL_VAR NAME='hoge'>
 <TMPL_VAR NAME='foo'>
</TMPL_LOOP>
<TMPL_LOOP NAME='list2'>
 <TMPL_VAR NAME='hoge'>
 <TMPL_VAR NAME='bar'>
</TMPL_LOOP>
ってなった場合、
list1=[{'hoge'=>a,'foo'=>b1},{'hoge'=>a,'foo'=>b2},...]
list2=[{'hoge'=>a,'bar'=>c1},{'hoge'=>a,'bar'=>c2},...]
template.param({'list1'=>list1,'list2'=>list2})
みたいに配列の全要素にhogeを定義しないといけないんですか?
0366nobodyさん03/09/20 02:02ID:???
>>364
> 分離をすべきか否かという話をしたい。

どれを選ぶかは目的、規模、開発形態によるんじゃねーの?
(0) コードにHTMLを埋め込む
(1) HTMLを抽象化する(CGI::Html*)
(2) HTMLにコードを埋め込む(eruby)
(3) 別々に書く(amrita)
(4) 複数のセッションに対応する(div)

(3)はすごく良さげに見えるが、ID属性を利用するツールを
使ってるデザイナさんとファイルをやりとりする場合は
そのツールの挙動をよく知る必要がある。
PHP慣れしたデザイナさんと組む場合は(2)だと話がはやい。
(1)は画面内を部品化する場合に割と良いことがある。

別の例だと、Javascriptでサイズ変更不能な窓にする場合、
後からサイズの仕様が変わるのに備えるならprettyprintを
使って(0)でレイアウトを組むとか。
0367nobodyさん03/09/20 09:45ID:???
>>365

param["hoge"]が未定義だとnilが返ってくるから
IFで判定できるよ。

<TMPL_IF NAME='hoge'>
 <TMPL_VAR NAME='hoge'>
<TMPL_ELSE>
 hogeなし
</TMPL_IF>
0368nobodyさん03/09/20 13:46ID:YAOMW6mt
---hoge.html---
<TMPL_LOOP NAME='list'>
HOGE:<TMPL_VAR NAME='hoge'>
PIYO:<TMPL_VAR NAME='piyo'>
</TMPL_LOOP>
---------------

#!/usr/bin/env ruby
require 'html/template'
template=HTML::Template.new('filename'=>'hoge.html')
#template.param({'hoge'=>'x'})
#list=[{'piyo'=>'a'},{'piyo'=>'b'},{'piyo'=>'c'}]
list=[{'piyo'=>'a','hoge'=>'x'},{'piyo'=>'b','hoge'=>'x'},{'piyo'=>'c','hoge'=>'x'}]
template.param({'list'=>list})
print(template.output)

↑はコメント外して6行目をコメントにするとエラーになります。
---- error ----
(eval):10:in `<<': failed to convert nil into String (TypeError)
from (eval):10:in `initialize'
from (eval):8:in `each'
from (eval):8:in `initialize'
from (eval):1:in `call'
from ./html/template.rb:67:in `output'
from ./hoge.rb:8
---------------
'hoge'は'piyo'と同じ階層で定義しないといけないのですか?

0369nobodyさん03/09/20 18:41ID:4MmeVqhG
Linux上でRuby走らせてるんですが、
ファイルオープンして、文字列を書き込むとき、SJISで書き込むにはどうしたらいいでしょうか?
0370nobodyさん03/09/20 18:45ID:???
>>369
君はRubyのIOをPerlIOか何かのように考えているのかね。
Shift_JISを書き込みたきゃNKFなりIconvなりで変換して書き込みたまえ。
0371nobodyさん03/09/20 18:52ID:4MmeVqhG
>>370
出来ました、どうもです。
0372nobodyさん03/09/20 19:40ID:???
>>370
PerlIOって何ですか?
0373nobodyさん03/09/21 20:59ID:???
>>368

>'hoge'は'piyo'と同じ階層で定義しないといけないのですか?

基本的にはそうです。

内部的には
out << param['piyo']
out << param['hoge']
という処理なので

Hashのデフォルト値を指定するという手もあります。

Hash+Arrayなインターフェースを持った親をたどれるツリーのようなparamを作ってやれば上位階層の
'hoge'を取ってくるとかもできるでしょう。
0374nobodyさん03/09/25 21:27ID:???
あげ.
0375nobodyさん03/09/26 09:05ID:???
rubi
0376nobodyさん03/09/26 18:16ID:???
Rubyがしょぼいレンタルサバでも普及すれば、
おれもCGIスクリプト配布するのにな。
0377nobodyさん03/09/27 16:13ID:???
俺は
ttp://linux-life.net/program/ruby/doc/chapter08/
を適当に改造して使ってる。
0378nobodyさん03/09/28 01:23ID:CG0BaKAB
Perlにとって変わると、いろいろな雑誌で数年前から言われ続けているけど、
そうでもないんだよね、これが。
単純にオブジェクト指向が壁になっているんだろうか?
WebProg版のPerlerの人、Ruby勉強してみな。便利だから。
一度使ったらやめられない止まらない。
0379nobodyさん03/09/28 02:07ID:???
>>378
Ruby勉強中。
でもCGIは作んないかも。
0380nobodyさん03/09/28 12:41ID:???
>>378
まだまだ一般的にサーバーに入ってない場合が多いからねぇ。
これが改善されることがRuby普及の為の近道のような気がするけど。
いくら初心者を取り込もうと思って本とかサイトとか作ったって、
サーバーに入ってないからやらないって人は多いと思う。

みんなで大手プロバイダ、レンタルサーバーにお願いしましょう!
テンプレは次の人が考えたもので↓
0381nobodyさん03/09/28 21:59ID:???
>ID=xxxxxxxxxxx
>NAME=○× △
>POST=zzz-zzzz
>ADR=×××県 ×××市 ×××町 ××××
>TEL=0123-45-6789
>BIRTH=19xx-yy-zz
>M_ADR=mail@●◆▼.ne.jp
>CATEGORY=その他
>MESSAGE=
> いつもお世話になります。
>
> 会員のCGIサービスについて要望いたします。
>
> スクリプト言語に Ruby を追加願います。
> Ruby は、日本人が日本で開発したオブジェクト指向スクリプト言語です。
> 記号の羅列のような Perl よりも読みやすく、親しみやすいと言う特徴がありま
>す。
> 最近は、各種解説書などが発行されるなど、盛り上がりを見せています。
> しかし、CGIなどでこの Ruby を活用できる環境は非常に限られています。
> この日本発のすばらしい言語の普及に御社もご協力いただけませんでしょうか。
>
>Ruby のホームページ
>http://www.ruby-lang.org/
>
> なにとぞ、よろしくお願いいたします。
>
>
0382nobodyさん03/09/28 21:59ID:???
○× △ 様

平素は「●◆▼」をご愛顧いただき、誠にありがとうございます。

x月y日付のメールでのお問い合わせの件につきまして、ご案内させて
いただきます。

この度は、「ホームページサービス」に関する貴重なご意見を
いただき、誠にありがとうございました。

○×様のご意見は、今後のサービス内容に反映できるよう、検討課題と
させていただきたく存じます。

お気付きの点や至らない点等ございましたら、ご意見ご指摘いただければ
幸いです。

今後とも「●◆▼」をよろしくお願いいたします。
お問い合わせ、ありがとうございました。


−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
株式会社●◆▼ネットワーク
●◆▼ダイヤル 担当:××(super@●◆▼.ne.jp)
サポートホームページ
http://www.●◆▼.ne.jp/support/
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
0383nobodyさん03/09/28 22:05ID:???
381のユーザ用お願いテンプレは'>'が入っていて使いにくい
382のサポート担当用気のない返事テンプレは使いやすい
0384返事自動処理用erbテンプレート03/09/28 22:11ID:???
<%= mail.name %> 様

平素は「●◆▼」をご愛顧いただき、誠にありがとうございます。

<%=mail.month%>月<%=mail.day%>日付のメールでのお問い合わせの件につきまして、ご案内させて
いただきます。

この度は、「ホームページサービス」に関する貴重なご意見を
いただき、誠にありがとうございました。

<%= mail.name %>のご意見は、今後のサービス内容に反映できるよう、検討課題と
させていただきたく存じます。

お気付きの点や至らない点等ございましたら、ご意見ご指摘いただければ
幸いです。

今後とも「●◆▼」をよろしくお願いいたします。
お問い合わせ、ありがとうございました。


−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
株式会社●◆▼ネットワーク
●◆▼ダイヤル 担当:<%= mail.tantou.name %>(<%= mail.tantou.email %>)
サポートホームページ
http://www.●◆▼.ne.jp/support/
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
0385nobodyさん03/09/28 22:27ID:???
>>382,>>384
要約すると、サバ会員は黙って金田家払ってろってことか。
0386nobodyさん03/09/28 22:54ID:???
384のerbテンプレートを使うために、サポート担当者はrubyとerbを使う。
そこで担当者は気づくの。ruby(・∀・)イイ!
そしてrubyがインストールされる。

384はこんな方向に持っていくためのテンプレート
0387nobodyさん03/09/29 00:05ID:???
1.4.x のころからRuby使ってて、提供しているCGIサーバでも
使えるようにしてたけど、頻繁なバージョンアップと互換性の無さで
フォローが大変だった。今はもう安定してきてるとは思うが・・・
0388nobodyさん03/09/29 09:32ID:???
現在広く使われていると思われる1.6.8と最新版1.8.0は互換性の無い仕様変更が加えられたし、
肝心の1.8.0はstableとは名ばかりのバグバグバージョン。
こりゃ、Rubyを入れるのを躊躇うのも仕方ないだろうな。
0389nobodyさん03/09/29 14:44ID:???
stable = バグをとって安定にしていく枝
current = 新機能をいろいろ試してみる枝
なんじゃねーの?

つーか自分でインタプリタが設置できないような鯖で
無理にRuby使わなくてもいいじゃん。
0390nobodyさん03/09/29 23:55ID:???
そうだな、あんまり無理すんな
0391nobodyさん03/09/30 07:46ID:???
>>388
>互換性の無い仕様変更が加えられたし
だからメジャーバージョンアップしたんじゃん。
0392nobodyさん03/10/01 12:27ID:???
Perl4とPerl5の違いが〜って言うのと大して変わらんぞ
0393nobodyさん03/10/01 23:14ID:???
前はマイナーでもやばかった
1.6.7あたりが境目かなあ
ライブラリがあるバージョン以上を要求するんだが
むやみに上げるとcgi周りがこけるという状況に・・・
自分用だったらどうにでもなるんだけど
0394nobodyさん03/10/02 14:39ID:???
なにかいい参考書ありませんか?
0395nobodyさん03/10/02 23:10ID:???
そう、具体的なRubyでCGIを実践的な本を紹介してほすい。
0396nobodyさん03/10/02 23:19ID:???
PerlでCGI覚えたから特にRubyでってのは分からん
CGIクラスはフォームデータ受け取るくらいしか使ってない
0397nobodyさん03/10/03 02:41ID:???
>>396
CGIクラスはフォームデータ受け取る以外はイラネ
0398nobodyさん03/10/03 10:24ID:???
そう?オレはフォームデータ受け取りのほかに
クッキーの読み書きにも使ってる
0399nobodyさん03/10/03 12:27ID:???
うちの犬の名はクッキー
■ このスレッドは過去ログ倉庫に格納されています