setting vs config
코딩을 하다 보면 뭔가 사용자별로 다르게 적용해야 하는 부분이 있다. 테이블이나 클래스를 네이밍할 때 setting을 써야할지 config를 써야할지 몰라 chatgpt에게 물어봤더니 좀 정리된 답변을 얻을 수 있었다.
항목 | 설정(setting) | 구성(config) |
---|---|---|
범위(Scope) | 사용자가 정의하거나 배포 후 조정하여 애플리케이션의 동작을 맞춤화하는 매개변수. | 애플리케이션 배포나 시작 전에 설정되며, 애플리케이션의 운영 환경이나 모드를 정의합니다. |
유연성(Flexibility) | 보통 동적입니다. 웹 애플리케이션에서 사용자는 사용자 인터페이스에서 설정을 변경할 수 있습니다. | 일반적으로 애플리케이션의 런타임 동안 더 정적입니다. 구성 변경은 서비스 재시작을 필요로 할 수 있습니다. |
예시(Examples) | 사용자 환경 설정, 테마 선택, 사용자가 켜고 끌 수 있는 기능 토글 등. | 데이터베이스 연결 문자열, API 키, 호스트명, 포트 번호 등의 환경 특정 매개변수. |
저장(Persistence) | 사용자 프로필, 데이터베이스 또는 세션과 같은 곳에 저장될 수 있습니다. | 구성 파일, 환경 변수, Consul 또는 etcd와 같은 외부 서비스에 저장될 수 있습니다. |
즉, 사용자가 서비스상에서 자신이 원하는데로 세부 설정을 변경한다면 이는 setting에 해당한다.