DevLog 2025/12/24
[Dalendar DevLog 8] "ただのカレンダー" プロジェクト回顧と新しい始まり
8編にわたる開発の旅を終え、技術的成長と惜しかった点を回顧し、今後のロードマップを提示します。
![[Dalendar DevLog 8]](/images/blog/dalendar-retrospective.png)
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編にわたる開発初期段階の記録がこうして終わりました。今までの過程は「ただのカレンダー」という家を建てるための基礎工事と同じでした。もう丈夫な基礎の上に本格的に柱を立てて壁を上げて真の職人精神が宿った結果物として作っていく番です。
今日共有したロードマップに従って「ただのカレンダー」がより使い道があり完成度の高いアプリに発展していく姿を今後も着実に共有します。ありがとうございます。
![[Dalendar DevLog 1] プロジェクトの始まりと技術スタック選定](/images/blog/dalendar_dev_1_ideation.png)
![[Dalendar DevLog 2] 堅固なアプリの骨組み - アーキテクチャとデータ構造設計](/images/blog/dalendar_dev_2_architecture.png)
![[Dalendar DevLog 3] コア機能実装 1 (バックエンド & ロジック)](/images/blog/dalendar_dev_3_math_logic.png)