
【Go】 WEBフレームワークなしで開発する TODO API ハンズオン
無料で読める本
このハンズオンでは、GoのWebフレームワークを使用せずに認証付きTodoアプリのAPIを開発していきます。 また、このAPIのアーキテクチャには、クリーンアーキテクチャやドメイン駆動設計の考えを適用させています。 マニアックな技術は特に扱っておらず、初学者の方が基本的なAPI開発を体験するためのハンズオンとなっています。反対に、すでにGoでの開発に慣れ親しんでいる方であれば本ハンズオンで得られるものは少ないかもしれません。 アーキテクチャや設計手法、テスト、開発環境、認証、ORM....など色々な技術を網羅しています。また、概念や使用技術の説明に加え、公式ドキュメントや参考になる記事も逐一掲載しているので、つまづくことなくハンズオンを進められるように書いているつもりです。 このハンズオンでは、以下のような技術を扱います。 ・Docker,Docker composeによる環境構築 ・GithubActionsを用いたCI ・クリーンアーキテクチャ ・ドメイン駆動設計 ・モックを用いた単体テスト ・golang-migrate(DBマイグレーション) ・sqlc(ORM) ・JWT,Redisを用いた認証・認可 ・net/http(標準パッケージ) ・swaggoを用いたAPIドキュメント生成 ・ミドルウェア ・エンドポイントの統合テスト ・ゴールデンテスト 【対象者】 ・Goの文法をある程度知っている方 ・Goを用いた開発の初学者の方
Chapters
はじめに
第1章 開発環境を整える
第2章 プロジェクト構成とアーキテクチャ
第3章 ドメイン駆動設計
第4章 ドメイン層の実装
第5章 アプリケーション層 ー ユースケースの実装
第6章 環境変数を管理する
第7章 インフラストラクチャ層 ー データベース・キーバリューストア
第8章 アダプター層 ー リポジトリの実装
第9章 アダプター層 ー クエリサービスの実装
第10章 認証・認可機能の実装
第11章 アダプター層 ー プレゼンテーション(プレゼンター・ハンドラー)の実装
第12章 アダプター層 ー ミドルウェア(ロギング・認可制御)の実装
第13章 インフラストラクチャ層 ー HTTPサーバー・ルーティングの実装
第14章 エンドポイントの統合テスト
おわりに
Community
Author
Topics