- 発売日:20241026
- 出版社:技術評論社
- ISBN/JAN:9784297144470
通常価格
3,300 円(税込)
通常価格
セール価格
3,000 円
単価
/
あたり
商品説明
昨今、多くの企業が自社のWebサービスにGoogleやFacebookなどのソーシャルログインを採用するなど、他社のサービスを取り込むことの需要が増えています。しかし、他社のサービスを取り込む課題として、異なるサービス間でのデータの整合性を保ちつつ、柔軟かつ迅速に機能を提供することが必要となり、この課題解決の観点でFastAPIが注目されています。FastAPIはスキーマ駆動開発を通じてAPIの作成と管理が容易に行えるPythonのフレームワークです。本書は、FastAPIではじめてAPI開発を行う方を対象とした入門書です。1章~9章までで「API開発に必要な知識」「スキーマの定義方法」などFastAPIの基本的な内容を学べます。また、10章~11章、Appendixで実際にスキーマ駆動開発によりAPIを利用したサービスを作成するため、API開発の一連の流れを学べます。
店舗在庫状況
目次
■■第1章 FastAPIの概要
■1-1 FastAPIとは?
1-1-1 フレームワークとは?
1-1-2 FastAPIの特徴
■1-2 開発環境の構築(Miniconda)
1-2-1 AnacondaとMiniconda
1-2-2 Minicondaのインストール
Column Minicondaってなんだ?
■1-3 開発環境の構築(仮想環境)
1-3-1 仮想環境とは?
1-3-2 仮想環境の構築
1-3-3 pipとcondaとは?
■1-4 開発環境の構築(VSCode)
1-4-1 VSCodeのインストール
1-4-2 拡張機能の追加(Python他)
1-4-3 ハンズオン環境の作成
Column いつ仮想環境を有効化・無効化するのか?
■■第2章 FastAPIの基礎
■2-1 WebAPIの基礎知識
2-1-1 APIとは?
2-1-2 WebAPIとは?
2-1-3 WebAPIプログラムの作成
Column VSCodeで「Pythonインタープリタ」の変更
■2-2 FastAPIで「ハローワールド」の作成
2-2-1 必要なライブラリのインストール
2-2-2 はじめてのFastAPIプログラムの作成
■2-3 Swagger UIによるドキュメント生成
2-3-1 Swagger UIとは?
2-3-2 Swagger UIの役割
■■第3章 型ヒント(タイプヒント)
■3-1 型ヒントとは?
3-1-1 型ヒントの基本
3-1-2 型ヒントの記述方法
3-1-3 型ヒントプログラムの作成
■3-2 型ヒントの使用方法(Optional型)
3-2-1 Optional型とは?
3-2-2 Optional型を使用するプログラムの作成
■3-3 型ヒントの使用方法(Annotated)
3-3-1 Annotatedとは?
3-3-2 Annotated型を使用するプログラムの作成
■3-4 「|(パイプ)演算子」とは?
3-4-1 「|(パイプ)演算子」とは?
3-4-2 「|(パイプ)演算子」を使用するプログラムの作成
Column Optional型とパイプ演算子
■■第4章 パラメータとレスポンスデータ
■4-1 リクエスト処理(パスパラメータ)
4-1-1 パスパラメータの基本
4-1-2 FastAPIプログラム(パスパラメータ)の作成
Column HTTPException
4-1-3 Swagger UIでの操作
■4-2 リクエスト処理(クエリパラメータ)
4-2-1 クエリパラメータの基本
4-2-2 FastAPIプログラム(クエリパラメータ)の作成
4-2-3 Swagger UIでの操作
■4-3 レスポンス処理(レスポンスデータ)
4-3-1 レスポンスデータの構造
4-3-2 イメージで振り返る
4-3-3 Pydanticとは?
■■第5章 FastAPIでCRUD処理
■5-1 RESTful APIとは?
5-1-1 RESTの4原則
■5-2 HTTPメソッドの特性
5-2-1 RESTとは?
5-2-2 安全性と冪等性(べきとうせい)とは?
5-2-3 GET、POST、PUT、DELETEとは?
Column 本書の構成について
■5-3 CRUDアプリケーションの作成
5-3-1 アプリケーションの作成
Column response_model
Column enumerate
5-3-2 Swagger UIでの操作
5-3-3 Pydantic再び
5-3-4 Swagger UIでの操作
Column Field機能とAnnotated型
■■第6章 同期処理と非同期処理
■6-1 同期処理と非同期処理とは?
6-1-1 同期処理と非同期処理
6-1-2 Pythonでの非同期処理
6-1-3 「asyncio」を使用するプログラムの作成
Column コルーチン
■6-2 FastAPIでの非同期処理
6-2-1 httpxのインストール
6-2-2 「httpx」を使用するプログラムの作成
■■第7章 ルーティングの分割
■7-1 APIRouterとは?
7-1-1 APIRouterの概要
7-1-2 プログラムの作成
■7-2 リファクタリング
7-2-1 リファクタリングの主な目的
7-2-2 プログラムの作成(リファクタリング)
7-2-3 FastAPIクラスとAPIRouterクラスの比較
■■第8章 ORMの利用
■8-1 ORMとは?
8-1-1 ORMの概要
8-1-2 SQLAlchemyとは?
8-1-3 SQLiteの使用方法
■8-2 SQLAlchemyを使用したアプリケーションの作成
8-2-1 プロジェクトの作成
Column 「期限切れ」とは?
Column モデルとは?
Column DB接続を「コネクション」と「セッション」に分ける理由
8-2-2 動作確認の実施
Column 生成AIを使用した学習方法のおすすめ
■■第9章 DIの利用
■9-1 DIとは?
9-1-1 DIのイメージ
9-1-2 FastAPIでのDI
■9-2 DIを使用したアプリケーションの作成
9-2-1 プロジェクトの作成
9-2-2 動作確認の実施
■9-3 DI(依存性の注入)の深堀
9-3-1 DIを取り巻く用語の整理
9-3-2 DIの使い所と気をつけること
■■第10章 スキーマ駆動開発(フロントエンド)
■10-1 スキーマ駆動開発
10-1-1 スキーマ
10-1-2 スキーマ駆動開発
Column スキーマ駆動開発の利点
■10-2 作成アプリケーションの概要
10-2-1 スキーマ駆動開発でのステップ
10-2-2 自動ドキュメント作成の実施
Column 分類の重要性
■10-3 フロントエンドの作成
10-3-1 フロントエンド
10-3-2 Webページプレビュー拡張機能を追加
■■第11章 スキーマ駆動開発(バックエンド)
■11-1 モデルとDBアクセスの作成
11-1-1 モデルの決定
11-1-2 コードの記述
Column 「yield」について
11-1-3 動作確認の実施
■11-2 CRUD処理の作成
11-2-1 非同期CRUD処理
Column 朝活のすすめ
■11-3 リファクタリング
11-3-1 ルーティングの分割
11-3-2 リファクタリングの実施
■11-4 動作確認
11-4-1 サーバー起動
11-4-2 動作確認の実施
Column CORS(Cross-Origin Resource Sharing)とは?
■■Appendix 今後の発展のために
■A-1 複雑なスキーマの検討
A-1-1 スキーマとクラス
A-1-2 サンプルプログラムの作成
■A-2 動作確認の実地
A-2-1 サーバー起動
■A-3 メモアプリのカスタマイズ
A-3-1 JSONデータの構造把握
A-3-2 カスタマイズの手順
■A-4 サンプルファイルの使用方法
A-4-1 サンプルファイルの使用
■1-1 FastAPIとは?
1-1-1 フレームワークとは?
1-1-2 FastAPIの特徴
■1-2 開発環境の構築(Miniconda)
1-2-1 AnacondaとMiniconda
1-2-2 Minicondaのインストール
Column Minicondaってなんだ?
■1-3 開発環境の構築(仮想環境)
1-3-1 仮想環境とは?
1-3-2 仮想環境の構築
1-3-3 pipとcondaとは?
■1-4 開発環境の構築(VSCode)
1-4-1 VSCodeのインストール
1-4-2 拡張機能の追加(Python他)
1-4-3 ハンズオン環境の作成
Column いつ仮想環境を有効化・無効化するのか?
■■第2章 FastAPIの基礎
■2-1 WebAPIの基礎知識
2-1-1 APIとは?
2-1-2 WebAPIとは?
2-1-3 WebAPIプログラムの作成
Column VSCodeで「Pythonインタープリタ」の変更
■2-2 FastAPIで「ハローワールド」の作成
2-2-1 必要なライブラリのインストール
2-2-2 はじめてのFastAPIプログラムの作成
■2-3 Swagger UIによるドキュメント生成
2-3-1 Swagger UIとは?
2-3-2 Swagger UIの役割
■■第3章 型ヒント(タイプヒント)
■3-1 型ヒントとは?
3-1-1 型ヒントの基本
3-1-2 型ヒントの記述方法
3-1-3 型ヒントプログラムの作成
■3-2 型ヒントの使用方法(Optional型)
3-2-1 Optional型とは?
3-2-2 Optional型を使用するプログラムの作成
■3-3 型ヒントの使用方法(Annotated)
3-3-1 Annotatedとは?
3-3-2 Annotated型を使用するプログラムの作成
■3-4 「|(パイプ)演算子」とは?
3-4-1 「|(パイプ)演算子」とは?
3-4-2 「|(パイプ)演算子」を使用するプログラムの作成
Column Optional型とパイプ演算子
■■第4章 パラメータとレスポンスデータ
■4-1 リクエスト処理(パスパラメータ)
4-1-1 パスパラメータの基本
4-1-2 FastAPIプログラム(パスパラメータ)の作成
Column HTTPException
4-1-3 Swagger UIでの操作
■4-2 リクエスト処理(クエリパラメータ)
4-2-1 クエリパラメータの基本
4-2-2 FastAPIプログラム(クエリパラメータ)の作成
4-2-3 Swagger UIでの操作
■4-3 レスポンス処理(レスポンスデータ)
4-3-1 レスポンスデータの構造
4-3-2 イメージで振り返る
4-3-3 Pydanticとは?
■■第5章 FastAPIでCRUD処理
■5-1 RESTful APIとは?
5-1-1 RESTの4原則
■5-2 HTTPメソッドの特性
5-2-1 RESTとは?
5-2-2 安全性と冪等性(べきとうせい)とは?
5-2-3 GET、POST、PUT、DELETEとは?
Column 本書の構成について
■5-3 CRUDアプリケーションの作成
5-3-1 アプリケーションの作成
Column response_model
Column enumerate
5-3-2 Swagger UIでの操作
5-3-3 Pydantic再び
5-3-4 Swagger UIでの操作
Column Field機能とAnnotated型
■■第6章 同期処理と非同期処理
■6-1 同期処理と非同期処理とは?
6-1-1 同期処理と非同期処理
6-1-2 Pythonでの非同期処理
6-1-3 「asyncio」を使用するプログラムの作成
Column コルーチン
■6-2 FastAPIでの非同期処理
6-2-1 httpxのインストール
6-2-2 「httpx」を使用するプログラムの作成
■■第7章 ルーティングの分割
■7-1 APIRouterとは?
7-1-1 APIRouterの概要
7-1-2 プログラムの作成
■7-2 リファクタリング
7-2-1 リファクタリングの主な目的
7-2-2 プログラムの作成(リファクタリング)
7-2-3 FastAPIクラスとAPIRouterクラスの比較
■■第8章 ORMの利用
■8-1 ORMとは?
8-1-1 ORMの概要
8-1-2 SQLAlchemyとは?
8-1-3 SQLiteの使用方法
■8-2 SQLAlchemyを使用したアプリケーションの作成
8-2-1 プロジェクトの作成
Column 「期限切れ」とは?
Column モデルとは?
Column DB接続を「コネクション」と「セッション」に分ける理由
8-2-2 動作確認の実施
Column 生成AIを使用した学習方法のおすすめ
■■第9章 DIの利用
■9-1 DIとは?
9-1-1 DIのイメージ
9-1-2 FastAPIでのDI
■9-2 DIを使用したアプリケーションの作成
9-2-1 プロジェクトの作成
9-2-2 動作確認の実施
■9-3 DI(依存性の注入)の深堀
9-3-1 DIを取り巻く用語の整理
9-3-2 DIの使い所と気をつけること
■■第10章 スキーマ駆動開発(フロントエンド)
■10-1 スキーマ駆動開発
10-1-1 スキーマ
10-1-2 スキーマ駆動開発
Column スキーマ駆動開発の利点
■10-2 作成アプリケーションの概要
10-2-1 スキーマ駆動開発でのステップ
10-2-2 自動ドキュメント作成の実施
Column 分類の重要性
■10-3 フロントエンドの作成
10-3-1 フロントエンド
10-3-2 Webページプレビュー拡張機能を追加
■■第11章 スキーマ駆動開発(バックエンド)
■11-1 モデルとDBアクセスの作成
11-1-1 モデルの決定
11-1-2 コードの記述
Column 「yield」について
11-1-3 動作確認の実施
■11-2 CRUD処理の作成
11-2-1 非同期CRUD処理
Column 朝活のすすめ
■11-3 リファクタリング
11-3-1 ルーティングの分割
11-3-2 リファクタリングの実施
■11-4 動作確認
11-4-1 サーバー起動
11-4-2 動作確認の実施
Column CORS(Cross-Origin Resource Sharing)とは?
■■Appendix 今後の発展のために
■A-1 複雑なスキーマの検討
A-1-1 スキーマとクラス
A-1-2 サンプルプログラムの作成
■A-2 動作確認の実地
A-2-1 サーバー起動
■A-3 メモアプリのカスタマイズ
A-3-1 JSONデータの構造把握
A-3-2 カスタマイズの手順
■A-4 サンプルファイルの使用方法
A-4-1 サンプルファイルの使用
- 発売日:20241026
- 出版社:技術評論社
- ISBN/JAN:9784297144470