翔泳社の公式通販SEshopは全国送料無料!
ヘルプ 法人のお客様へ 新規会員登録 ログイン
SEshop

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

中村 翔(著)

商品番号
177220
販売状態
発売中
納品形態
宅配便にてお届け
発売日
2023年06月14日
出荷開始日
2023年06月13日
ISBN
9784798177229
判型
A5
ページ数
296
キーワード
プログラミング  Python  NEXT ONE

3,520円(税込)(本体3,200円+税10%)
送料無料

320pt (10%)
ポイントの使い方はこちら

在庫あり

初回購入から使えるポイント500円分プレゼント

電子書籍はこちら

※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。

  • ポスト

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 まとめ
各種問い合わせは以下のリンクからご連絡ください

関連商品

なっとく!並行処理プログラミング

3,520円(税込)

2024.11.11発売

おすすめ特集

ロングセラーコンピュータ書

ITエンジニアにぜひ読んでいただきたい、翔泳社のロングセラーコンピュータ書を厳選

ITインフラ関連本特集

ネットワーク/サーバー/セキュリティを学ぶなら読んでおきたいおすすめの書籍

生成AI特集

テキスト生成、画像生成、動画生成など、生成AI活用のスキルが身につく本をご紹介

Web制作関連本特集

HTML/CSS、JavaScript、UI/UX、デザインまで。Web制作・フロントエンド開発に役立つ本

マーケティングおすすめ本

マーケティングの勉強におすすめの本。基本から実務に役立つ戦略設計まで

介護職におすすめの本

介護職を目指す人の試験対策書、現場スタッフのための実務書など、介護職に役立つ本

特集をもっと見る