바이브 코딩

환경변수Environment Variable

환경변수는 금고 열쇠를 별도 서랍에 보관하는 것 — 비밀번호·API 키 같은 민감 정보를 코드 안에 직접 쓰지 않고 별도 파일에 분리해서 관리하는 방식.

집 열쇠를 현관문에 붙여두지 않고 따로 보관하듯, 환경변수는 데이터베이스 비밀번호·결제 API 키·이메일 서비스 암호 같은 민감한 정보를 코드 파일 안에 직접 쓰지 않고 '.env'라는 별도 파일이나 서버 설정에 분리해 저장하는 방식입니다. 코드는 공개해도, 이 정보는 숨기는 것이 목표입니다.

1인 비즈니스(1인 사이트 운영)를 만들 때 AI가 자주 'NEXT_PUBLIC_SUPABASE_URL=...' 같은 형태로 환경변수를 설정하라고 안내합니다. 이 값을 GitHub에 올리거나 코드에 직접 적으면 누군가 API 키를 가져가 요금이 청구되거나 DB가 털리는 사고가 납니다. 로컬(내 컴퓨터)과 배포 서버 두 곳 모두에 별도로 설정해야 한다는 점도 중요합니다.

초보자가 가장 많이 겪는 오류 중 하나가 '로컬에서는 되는데 배포하면 안 된다'인데, 열에 아홉은 배포 서버에 환경변수를 추가하지 않아서입니다. 배포 플랫폼 설정 화면에서 환경변수를 별도로 입력해야 합니다.

💡 대표 예시

  • Stripe 비밀 키를 .env 파일에 넣어 코드에 직접 노출되지 않게 관리
  • Supabase DB 연결 주소와 비밀 키를 환경변수로 분리
  • 배포 서버(Vercel)에 환경변수를 추가하지 않아 결제가 작동 안 하는 오류 해결
  • 이메일 서비스 API 키를 환경변수로 관리해 GitHub에 공개되지 않도록 처리
  • 로컬용 .env와 배포용 .env.production을 분리해서 환경별로 다른 DB 사용

🔗 관련 용어

이 개념, 직접 적용해볼까요?

AI와 함께 나만의 사이트·서비스를 만드는 법을 강의에서 배워보세요.