note記事化システム詳細設計とDocker環境構築計画(開発日記 No.039)
関連リンク
はじめに
昨日はnote記事化システムの仕様書を精査し、不明確な点を洗い出しました。今日は、その結果を踏まえ、具体的な実装計画を立てていきます。特に、Docker環境での実行とテスト自動化を視野に入れた設計を進めていきます。
背景と目的
以前から進めているLLMによるnote記事自動投稿システムですが、仕様書に曖昧な部分が残っていました。今回は、それらを明確にし、より具体的な実装に落とし込むことが目的です。また、開発環境と本番環境の差異をなくし、テストを自動化するために、Dockerコンテナ上での実行を前提とした開発体制を構築します。
検討内容
まずは、仕様書で不明確だった点を改めて整理しました。具体的には、以下の5点です。
- note.com非公式APIの具体的な実装方法と認証方式
- フォーマット指示ファイルの具体的な内容と構造
- エラーハンドリングの具体的な実装方針
- テスト戦略の詳細
- コスト管理の具体的な方法
これらの不明点を解消するために、詳細設計書を作成し、各項目の具体的な内容を詰めていくことにしました。また、Docker環境での実行とテスト自動化を実現するために、フォルダ構成やREADMEの内容についても検討しました。
実装内容
詳細設計書 Docs/specification-draft/2025-04-08_Note_Publishing_System_Detailed_Design.md
を作成しました。主な内容は以下の通りです。
-
システム構成:
- ディレクトリ構造を定義し、
scripts
とtests
をnote-converter
フォルダの下に配置。 - 必要な成果物(スクリプト、テストコード、設定ファイルなど)を一覧化。
- ディレクトリ構造を定義し、
-
詳細仕様:
- API実装、フォーマット指示、エラーハンドリング、テスト、コスト管理に関する詳細な仕様を記述。
-
実装計画:
- 4つのフェーズに分け、各フェーズの具体的なタスクとスケジュールを定義。
-
リスク管理:
- 技術的リスクと運用リスクを洗い出し、それぞれの対策を検討。
また、note-converter
フォルダ用のREADMEを作成し、Dockerコンテナ上でのスクリプト実行方法やテスト実行方法を記述しました。
技術的なポイント
今回の実装における技術的なポイントは、以下の2点です。
- Dockerコンテナ上での実行: 開発、テスト、本番環境をDockerコンテナで統一することで、環境による差異をなくし、安定した動作を保証します。
-
テスト自動化:
note-converter
フォルダへの変更を検知し、自動的にDockerコンテナ上でテストを実行するパイプラインを構築します。これにより、品質を維持しつつ、開発効率を向上させます。
所感
仕様書の不明点を洗い出し、詳細設計書に落とし込む作業は、地道ながらも非常に重要なプロセスだと改めて感じました。特に、Docker環境での実行とテスト自動化を前提とした設計は、今後の開発効率と品質に大きく貢献すると期待しています。
フォルダ構成の変更やREADMEの作成など、細かい部分にも気を配ることで、より使いやすく、メンテナンスしやすいシステムになるはずです。
今後の課題
今回の設計では、Docker環境での実行とテスト自動化を前提としましたが、具体的なパイプラインの構築やテストコードの作成はまだこれからです。また、note.com非公式APIの実装方法についても、引き続き調査が必要です。
まとめ
今日は、note記事化システムの詳細設計を行い、Docker環境での実行とテスト自動化を視野に入れた開発体制の構築計画を立てました。詳細設計書を作成し、フォルダ構成やREADMEの内容を検討することで、より具体的な実装に近づくことができました。今後は、パイプラインの構築やテストコードの作成を進め、システムの品質向上を目指します。
Discussion