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

【Ruby】RubyでCGI

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/05/04(金) 12:57ID:c4hRtzGY
Rubyについて語るスレッドです。
関連リンクは>>2-3
0797nobodyさん05/02/24 22:56:23ID:???
essaさんの余力をブログにつぎ込んで欲しいようなAmritaにつぎ込んで欲しいような、複雑な気分です。
0798の05/02/26 15:44:54ID:???
ちょっと真面目にSikiTemplateのドキュメントを書いてみました。
http://www.fiercewinds.net/siki/cgi/index.cgi?Command=Show;Target=Ruby%2FApplication%2FSikiTemplate%2F%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AB%E3%82%88%E3%82%8B%E8%A7%A3%E8%AA%AC
よろしければコメントちょうだい
0799nobodyさん05/03/03 02:04:33ID:???
>>798
$$@とか覚えられそうにないなぁ、というのが感想。

あと、SikiTemplate::Executeのサンプルコードが分かりにくい。
"sample".to_s の結果が展開されるっていわれてもうれしくないし、
というか最初なにをやっているのか理解できなかったです。

で、ためしに実行してみると動かないし。

> ruby test.rb
./siki-template.rb:622: warning: character class has `]' without escape
test.rb:4: uninitialized constant Template (NameError)


サンプルはこういうのの方がいいんじゃないかなぁ。

t = Template.new( "<r class=\"$m.iso8601\"/>" )
Template.use_execute = true
r = t.parse( { :m => Execute.create( Time.now ) } )
p r # => "<r>2005-03-03T01:55:55+09:00</r>"
0800の05/03/04 01:18:35ID:???
>799
さんくす

>$$@とか覚えられそうにないなぁ、というのが感想。

やっぱり難しいかね……

いっそのこと
1.<!--++変数++-->で弟タグに変数名を埋め込むのが
 普通の使い方
2.$$@とかはタイプ量を減らすための略記法

とかにしたほうが良いかしらん……

>あと、SikiTemplate::Executeのサンプルコードが分かりにくい。
確かにそうですね。修正しました。
ついでに変なWarning出ているのを修正しますた。
080179805/03/04 14:47:01ID:???
マニュアルをコメントタグ中心にしました。
ついでにコメントタグも、 <!--__title__--> に変更して
見やすくしますた。
0802799とは別05/03/06 12:52:51ID:???
>>800
覚えにくいというよりは理解しにくい。表記法は二の次。
説明がへたでわかりにくいのか、そもそもの設計がわかりにくいのかはしらん。
080379805/03/06 14:50:51ID:???
>802
説明がへたでわかりにくい、つうのはあるわな……
今作っている英語版をベースに書き直しマスタ。
0804nobodyさん05/03/12 19:02:23ID:???
>>802 さん
どのへんが理解しにくいでしょうか。例えば。
0805nobodyさん05/03/21 00:46:10ID:???
Rails難しい・・・英語が。
0806nobodyさん2005/04/02(土) 23:54:30ID:???
テンプレートのいらないテンプレートシステム
ttp://amrita.s14.xrea.com/d/?date=20050401#p01
0807nobodyさん2005/04/03(日) 01:35:37ID:???
>806
CGIを洗練したものかしらん?
0808nobodyさん2005/04/03(日) 11:49:58ID:???
RoR の scaffold みたいなもんかね。
モックアップの作成に使えそう。
0809の2005/04/03(日) 14:07:10ID:???
SikiTemplateをRails対応にしてみました。
と言ってもerbとのギャップはいかんともしがたいなぁ
ヘルパーツールを強化してみるか……
0810nobodyさん2005/04/10(日) 08:35:01ID:???
Railsをapacheで使おうとしたらmod_rewriteの設定がいるっぽいんだが、
どう設定していいのかわからん。
0811の2005/04/10(日) 15:58:39ID:mwz/LZVr
φ(。_。)

SikiTemplateのモデルデータ構築方法を改造しました。
従来のHash/Arrayを使った方法以外に [], []=, <<を使った方法を追加シマスタ。

こんな感じ

t = Template.new('<r><a t="$n">Test<a class="$m" attr="m">case</a></a></r>')
t = Template.new('<r><!--__n__--><a>Test<a class="$m" attr="m">case</a></a></r>')
t.modeldata[:n][:m] = "C1"
t.modeldata[:n] << "test2"
t.modeldata[:n] << "test3"
assert_equal( t.parse, '<r><a>Test<a attr="m">C1</a></a><a>test2</a><a>test3</a></r>')

これでモデルデータを構築するときの違和感が減ると思うけど、どうよ?
0812nobodyさん2005/04/12(火) 15:27:01ID:???
>>810
チュートリアルに書いてあるとおりじゃないの?
どこがわからない?
0813nobodyさん2005/04/26(火) 22:18:49ID:???
cgikit2はもはや別物のような気がする
0814nobodyさん2005/04/27(水) 00:47:58ID:???
漏れはcgikit1をよく知らないのであれだが
2のサンプルについてきたCKWikiのソースを追っかけていてかなり迷子になった。
cssを読めてないんでなぜかと思ったらApplication#document_root他の設定が足りなかったのと
WikiPage#cssでちょいと手を入れてやらないといけなかった(これはディレクトリを奇天烈な構成に
したせいだがorz
ともあれ、今後自分でRubyコード書くときは引数のないメソッドを呼ぶときも()付けようと決意した一日だった。
0815nobodyさん2005/04/27(水) 21:55:19ID:???
>>783 >>787
亀レスですまんが・・・
Rubyには強力なオブジェクト指向があるのだから
単純にこうすればいいのでは?

class ParentArticle < Article
 attr_accessor :childs
end

class ChildArticle < Article
end

で、記事の保存にはYAMLを使えばオーケー
0816nobodyさん2005/04/27(水) 22:51:52ID:???
> で、記事の保存にはYAMLを使えばオーケー
本気で言ってる?
文字コード変換しなきゃいけないし、データ全体で読み書きするしかできないから、
こういう用途としては最低な部類に入るデータフォーマットだと思うのだが。
0817nobodyさん2005/04/28(木) 09:27:40ID:???
案件で CGI というより mod_ruby を使おうと思っています。
ruby の大規模での実績例とかありますか?

ruby を使っている商用巨大サイトの URL だけでも構いません。
よろしくお願いします ( ruby-lang や RAA しか思いつかなくて )。
0818nobodyさん2005/04/28(木) 15:16:22ID:???
>>816
データ全体を読み込まなくてはならない問題は、親記事ごとにファイルを分ければ解決できる。
あるいは記事保存用のファイルを別に作るとか。
(articles_info.yaml, article001.txt, article002.txt, ...)

文字コードの問題は確かにあるな・・・
Unicodeへの変換って、なかなか簡単には行かないみたいだし。
とすると、YAMLよりもPStoreか。
0819nobodyさん2005/04/30(土) 02:06:27ID:???
>>818
UTF-8のデータのみを扱えば変換する必要ないと思うんですが、
そういう話じゃないんでしょうか?
0820nobodyさん2005/04/30(土) 09:00:09ID:???
>>819
ライブラリに合わせてアプリケーションの仕様を変えるわけですね。
すばらしい考え方ですね。

プ
0821nobodyさん2005/04/30(土) 10:33:39ID:???
俺はこういうキテガイを相手にするのが嫌でPythonに乗り換えて今は幸せです。

>>818
初心者のようなので念のため書いておくと、
通常、文字コード変換はデータの入口、CGIならばPOSTメソッドのparameterをdecode
した時点でする。生のままストレージに書き込むことはしない。
メールなんかは電子署名等の都合があるので変換せずに保存するが、CGIでそういうことはしない。
08228182005/04/30(土) 15:24:09ID:???
>>821
私のようなキチガイ初心者のためにも、もう少し端的にお願いします
0823nobodyさん2005/04/30(土) 15:36:34ID:???
>>820
既存のアプリを変更する、という話でしたか。
一から作るという話だと思ってました。すみません。
0824nobodyさん2005/04/30(土) 19:39:11ID:???
最近perlからrubyに移ってきた者ですが、
rubyでブロックとローカル変数が作れなくて困っています。
どこかにruby-lang.org以外で
変数のスコープとブロックについて書かれた資料は無いでしょうか?
0825nobodyさん2005/04/30(土) 20:14:28ID:???
初心者なら素直にMatzのRuby本買って読めよ。
0826nobodyさん2005/04/30(土) 21:14:07ID:???
>>824
Ruby初心者質問スレPart2
http://pc8.2ch.net/test/read.cgi/tech/1107799347/

> 最近perlからrubyに移ってきた者ですが、
変数の頭に$を付けたローカル変数を作ろうとしてたりして。
0827nobodyさん2005/05/01(日) 02:40:06ID:???
>824
http://www.rubyist.net/~matz/20031121.html#p02
http://ruby-lang.org/ja/man/?cmd=view;name=FAQ%3A%3A%CA%D1%BF%F4%A1%A2%C4%EA%BF%F4%A1%A2%B0%FA%BF%F4
0828nobodyさん2005/05/01(日) 09:44:24ID:???
>>823
いや、たぶん820の言ってるのはそういう事ではなくて
yaml.rbがUTF-8限定だからといって、アプリケーション全体でUTF-8を扱うようにするのは
あまり良くない考え方ではないか、ということだと思う。

諸々の理由でSHIFT-JISを使わなくてはならないとき
(またはどう考えてもSHIFT-JISの方に軍配があがるとき)
どうするんだ、って話。
0829nobodyさん2005/05/01(日) 10:52:21ID:???
yaml 使うの止めればいいだけかと。
0830nobodyさん2005/05/01(日) 12:00:02ID:???
r(ry
0831nobodyさん2005/05/01(日) 23:39:35ID:???
>>828
面倒な事をするくらいなら最初から決めておいたらどうでしょう、
最初から作るなら決めうち出来るのではないか、という意図でしたが、
話の前提から勘違いしてましたね、すみません。
0832nobodyさん2005/05/04(水) 13:29:45ID:GxxcKWgP
すいません。
CGIでブラウザにHTMLデータを返すときにprintを使っているのですが、
そこで「表示」とか「申し」と入れると、
「侮ヲ」とか「垂オ」に文字化けしてブラウザに返しちゃうんです。
そこで、kconvライブラリを取り込んで
print "表示申し".tosjis
ってやってみたけどダメでした。=> 侮ヲ垂オ
これの解消方法ってないですか?
不思議とフォームに「表示申し」と書いて送信するとそれは正しく受け取ってくれて
ブラウザにもきちんと「表示申し」と出てきます。
ふつうのひらがなや簡単な漢字とかだとこうはならないんだけど・・・
バージョンは1.6.8、OSはWINXP、ブラウザはIE6です。
まだローカルなパソコンで試している段階で、サーバはApache2.0です。
0833nobodyさん2005/05/04(水) 13:38:06ID:???
>>832
CGI のソースにリテラル文字列で Shift_JIS で "表示" とか "申し" とか書いてるの?
であれば、スクリプトの冒頭で #! ruby -Ks とかする。
08348322005/05/04(水) 14:10:28ID:GxxcKWgP
>>833
ありがとうございます。
一行目に入れてみましたが、Internal Server Errorとなってしまいました。
そこで一行目は元のパスに戻して、今度は二行目に入れてやってみましたが、それでも症状は治りませんでした。
しくしく・・・
0835nobodyさん2005/05/04(水) 15:00:06ID:???
>>834
んー、もしかして伝わってなかった?
#!/usr/bin/ruby
だったら
#!/usr/bin/ruby -Ks
みたいに -Ks オプションを付ける、という意味なんだけど・・・
0836nobodyさん2005/05/04(水) 15:03:10ID:RNwfWiBH
パス名はrubyだけ?
/usr/local/bin/rubyとかフルパスじゃナイからってことじゃないよね。念のため
08378322005/05/04(水) 16:38:32ID:GxxcKWgP
>>835-836
ありが�d!

#!/usr/bin/ruby -Ks
で直ったー!!うれしい。

#!ruby -Ks
#!/usr/local/bin/ruby
のことだと思ってました。ははは・・・。
0838nobodyさん2005/05/05(木) 04:23:07ID:???
>837
この部分はUnixの文化ですからな。
http://www.faqs.org/faqs/unix-faq/faq/part4/section-7.html
http://www.nurs.or.jp/~asada/FAQ/UNIX/section4.7.html
0839nobodyさん2005/05/05(木) 17:23:25ID:9E2Z1NIH
どなたか更新ボタンで再アクセスするときにはカウンターが回らないようにするよい方法を教えてください。
ENV["HTTP_ACCEPT"]が"*/*"だったときにはカウンターを回さない、ってやるのは乱暴かなあ。
0840nobodyさん2005/05/05(木) 21:41:19ID:???
>>839
過去一定時間(例えば1時間)分のアクセス者のIPアドレスを残しておいて、
そのログに含まれているものと同じIPアドレスからのアクセスはカウントしない、
とか。
08418392005/05/05(木) 22:28:15ID:???
>>840
なるほど。ありがとう。
でもそうすると1時間以内だったら更新ボタン以外で再来訪してくれたのもノーカウントになっちゃうね・・・。
逆に一時間待てば更新ボタンでもカウントされてしまう・・・。
連打でカウントを不必要に回されるのだけは防げるからそれもよしか。

うまく「更新ボタンで来ました!」ってのを拾う方法ないかなあ。
0842nobodyさん2005/05/05(木) 22:36:32ID:???
完璧な方法はありえないと思って適当なところで妥協するのが得策と思われ。
0843nobodyさん2005/05/05(木) 23:24:19ID:???
cookieでもつかったらどうよ
0844nobodyさん2005/05/07(土) 21:42:42ID:sZVuGBZq
ファイルアップローダを作っていますが、アップロードされたファイルの拡張子を示す文字列(jpgなど)を得るにはどうしたらよいでしょうか?
サーバに保存するときのファイル名の拡張子としてその文字列を使いたいのですが・・・。
0845nobodyさん2005/05/07(土) 22:11:15ID:???
/¥..+¥z/.match(CGI.new.params['hoge'][0].original_filename).to_s
08468442005/05/07(土) 23:56:55ID:sZVuGBZq
>>845
ありがとうございました。
0847nobodyさん2005/05/08(日) 00:49:55ID:Dhx+t1nV
http://KBMfb-02p2-229.ppp11.odn.ad.jp/
wwwwwwwwwwwwwwwwwwwwwうぇwww
wっうぇ
うぇwwwwwwっ

wwwwwwっうぇ
www
うはっwwwうぇwwwうはっwwww
0848nobodyさん2005/05/08(日) 22:27:52ID:sbu4QGJH
ケータイから画像をEメールに添付して送信すると掲示板にアップロードできるようなCGIってないかなあ・・・。
0849nobodyさん2005/05/08(日) 22:54:01ID:???
Eメールって時点でCGIじゃないけどな。
0850nobodyさん2005/05/09(月) 01:38:52ID:???
あれ、、無いの?
仕事でやったことあるけど、流用はまずいので一から作ろうかな・・・
0851nobodyさん2005/05/09(月) 02:08:17ID:???
噛み合ってないな
0852nobodyさん2005/05/09(月) 10:07:31ID:???
>>846
最初に質問するときはしょうがないにしても、
お礼をいうだけでageないで欲しいな。
山田もくるし。
0853nobodyさん2005/05/10(火) 08:10:14ID:???
るびま6号が出たな。
CGI関連はこの辺り。

CGIKit2.x を用いたアルバム CGI/Web アプリケーション
http://jp.rubyist.net/magazine/?0006-CGIKit-2.x

RubyOnRails を使ってみる 第 3 回 ActiveRecord
http://jp.rubyist.net/magazine/?0006-RubyOnRails
0854nobodyさん2005/05/10(火) 22:51:13ID:???
途中のページから入られるのを防ぐ方法として、こういう実装ってどう?

1 送信方法はPOST
2 ページの移動は常にSUBMITボタンで
3 送信先CGIのURLは常に自分自身
4 送られてきたデータにより読み込むテキストファイルを変える
5 読み込んだテキストをCGIスクリプトとしてevalで実行

クッキーもURLも使えない場合はこの方法しか残されていない希ガス。
0855nobodyさん2005/05/10(火) 23:02:04ID:???
>>854
「この方法しか残されていない」ってことはないのと、あと、 5 が意味わからん。
08568542005/05/11(水) 00:49:43ID:???
ブラウザがアクセスするCGIスクリプトはひとつなんだけど、そのスクリプトがPOSTで送られてきたデータによって全く異なる挙動をするということ。
例えば書き込みを行う場合は、書き込みを行うスクリプトが保存してあるテキストファイルを読み込み、一行ずつevalするっていうイメージだったんですが・・。

ほかにもあるのねorz
逝ってきます。
0857nobodyさん2005/05/11(水) 10:37:14ID:???
そのまま他のスクリプトを実行すりゃいいじゃねーか
0858nobodyさん2005/05/11(水) 14:24:42ID:???
>>856
あらかじめ同じファイルに含めてしまうとか、
requireとかloadとか。

あと、>>854の手法ってどの状態が「途中」であるかということに
触れられていないような気がしますが、
その辺も含めて書いてもらえると嬉しいです。
08598542005/05/11(水) 15:49:20ID:???
あ、途中というのは会員専用サイトなどでIDやパスワードが通ったあとのページのURLに直接入られるような場合を想定しています。

そういやrequireがあったね。ありがとん。
0860nobodyさん2005/05/11(水) 17:25:38ID:???
意地張ってないで Cookie 使おうよ。
0861nobodyさん2005/05/11(水) 17:31:54ID:???
携帯用のページでそれ(loadで分岐)やってた。
途中に入られるのもそうだけど、
エージェントでこまかくわけてたからなー
0862nobodyさん2005/05/11(水) 18:10:17ID:???
POST データを ENV に入れて exec() とかできるかも。
08638542005/05/11(水) 21:38:25ID:???
>>860
ドメインが違うページ間を行き来するセッションには使えないし、
クライアント様のパソコンを出来るだけ汚したくないってのもあるし、
クッキー非対応にブラウザを設定している人たちもいるだろうし、
・・・

ということです。
0864nobodyさん2005/05/11(水) 22:41:20ID:???
意地張ってないで Cookie 使おうよ。
0865nobodyさん2005/05/12(木) 19:47:15ID:???
>>861
case〜when〜end使って似たようなことやってる。
ふつうにテキストファイルを置くとページは見れなくてもURLが合ってたらスクリプトが丸見えになるからね。

ブラウザが読めないように拡張子変えて偽装すればいいんだろうけど・・・

テキストファイルの拡張子を.JPGとかにして置いとくのは見え見えかなあ。
0866nobodyさん2005/05/12(木) 21:32:27ID:???
>865
>URLが合ってたらスクリプトが丸見え
……それは流石にまずWebサーバの設定で弾いておくところじゃないか? (汗)
0867nobodyさん2005/05/13(金) 02:46:10ID:???
case〜when〜end は多態で実装し直せとベックおじいちゃんが言うたはりました。
0868nobodyさん2005/05/13(金) 07:34:11ID:???
>>866
レンタルサーバの場合は?
0869nobodyさん2005/05/13(金) 10:07:26ID:???
ブラウザから見えないとこに置けばいいだろ
.htaccess 使ってもいいし、
直接呼ばれたかわかるようにしてエラーなりフォワードなり
送ってもいいし
0870nobodyさん2005/05/13(金) 10:53:35ID:???
>>868
レンタルサーバってなんか特別なんすか?
例えば~/public_html以下にしかファイルを置けないとか、
ホームディレクトリ以下がwebで公開されているとか。

そうではなくて、web公開用ディレクトリ(例えば~/public_htmlとか)と
その他のディレクトリ(例えば~/dataとか)を使えるのであれば、
CGIスクリプトは前者、そうでないスクリプトは後者に置く事で
うっかり見られてしまう自体を防げるのではないでしょうか。
0871nobodyさん2005/05/14(土) 20:48:59ID:???
>>870
>例えば~/public_html以下にしかファイルを置けないとか、

そういうところもあります。
08728482005/05/15(日) 18:09:04ID:???
>>849-851
質問を変えます。
考えているのはこういう工程です。
(1)ユーザーは、あるメールアドレスに件名、本文、添付画像をケータイから送信します。
(2)管理人は随時、そのメールサーバにアクセスして、送られてきているデータを収集します。
(3)そのデータをひとつひとつ掲示板にアップロードしていきます。
(もちろん利用規約で、ケータイメールによる書き込みはタイムリーに行われないことはユーザに知らせておきます。)
この作業は当然ローカルパソコンで手作業すれば可能なんだけれど、(2)(3)のあたりはCGIプログラムで自動処理できないものかと。
出先からでもケータイでそのCGIにアクセスすれば溜まってる書き込みメールが自動でアップロードされるようにしたいのです。
0873nobodyさん2005/05/15(日) 23:28:29ID:???
>>872
Kから直書きじゃダメなの?
tDiaryみたいな...
0874nobodyさん2005/05/16(月) 01:58:19ID:???
cookieがいやなら、一回しか使えない鍵をhiddenで渡せばよいのでは?
0875nobodyさん2005/05/16(月) 04:44:11ID:???
>>874
いや、だからそれの具体的な実装方針を >>854 がずっとぐだぐだと述べてんでしょ。
0876nobodyさん2005/05/16(月) 15:02:14ID:???
>>872
とりあえず(2)でPOP3クライアントを作りたいなら
以下のページが参考になりそう。使用例として
メールの受信のサンプルがある。

Rubyリファレンスマニュアル - net/pop.rb
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=net%2Fpop.rb;em=POP3

net/imap.rbの方はサンプル無しなので難しいかも。

Rubyリファレンスマニュアル - net/imap.rb
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=net%2Fimap.rb;em=imap

(3)のアップロードはnet/httpあたりを使うのかな。よくしらない。
0877nobodyさん2005/05/16(月) 16:32:29ID:???
メールサーバと CGI のサーバが一緒なら割と簡単にできるかもね。
0878nobodyさん2005/05/17(火) 17:17:12ID:???
>>876
さんくす。
参考にします。
0879nobodyさん2005/05/17(火) 22:42:44ID:???
cgi.rbが微妙だということを見て、
自分でGETとPOSTのデータを受け取る部分(ファイルアップロード含む)とクッキー操作の部分そしてセッション管理の部分まで書いたのが、1-2年前のことです。
しかしそれからCGIには全然手を出していませんでいた。

最近になって、ふとCGIを公開するHPでも作ろうかなと思い、自分で作ったcgi.rb相当のものを使おうかなと思っていたのですが、
よくよく考えると、CGIしか考慮していませんでした。
Rubyist Magazine に Nora というものの説明があって、CGI/mod_ruby/FastCGIに対応と書いてありました。
このライブラリでも使ってみようかなと思い、DLしようとしたのですが、作者のHPにもRAAにもないようです。
もう配布はしていないのでしょうか?

他にシンプルでCGI/mod_ruby/FastCGIに対応したものはないでしょうか?
0880nobodyさん2005/05/17(火) 22:47:02ID:???
>>879
ん?まだちゃんとあるみたいよ?
ttp://www.moonwolf.com/ruby/archive/
08818792005/05/17(火) 22:59:58ID:???
すみません、よくみていなかったようですね;
DLできました。
ありがとうございます。
0882nobodyさん2005/05/19(木) 06:52:38ID:???
自作cgi.rbとはスゴい。

私は今ログファイルのマネジメントができるクラスを開発中ですが、rubyのスキルがまだまだしょぼく、いいものができません。

インターフェイスとしては、最初に
log = Log.new(ファイル名)
としとけば、以後
log.put(行,列,値)
でファイル(テーブル構造)の任意の場所に値を書き込むことができ、書き込み時にはファイルのロック、アンロックも自動でやってくれるという至極モノグサなクラスなんですが・・・(他にもフィールド定義等多数メソッドあり)

もしこれに類似したクラスライブラリがすでにあるのであればその場所をご教示いただければ幸いです。
0883nobodyさん2005/05/19(木) 10:00:28ID:???
任意の場所に書くものをlogって言うかなあ
0884nobodyさん2005/05/19(木) 12:01:53ID:???
logじゃなくてDBだな
0885nobodyさん2005/05/19(木) 12:10:49ID:???
>>882の仕様はログファイルとは言い難いが(ひょっとしてCOBOLer or MainFramer?)

本来の意味のログファイルの管理クラスなら RAA に devel-logger があるぞ。
ttp://raa.ruby-lang.org/project/devel-logger/


0886nobodyさん2005/05/19(木) 12:52:36ID:???
掲示板の過去ログみたいなものかな。
0887nobodyさん2005/05/19(木) 13:36:13ID:???
漏れなら迷わず SQLite3 だが・・・
08888822005/05/19(木) 16:09:49ID:???
用語が間違ってたみたいすねorz
CGIで扱うデータファイルは全部ログと思っていました。
要はこういうクラスを使って掲示板、日記、プロフィール、お気に入りリンク集、アクセスカウンタ、更新履歴といったコンテンツをテーブル化して貯めておくテキストファイル(なんていえばいいんだろう)を編集できたら便利だろうなとおもったのです。
出直してきます・・・。
0889nobodyさん2005/05/19(木) 20:08:13ID:???
>>888
不定長なデータ全てをひとつのテキストファイル(なんていえばいいんだろう)に
突っ込んで管理してしまおうということなのかな。
そういうのは別々のファイルにバラして持っておいた方が良いと思うけどなあ。

漏れなら迷わず SQLite3 だが・・・ (しつこい)
0890nobodyさん2005/05/19(木) 20:54:29ID:???
おー、実は俺もそんなの作ってる・w > ファイル操作ライブラリ
ランダムアクセスでファイル操作するやつで、
レコード毎のカラム以外に、ヘッダ部分にも型を宣言して領域を確保できるようになっていて、
他に掲示板とかに便利だろうと双方向リスト型なんてのも作ったよ。
0891nobodyさん2005/05/19(木) 22:11:14ID:???
WEBrick::CGI って知られていない?
cgi.rb の ::CGI よりはかなり良いと思う。
標準添付だし。

http://www.ruby-lang.org/ja/man/?cmd=view;name=webrick%2Fcgi.rb
0892nobodyさん2005/05/19(木) 22:41:00ID:???
スレ違いっぽい気もしますが、
静的コンテンツをマネジメントするのによさげなフレームワークなんてありますかね?
0893nobodyさん2005/05/19(木) 23:43:24ID:???
んーと、マネジメントって具体的に何するん?
08948882005/05/20(金) 19:11:14ID:???
>>889
あ、それはさすがにないです。テーブルはコンテンツごとに作成し、1ファイル1テーブルです。

・・・たしかにこのクラスを継承すれば簡易DBのようなものが作れるかもしれません。
素直にDB勉強しようかな・・・
08958882005/05/20(金) 19:15:10ID:???
>>890
詳細きぼん
0896nobodyさん2005/05/21(土) 00:22:25ID:???
DB使うともうそんなこと考えるのもいやになるくらい便利
■ このスレッドは過去ログ倉庫に格納されています