対象の方
- プログラミング初心者
- .envを使用した事がない方
ハードコーディングって何?
ハードコーディングとは、本来プログラム中に記述すべきでないリソースを、直接ソースコード中に埋め込むことである。これらは本来、外部ソースから取得するか、実行時に生成するべきものであり、これをソフトコーディングという。
ウィキペディア
# このようなコードの事
api_key = "xxxxxxxxxxxx"
実際プログラミング初めて間もない頃は環境変数の言葉すら知らず、この様に直書きしてました笑
今考えると、Githubにpublicで上げるのに論外ですよね…
ハードコーディングのここがダメ
- 特定のkeyが存在する場合はそれに関連する情報がコードの漏洩と共に盗まれる可能性がある。
- 複数箇所で使用する場合、毎回書くのは面倒く際
- などなど…
結果.envファイルを作成して、変数として管理しよう!!
使い方
- 隠しファイル.envを作業ディレクトリに作成しよう。
- 変数名=値の形で宣言しよう
api_key="xxxxxxxx" #変数名 = 実際の値
手順としてはこれだけで後はこの値を使用したい箇所で呼び出すだけ!
とっても簡単!!
こうする事で、apiキーだけでなくdockerで構築するdb情報を書いておけば
docker-compose.yml
USER : ${変数名}
の様に使用することが出来る。
また、node.jsなどで使用したい場合はdotenvを利用して.envを読み込み使用する事が出来る。
例
require('dotenv').config({path: ここに.envまでのパス})
process.env.変数名 #呼び出し
後書き
初めてQiitaに記事を書いてみました。
読みづらい箇所が所々あったとは思いますが読んで頂きありがとうございます。
また、間違えがあればご指摘頂けると幸いです