목록 보기
날짜 구간에 값을 매핑하는 방법 (그리고 RangeKeyDict)
백엔드

날짜 구간에 값을 매핑하는 방법 (그리고 RangeKeyDict)

8퍼센트
8퍼센트
2019년 12월 16일

두줄요약

날짜별 정책 값을 조건문 대신 구간 매핑 데이터로 관리하는 방법을 소개했습니다. `RangeKeyDict`로 날짜 범위와 값을 직관적으로 연결할 수 있습니다.

문제 상황

  • 날짜별 포인트 적립 정책을 조건문으로 표현할 때 변경 부담과 낮은 가독성
  • 특정 기준일의 적용 비율을 빠르게 파악하기 어려운 비교식 구조

해결 방법

  • 적용일과 값을 쌍으로 관리해 정책 변경 지점을 데이터로 분리
  • RangeKeyDict에 시작일·종료일 구간과 값을 선언하고 날짜 키로 직접 조회
  • date.min, date.max로 전체 날짜 범위 포괄

선택 이유

  • 날짜 구간과 적용 값의 대응 관계를 코드에서 직관적으로 표현
  • 정책 변경 시 조회 로직 대신 구간 매핑 데이터만 수정

적용해볼 점

  • 자주 변경되는 법령·정책 등 범위 기반 값 조회에 활용
  • 날짜 외 일반적인 값 범위별 매핑에도 적용

다음 읽기

#Python 주제를 이어서 읽기

Django timezone 문제 파헤치기

Django의 UTC 저장·조회 방식에서 naive datetime과 aware datetime이 섞이며 생기는 문제를 다뤘습니다. `timezone.now()`, `localtime()`, `make_aware()`를 통한 일관된 시간대 처리를 제안합니다.

8퍼센트
8퍼센트
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...