
값을 코드에 직접 박지 않고 외부에서 주입받는 방식이에요.
환경변수, 설정파일, DB, 함수 매개변수 등으로 값을 분리하는 것 모두 소프트코딩입니다 😊
--
코드 안에 값을 직접 고정으로 박아 넣는 것이에요.
# ❌ 하드코딩
def get_user():
return "heeyo" # 이름을 직접 써넣음
# ✅ 하드코딩 X
def get_user(username):
return username # 변수로 받음
# ❌ 하드코딩
SECRET_KEY = "abc123xyz" # 코드에 직접 노출
# ✅ 하드코딩 X
SECRET_KEY = os.environ.get("SECRET_KEY") # 환경변수로 분리
문제점:
Django에서는 settings.py의 SECRET_KEY, DEBUG, DB 정보 등을 .env 파일로 분리하는 게 기본이에요!