HANDS-ON 01 / 25 MIN
ex03 ── 仕様書からコード生成
フォルダ構成
フォルダ: ex03_generate/
ファイル: spec.md
01
入力
サーバー稼働ログのCSVファイル(timestamp, server_name, cpu_usage, memory_usage, status)
02
出力
サーバーごとの集計レポート(件数、CPU平均、メモリ平均、エラー数)+ 全体サマリー
03
技術要件
Python 3.10以上、標準ライブラリのみ使用(csv, sys, collections)
Step 1: 仕様を確認する
VSCodeで spec.md を開いて仕様を確認する
Step 2: 実装を依頼する
Claude Codeに実装を依頼する
Step 3: 確認して実行する
生成されたファイルを確認して実行する
## Claude Codeに入力するプロンプト
ex03_generate/spec.md を読んで、仕様通りのPythonスクリプトを実装してください。
テスト用のCSVファイル(server_log.csv)も作成してください。
cd handson_cc\ex03_generate
python aggregate.py server_log.csv
============================
サーバー稼働ログ集計レポート
============================
[サーバー別集計]
web-01: 10件 | CPU平均 52.3% | メモリ平均 61.2% | エラー 1件
web-02: 8件 | CPU平均 73.8% | メモリ平均 55.0% | エラー 0件
db-01: 12件 | CPU平均 41.5% | メモリ平均 78.9% | エラー 2件
[全体サマリー]
総レコード数: 30
サーバー数: 3
CPU高負荷(80%超): 5件
エラー状態: 3件
============================
EXERCISE
確認ポイント
- 引数なしで実行するとエラーメッセージが表示されるか
- 存在しないファイルを渡すとエラーが出るか
- サーバー別集計の各項目が仕様通りか
仕様書の品質が生成コードの品質を決める。曖昧な仕様だと曖昧なコードになる。
HANDS-ON 02 / 30 MIN
ex04 ── コード読解とリファクタリング
フォルダ構成
フォルダ: ex04_refactor/
ファイル: log_parser.py + logs/access.log
Step 1: 動作を確認する
まず実行して動作を確認する(出力を控える)
Step 2: コード解説を依頼する
Claude Codeにコード解説を依頼する
Step 3: リファクタリングを依頼する
リファクタリングを依頼する
Step 4: 出力を比較する
再実行して出力を比較する
cd handson_cc\ex04_refactor
python log_parser.py
============================================================
アクセスログ解析レポート
============================================================
総リクエスト数: 50
合計転送量: 697,439 bytes (0.7 MB)
--- HTTPメソッド別 ---
GET: 40件 (80.0%)
POST: 8件 (16.0%)
PUT: 1件 (2.0%)
DELETE: 1件 (2.0%)
--- ステータスコード別 ---
200 (OK): 39件
201 (OK): 1件
...
--- エラーリクエスト (7件) ---
[403] 10.0.0.99 -> /admin/config
[401] 10.0.0.99 -> /admin/login
[400] 10.0.0.99 -> /../../etc/passwd
...
## Claude Codeに入力するプロンプト
log_parser.py のコードを読んで、何をしているか解説してください。
## Claude Codeに入力するプロンプト
log_parser.py を以下の方針でリファクタリングしてください。
- analyze_log関数を複数の関数に分割する
- 各関数にdocstringを付ける
- 出力結果は変えない
出力の完全一致が品質の証明
リファクタリング前と同じ出力が得られれば成功。数値やフォーマットが1箇所でも変わっていたら、Claude Codeにその旨を伝えて修正させる。
EXERCISE
発展(余裕があれば)
「access.log の中に不審なアクセスがあります。セキュリティの観点で分析してください。」と依頼する。10.0.0.99 からの管理画面不正アクセス試行とパストラバーサル攻撃についてClaude Codeが分析してくれる。