[村川猛彦]

情報ネットワーク演習(村川担当分)

諸注意
  • 最終的な回収や採点などに関する注意事項を,~takehiko/network-enshu2015/201601.txt より読めるようにしました.
  • 村川担当の演習実施日は以下の予定です.いずれも木曜日の9:10〜12:20です.部屋は,6階演習室(A601)です.
    • 2015年10月: 1, 8, 15, 22, 29日
    • 2015年11月: 5, 12日
  • 課題を通じて,「通信プログラム」「オープンソースソフトウェア」「HTTP」「Webアプリケーション」について学びます.
  • Linuxを使用します.授業開始時に,Linuxを起動させ,ログインしておいてください.
    • 今年度より,デフォルトのブートOSがWindowsに変更されています.ブートOS選択時には「Linux」のほうを選んでください.
  • 各課題の「使用可能なファイル」や,授業中の指示を書いたメモは,このページからアクセスできません.演習室にて取得・参照してください.
  • ファイル回収状況のページを設置しました.指示通りにファイルを作ったのに,学生番号や○印のない人は,ディレクトリ名・ファイル名とパーミッションを見直してください.それでも問題ないという人は,連絡ください.
  • メールで質問したい人,授業時間外の相談などを希望する人は,takehiko@sys.wakayama-u.ac.jp まで.
課題1
実施内容と意図 ペアとなって動作する通信プログラムのデバッグおよび改善を行います.
この課題を通じて,クライアント/サーバモデルに基づく通信の実現方法を学びます.
使用可能なファイル ~takehiko/network-enshu2015/1/server0.c:サーバプログラム
~takehiko/network-enshu2015/1/client0.c:クライアントプログラム(バグあり)
~takehiko/network-enshu2015/1/server.c:サーバプログラム(不完全)
~takehiko/network-enshu2015/1/client.c:クライアントプログラム(不完全)
課題1-1server0.c および client0.c がペアとなって動作するよう,client0.c を修正しなさい.
課題1-2server.c および client.c に関数を定義し,それぞれ server0.c および(課題1-1で修正した) client0.c と同じ動作になるようにしなさい.
課題1-3client0.c にあるforループについて,その処理内容を詳しく説明したファイル client0.txt を作成しなさい.自習キーワードをできるだけ多く使用すること.
回収対象ファイル ~/network-enshu2015/1/client0.c
~/network-enshu2015/1/server.c
~/network-enshu2015/1/client.c
~/network-enshu2015/1/client0.txt
自習キーワード低水準入出力,システムコール,ホスト名,IPアドレス,ポート番号,クライアントサーバモデル,ディスクリプタ,DNS,線形リスト,一対多
レビュー 10月1日(木)回収の client0.c について,10月2日(金)にレビュー結果を連絡しました.
10月8日(木)回収予定の server.c,client.c,client0.txt について,10月15日(木)までにレビュー結果を連絡します.
課題2
課題1-1から1-3までを終えてから,取り組んでください.
実施内容と意図 Apache HTTP Serverのビルドを行い,様々な応答を調査します.
この課題を通じて,HTTPサーバの動作と,オープンソースソフトウェアの活用方法を学びます.
使用可能なファイル ~takehiko/network-enshu2015/2/httpd-2.2.31.tar.bz2:Apacheのソースファイル
~takehiko/network-enshu2015/2/status.txt:ステータスコード・動作手順などを記したテキストファイル
課題2-1~/network-enshu2015/2/httpd 以下の適切なディレクトリに実行プログラムなどが配置されるよう,ビルドしなさい.
課題2-2シェルスクリプトファイル build.sh を作成し,実行すれば,課題2-1の内容(ビルド,設定ファイルの修正,サーバ起動)を行うようにしなさい.
課題2-3サーバと通信し,10種類以上のHTTPステータスコードを確認しなさい.ステータスコード,英語による説明,動作の手順,確認方法を,status.txt に記述しなさい.
回収対象ファイル ~/network-enshu2015/2/build.sh
~/network-enshu2015/2/status.txt
自習キーワードHTTP,オープンソースソフトウェア,Apache,ビルド,tar.bz2,configure,make,シェルスクリプト,設定ファイル,管理者(root),特権ポート,CGI (Common Gateway Interface),ステータスコード,ログ
レビュー 10月15日(木)回収予定の build.sh について,10月22日(木)までにレビュー結果を連絡します.
10月22日(木)回収予定の status.txt について,10月29日(木)までにレビュー結果を連絡します.
課題3
課題1-1から2-3までを終えてから,取り組んでください.
実施内容と意図 HTTPサーバと連携して動く文字列検索プログラムを作成します.
この課題を通じて,Webアプリケーションの構築方法を学びます.
使用可能なファイル ~takehiko/network-enshu2015/3/program.tar.gz:HTMLファイルなど
~takehiko/network-enshu2015/3/text.tar.gz:テキストファイル
~takehiko/network-enshu2015/3/manual1.txt:手順書(間違いあり)
課題3-1manual1.txt を修正し,その手順通りに実行するとWebアプリケーションが動作するようにしなさい.
課題3-2課題3-1で動くWebアプリケーションは,実用的とは言えない.実用的なものにするための改善案を5点提案し,実装しなさい.改善案は manual2.txt に記述し,実行に必要なファイルはアーカイブ化して program2.tar.gz に格納すること.
課題3-3課題3-2で実装したWebアプリケーションを他の学生が動作できるよう,手順書を作成して manual2.txt に保存し,実際に学生1名に動作確認をしてもらいなさい.
回収対象ファイル ~/network-enshu2015/3/manual1.txt
~/network-enshu2015/3/program2.tar.gz
~/network-enshu2015/3/manual2.txt (このファイルに記載すべき事項は別途指示する.)
自習キーワード文字列検索,grep,JavaScript,DOM,ユーザインタフェース,検収
リンク

takehiko@sys.wakayama-u.ac.jp
Last modified: Thu Jan 21 09:09:38 JST 2016