날짜 구간에 값을 매핑하는 방법 (그리고 RangeKeyDict)
백엔드
날짜 구간에 값을 매핑하는 방법 (그리고 RangeKeyDict)
두줄요약
날짜별 정책 값을 조건문 대신 구간 매핑 데이터로 관리하는 방법을 소개했습니다. `RangeKeyDict`로 날짜 범위와 값을 직관적으로 연결할 수 있습니다.
문제 상황
- 날짜별 포인트 적립 정책을 조건문으로 표현할 때 변경 부담과 낮은 가독성
- 특정 기준일의 적용 비율을 빠르게 파악하기 어려운 비교식 구조
해결 방법
- 적용일과 값을 쌍으로 관리해 정책 변경 지점을 데이터로 분리
RangeKeyDict에 시작일·종료일 구간과 값을 선언하고 날짜 키로 직접 조회date.min,date.max로 전체 날짜 범위 포괄
선택 이유
- 날짜 구간과 적용 값의 대응 관계를 코드에서 직관적으로 표현
- 정책 변경 시 조회 로직 대신 구간 매핑 데이터만 수정
적용해볼 점
- 자주 변경되는 법령·정책 등 범위 기반 값 조회에 활용
- 날짜 외 일반적인 값 범위별 매핑에도 적용
