動かして学ぶ! Python FastAPI 開発入門
ウゴカシテマナブ パイソンファストエーピーアイ カイハツニュウモン
- 著者:
- 中村 翔(ナカムラ ショウ)
- 出版社:
- 翔泳社
- 出版日:
- 2023年06月14日
- ISBN:
- 9784798177229
- シリーズ:
- NEXT ONE
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
実践的なサンプルを元にステップ・バイ・ステップでしっかり学べる。FastAPI を初めて利用するエンジニア必携。サンプルは Web からダウンロード。
技書の森解説
『動かして学ぶ! Python FastAPI 開発入門』 (中村 翔 著、翔泳社、2023 年 6 月刊) は、Python の Web フレームワークである FastAPI を使って、ToDo アプリの Web API を環境構築からクラウドへのデプロイまで一通り作り上げる入門書です。翔泳社の NEXT ONE シリーズの一冊で、版元の紹介では、技術情報共有サービス Zenn で公開されている同じ著者の FastAPI 入門を元に、Python 3.11 への対応、コラムの増強、AWS と GCP へのデプロイの章の追加を行ったものと説明されています。FastAPI を初めて使う Web エンジニアが、実務に近い形で一本の API を完成させたいときの道筋になる本です。
3 部 17 章の構成、Docker から AWS と GCP まで
構成は 3 部に分かれています。Part1 の開発環境と FastAPI の準備では、FastAPI の概要と Flask との比較、クラスの継承やデコレーターといった FastAPI で重要な Python 文法の復習に続き、docker compose を使う意義と Docker 環境の導入、Poetry による Python 環境のセットアップ、Hello World の表示までを扱います。Part2 の FastAPI アプリケーションの実装が中心部で、REST API とディレクトリ構造の考え方、ルーター、レスポンスとリクエストのスキーマ、MySQL コンテナへの接続と SQLAlchemy の DB モデル、CRUD の実装、aiomysql による非同期化、parametrize を使ったテストまで含むユニットテストへと進みます。Part3 はクラウドプラットフォームへのデプロイで、DB 接続情報や CORS などデプロイ前の準備を整えたうえで、AWS 編では RDS、ECR、App Runner を、GCP 編では Cloud SQL、GCR、Cloud Run を使ってコンテナを動かします。
型ヒントのスキーマと非同期化が FastAPI の要になる理由
FastAPI の特徴は、Python の型ヒントで書いたリクエストとレスポンスの定義が、そのまま入力の検証と API の仕様書になる点にあります。仕様は OpenAPI の形式で出力され、ブラウザーで試せる Swagger UI のドキュメントが自動で用意されるため、フロントエンドと API の間の取り決めをコードと別に保守する手間が減ります。本書がスキーマにレスポンス編とリクエスト編の 2 章を割き、スキーマ駆動開発が開発初期と機能修正時に与える影響まで扱っているのは、この性質を開発の進め方に結びつけるためと読めます。もう一つの柱が 非同期プログラミング です。Web API の処理時間の多くはデータベースの応答待ちで占められるため、async と await で待ち時間に別のリクエストを処理できるようにすると、同じ資源で受けられる負荷が変わります。本書は同期版の CRUD を先に完成させてから非同期化の意義を説明し、DB 接続関数と CRUD を書き換える順序を取っているため、両者の違いを同じコードの差分として確かめられます。
前提は Python の基本文法、FastAPI の初学者向け
版元が示す必要なスキルは Python の基礎知識と基本的な文法で、対象読者は FastAPI を初めて利用する Web エンジニアと、FastAPI による開発を試してみたい人です。クラスの継承とデコレーターは本書の中で復習しますが、変数や関数、モジュールの扱いに不安があるなら、Python の入門書 を先に一冊通しておくほうが進みやすくなります。手を動かす環境は Docker が前提で、Windows の場合の改行コードやメモリの注意点にも触れているため、OS をまたいで同じ環境を再現しやすい作りです。一方、デプロイの部では AWS と GCP のアカウント作成から始まり、AWS 編ではルートユーザーと IAM ユーザーの MFA 設定も扱いますが、クラウドの利用料金は自分で把握しておく必要があります。
逆に、API の認証や認可、大規模なサービスでの設計判断を体系的に学びたい人は、目次にそれらの章が無いため、本書の後に別の資料を足すことになります。扱う題材は一つの ToDo アプリに絞られているぶん、ルーターからスキーマ、DB、非同期化、テスト、デプロイまでのつながりを一本の流れで追えるのが本書の強みです。Flask や Django で API を書いた経験があり FastAPI へ移る足場を短時間で作りたい人や、手元で動く API をクラウドに載せるところまで一度通して経験したい人にとって、投じた時間を回収しやすい一冊です。
言及した記事 (10 件)
2022年 Python/データ分析関連の人気Qiita記事150選
♡ 191Python, 機械学習, AI, データ分析基盤2024年 Python / データ分析 / 生成 AI 関連の人気Qiita記事150選
♡ 96Python, 機械学習, データ分析, AI, ChatGPTFastAPIで機械学習モデルをAPI化!簡単クイックスタートガイド
♡ 39Python, API, 機械学習, Webアプリケーション, FastAPIFastAPIの学習を迷わず進めるための事前知識
♡ 31Python, API, Webアプリケーション, 勉強法, FastAPIFastAPIとWebSocketで位置情報共有アプリを作ってみた
♡ 17websocket, リアルタイム通信, Turf.js, FastAPI, MapLibre【アドカレ駆動学習】新しい技術を学ぶ方法の備忘録
♡ 11Python, ポエム, 勉強法, FastAPI, アドベントカレンダー2024FastAPI 学習・実装に役立つリソースと注意点
♡ 6Python, 非同期処理, FastAPIRAGAS × FastAPI × Next.js × Docker で学ぶ「動かして理解する」Web アプリ開発入門
♡ 5Docker, Webアプリケーション, Next.js, FastAPI, ragasSPA対応させたToDoサイトを作成してみた。
♡ 2MySQL, Docker, React, docker-compose, FastAPIPythonってなんだ?〜「なんとなく書ける」から卒業する完全理解ガイド〜
♡ 0Python, 機械学習, 入門, AI
この本は技書デッキのカードです (攻撃 2 / 備え 14 / 気力 +5) 図鑑でこの本を見る
この本に興味がある方におすすめ
関連する本
関連記事
Python 本の選び方 - 独学の最初の 1 冊から実務品質まで
Python 本の選び方を「動機」から逆算して整理。プログラミング未経験の最初の 1 冊、業務自動化に直結する本、型ヒントとコード品質で実務水準へ進む本まで、2026 年 8 月時点の定番を独学ルートに沿って解説します。
ChatGPT に聞けば済む時代に、あえて本を開く理由
生成 AI で何でも聞ける時代に、技術書を読む意味はあるのか。AI の回答と書籍の知識の決定的な違いを掘り下げ、両者の使い分けを提案します。
本の選び方に正解はない
どの本を選べばいいか迷って決められない。同じテーマの入門書は扱う基礎が大きく重なるため、どれからでも学べます。確認すべき 1 点と、迷いを終わらせる決め方を解説します。