🌿 중급 개발도구
환경변수는 어떻게 관리하나요?
쉽게 이해하기
같은 앱이지만, 집에서 테스트할 때는 테스트용 카드로 결제하고, 실제 서비스에서는 진짜 카드로 결제해야 한다고 생각해보세요. 환경변수 관리는 '지금 어디서 실행되고 있는지'에 따라 자동으로 적절한 카드를 꺼내 쓰는 거예요.
핵심 정리
개발/테스트/운영 환경마다 다른 설정 값을 안전하게 관리하는 방법이에요.
자세히 알아보기
환경변수는 .env 파일이나 시스템 설정에 저장하는데, 절대 Git에 올리면 안 돼요. API 키, 데이터베이스 비밀번호 같은 민감한 정보가 담겨 있으니까요. 대신 .env.example 파일을 만들어서 "이런 변수가 필요해요"라는 템플릿만 공유하고, 실제 값은 각자 로컬에 저장하는 게 일반적이에요.
실무에서는 환경별로 다른 .env 파일을 관리해요. 예를 들어 .env.development(개발용), .env.production(운영용)처럼 나누는 거죠. 개발할 때는 localhost 데이터베이스를 쓰고, 운영 서버에서는 실제 운영 DB를 쓰도록 설정해요. 이렇게 하면 실수로 개발 중에 운영 DB를 건드리는 일이 없어요.
요즘은 Vercel, Netlify 같은 배포 플랫폼에서 환경변수를 웹 대시보드로 관리할 수 있어요. 코드에는 환경변수 이름만 쓰고, 실제 값은 플랫폼 설정에서 입력하는 거죠. 이렇게 하면 배포할 때마다 환경변수를 안전하게 주입할 수 있어요.
보안을 위해서는 환경변수를 로그에 출력하지 않도록 조심해야 해요. console.log로 찍다가 실수로 API 키가 노출될 수도 있거든요. 또 환경변수를 읽을 때는 기본값을 설정해두는 게 좋아요. 예를 들어 PORT 환경변수가 없으면 3000번을 쓰도록 하는 식이죠.