🌳 고급 인프라
환경변수는 왜 코드에 안 쓰나요?
쉽게 이해하기
집 열쇠를 SNS에 올리지 않는 것처럼, DB 비밀번호나 API 키 같은 민감한 정보를 코드에 직접 쓰면 GitHub에 올릴 때 전 세계에 공개돼요. 환경변수는 이런 정보를 코드 밖에 따로 보관하는 안전한 보관함이에요.
핵심 정리
비밀번호를 코드에 직접 쓰면 위험하니까 환경변수로 분리해요
자세히 알아보기
환경변수(Environment Variable)를 쓰는 이유는 크게 세 가지예요.
첫째, 보안 때문이에요. DB 비밀번호, API 키, 암호화 키 같은 민감한 정보를 코드에 직접 쓰면 Git 저장소에 올라가서 누구나 볼 수 있어요. 환경변수로 분리하면 .env 파일을 .gitignore에 등록해서 코드 저장소에는 올라가지 않게 할 수 있죠.
둘째, 환경별로 다른 설정을 쓸 수 있어요. 개발 서버에서는 테스트용 DB를, 실제 서비스에서는 운영 DB를 쓰는 식으로요. 코드는 그대로 두고 환경변수만 바꾸면 되니까 편리해요.
셋째, 팀 작업이 쉬워져요. 각자 자기 컴퓨터에 .env 파일만 만들면 같은 코드로 다른 설정을 쓸 수 있어요. 예를 들어 A는 로컬 DB를, B는 클라우드 DB를 쓰더라도 코드 수정 없이 가능하죠.
실무에서는 .env 파일에 환경변수를 적고, .env.example 파일에는 필요한 변수 목록만 적어서 Git에 올려요. 새 팀원이 오면 .env.example을 복사해서 .env를 만들고 자기 값만 채우면 돼요. Vercel이나 Netlify 같은 배포 서비스에서도 대시보드에서 환경변수를 입력할 수 있는 UI를 제공해요.