お問い合わせ
 期間 28 時間

コース概要

1日目 — 堅牢なPythonの基礎とツール

モダンなPython機能と型付け

  • 型付けの基礎、ジェネリクス、Protocols、TypeGuard
  • Dataclasses、frozen dataclasses、およびattrsの概要
  • パターンマッチング(PEP 634以降)とそのイディオマティックな使い方

コード品質とツール

  • コードフォーマッタとリンター: black, isort, flake8, ruff
  • MyPyおよびpyrightによる静的型チェック
  • Pre-commitフックと開発者のワークフロー

プロジェクト管理とパッケージング

  • Poetryと仮想環境による依存関係の管理
  • パッケージのレイアウト、エントリポイント、バージョン管理のベストプラクティス
  • PyPIおよびプライベートレジストリへのパッケージのビルドと公開

2日目 — 設計パターンとアーキテクチャ実践

Pythonにおける設計パターン

  • 生成系パターン: Factory, Builder, Singleton(Python的な変種)
  • 構造系パターン: Adapter, Facade, Decorator, Proxy
  • 振る舞い系パターン: Strategy, Observer, Command

アーキテクチャの原則

  • PythonコードベースへのSOLID原則の適用
  • ヘキサゴナル/クリーンアーキテクチャと境界線
  • 依存性注入パターンと設定管理

モジュール化と再利用

  • ライブラリコードとアプリケーションコードの設計
  • API、安定したインターフェース、セマンティックバージョニング
  • 設定、シークレット、環境固有の設定の処理

3日目 — 並行性、非同期IO、パフォーマンス

並行性と並列性

  • スレッドの基礎とGIL(グローバルインタープリタロック)の影響
  • CPUバウンドなタスクのためのマルチプロセシングとプロセスプール
  • concurrent.futuresとmultiprocessingの使い分け

asyncioによる非同期プログラミング

  • Async/awaitパターン、イベントループ、キャンセル
  • 非同期ライブラリの設計と同期コードとの相互運用性
  • IOバウンドパターン、バックプレッシャー、レート制限

プロファイリングと最適化

  • プロファイリングツール: cProfile, pyinstrument, perf, memory_profiler
  • ホットパスの最適化、適切な箇所でC拡張/Numbaの使用
  • レイテンシー、スループット、リソース使用率の測定

4日目 — テスト、CI/CD、可観測性、デプロイ

テスト戦略と自動化

  • pytestによるユニットテストとフィクスチャ; テストの組織化
  • Hypothesisによるプロパティベーステストと契約テスト
  • モック、モンキパッチ、非同期コードのテスト

CI/CD、リリース、監視

  • GitHub Actions/GitLab CIへのテストと品質ゲートの統合
  • Dockerとマルチステージビルドによる再現可能なコンテナの構築
  • アプリケーションの可観測性: 構造化ログ、Prometheusメトリクス、トレーシング

セキュリティ、強靭化、ベストプラクティス

  • 依存関係の監査、SBOM(ソフトビリー・オブジェクト・マニフェスト)の基礎、脆弱性スキャン
  • 入力検証とシークレット管理のための安全なコーディングプラクティス
  • ランタイムの強靭化: リソース制限、ユーザー権限、コンテナセキュリティ

キャップストーンプロジェクトとレビュー

  • チームラボ: コースで学んだパターンを用いて小規模なサービスの設計と実装
  • プロジェクトのテスト、型チェック、パッケージング、CIパイプライン
  • 最終レビュー、コードの批評、実行可能な改善計画

まとめと次のステップ

要求

  • 確かな中級レベルのPythonプログラミング経験
  • オブジェクト指向プログラミングと基本的なテストの知識
  • コマンドラインとGitの使用経験

対象読者

  • シニアPython開発者
  • Pythonコードの品質とアーキテクチャを担うソフトウェアエンジニア
  • Pythonコードベースで作業するテックリードおよびMLOps/DevOpsエンジニア

参加者の人数


参加者1人あたりの価格

お客様の声 (2)

今後のコース

関連カテゴリー