第 10 回 CGI ことおぼえ レポート課題 氏名:舟山真 学籍番号:c1111286 語学クラス:英語2 コース:政策マネジメント チーム名:Oh!にぎり チームホームページアドレス:http://roy/~c111108/Ohnigiri/ 部門: プロジェクトコード名: チーム SNS アドレス: 1、筆記問題 ・pstore とは Ruby のオブジェクトを外部ファイルに格納するためのクラスのこと。 transaction のブロック内でなければデータベースにアクセスすることが出来な いので注意。 ・pstore の使い方 require 'pstore' #受け取ったデータをためる宣言 cgi = CGI.new(:accept_charset => "EUC-JP") pstore = PStore.new("pstore/bbs.db") #データベースを入力させる部分 db.transaction do #入力されたデータを読み込んで出 力する部分 ・実際のプログラム 今回の授業で作成したプログラムは次のようになる。 #!/usr/bin/env ruby #coding: euc-jp require 'cgi' require 'pstore' cgi = CGI.new(:accept_charset => "EUC-JP") db = PStore.new("pstore/bbs.db") usr = cgi["usr"] cmt = cgi["comment"] t = Time.now.to_i myprog = "pstore_bbs.rb" print("Content-type: text/html; charset=EUC-JP\n\n") print("\n") print("
\n") print("知りたい教員は %s ですね
\n",zemi2) printf("%s の場所を説明します。
\n",kenkyusitsu2) if zemi2 == "内藤" if kenkyusitsu2 == "研究室" print("内藤先生の研究室はA研です。
") else print("内藤先生が授業を行っているのは201教室です。
") end end if zemi2 == "和田" if kenkyusitsu2 == "研究室" print("和田先生の研究室はA研です。
") else print("和田先生が授業を行っているのは103教室です。
") end end if zemi2 == "尾身" if kenkyusitsu2 == "研究室" print("尾身先生の研究室はB研です。
") else print("尾身先生が授業を行っているのは301教室です。
") end end if zemi2 == "阿部" if kenkyusitsu2 == "研究室" print("阿部先生の研究室はH研です。
") else print("阿部先生が授業を行っているのは105教室です。
") end end if zemi2 == "水田" if kenkyusitsu2 == "研究室" print("水田先生の研究室はC研です。
") else print("水田先生が授業を行っているのは301教室です。
") end end print("\n") print("\n") number += 1 open("count.txt","w") do |w| w.printf("%d\n",number) end ・作成したhtml文教員のいる場所が分かるCGIなんだ!!
ご意見・ご感想がある方はこちらにどしどし!
© c1111286 舟山 真
c111128@g.koeki-u.ac.jp 前期のページへ 舟山家へようこそへ Oh!にぎり☆のホームページへ iii.元にしたプログラム 過去に自分で作成したCGIプログラム「order_input.c111128.rb」を参考にした。 基本的なCGIのプログラムの形だったので、そこに[if]文を使って結果を表示で きるようにした。 iv. 実行結果 ・html文教員のいる場所が分かるCGIなんだ!!
ご意見・ご感想がある方はこちらにどしどし!
© c1111286 舟山 真
c111128@g.koeki-u.ac.jp 前期のページへ 舟山家へようこそへ Oh!にぎり☆のホームページへ ・実行文知りたい教員は 内藤 ですね
研究室 の場所を説明します。
内藤先生の研究室はA研です。
v.考察 if文を間違えていて、[kenkyusitsu]=[研究室]に設定していたのだが、[場所]と してしまっていていくら実行しても結果が上手く表示されなかった。if文をよく 理解していなかったため、このような結果になってしまった。友だちに教えても らい、修正した結果、上手く表示させることが出来た。 B、 GIMP作品 アルバイトのプログラムなので、鮮やかな色で、初めてアルバイトをしたときの新 鮮さを出すことを意識した。 http://roy/~c111128/adv2/logo_r2_c111128.png 3、感想 興味のある作品 http://roy/~c111022/rubycgi/order_input_c111022.html 実際にこのようなプログラムが使われているのではないかと思うくらい、実用性 があると思った。使いやすく、分かりやすいのでこのCGIスクリプトは使う意味 があるものだと思う。 CGIは、2つのファイルを連動させて作成するプログラムで、今までで一番大変だっ た。最高傑作を作成して、新に分かったことが数多くあり、作成してよかったと 思った。特に、自分が知らないことを友だちが知っていたり、その逆だったりし たことがあったので、お互いに進歩できた学習だったと思う。 また、CGIの学習に入ってから行うようになった作業で、[ssh roy] というもの があるが、今までこの作業の意味が分からなかったのでただ指を動かしていただ けだったのだが、その意味を理解することが出来たのでスムーズにプログラム作 成を行うことが出来た。CGIを使ったプログラムは、[pan]の中では動作の確認が 出来ない。しかし、[roy]はCGIスクリプトの動作確認を扱っているところなので、 確認を行うことが出来るのである。 参考文献 基礎プログラミング II 第 8 回 「CGI ことはじめ」 「試作品のエラーを探せ」 http://roy/~madoka/2012/r2/08/r2_08_14_theme_12_tryanderror.html 基礎プログラミング II 第 10 回 「CGI ことおぼえ」 http://roy/~madoka/2012/r2/10/ 「コメント受け付けプログラム」 http://roy/~madoka/2012/r2/10/r2_10_04_theme_04_comment.html 「データベースに入力」 http://roy/~madoka/2012/r2/10/r2_10_05_theme_05_input.html 共同学習者(プログラム作成次に教えてくれた) 佐藤智久