Pythonの GIL とは何か、パフォーマンスへの影響
CPythonの Global Interpreter Lock を理解し、スレッドがCPUバウンドなコードを高速化しない理由、threading、multiprocessing、および free-threaded ビルドをいつ使用すべきかを学びます。
CPythonの Global Interpreter Lock を理解し、スレッドがCPUバウンドなコードを高速化しない理由、threading、multiprocessing、および free-threaded ビルドをいつ使用すべきかを学びます。
pyproject.toml を使用して Python ライブラリをパッケージ化し、wheel をビルドし、TestPyPI でテストして PyPI にリリースするガイド
なぜthreadingがCPU集約的なコードを高速化しないのか、そしてmultiprocessing、Pool、ProcessPoolExecutorを使ってすべてのCPUコアを活用する方法を学びます。
本番環境向けPythonロギング設定:モジュール別logger、dictConfig、JSON形式ログ、contextvarsによるrequest_id、QueueHandler、caplogでのテスト
pathlib.Path を使用して os.path と os を置き換え、パスの結合や分割、ファイルの読み書き、ディレクトリのトラバースが可能。比較表、pytest、よくあるエラーも含む。
try/except/else/finallyの使用方法、カスタム例外の定義、raise from、ログ記録、ExceptionGroup、およびpytestでの例外テスト方法。
Pydantic v2を使った入力データの検証:BaseModel、Field、field_validator、model_validator、strict mode、TypeAdapterの使い方とpytestでのテスト方法
FastAPIとPydantic v2を使ってREST APIを構築し、不正なデータをエントリーポイントで遮断、422エラーのカスタマイズ、pytestでのテスト方法を学びます。
pytestを使ったテストの書き方、データ準備にfixtureを使用し、リソースをクリーンアップし、conftest.pyで共有し、テストをパラメータ化するガイド。
Pythonでリスト、辞書、セット内包表記とジェネレータ式を簡潔で読みやすいコードを書く方法、よくあるエラー、いつループに戻すべきか学びます。
with文の動作原理を理解し、classやcontextlibを使ってカスタムcontext managerを実装、例外処理を正しく行い、よくあるバグを避ける方法を解説します。
Virtual environmentの作成、pipでのパッケージ管理、pyproject.tomlでのPythonプロジェクト宣言について、実行可能な例と一般的なエラーを含めて説明します。
generatorとyieldを学び、巨大ファイルやデータストリームをメモリに全て読み込まずに処理する方法を理解しましょう。
PythonのデコレータについてAND構文、クロージャ、functools.wrapsから、引数を受け取るデコレータ、そしてクラスベースのデコレータまで学びましょう。
Pythonのasyncioとthreadingを3つの実用的な質問で区別し、各タイプの問題に適したconcurrencyモデルを選ぶのに役立ちます。
Pythonのdataclassesモジュールについて学び、データを保持するクラスを簡潔に書く方法を知りましょう。__init__、__repr__、__eq__を自動生成し、ボイラープレートコードなしでデータクラスを作成できます。
Type hintsを使ってPythonコードを明確にし、実行前にmypyで型エラーを検出する方法を学びます。