FastAPIバックエンド開発完全攻略 - Pydantic v2、OAuth 2.0、SQLAlchemy
この講義は、FastAPIでバックエンドAPIを設計・実装する全41回、約22時間のコースです。 FastAPIは簡単に始められるフレームワークです。ドキュメントに目を通して数行書けば、APIが動き始めます。問題はその後です。リクエストがどこを経由して関数のパラメータに到達するのか、依存関係がいつ解放されるのか、例外がどの地点で捕捉されるのかを理解していないと、少し複雑になっただけで行き詰まります。この講義では、その内部動作を追うことに時間をかけます。 まずは開発環境から始めます。condaとvenvの2つの方法を扱い、VS Code REST ClientとSwagger UIでリクエストを送信しながら、HTTPリクエストとレスポンスの構造を身につけます。続いて、パスパラメータとクエリパラメータの違いを扱い、なぜ422エラーが発生するのかを型チェックと関連付けて説明します。 Pydanticは、この講義で最も深く掘り下げる分野です。スカラー型から日付・UUID・Decimal、EnumとLiteralまで確認した後、BaseModelへ進みます。Field()で条件を設定し、@field_validatorで単一・複数フィールドを検証し、@model_validatorのbeforeとafterの動作の違いまで扱います。Pydantic v2を基準としているため、最新の構文をそのまま実務に活用できます。 中盤では、構造化と依存性注入を扱います。APIRouterによるファイル分割、関数やクラスを依存関係として利用する方法、Sub-dependency、デコレータレベルの依存関係を順番に学びます。ここではyieldに4回分を割り当てています。ジェネレータの動作原理、raiseによって呼び出しスタックをさかのぼりながら例外を伝える過程、throw()によってyieldの地点に例外を注入する方法まで掘り下げます。yieldを含む依存関係でリソースの解放がどのように行われるのかを理解すれば、DBセッションの管理も明確になります。 後半では、認証とデータベースを扱います。OAuth 2.0の概念と4つのGrant Typeを整理し、JWTの発行・検証、OAuth2PasswordBearerの内部実行ロジック、Security()とscopesを利用した権限制御を実装します。続いて、Google・Kakao・Naverのクライアントを自分で設定し、Authorization Code Grant方式でソーシャルログインを組み込みます。最後にSQLAlchemy ORMを扱い、create_engineのURL構造、DialectとDBAPIの役割、トランザクション、セッション、モデルとテーブルの作成まで進みます。 "動くコード"を超えて、"なぜそのように動くのか"を知りたい方に適した講義です。
1名 が受講中です。
難易度 初級
受講期間 無制限

