서비스 개발중에 공휴일이냐 아니냐를 판별해서 분기가 되는 케이스가 많습니다. 휴무일등으로 기능을 disable 시키거나 요금제 계산할때 휴일이면 다른 로직을 타야 하는 경우 등등이 있지요. 첫번째 다니던 회사의 그룹웨어는 관리자 화면에 공휴일 관리 기능이 있었습니다. 그때는 API같은게 없던지라 수동으로 입력하는게 대부분이였습니다. 그리고 그땐 기업문화랑 연결되는지 회사 창립일 등도 내부적으로는 휴일로 간주되기 때문에 이를 구분하기 위한 기능도 필요해서 수동 입력 기능이 진짜로 필요하긴 했습니다.
그러다가 open api로 손쉽게 데이터를 가져올수 있게 되어서 이러한 수동 기능은 필요 없어진것 같고 그런걸 요구하는곳도 별로 없더군요. 그런데 최근 몇년동안에 새로운 고민거리가 생기기 시작했습니다. 임시/대체 공휴일이지요. 직장인 입장으로는 즐겁지만 고객사에서 위의 언급한 요금제 계산 같은걸 분리하려고 할때 난감했었습니다. 대개 해당일 2주전쯤에 발생되다보니 뭔가 빨리 작업은 해줘야 하고... 그래서 그때는 open api로 데이터를 받아와서 내부 DB에 저장한 뒤에 이걸 제공하는 형태로 구현했었습니다. 임시/대체 공휴일을 DB에 한개 입력해 주면 끝나는 일이니까요.
그러다가 개발자는 게을러져야 한다라는 신념에 더 편하게 할 방법 없을까 찾다가 공공 데이터 포털에서 그런정보를 주는곳을 찾았습니다. 한국천문연구원 특일 정보 입니다. https://www.data.go.kr/data/15012690/openapi.do
일반적인 캘린더 데이터를 주는 다른 open api 와 형태가 유사합니다. 이게 좋은점은 간단하고 반영이 매우 빠르다는 점입니다. 임시공휴일은 1 ~ 2일 정도면 바로 갱신된 데이터가 들어오기 때문에 일단위 스케줄러로 받아와서 DB에 입력하면 됩니다. 아쉬운점은 데이터상으로 어떤게 임시/대체 공휴일인지 구분이 안됩니다. 굳이 하려면 이전 데이터를 가지고 있다가 비교해서 신규 insert가 되는것을 임시/대체 공휴일로 판별해야 합니다. 그래도 제 필요기준은 충족해서 잘 쓰고 있습니다. 혹시라도 임시/대체 공휴일 자동 관리가 고민이신분들은 위의 API를 참고해 보시기 바랍니다.
'IT 기술 관련 > DevOps' 카테고리의 다른 글
IndexNow - 검색엔진에 내 컨텐츠 변경 실시간 알림 (0) | 2025.02.24 |
---|---|
툴을 잘쓰면 퇴근이 빠르다 - 엑셀에서 json 로딩 (0) | 2025.01.24 |
Redis? Caffeine? 적절한 캐시 활용 (0) | 2024.07.26 |
자주 쓰는 도커 명령어 (0) | 2024.03.19 |
[spring] 실시간 로그 레벨 조정 (0) | 2023.07.17 |