Realays Logo Realays
← 블로그 목록으로
DevLog 2025. 12. 24.

[Dalendar DevLog 8] "그저 달력" 프로젝트 회고와 새로운 시작

8편에 걸친 개발 여정을 마무리하며, 기술적 성장과 아쉬웠던 점을 회고하고 앞으로의 로드맵을 제시합니다.

[Dalendar DevLog 8]

8편: ‘그저 달력’ 프로젝트 회고와 새로운 시작

들어가며: 8편에 걸친 여정을 마무리하며

어느덧 ‘그저 달력’ 앱의 기본 골격을 만들어보는 블로그 시리즈의 마지막 편에 이르렀습니다. 8편에 걸쳐 저의 미숙하지만 한 걸음씩 나아가는 개발 과정을 함께해주신 모든 독자분께 진심으로 감사의 인사를 전합니다.

이번 편은 단순한 기술 회고를 넘어, 한 개발자의 성장 여정에 대한 기록입니다. 프로젝트 초기 단계를 돌아보는 회고를 통해 무엇을 배웠고 무엇이 아쉬웠는지 솔직하게 공유하고, 앞으로 ‘그저 달력’이 나아갈 로드맵을 펼쳐 보이고자 합니다.

1. 기술적 성장기: 달력의 기본을 만들며 배운 것들

이번 프로젝트를 통해 달력의 기본 형태를 구현하며 얻은 기술적 성장 경험은 무엇보다 값졌습니다.

  • 중첩 RecyclerView 구조: RecyclerView를 이중으로 사용하는 구조를 통해 시스템 자원을 효율적으로 쓰면서도 잠재적으로 무한한 날짜를 다루는 완벽한 접근법을 깨달았습니다.
  • 무한 스크롤 달력 구현: scrollToPosition(Int.MAX_VALUE/2)라는 간단한 트릭과 position - center 계산을 통해 과거와 미래를 자유롭게 탐색하는 기능을 구현했습니다.
  • 동적 날짜 생성 로직: 중첩 for 루프를 통해 42개의 날짜 데이터를 동적으로 생성하고 그리드에 표시하며 달력의 기본적인 형태를 완성했습니다.

2. 프로젝트 회고: Keep, Problem, Try

KPT 프레임워크를 사용해 프로젝트를 돌아보았습니다.

  • Keep (잘한 점): ‘한 화면에 한 달, 좌우 스크롤’이라는 명확한 목표 설정과 중첩 RecyclerView 구조의 성공적인 적용.
  • Problem (아쉬웠던 점): 외부 코드에 대한 높은 의존성, 뷰바인딩 같은 최신 기술 적용의 부재, 그리고 데이터 입출력이라는 핵심 기능의 부재.
  • Try (다음에 시도할 점): 핵심 로직을 직접 구현하여 기술 이해도를 높이고, 사용자가 직접 일정을 관리할 수 있는 데이터 입출력 기능을 최우선으로 구현.

3. 앞으로의 계획: ‘그저 달력’의 로드맵

제 로드맵은 앞서 겪었던 문제들에 대한 저의 대답입니다.

  • 일정 데이터 연동 및 ‘오늘의 일정’ 표시: 데이터베이스 연동을 통해 일정을 추가, 수정, 삭제하는 기능을 최우선으로 구현하겠습니다.
  • 한국 사용자를 위한 필수 기능: 음력 지원: 현대적인 양력 시스템과 전통적인 음력 주기를 잇는 다리가 되어, 윤달을 고려한 음력 기념일 반복 기능을 구현하겠습니다.
  • 퍼포먼스 향상을 위한 도전: 논문에서 배운 ‘강도 줄이기’ 최적화 기법을 적용하여 달력 알고리즘 성능을 극한으로 끌어올리겠습니다.
  • 사용자 경험을 더할 재미있는 기능들: 둠스데이 알고리즘 등을 활용해 소소한 지적 재미를 선사하는 아이디어를 구상하고 있습니다.

맺음말: 새로운 시작을 기대하며

8편에 걸친 개발 초기 단계의 기록이 이렇게 마무리되었습니다. 지금까지의 과정은 ‘그저 달력’이라는 집을 짓기 위한 기초 공사와 같았습니다. 이제 튼튼한 기초 위에 본격적으로 기둥을 세우고 벽을 올려 진정한 장인정신이 깃든 결과물로 만들어갈 차례입니다.

오늘 공유해 드린 로드맵을 따라 ‘그저 달력’이 더욱 쓸모 있고 완성도 높은 앱으로 발전해나가는 모습을 앞으로도 꾸준히 공유하겠습니다. 감사합니다.

관련 포스트