氏名:木内雄 学籍番号:c1090561 語学クラス:中国語 コース(系):政策 1. require 'pstore'でデータを貯める宣言をし、データベースを作成すること でopen - end を使わずともファイルを出力することが出来る。 formタグの間でデータを入力させることができる。 前回の授業で作ったcomment.rbだと、 db = PStore.new("comment.db")でbbs.dbにデータをいれることにしている。 2. http://roy/~c109056/advertise2/rubycgi/r2_cgi_best.html に今回の最高傑作を公開している。 このCGIは今流行のtwitterを模して作っている。 みんなで呟けるのもを作った。 ホームページ本体 r2_cgi_best.html 呟きの間

呟きの間

どんどんつぶやいて下さい

あなたの名前は?

氏名

今日の日付

今考えていることは?

明日の天気
悩み
あの娘のこと
今日の晩ご飯
無心
その他

今の自分気持ちは?(複数解答可)

最高 いつもどうり 不快 死にたい

適当に呟いて下さい



注意事項

このプログラムは、東北公益大学2009年度2年木内雄が著作権を保有しています。

このプログラムの入手・改変・再配布はいずれも無料で行なうことができます。

ただし、それらの際に生じたいかなる結果に対しても著作権者が責任を負うことはありませんので、ご了承ください。

連絡先

ご意見、ご感想等がありましたら、下記の連絡先へ連絡ください。

c109056@e.koeki-u.ac.jp


back to my HP top


//ホームページの説明// テキストフィールドで氏名 ラジオボタンで、今考えていること チェックボタンで、今日の気分 ドロップダウンメニューで今日の日付 テキストエリアで呟き その結果を出力するプログラムとして、r2_cgi_best.rbも作成している。 訪問者の数を記録しておくためのr2_cgibest.txt 書き込まれた感想とその氏名を記録しておくためのr2_cgi_best2.txtも作成している。 プログラム本体 r2_cgi_best.rb #!/usr/koeki/bin/ruby $KOCDE = 'e' #日本語コードでEUCを出力する。 require 'cgi' #CGIを使う。 require 'date' cgi = CGI.new("html4") #CGIをhtml文書に使う。 print("Content-type: text/html; charset=EUC-JP\n\n") namae = cgi["simei"] tuki = cgi["month"] hiniti = cgi["day"] kimoti = cgi["think"] why = Array.new why[0] = cgi["saikou"] why[1] = cgi["itumo"] why[2] = cgi["hukai"] why[3] = cgi["dead"] hitokoto = cgi["how"] number = 0 #何人目かを数える変数は number とした。 open("r2_cgi_best.txt", "r") do |yomi| while data = yomi.gets if /(\d+)/ =~ data number = $1.to_i end #ifのエンド end #whileのエンド end #openのエンド comento = Array.new open("r2_cgi_best2.txt", "a") do |log| log.printf("%s\t%s\n",cgi["simei"],cgi["how"]) end open("r2_cgi_best2.txt", "r") do |yomikomi| while line = yomikomi.gets comento << line.chomp end end print("\n") print("\n") print("呟き広場・書きこみ結果\n") print("\t\n") print("\n") print("\n") printf("

%d人目の訪問者・%sさんの呟き

\n",number,namae) print("\n") print("\t\n") printf("\t\n",tuki,hiniti) #tukiと hinitiの代入。 print("\t\n") print("\t\n") printf("\n",kimoti) print("\t\n") print("\t\n") print("") print("") print("\t\n") print("\t\n") printf("\n",hitokoto) print("\t\n") print("\t
日付%s %s
考え%s
気持ち
") for tyekku in why printf("%s
\n",tyekku) end print("
呟き%s
\n") print("
\n") print("

みんなの呟き

\n") print("\n") print("\t\n") print("\t\n") print("\t\n") print("\t

") for come,simei in comento printf("

%s\t%s

\n",simei,come) print("
") end print("

呟きの間へ

\n") print("
\n") print("\n") print("\n") number += 1 #numberを一つずつ増やして行く。 open("r2_cgi_best.txt", "w") do |kaki| kaki.printf("%d\n",number) end //プログラムの説明// htmlから、rbにデータを書き込ませるために
で指定のrbに入力させ で結果を送信させる 実行結果 pan{c109056}% ./r2_cgi_best.rb [~/public_html/advertise2/rubycgi] (offline mode: enter name=value pairs on standard input) simei="木内" month="12月" day="10日" thint="無心" saikou="最高" itumo="いつもどうり" hukai="不快" dead="死にたい" how="プログラミング" Content-type: text/html; charset=EUC-JP 呟き広場・書きこみ結果

70人目の訪問者・木内さんの呟き

日付12月 10日
考え
気持ち
最高
いつもどうり
不快
死にたい
呟きプログラミング

みんなの呟き


木内 遠藤と絹人に囲まれてる


遠藤 けんとうざい


みらいのえんどう 今日もけんとはうざい


でも車に引かれたのでうれしい


永井 腹減った


↑こっちみんな


kdsjf


kdsjf


kdsjf


kdsjf


kdsjf


kdsjf


ちんむー きぬとをいじめないでー



ちんむー きぬとをいじめないでー








kinai


木内 プログラミング


呟きの間へ

//考察// 実行してみたところ正しく書き込まれた。 カウンターも一つずつ増えていった。 ホームページ上でも全て正しく表示されいた。 なおかつ正常に書き込まれていった。 3.感想 今回のレポートは最高傑作を作れというものだったので、CGIを使ってtwitterの ようなものを作ってみようと思った。過去作品を参考にしつつ自分なりに作れた。 興味のあった作品は工藤智也さんのオンライン携帯ショップだった。多くのCGI を使ってあり、それによって結果が変わるプログラムに感心した。更に、携帯の絵がと ても上手かったからである。 //参考文献// http://roy/~madoka/2009/r2/10/10-02-pstore.html 「基礎プログラミングII 第10回 CGIことおぼえ プログラム部分について」 http://roy/~madoka/2009/r2/08/08-06-actionprogram.html 「基礎プログラミングII 第08回 CGIことはじめ CGIスクリプトの解説」 http://roy/~madoka/2009/r2/02/02-07-for-hash.html 「基礎プログラミングII 第02回 なになにといえばこれこれ Hashの対を表示するには」 http://roy/~madoka/2009/r2/09/09-04-radio.html 「基礎プログラミングII 第09回 CGIことえらび ラジオボタンの作り方」 http://roy/~madoka/2009/r2/09/09-05-chkbox.html 「基礎プログラミングII 第09回 CGIことえらび チェックボックスの作り方」 http://roy/~madoka/2009/r2/09/09-06-textfield.html 「基礎プログラミングII 第09回 CGIことえらび テキストフィールドの作り方」 http://roy/~madoka/2009/r2/09/09-07-textarea.html 「基礎プログラミングII 第09回 CGIことえらび テキストエリアの作り方」 共同学習者 遠藤裕貴、横山ひろき