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

動かして学ぶ!Python FastAPI開発入門 【PDF版】

中村 翔(著)

商品番号
177710
販売状態
発売中
納品形態
会員メニューよりダウンロード
発売日
2023年06月14日
ISBN
9784798177717
データサイズ
約67.8MB
制限事項
印刷可・テキストのコピー可
キーワード
プログラミング  Python  電子書籍【PDF版】  NEXT ONE

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

1,600pt (50%)
ポイントの使い方はこちら

在庫あり

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

紙の書籍はこちら

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

  • 本製品は電子書籍【PDF版】です。
  • ご購入いただいたPDFには、購入者のメールアドレス、および翔泳社独自の著作権情報が埋め込まれます。
    PDFに埋め込まれるメールアドレスは、ご注文時にログインいただいたアドレスとなります。
    Amazon Payでのお支払いの場合はAmazonアカウントのメールアドレスが埋め込まれます。
  • 本製品を無断で複製、転載、譲渡、共有および販売を行った場合、法律により罰せられる可能性がございます。
  • ご購入の前に必ずPDF利用案内をお読みください。

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キャピタル・マネジメントFounderの一人。主に Python(FastAPI)にて資産運用サービス「SUSTEN」の開発を行う。 楽天にて検索エンジンプラットフォームの内製開発、機械学習を用いた検索精度改善、推薦システムやドローンの研究開発に従事したのち現職。 東京大学大学院工学系研究科航空宇宙工学専攻修了(修士)。

PDF版のご利用方法

  1. ご購入後、SEshopにログインし、会員メニューに進みます。
  2. ご購入電子書籍およびデータ > [ご購入電子書籍およびダウンロードデータ一覧]をクリックします。
  3. 購入済みの電子書籍のタイトルが表示されますので、リンクをクリックしてダウンロードしてください。
  4. PDF形式のファイルを、お好きな場所に保存してください。
  5. 端末の種類を問わず、ご利用いただけます。
画像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 まとめ
各種問い合わせは以下のリンクからご連絡ください

関連商品

おすすめ特集

プログラミング入門書大特集

翔泳社のプログラミング書籍の中から、入門・初級者向けの書籍をピックアップ!

Linuxおすすめ本特集

【Linux本特集】入門~達人レベルまで!クラウド時代の必須知識Linuxを学ぶおすすめの本

ライティングおすすめ本

ライティングのスキルアップにおすすめの本。Webライティングやコピーライティングなど

マネー本特集

お金と経済の基礎知識から、資産形成・投資術、お金教育や介護まで。暮らしに役立つマネー本

インテリア本特集

おしゃれな部屋作りのヒントやインテリアの基礎知識、色使い、うつわや洋食器の知識まで、幅広い書籍をご紹介

事務職におすすめの本

Excel、日商簿記、業務の自動化を実現するRPAやPythonの技術など、事務職としてステップアップしたい人に!

特集をもっと見る