動かして学ぶ!Python FastAPI開発入門 (中村 翔)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. 動かして学ぶ!Python FastAPI開発入門

動かして学ぶ!Python FastAPI開発入門


形式:
書籍
発売日:
ISBN:
9784798177229
定価:
3,520(本体3,200円+税10%)
仕様:
A5・296ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
シリーズ:
NEXT ONE
紙の書籍

FastAPIでWeb APIを作ろう!
実践的なケースを元に
ステップバイステップで学べる

【本書の背景】
FastAPIはDjangoやFlaskとならび人気のPython Webフレームワークです。コードを書くとSwagger UIが自動生成される、型安全、高速という優れた特長を持っています。そのため実際のWeb開発で利用されることも多くなってきています。

【本書の概要】
本書は、実際の開発に耐えうるWeb APIを目指し、ToDoアプリの作成を通して、実践的な開発方法を学ぶことができます。体系的に整理しつつも、チュートリアルとしても利用できます。特に以下のような点にこだわって実践的に解説しています。

・DB接続にもasync/awaitを利用
・Dockerによるクリーンな環境構築
・スケーリングを考慮したディレクトリ構成

なお本書はエンジニアのための情報共有コミュニティ「Zenn」で公開されている大人気の「FastAPI入門」を元にした書籍です。Python3.11への対応、各種コラムなどの増強に加え、本番環境での運用を想定したAWS・GCPへのデプロイの章を追加するなど、Zennで無料公開している本に対し、大幅にパワーアップしています。

【対象読者】
・FastAPIを初めて利用するWebエンジニア
・FastAPIによる開発を試してみたい方

【必要なスキル】
・Pythonの基礎知識
・Pythonの基本的な文法

【著者プロフィール】
中村 翔(なかむら・しょう)
株式会社sustenキャピタル・マネジメント取締役Co-Founder。2019年の創業以来、主にPython(FastAPI)にて資産運用サービス「SUSTEN」の開発を行う。楽天にて検索エンジンプラットフォームの内製開発、機械学習を用いた検索精度改善、推薦システムやドローンの研究開発に従事したのち現職。東京大学大学院工学系研究科航空宇宙工学専攻修了(修士)。

画像01
画像02
画像03

開発環境・FastAPIの準備方法がしっかりわかる

Part1では、開発環境の準備やFastAPIの準備方法について解説します。具体的には、FastAPIの概要、FastAPIで重要なPython文法について解説します。その後、Docker環境のインストール、Dockerイメージの作成、PoetryによるPython環境のセットアップ、FastAPIのインストール方法、APIの立ち上げ方法について、わかりやすく解説します。

画像04

FastAPIアプリケーションの実装方法がわかる

Part2ではFastAPIアプリケーションの実装方法を紹介します。具体的には、実際に作成するアプリケーションの概要とディレクトリ構造、「ルーター(Routers)」、「スキーマ(Schemas)- レスポンス」、「スキーマ(Schemas)- リクエスト」について詳しく解説します。その後、データベースの接続とDBモデル(Models)の作成、DB操作(CRUDs)の方法、非同期化方法、ユニットテストについて実際のアプリを動かしながら解説します。

画像05

クラウドプラットフォームへのデプロイ方法がわかる

Part3では作ったアプリケーションを本番環境としても耐えられるクラウド環境にデプロイを行います。具体的にはクラウドプラットフォームへのデプロイの概要と準備の方法を解説します。その後、実際にクラウドプラットフォームへのデプロイ方法をAWS、GCPに分けて、丁寧に解説します。

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 まとめ

付属データはこちら

会員特典はこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2024年01月05日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 041
Dockerfile内のpoetryのインストールバージョンを指定する
# pipを使ってpoetryをインストール RUN pip install poetry
# pipを使ってpoetryをインストール RUN pip install "poetry==1.6.1"
2023.11.24
1刷 042
上から1行目、図4.1
.dockerenv
.dockervenv
2024.01.05
1刷 149
リスト13.5

(画像クリックで拡大)

(画像クリックで拡大)
2023.06.21
1刷 166-167
リスト14.7上の文末、リスト14.7

(画像クリックで拡大)

(画像クリックで拡大)
2023.06.21