お問い合わせを送信いただきありがとうございます!当社のスタッフがすぐにご連絡いたします。
予約を送信いただきありがとうございます!当社のスタッフがすぐにご連絡いたします。
コース概要
第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 時間
お客様の声 (2)
すべてが完璧でした
Florin Vrincianu
コース - Python Programming Fundamentals
機械翻訳
各トピックについてより深く理解するのに、実践的な演習が大いに役立ちます。また、授業を講義で始め、その後実践的な演習を続けていくスタイルは、先に呈示された講義内容と関連付ける上で非常に役立つし、助けになります。
Nazeera Mohamad - Ministry of Science, Technology and Innovation
コース - Introduction to Data Science and AI using Python
機械翻訳