なぜいま「値を外に出す」話をするのか

B-06で、同じアプリでも、ローカル環境・開発環境・本番環境という環境ごとに、設定や接続先の値が違うと見ました。では、その環境ごとに変わる値を、コードのどこに、どのように置けばよいのでしょうか。その答えが、値をコードの外に出す「環境変数」と「設定ファイル」の仕組みです。ここはバイブコーディングの安全性を左右する要所になります。
このスライドのポイント
- B-06で学んだこと: 同じアプリでもローカル・開発・本番で設定や接続先が違う
- 今回の問い: その「環境ごとに違う値」を、コードのどこに、どう置くか
- この講義の役割: バイブコーディングの安全性の要所を固める
環境変数と設定ファイルの定義

環境変数とは、OSやシェルが持つ「名前と値の組」のことです。プログラムは起動するときに、この値を読み取れます。これを使うと、環境ごとに違う値を、コードを書き換えることなく切り替えられます。設定ファイルとは、設定値をまとめて書いておくファイルのことです。開発では、ドットで始まる .env という名前のファイルに環境変数を書く方式が、広く使われています。
このスライドのポイント
- 環境変数=OSやシェルが持つ「名前と値の組」。プログラムは起動時にこれを読める
- 使いどころ=環境ごとに違う値を、コードを変えずに切り替えられる
- 設定ファイル=設定値をまとめて書いておくファイル
- 開発では .env という名前のファイルに環境変数を書く方式が広く使われる
なぜ必要か——直書きが招く事故

この仕組みを知らないと、APIキーやパスワードをコードにそのまま書き、それを公開してしまう事故が起きます。これは初心者に最も多く、そして最も深刻な事故です。もう一つ、環境ごとの値を切り替えられず、本番の接続先をローカル向けの値のまま書いてしまう、という取り違えも起こります。こうした事故を防ぐための基本が、値をコードの外に出すことなのです。
このスライドのポイント
- 知らないと起きること1: APIキーやパスワードをコードに直書きし、公開してしまう
- これは初心者に最も多く、最も深刻な事故
- 知らないと起きること2: 環境ごとの値を切り替えられず、本番の接続先をローカル向けに書いてしまう
- 対策の基本=値をコードの外に出す
構造——コードと値を分ける

構造はシンプルです。「コード」と「環境変数」を分けて考えます。コードは、どの環境でも同じ内容にしておき、「API_KEY という名前の値を使う」とだけ書いておきます。そして、実際の値は、コードではなく環境の側が持ちます。このように役割を分けておくことで、コードには手を触れずに、環境ごとの値だけを差し替えられるようになります。
このスライドのポイント
- コード=どの環境でも同じ内容にしておく
- コードには「API_KEY という名前の値を使う」とだけ書く
- 実際の値=コードではなく環境の側が持つ
- 役割を分けると、コードを変えずに環境ごとの値を差し替えられる
具体例——同じコードで値だけ切り替える

天気の情報を取得するAPIのキーを例にします。ローカル環境では試験用のキーを、本番環境では本物のキーを使いたい、という場面です。このとき、同じコードのまま、環境変数でキーの値だけを切り替えます。コードの中身は一切変えません。そして、キーそのものは、コードにも、後のカテゴリOで扱うGitにも入れないようにします。値と、その値を使うコードを、はっきり分けておくことがポイントです。
このスライドのポイント
- 例: 天気の情報を取得するAPIのキー
- ローカルは試験用キー、本番は本物のキー
- 同じコードのまま、環境変数でキーの値だけを切り替える
- キーそのものは、コードにも、後のカテゴリOで扱うGitにも入れない
技術サンプルカード

サンプルの種別は設定、configです。目的は、値をコードの外に置く形を見ることです。.env ファイルの例では、API_KEY の値を dummy-key-1234 としていますが、これはダミーで、本物のキーは書かない例示です。読み方の要点は、値がコードではなくファイル側にあること、そして .env は共有も公開もしないことです。注意点として、.env の中身を、チャットやAIへの質問文に貼らないでください。どうしても貼る必要があるときは、値を伏せます。
混同しやすい概念——ただの設定値と秘密情報

混同しやすいのは、「ただの設定値」と「秘密情報」です。どちらも同じくコードの外に置く値ですが、扱いの厳しさが大きく違います。たとえば画面の色の設定などは、漏れても大きな問題にはなりにくいものです。一方で、APIキーやパスワードは、漏れたらそのまま事故につながります。同じ「コードの外の値」でも、秘密情報は特に厳重に扱う必要がある、と覚えてください。
バイブコーディングでの確認点

バイブコーディングでの確認点です。AIが生成したコードに、キーやパスワードの直書きがないかを、毎回確認してください。確認のための質問はこうです。「このコードに直書きされている秘密情報はありますか」。もし直書きがあれば、それを環境変数へ移すように頼みます。A-04で見た差分確認と同じように、生成のたびに確認することを、習慣にしてください。
このスライドのポイント
- AIが生成したコードに、キーやパスワードの直書きがないかを毎回確認する
- 確認の質問例: 「このコードに直書きされている秘密情報はありますか」
- 直書きがあれば、環境変数へ移すよう頼む
- A-04の差分確認と同じく、生成のたびに習慣にする
まとめと次回

一問一答です。「APIキーはコードに直書きしてよいでしょうか」。(間)答えは、いけません。環境変数など、コードの外に置きます。30秒まとめです。環境ごとに変わる値はコードの外に出し、環境変数と設定ファイルで管理する。秘密情報は特に、コードにもチャットにも貼らない。これが安全の足場です。次回はカテゴリB最終回、バージョンと互換性を扱います。関連資料は「環境変数・APIキー管理入門」「AIアプリのセキュリティ超入門」「個人情報を扱うAIアプリ注意点」です。
このスライドのポイント
- 一問一答: 「APIキーはコードに直書きしてよい?」→ いけない(環境変数など、コードの外に置く)
- 30秒まとめ: 環境ごとに変わる値はコードの外へ/秘密情報はコードにもチャットにも貼らない
- 次回: カテゴリB最終回、バージョンと互換性へ
- 関連資料: 「環境変数・APIキー管理入門」「AIアプリのセキュリティ超入門」「個人情報を扱うAIアプリ注意点」