본문으로 건너뛰기
Zenn헤드라인2026. 11. 13. 08:15
개인 개발: 학습 기록 기능 구현 및 시간대 처리 설계 (일본 시간 기준) 대표 이미지

개인 개발: 학습 기록 기능 구현 및 시간대 처리 설계 (일본 시간 기준)

원문 발행 2026. 11. 12. 18:34원문 언어 영어Zenn TypeScript Practice 원문 보기

요약

본 글은 React/Redux Toolkit과 Go/TiDB를 사용하여 학습 기록 기능을 구현한 과정을 다룹니다. 가장 큰 난관은 '오늘'을 어떤 시간대 기준으로 정의할지 결정하는 것이었습니다. 작성자는 클라이언트 측에서는 로컬 시간을 이용해 날짜 키를 생성하고, 서버는 UTC를 사용하며 이 둘의 개념적 분리를 유지하는 방식으로 아키텍처를 설계했습니다.

핵심 포인트

  • 시간대 문제 해결을 위해 클라이언트는 `getFullYear()` 등 로컬 값을 사용하여 날짜 키를 구성해야 합니다.
  • 프론트엔드 타이머는 `setInterval` 대신 시작/종료 시각(`startedAt`, `endsAt`)을 계산하여 정확도를 높였습니다.
  • 데이터베이스 설계 시, 사용자 기록은 클라이언트의 신고(申告)에 의존하고 서버는 UTC를 기준으로 일련번호를 관리하는 것이 중요합니다.
  • 날짜 처리 시 '사용자의 달력 날짜'와 'UTC 기준 목록화' 개념을 분리하여 혼용하지 않아야 합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn TypeScript Practice의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0