Skip to content

week-4-day-4-report주차 week-4-day-4-report일차 일일보고서

날짜: 2025년 07월 10일

뽀모도로 타이머 만들기 - 실용적인 시간 관리 도구

어제 만든 스톱워치를 발전시켜 뽀모도로 타이머를 만들었다. 주 강사가 뽀모도로 기법(25분 집중, 5분 휴식)을 설명하자 “이거 제가 쓰는 거예요!”라는 학생이 있어 흥미가 높았다.

상태 관리가 더 복잡해졌다. 작업 모드와 휴식 모드를 번갈아가며 전환해야 하고, 각 모드별로 다른 시간을 설정해야 했다. 상태 머신의 개념을 자연스럽게 배우는 기회였다.

UTC와 유닉스 타임스탬프에 대해 깊이 있게 다뤘다. “왜 1970년 1월 1일부터 세나요?”라는 질문이 나왔고, 컴퓨터 역사와 함께 설명했다. Date.now()가 반환하는 큰 숫자의 의미를 이해하니 시간 계산이 수월해졌다.

타이머가 끝났을 때 알림을 주는 기능을 구현했다. 콜백 함수의 개념을 처음 접하는 학생들이 있어 추가 설명이 필요했다. 함수를 매개변수로 전달하는 것이 신기해했다.

세션 카운트 기능도 추가했다. 몇 번의 뽀모도로를 완료했는지 추적하는 기능인데, 이를 통해 생산성을 측정할 수 있다는 점에서 학생들이 흥미를 보였다.

  • UTC가 뭔지 이해가 안 된다는 질문. 세계 표준시간이며 타임존과 무관하다고 설명.
  • 1970년이 왜 기준인지 재질문. 유닉스 시스템 개발 시기와 32비트 정수의 한계 설명.
  • 상태 전환 로직이 복잡하다는 의견. 플로우차트를 그려서 시각적으로 설명.
  • 콜백 함수가 어렵다는 경우. 나중에 실행될 함수를 미리 전달하는 것으로 설명.

실제로 사용할 수 있는 애플리케이션을 만드니 학생들의 몰입도가 높았다. 특히 자신이 사용하던 앱을 직접 구현한다는 점에서 성취감을 느꼈다.

시간 관련 프로그래밍은 생각보다 복잡하다. UTC, 타임스탬프, 타임존 등 고려할 사항이 많다. 하지만 이번 기회에 기초를 확실히 다져두면 나중에 큰 도움이 될 것이다.

상태 머신 패턴을 자연스럽게 학습한 것이 좋았다. 복잡한 이론보다는 실제 구현을 통해 배우는 것이 효과적이다.

  • 타임존 처리는 추후 필요시 설명
  • 콜백 패턴과 Promise는 나중에 자세히 다룰 예정
  • 다음 프로젝트 아이디어: 알람 시계 또는 일정 관리