$ cat 用語
用語
環境変数って何?(秘密を直書きしないための箱)
プログラムの外側に置く設定値。APIキーなどの秘密をコードに直書きせず渡すのに使う。
環境変数は、プログラムに設定や秘密を「コードの外」から渡す仕組み。名前と値のペアでOS側に持たせて、プログラムが実行時にそれを読む。
APIキーのような秘密をコードに直接書くと、コードを見せた相手・共有した先・リポジトリに上げた瞬間に漏れる。環境変数に入れておけば、コードには「この名前の環境変数を読む」としか書かれないので、コード自体に秘密が残らない。
試しに1つセットしてみる。
bash
# 環境変数を一時的にセットする(値はダミーで)
export API_KEY="ここに自分のキー"何も表示されなければセットされている。プログラムはこの API_KEY という名前で値を読みにいく。
注意が2つ。ターミナルは打ったコマンドを履歴として保存しているので、練習はダミーの値でやる(本物のキーは履歴にも残る)。それと、export で入れた環境変数は、そのターミナルを閉じると消える。ずっと使うには .env というファイルに書くか、サーバー側の設定に登録する。
要するに、設定と秘密はコードの中ではなく環境変数に置く。
読んでもピンとこなかったら
用語だけ分かっても、自分のケースだと詰まる——そんなときは、その場で相談できます。コードは貼らなくてOKです。