#Python

147 件の記事

Pythonテスト #4 mockとmonkeypatch: 制御できないものを制御する
読了 6分

Pythonテスト #4 mockとmonkeypatch: 制御できないものを制御する

時間、乱数、外部 API のように実行のたびに結果が変わる依存性を monkeypatch と unittest.mock で固定する方法を扱います。patch のパスの罠と過剰 mock の境界線まで整理します。

Pythonテスト #3 parametrizeとマーカー: ケースを増やして選んで回す
読了 5分

Pythonテスト #3 parametrizeとマーカー: ケースを増やして選んで回す

pytest の @pytest.mark.parametrize で入力だけが違うテストをケース表 1 つにまとめ、skip・skipif・xfail とカスタムマーカー、-m・-k オプションで必要なテストだけを選んで実行する方法を整理します。

Pythonテスト #2 フィクスチャ: 準備と後片付けを注入してもらう
読了 6分

Pythonテスト #2 フィクスチャ: 準備と後片付けを注入してもらう

@pytest.fixture でテストの準備コードを注入してもらう方法を扱います。yield によるティアダウン、scope のトレードオフ、conftest.py での共有、tmp_path のような組み込みフィクスチャまで整理します。

Pythonテスト #1 pytest入門: assertひとつで十分な理由
読了 7分

Pythonテスト #1 pytest入門: assertひとつで十分な理由

pytest をインストールして assert ひとつで最初のテストを書く方法から、unittest との違い、失敗出力の読み方、テストディスカバリーのルールまで整理します。

モダンPython実践 #6 テストとデプロイ — pytest、Docker、Railway/Fly
読了 8分

モダンPython実践 #6 テストとデプロイ — pytest、Docker、Railway/Fly

pytest + httpx で FastAPI の統合テスト、依存性オーバーライドで分離、Docker のマルチステージビルド、Railway/Fly クラウドデプロイまで整理します。

モダンPython実践 #5 非同期とバックグラウンドタスク
読了 7分

モダンPython実践 #5 非同期とバックグラウンドタスク

async ルートのポジション、BackgroundTasks でレスポンス後の処理、外部キュー (Celery、ARQ) が必要になる境界、そして同期ライブラリと安全に混ぜる方法を整理します。

モダンPython実践 #4 認証 — OAuth2 パスワードフロー + JWT
読了 7分

モダンPython実践 #4 認証 — OAuth2 パスワードフロー + JWT

パスワードハッシング (argon2/bcrypt)、OAuth2 パスワードフロー、JWT の発行 / 検証、そして current_user 依存性できれいに解く認証パターンを整理します。

モダンPython実践 #3 DB 連携 — SQLAlchemy 2.x + Alembic
読了 7分

モダンPython実践 #3 DB 連携 — SQLAlchemy 2.x + Alembic

SQLAlchemy 2.x の新スタイル — Mapped/mapped_column、async セッション、FastAPI の依存性注入との結合、Alembic のマイグレーションまで整理します。

モダンPython実践 #2 ルーティング、Pydantic モデル、依存性注入
読了 6分

モダンPython実践 #2 ルーティング、Pydantic モデル、依存性注入

APIRouter でルート分離、Pydantic v2 スキーマで入出力を定義、Depends で共通ロジックをきれいに解くパターンまで整理します。

モダンPython実践 #1 FastAPI のはじめ方とセットアップ
読了 7分

モダンPython実践 #1 FastAPI のはじめ方とセットアップ

なぜ FastAPI なのか、uv で最初のプロジェクトをセットアップ、Hello FastAPI、OpenAPI/Swagger UI の自動生成までを一カ所に整理します。

モダンPython上級 #7 性能 — cProfile、py-spy、メモリプロファイリング
読了 8分

モダンPython上級 #7 性能 — cProfile、py-spy、メモリプロファイリング

遅い Python コードを見つけて直す道具箱 — timeit、cProfile、py-spy、line_profiler、memray、そしてよくある最適化パターンまで整理します。

モダンPython上級 #6 typing 上級 — Variance、ParamSpec、Self、overload
読了 8分

モダンPython上級 #6 typing 上級 — Variance、ParamSpec、Self、overload

中級 typing の次の段階 — covariance/contravariance、ParamSpec と Concatenate、Self、TypeGuard/TypeIs、@overload まで整理します。