SERIES

달력 서비스의 DB 시간 다루기

3 Posts·Last updated on October 18, 2022

달력 서비스의 DB 시간 다루기 1 - TimeStamp 2038 문제

October 04, 2022

이 글은 우테코 달록팀 크루 파랑이 작성했습니다. 문제 상황 달록은 스케줄의 시작 일시와 종료 일시의 타입이 로 지정되어 있다. 우리가 따로 날짜 범위에 대한 검증을 해주고 있지 않아 특정 날짜 범위를 벗어나면 아래와 같은 예외가 발생했다. 그제서야 날짜의 최대 최소 값을 알아보았다. java의 경우 거의 무제한이라고 봐도 무방했다. 문제는 mysq…


달력 서비스의 DB 시간 다루기 2 - DB에 시간이 +9 되어 저장되는 문제

October 04, 2022

이 글은 우테코 달록팀 크루 파랑이 작성했습니다. 문제 상황 어느날 실제 배포 서버의 DB를 확인해보았는데 start/end date time이 전부 +9시간되어 저장된 것을 확인했다. 분명 서비스에서는 00시 00분으로 잘 나오는데 왜 DB에만 9시간이 더해져서 저장되는 걸까? 원인 찾기 가정 1. MySQL Server timezone이 UTC여서…


달력 서비스의 DB 시간 다루기 3 - Time Zone, 어디서 어떻게 설정해야 할까?

October 18, 2022

이 글은 우테코 달록팀 크루 파랑이 작성했습니다. 시간과 날짜를 다루는 달록을 개발하다보니 타임존을 설정할 수 있는 곳과 그 방법이 아주 다양하다는 걸 알게 되었다. 설정 방법과 그 결과를 공유해보려 한다. TimeZone 설정할 수 있는 곳 1. yml 파일 설정 이 설정은 실제로 DB 서버의 타임존을 변경하지는 않는다. 단순히 Spring에게 DB의 …