コードは書かない。日本語で「指示する」だけ
あなたの仕事はコードを書くことではありません。日本語でClaude Codeにお願いするだけ。ただ、Webアプリの仕組みをざっくり知っておくと、指示が正確になり、トラブルが起きても原因の見当がつくようになります。
指示が正確になる
「どこを直したいか」を言葉にできると、Claude Codeは狙い通りに動いてくれます。
原因の特定がラクになる
不具合が「画面」「処理」「保存」のどこで起きているか、当たりがつけられます。
役割の流れ
この資料の使い方
- 1最初から全部読む必要はありません ── 詰まったときに、該当する章だけ開けば大丈夫です。
- 2知りたい言葉へ飛べます ── 冒頭の「章ジャンプ」ボタンを押すと、気になるキーワードの章へすぐ移動できます。
- 3各章に「🗣️ Claude Codeへの伝え方」ボックス ── そのままコピーして使える頼み方を載せています。
全体像 ── Webアプリの構成マップ
Webアプリは大きく「3つの層」でできています。まずは全体の地図を頭に入れましょう。
Webアプリは「ホール・厨房・倉庫」でできている
レストランに例えると、とても分かりやすくなります。お客さんの前に立つホール、料理を作る厨房、食材や帳簿をしまう倉庫。この3つがWebアプリの3層です。
| 層 | レストラン例 | 技術 | 役割 |
|---|---|---|---|
| フロントエンド | 🍽️ ホール | HTML / JavaScript / CSS | 画面の表示・操作 |
| バックエンド | 👨🍳 厨房 | Python(FastAPI)等 | データ処理・ルール管理 |
| データベース | 📦 倉庫・帳簿 | SQLite, MySQL 等 | データの永続保存 |
3層をまたぐ、横断的な仕組み
| 仕組み | 例え | 役割 |
|---|---|---|
| 認証・認可 | 会員カード・権限管理 | 「誰が」「何をできるか」を管理する |
| ローカル → クラウド | 試作店 → 本店 | 開発環境から本番環境へ公開する |
例:製造業の「見積もりアプリ」の流れ
3つの層が実際にどう連携するのか、身近なアプリで追ってみましょう。データが層から層へ渡っていくのが分かります。
- 1お客さんがヒアリングフォームに入力 ── フロントエンド(ホール)が受け取る。
- 2入力内容をAIで処理し、見積もりを計算 ── バックエンド(厨房)が処理する。
- 3計算結果をDBに保存 ── データベース(倉庫)にしまう。
- 4見積もり書PDFを画面に表示 ── フロントエンド(ホール)がお客さんに返す。
クライアントとサーバー
Webアプリの通信は「お願いする側」と「応える側」の2つの役割で成り立っています。
クライアント(頼む側)とサーバー(応える側)
レストランの注文と同じです。あなたが「カレーください」と頼み、お店が作って出す。この「頼む・応える」のやりとりが、Webアプリの通信の正体です。
| ステップ | 誰が | 何をする | 用語 |
|---|---|---|---|
| 1 | クライアント | 「カレーください」と頼む | リクエスト(要求) |
| 2 | サーバー | 注文を受けて調理する | 処理 |
| 3 | サーバー → クライアント | 「カレーお待たせしました」と出す | レスポンス(応答) |
三層アーキテクチャ
Chapter 1の3層を、もう少しだけ詳しく。なぜ「分ける」と便利なのかを見ていきます。
役割ごとに「3つの部屋」に分ける
ホール・厨房・倉庫は、それぞれ独立した部屋です。役割をきっちり分けておくことで、あとから変更しやすく、壊れにくいアプリになります。
3層に分ける利点
- 1フロントの設計を変えても ── 厨房のレシピ(処理)は変わりません。
- 2バックの処理を変えても ── 倉庫の食材(保存データ)は変わりません。
- 3各層を独立して変更・改善できる ── だからメンテナンスがラクになります。
データの流れ
各層の詳細 ── フロントエンド(ホール)
まずは、お客さんが実際に触れる「ホール」から。ユーザーとサーバーの仲介役です。
フロントエンドは「ホール(接客の場)」
フロントエンドの役割は、ユーザーとサーバーの仲介役です。もし画面(フロント)がなかったら、どうなるでしょうか?
- URLを直接入力して通信する
- 結果がJSON(機械向けのテキスト)で返ってくる
- JSON= {"名前":"田中"} のような、コンピュータ同士がやりとりする書式。人が読むには読みにくい
- お客さんが直接キッチンに行くような感覚
- ボタンを押すだけで通信できる
- 見やすい画面に整形して表示される
- ホールが間に立って取り次いでくれる
ホールを作る3つの担当
フロントエンドは、3つの部品でできています。それぞれ「内装」「接客係」「デザイナー」と考えると分かりやすいです。
| 部品 | 例え | 役割 | 具体例 |
|---|---|---|---|
| HTML | 🪑 内装・家具 | 画面の構造・配置 | 入力欄 / ボタン / 表示エリア |
| JavaScript | 🤵 動き回る接客係(ウェイター) | 処理ロジック・通信 | ボタン押下 → サーバー送信 |
| CSS | 🎨 デザイナー | 見た目の装飾・色・レイアウト | 文字色 / 背景色 / 余白 |
JavaScript(動き回る接客係/ウェイター)の3つの仕事
| 仕事 | 例え | 用語 | 具体例 |
|---|---|---|---|
| 1 | お客さんの合図に反応する | イベント処理 | 「追加」ボタンの押下を検知 |
| 2 | キッチンに注文を伝える | サーバー通信(fetch) | サーバーへ送信し、結果を受け取る |
| 3 | 料理を運ぶ | 画面更新 | 受け取ったデータを画面に表示 |
完成の構図
各層の詳細 ── バックエンド(厨房)
お客さんからは見えない「厨房」。注文を受けて、ルール通りに料理を作る場所です。
バックエンドは「厨房」で行われる4つの仕事
厨房では、注文票を受け取り、レシピ通りに調理し、料理を出し、衛生ルールを守る ── この4つが行われています。
| 仕事 | 例え | 具体例 |
|---|---|---|
| リクエストを受け取る | 注文票を受け取る | 「メモ一覧をください」 |
| データを処理する | レシピ通りに調理する | 検索・作成・更新・削除 |
| レスポンスを返す | 料理をホールに出す | JSON形式でデータを返却(=先ほど出てきた機械向けの書式) |
| ルールを守らせる | 食品衛生を管理する | ログイン確認・権限検証 |
API と エンドポイント
ホールと厨房をつなぐ「注文システム」の仕組みです。エラー番号は覚えなくて大丈夫。
API=注文システム、エンドポイント=メニュー項目
APIは、クライアントとサーバーがやりとりするための「注文のルール」。エンドポイントは、その中の「1つ1つのメニュー」だとイメージしてください。
| 用語 | 例え | 説明 |
|---|---|---|
| API | お店全体の注文システム | クライアント・サーバー間の通信のルール |
| エンドポイント | 各メニュー項目 | /api/memos などの具体的なURL |
エンドポイント一覧(メモアプリの例)
| エンドポイント | 意味 | 注文で言うと |
|---|---|---|
| GET /api/memos | メモ一覧を取得 | 「注文の状況を見せて」 |
| POST /api/memos | 新規作成 | 「カレーを注文して」 |
| PUT /api/memos/1 | 更新 | 「注文を変更して」 |
| DELETE /api/memos/1 | 削除 | 「注文をキャンセルして」 |
ステータスコード(結果の合図)
| コード | 意味 | 例え | 実際に起きていること |
|---|---|---|---|
| ✅ 200 | 成功 | 注文どおり料理が出た | 正常 |
| ❌ 400番台 | 注文側のミス | 注文の仕方が違う/メニューに無い | 入力・URL・ログイン切れ(404=ページ無し, 401=未ログイン) |
| ❌ 500番台 | 厨房側のミス | 厨房でトラブル | サーバー側の不具合 |
各層の詳細 ── データベース(倉庫・帳簿)
データを「消えないように」しまっておく場所。Excelのイメージで理解できます。
データベースがないと、データは消えてしまう
データの置き場所には2種類あります。一時的な「ホワイトボード」か、ずっと残る「帳簿・倉庫」か。この違いがとても大事です。
- 置き場所:サーバーのメモリ
- 保持:アプリ(サーバー)が起動している間だけ
- アプリ(サーバー)を再起動するとデータが消える
- 置き場所:ディスク
- 保持:永続的(サーバー/アプリを止めても、ディスクに残る)
- サーバーを止めてもデータが残る
データベースは「Excel」とほぼ同じ
難しく考えなくて大丈夫。テーブル=Excelのシート、行=1件のデータ、列=項目。ふだん使うExcelとほとんど同じ感覚です。
メモテーブルの例
| ID | タイトル | 内容 | 作成日時 |
|---|---|---|---|
| 1 | 買い物リスト | 牛乳, 卵 | 2/1 10:00 |
| 2 | 会議メモ | 次回は来週水曜 | 2/1 14:30 |
| 3 | アイデア | 新サービスの案 | 2/2 09:15 |
CRUD ── データ操作の4つの基本
どんなアプリも、突き詰めればこの「4つの操作」の組み合わせでできています。
Create / Read / Update / Delete
データに対してできることは、たった4つ。「作る・読む・変える・消す」。頭文字をとってCRUD(クラッド)と呼びます。
Create | 作成
新しくデータを作る
Read | 読み取り
データを読む・一覧を見る
Update | 更新
データを変更する
Delete | 削除
データを消す
4操作を、注文・アプリ・Excelで対応させると
| 操作 | 注文で言うと | メモアプリでは | Excelでは |
|---|---|---|---|
| Create | 新しく注文する | メモを新規作成 | 新しい行を追加 |
| Read | 注文一覧を確認 | メモ一覧を表示 | シートを見る |
| Update | 注文を変更 | メモを編集 | セルの内容を変更 |
| Delete | 注文をキャンセル | メモを削除 | 行を削除 |
CRUD と HTTPメソッドの対応
| 操作 | HTTPメソッド | 意味 |
|---|---|---|
| Create | POST | 「新しく作って」 |
| Read | GET | 「データを見せて」 |
| Update | PUT | 「変更して」 |
| Delete | DELETE | 「削除して」 |
認証と認可
「あなたは誰?」「何ができる?」を管理する仕組み。会員カードと権限の話です。
認証(誰?)→ 認可(何ができる?)の2ステップ
ログインの裏側では、2つの確認が順番に行われています。まず「あなたは誰か」を確かめ、次に「何ができるか」を判断します。
| ステップ | 問い | 意味 | 例え |
|---|---|---|---|
| 認証(Authentication) | 「あなたは誰?」 | 本人確認 | 会員カードを見せる |
| 認可(Authorization) | 「何ができる?」 | アクセス許可 | 一般会員は閲覧だけ、管理者は削除もできる(=同じログイン済みでも“できること”が違う) |
処理の順序
パスワードは「そのまま」保存してはいけない
パスワードの扱いは、セキュリティの要です。そのまま保存するのは危険。「復元できない形」に変換して保存するのが鉄則です。
- 「password123」をそのままDBに保存
- DBが漏洩すると全員のパスワードがバレる
- 復元できない形に変換して保存
- DBが漏洩しても元のパスワードは分からない
ローカルとクラウド
「自分のPCで動かす」のか「ネットに公開する」のか。試作店と本店の違いです。
ローカル=試作店、クラウド=本店
開発中は自分のPCの中(ローカル)で動かし、完成したらネット上(クラウド)に公開します。試作店で作り込んで、本店をオープンするイメージです。
| ローカル環境 🏠(試作店) | クラウド ☁️(本店) | |
|---|---|---|
| 場所 | 自分のPC内 | 他社のコンピュータ(AWS, Google 等) |
| 誰が使える | 自分だけ | 世界中の誰でも |
| 稼働時間 | アプリ(サーバー)を起動している間だけ | 24時間365日 |
| URL例 | localhost:8000 | xxx.onrender.com 等 |
| 用途 | 開発・テスト | 実際のサービス提供 |
昔のやり方 vs クラウド
| 昔のやり方 | クラウド | |
|---|---|---|
| サーバー | 自分で買って管理 | Google や Amazon のPCを借りる |
| コスト | 高い | 安い |
| 管理 | 大変・知識が必要 | 簡単・専門家が管理 |
| 比喩 | 自分でビルを建てる | テナントを借りる |
デプロイ=アプリを「公開する」こと
「デプロイ」という言葉は、要するに試作店で作ったものを本店に移して公開すること。YouTubeに動画をアップして公開するのと、まったく同じ感覚です。
コスト感の目安
| 使う規模 | 費用の目安 | 使うサービス例 |
|---|---|---|
| 自分だけ | 無料 | 自分のPC(localhost:8000) |
| 数人〜100人 | $5〜$20/月 | Render, Railway 等(無料〜低価格) |
| それ以上 | スケール次第 | AWS, Google Cloud 等 |
開発フロー全体
実践プロンプト集
そのままコピーして使える頼み方を集めました。困ったらここへ戻ってきてください。
まずは「作って」とお願いしてみる
アプリ作りは、この一言から始まります。何を作りたいか、どんな項目が必要かを日本語で伝えるだけです。
作ったあとの「ちょい足し」もこの調子
一度作ったアプリに、機能を追加したり見た目を直したり。やりたいことを言葉にすれば、Claude Codeが対応してくれます。
ログインを付ける・ネットに公開する
最後の仕上げは、ログイン機能と公開(デプロイ)。ここも、まとめてお願いするだけで対応してくれます。
心構え ── これだけ覚えておけばOK
細かい用語よりも、この3つの姿勢のほうがずっと役に立ちます。
用語は暗記しない。困ったら貼って相談する
この資料の締めくくりです。技術の細部より、次の3つの姿勢を持っておくことが、いちばん大切です。
- 用語の暗記は不要 ── この資料は「必要なときに開く地図」。全部を覚える必要はありません。
- 設計に唯一の正解はない ── テンプレの完全再利用は稀。試行錯誤が常で、AIと相談しながら柔軟に固めていきます。
- エラーは番号を覚えない ── 画面をそのままClaude Codeに貼って相談すれば、たいてい直ります。