コース概要
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
アーキテクチャ原則
- SOLID 原則の Python コードベースへの適用
- Hexagonal/Clean Architecture と境界線
- 依存性注入パターンと構成管理
モジュール化と再利用
- ライブラリコードとアプリケーションコードの設計
- API、安定したインターフェース、およびセマンティックバージョニング
- 構成、シークレット、および環境固有の設定の処理
3日目 — 並行処理、非同期 I/O、パフォーマンス
並行処理と並列処理
- スレッディングの基本と 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 エンジニア
お客様の声 (5)
より実践的な演習を多く行い、私たちのプロジェクトで使用するデータ(ラスター形式の衛星画像)に近いデータを使用すること
Matthieu - CS Group
コース - Scaling Data Analysis with Python and Dask
機械翻訳
トレーナーは非常に知識が豊富で、質問に自信を持って答えて理解を深めてくれました。
Jenna - TCMT
コース - Machine Learning with Python – 2 Days
機械翻訳
トレーナーの非常に良い準備と専門知識、英語での完璧なコミュニケーション。コースは実践的でした(演習 + 使用例の共有)
Monika - Procter & Gamble Polska Sp. z o.o.
コース - Developing APIs with Python and FastAPI
機械翻訳
説明
Wei Yang Teo - Ministry of Defence, Singapore
コース - Machine Learning with Python – 4 Days
機械翻訳
トレーナーは参加者のペースに基づいて訓練を展開します
Farris Chua
コース - Data Analysis in Python using Pandas and Numpy
機械翻訳