シロクマ C++開発自動化ラボ

C++開発の泥臭い作業、全部「全自動化」しませんか?

Python、Docker、CI/CDを活用してC++開発の泥臭い手作業を全自動化。開発者のための実務効率化・自動化エコシステム構築ガイド。

🎯 MISSION: テストの全自動化

「このプロジェクトのテストを毎回手動で実行するのをやめたい」――手動ビルド ➔ CMake ➔ 自動テスト ➔ ASan ➔ Docker ➔ GitHub Actions による完全自動CI/CDのワークフローを構築せよ。

📚 全12章カリキュラム一覧

  1. 【Chap 1】C++と自動化の重要性 - なぜC++開発においてビルドやテストの自動化が必要なのか?手動作業の限界と自動化のメリットを解説します。
  2. 【Chap 2】Docker環境構築 - 「私のPCでは動いた」を撲滅するDockerを活用したC++ビルド環境のコンテナ化手法を解説。
  3. 【Chap 3】CMakeビルド自動化 - 手動g++コンパイルからの脱却。CMakeを使ったクロスプラットフォームなビルドプロセスの自動化。
  4. 【Chap 4】CTest自動テスト - CMakeに組み込まれたテストランナー「CTest」を用いて、C++の単体テストを自動実行する基盤を作ります。
  5. 【Chap 5】PythonからC++を直接叩く - pybind11を活用してC++の共有ライブラリをPythonから直接呼び出すバインディング技術。
  6. 【Chap 6】Python統合の実践 - C++モジュールとPythonスクリプトを連携させた実務レベルのテスト・制御手法。
  7. 【Chap 7】Pytestによる評価自動化 - Pythonの強力なテストフレームワークpytestを用いて、C++コードの挙動を簡潔かつ網羅的に自動テストします。
  8. 【Chap 8】AddressSanitizerメモリチェック - C++特有のメモリリークや不正アクセスを自動検知するAddressSanitizer (ASan) の導入。
  9. 【Chap 9】Sanitizerによるメモリ解析 - ValgrindやSanitizerのログを解析し、C++のメモリ障害を自動化フローの中で特定・報告する手法。
  10. 【Chap 10】GitHub Actionsによる自動化 - これまでに構築したビルド・テスト・メモリチェックの全工程を、GitHub Actionsで完全自動のCI/CDパイプラインに乗せる。
  11. 【Chap 11】HILシミュレーションへの応用 - Hardware-in-the-Loop。実機と連携したC++の自動テストシステムへの応用と将来展望。
  12. 【Chap 12】自動テストシステム構築の実践 - C++開発における「泥臭い手作業」を排除した、モダンな自動化エコシステム構築の総括。
第1章から学習を開始する ➔