レポート課題(任意提出)¶
任意提出です
提出は必須ではありません。提出された場合は、演習課題と小テストで得られる評価点に、このレポートの評価を加えて科目評価とします。
テーマ¶
次の 2 つのテーマから 1 つを選んで レポートを書いてください。考え方と例は、第 7 回のスライド(network07.pdf)の「3. 測ってみる」と「4. おまけのレポート課題」にあります。
| テーマ A: 測定実験 | テーマ B: 新しいプロトコルの設計と実装 | |
|---|---|---|
| やること | hey で HTTP サーバの性能を測り、結果を説明する |
新しいプロトコルを自分で設計し、クライアントとサーバを実装する |
| 使うもの | httpServer.py・httpThreadServer.py・hey |
Python のソケット(第 3〜6 回の内容) |
| レポートの中心 | 測定の条件・結果のグラフ・結果の理由 | プロトコルの仕様・実装・動かして確かめた結果 |
テーマ A: hey による HTTP サーバの測定実験¶
接続の条件を自分で決め、hey を使って HTTP サーバの性能を測る実験を行ってください。条件は、スライドの測定例や次の例を参考に、各自で工夫して決めてください。
- リクエスト数(
-n)、同時接続数(-c)を変える httpServer.pyとhttpThreadServer.pyを比べる- ネットワーク上の距離を変える(自分の PC(
127.0.0.1)、同じ LAN 内の自分の PC、許可された学内サーバ) - 送るファイルのサイズを変える
- 待受けキューのサイズ(
listen()の引数)や受信バッファのサイズ(recv()の引数)を変える
負荷テストの宛先は限定されています
負荷テストを行ってよい相手は、ex7 に示した 3 つ(自分の PC、自分が管理しているサーバ、www.math.ryukoku.ac.jp と whale2.math.ryukoku.ac.jp)だけです。処理能力の上限を探る実験は、自分が管理しているサーバに対してのみ行ってください。
テーマ B: 新しいプロトコルの設計と実装¶
HTTP は「どんな文字列を、どの順に送り合うか」の取り決めでした。同じように、新しい取り決め(プロトコル)を自分で設計し、そのクライアントとサーバを Python のソケットで実装してください。既存のプロトコル(HTTP など)を実装する課題ではありません。
- 目的を決める — 何をするためのやり取りか
- 仕様を書く — メッセージの形式、送り合う順序、エラーのときの返事
- 実装する — クライアントとサーバを書く
- 確かめる — 正しい使い方だけでなく、間違った命令や途中で切れた接続も試す
スライドの MEMO プロトコルは、仕様の書き方を示すための例です。これを写したり手直ししたりするのではなく、目的から自分で考えたプロトコルにしてください。
サーバを動かす場所
サーバは自分の PC か、自分が管理するサーバで動かしてください。ポートを開けたまま放置しないでください。
レポートに含むべき内容¶
- タイトル — 測定の内容や目的が推測できる、簡潔なタイトル
- 目的 — HTTP 通信やサーバプログラムのどのような側面に注目したか(何を測り、何の効果を確かめるための実験か)
- 条件 — 測定の各種条件(どのパラメータをどの範囲で変えたか、どの値に固定したか)
- 方法 — 使ったサーバプログラムや
heyのコマンドなど(読んだ人が実験を再現できるように書く) - 結果 — 測定結果をグラフにまとめ、レポートの中で必ずそのグラフを説明する
- 考察 — 結果から分かること(分からないこと)と、その結果が生じた理由として考えられること
- タイトル — プロトコルの目的が推測できる、簡潔なタイトル
- 目的 — 何をするためのプロトコルか
- 仕様 — メッセージの一覧、やり取りの順序の図、エラーの決め方と、そう決めた理由
- 実装 — クライアントとサーバのコード(読んだ人が動かせるように書く)
- 結果 — 実行例と、正しくない使い方や途中で切れた接続などを試した結果
- 考察 — 仕様の限界(何ができないか、どう直せるか)と、その理由
口頭試問に対応できる日時¶
どちらのテーマも、レポートの最後に口頭試問に対応できる曜日・講時の候補を 3 つ以上書いてください(例: 月曜 3 講時、水曜 2 講時、木曜 4 講時)。口頭試問については「注意事項」を見てください。
提出方法¶
- PDF 形式のファイルにして、aiJudge の課題「レポート課題(任意提出)テーマ A」「同 テーマ B」のうち、選んだテーマの課題のどちらか一方だけに提出してください。
- ファイル名は半角英数字のみ(T・Y は大文字)で、「自分の学籍番号.pdf」(例:
Y230999.pdf)とします。 - 第 8 回(11/13)の終了後から提出できます。
- 課題の趣旨に沿っていないなどの理由で、再提出をお願いすることがあります。
提出締切¶
2026 年 11 月 27 日(金)23:59 まで(締切を過ぎると提出できません)
評価¶
次のような観点から総合的に判断します。
- レポートとしての体裁(含むべき内容が含まれているか、きちんとした日本語で書かれているか)
- 目的に沿った条件・方法(テーマ A)や仕様(テーマ B)が設定されているか
- 結果が分かりやすくまとめられているか
- 考察で、結果に基づいた客観的な事実が述べられているか。その事実に基づいて自分の考えが述べられているか
評価点¶
- 評価: 0〜20 点 + α
- 追加の加点(+α): 独自性や内容、完成度などに応じて加点します
- 同一と見なされるレポートは、同じレポートの人数を n として、1/n 倍した点数で評価します
- 同じ観点から同じパラメータを変えるような実験が複数のレポートで行われることはあり得ます。レポートの内容や実験の数値、考察などを見て独自性を判断するので、独力で作成する限りは気にする必要はありません
- 共同作成は禁止しませんが、評価では不利になります。複数人で作成した場合はレポートにその旨を明記し、提出は各自で行ってください
注意事項¶
考察に感想は不要です¶
考察では、自分が行った実験や実装の目的と、その結果について、次のようなことを客観的に述べてください。
- 得られた結果から、目的に対して何が言えるか(あるいは言えないか)
- その結果をもたらした原因として考えられること
- 考えられる原因を特定するには、どのような実験や確認をすればよさそうか
感想を書きたい場合は、考察とは別の章を立ててください。
口頭試問¶
提出されたレポートについて、口頭試問を行うことがあります。レポートの内容(実験や実装で行ったこと、結果の理由など)を、その場で説明してもらいます。対象者には、レポートに書かれた候補の曜日・講時から日時を決めて、提出締切から 2 週間以内(12 月 11 日(金)まで)に連絡します。この日までに連絡がなければ、口頭試問はありません。
生成 AI の利用¶
コードや文章の作成の補助に生成 AI を使ってかまいません。ただし、使った箇所と使い方をレポートに明記してください。実験の結果や考察の内容は、自分で確かめ、自分で説明できるものにしてください。
他人のレポートの借用¶
過年度の学生や同級生のレポートを借用して提出した場合は、演習課題の点をすべて 0 点として扱います。