お問い合わせ

コース概要

第1日目 堅牢なPython基盤とツールの使い方

最新のPython機能および型指定の基礎

  • 型指定の基本、ジェネリクス、Protocols、TypeGuardの活用方法
  • データクラス、凍結可能なデータクラス、attrsの概要
  • パターンマッチング(PEP 634+)の実践的な使い方

コード品質維持とツール活用方法

  • コードフォーマットツールや静的解析ツール:Black、isort、Flake8、Ruffの使い方
  • MyPyおよびpyrightによる静的型チェック手法
  • プリコミットフックと開発ワークフローの構築方法

プロジェクト管理とパッケージ作成

  • Poetryや仮想環境を活用した依存関係の管理手法
  • パッケージ構成、エントリーポイント設定、バージョン付与に関するベストプラクティス
  • PyPIおよびプライベートレジストリへのパッケージ公開手順

第2日目 デザインパターンとアーキテクチャ原則

Pythonにおける各種デザインパターンの実践例

  • 作成系パターン:ファクトリ、ビルダー、シングルトン(Python風の実装法)
  • 構造的パターン:アダプタ、ファサード、デコレータ、プロキシ
  • 振る舞いパターン:ストラテジー、オブザーバー、コマンドパターンの利用法

アーキテクチャ設計の基本原則

  • SOLID原則をPythonコードに落とし込む手法
  • ヘキサゴナル/クリーンアーキテクチャとその境界設定方法
  • 依存性注入パターンやコンフィグ管理の実践例

モジュール化および再利用性向上手法

  • ライブラリ開発とアプリケーション設計における考え方の違い
  • 安定したAPI設計、インターフェース定義、セマンティックバージョン管理手法
  • コンフィグ情報や機密情報、環境依存パラメータの適切な管理方法

第3日目 並行処理・非同期IOおよび性能最適化

並行処理と並列処理技術の基本

  • スレッド活用の基礎知識およびGILの影響について
  • CPU負荷が高い処理向けにmultiprocessingやプロセスプールを利用する方法
  • 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エンジニア
 28 時間

参加者の人数


参加者1人あたりの価格

お客様の声 (2)

今後のコース

関連カテゴリー