動かして学ぶ!Python FastAPI開発入門
書籍情報
発売日 : 2023年06月14日
著者/編集 : 中村 翔
出版社 : 翔泳社
発行形態 : 単行本
書籍説明
内容紹介
実践的なサンプルを元にステップ・バイ・ステップでしっかり学べる。FastAPIを初めて利用するエンジニア必携。サンプルはWebからダウンロード。
目次
Part1 開発環境とFastAPIの準備
Chapter1 FastAPIの概要
01 FastAPIについて
02 Flaskとの比較
03 まとめ
Chapter2 FastAPIで重要なPython文法の復習
01 クラスの継承
クラス変数とインスタンス変数
クラスの継承
02 デコレータ
シンタックスシュガー
03 まとめ
Chapter3 Docker環境のインストール
01 docker composeを使う意義
1.環境差分を排除するため
2.環境を閉じ込めるため
02 Dockerのインストール
03 Docker Desktopの利用
Docker Desktopの代替手段(Rancher Desktop)
Dockerの動作確認
04 Windowsの場合の注意点
改行コードに関して
docker composeで利用するメモリについて
03 まとめ
Chapter4 Dockerイメージの作成
01 docker compose関連ファイルの作成
02 イメージのビルド
03 まとめ
Chapter5 FastAPIのインストール
01 PoetryによるPython環境のセットアップ
02 FastAPIのインストール
03 ローカルの開発環境の整備
04 まとめ
Chapter6 Hello World!
01 Hello World!を表示するためのファイル作成
02 APIの立ち上げ
03 コードの意味
04 まとめ
Part2 FastAPIアプリケーションの実装
Chapter7 アプリケーションの概要とディレクトリ
01 ToDoアプリの概要
02 REST API
03 ディレクトリ構造について
04 まとめ
Chapter8 ルーター(Routers)
01 パスオペレーション関数について
02 パスオペレーション関数の作成
03 動作確認
04 まとめ
Chapter9 スキーマ(Schemas)- レスポンス
01 型ヒント
02 レスポンス型の定義
03 レスポンス型定義の説明
04 ルーターに定義したレスポンスの説明
05 型定義の強力さ
06 まとめ
Chapter10 スキーマ(Schemas)- リクエスト
01 リクエストの定義
スキーマ
ルーター
動作確認
02 残りのすべてのリクエストとレスポンスの定義
03 スキーマ駆動開発について
開発初期に与える影響
機能修正時に与える影響
04 まとめ
Chapter11 データベースの接続とDBモデル(Models)
01 MySQLコンテナの立ち上げ
02 アプリからDB接続する準備
MySQLクライアントのインストール
DB接続関数
03 SQLAlchemyのDBモデル(Models)の定義
DBマイグレーション
確認
04 まとめ
Chapter12 DB操作(CRUDs)
01 Create
CRUDs
ルーター
動作確認
02 R:Read
CRUDs
ルーター
動作確認
03 U:Update
CRUDs
ルーター
動作確認
04 D:Delete
CRUDs
ルーター
動作確認
05 Doneリソース
動作確認
06 最終的なディレクトリ構成
07 まとめ
Chapter13 非同期化
01 非同期化する意義
02 aiomysqlのインストール
03 非同期対応したDB接続関数
04 非同期対応したCRUDs
C: Create
R: Read
U: Update
D: Delete
Doneリソース
05 まとめ
Chapter 14 ユニットテスト
01 テスト関連ライブラリのインストール
02 DB接続とテストクライアントの準備
03 テストを書く(1)
04 テストを書く(2)
05 テストを実行する
06 parametrizeテスト
準備:Taskに期限を設定する
複数テストの追加
parametrize化する
07 まとめ
Part3 クラウドプラットフォームへのデプロイ
Chapter15 クラウドプラットフォームへのデプロイの概要と準備
01 クラウドプラットフォームの概要
02 クラウドプラットフォーム上で利用するサービス
03 デプロイ前のコンテナの準備
DB接続情報の書き換え
DB migrationの書き換え
uvicornの設定
CORS
04 まとめ
Chapter16 クラウドプラットフォームへのデプロイ:AWS編
01 AWSへのデプロイの概要
02 AWSアカウントの作成
03 AWSアカウントの初期設定
ルートユーザーのMFAの設定
IAMユーザーの作成
IAMユーザーのMFAの設定
アカウントエイリアスの作成
04 データベースの準備:RDSにMySQLサービスの作成
05 コンテナイメージをアップロード:ECRの利用
イメージリポジトリの作成
AWS CLIの準備
Dockerイメージのビルドとアップロード
06 コンテナの起動:App Runnerの設定と起動
07 まとめ
Chapter17 クラウドプラットフォームへのデプロイ:GCP編
01 GCPへのデプロイの概要
02 GCPアカウントの作成
03 データベースの準備:Cloud SQLにMySQLサービスの作成
04 コンテナイメージをアップロード:GCRの利用
gcloud CLIの準備
Dockerイメージのビルドとアップロード
05 コンテナの起動:Cloud Runの設定と起動
サーバーレスVPCコネクタの作成
Cloud Runの設定と起動
06 まとめ
Chapter1 FastAPIの概要
01 FastAPIについて
02 Flaskとの比較
03 まとめ
Chapter2 FastAPIで重要なPython文法の復習
01 クラスの継承
クラス変数とインスタンス変数
クラスの継承
02 デコレータ
シンタックスシュガー
03 まとめ
Chapter3 Docker環境のインストール
01 docker composeを使う意義
1.環境差分を排除するため
2.環境を閉じ込めるため
02 Dockerのインストール
03 Docker Desktopの利用
Docker Desktopの代替手段(Rancher Desktop)
Dockerの動作確認
04 Windowsの場合の注意点
改行コードに関して
docker composeで利用するメモリについて
03 まとめ
Chapter4 Dockerイメージの作成
01 docker compose関連ファイルの作成
02 イメージのビルド
03 まとめ
Chapter5 FastAPIのインストール
01 PoetryによるPython環境のセットアップ
02 FastAPIのインストール
03 ローカルの開発環境の整備
04 まとめ
Chapter6 Hello World!
01 Hello World!を表示するためのファイル作成
02 APIの立ち上げ
03 コードの意味
04 まとめ
Part2 FastAPIアプリケーションの実装
Chapter7 アプリケーションの概要とディレクトリ
01 ToDoアプリの概要
02 REST API
03 ディレクトリ構造について
04 まとめ
Chapter8 ルーター(Routers)
01 パスオペレーション関数について
02 パスオペレーション関数の作成
03 動作確認
04 まとめ
Chapter9 スキーマ(Schemas)- レスポンス
01 型ヒント
02 レスポンス型の定義
03 レスポンス型定義の説明
04 ルーターに定義したレスポンスの説明
05 型定義の強力さ
06 まとめ
Chapter10 スキーマ(Schemas)- リクエスト
01 リクエストの定義
スキーマ
ルーター
動作確認
02 残りのすべてのリクエストとレスポンスの定義
03 スキーマ駆動開発について
開発初期に与える影響
機能修正時に与える影響
04 まとめ
Chapter11 データベースの接続とDBモデル(Models)
01 MySQLコンテナの立ち上げ
02 アプリからDB接続する準備
MySQLクライアントのインストール
DB接続関数
03 SQLAlchemyのDBモデル(Models)の定義
DBマイグレーション
確認
04 まとめ
Chapter12 DB操作(CRUDs)
01 Create
CRUDs
ルーター
動作確認
02 R:Read
CRUDs
ルーター
動作確認
03 U:Update
CRUDs
ルーター
動作確認
04 D:Delete
CRUDs
ルーター
動作確認
05 Doneリソース
動作確認
06 最終的なディレクトリ構成
07 まとめ
Chapter13 非同期化
01 非同期化する意義
02 aiomysqlのインストール
03 非同期対応したDB接続関数
04 非同期対応したCRUDs
C: Create
R: Read
U: Update
D: Delete
Doneリソース
05 まとめ
Chapter 14 ユニットテスト
01 テスト関連ライブラリのインストール
02 DB接続とテストクライアントの準備
03 テストを書く(1)
04 テストを書く(2)
05 テストを実行する
06 parametrizeテスト
準備:Taskに期限を設定する
複数テストの追加
parametrize化する
07 まとめ
Part3 クラウドプラットフォームへのデプロイ
Chapter15 クラウドプラットフォームへのデプロイの概要と準備
01 クラウドプラットフォームの概要
02 クラウドプラットフォーム上で利用するサービス
03 デプロイ前のコンテナの準備
DB接続情報の書き換え
DB migrationの書き換え
uvicornの設定
CORS
04 まとめ
Chapter16 クラウドプラットフォームへのデプロイ:AWS編
01 AWSへのデプロイの概要
02 AWSアカウントの作成
03 AWSアカウントの初期設定
ルートユーザーのMFAの設定
IAMユーザーの作成
IAMユーザーのMFAの設定
アカウントエイリアスの作成
04 データベースの準備:RDSにMySQLサービスの作成
05 コンテナイメージをアップロード:ECRの利用
イメージリポジトリの作成
AWS CLIの準備
Dockerイメージのビルドとアップロード
06 コンテナの起動:App Runnerの設定と起動
07 まとめ
Chapter17 クラウドプラットフォームへのデプロイ:GCP編
01 GCPへのデプロイの概要
02 GCPアカウントの作成
03 データベースの準備:Cloud SQLにMySQLサービスの作成
04 コンテナイメージをアップロード:GCRの利用
gcloud CLIの準備
Dockerイメージのビルドとアップロード
05 コンテナの起動:Cloud Runの設定と起動
サーバーレスVPCコネクタの作成
Cloud Runの設定と起動
06 まとめ
著者情報
中村 翔
中村, 翔