O’REILLY Learning「Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス」19章〜25章

https://learning.oreilly.com/library/view/googlenosohutoueaenziniaringu-chi-sok-ke-neng-napuroguraminguwozhi-eruji-shu-wen-hua-purosesu/9784873119656/

19章 GoogleのコードレビューツールCritique

20章 静的解析

静的解析は、プログラム内のバグを、本番環境のコードとしてチェックインされる前に早期に発見。

Bug patterns
https://errorprone.info/bugpatterns

21章 依存関係管理

依存関係管理、言い換えればライブラリーやパッケージや管理外の依存関係が形成するネットワークの管理は、ソフトウェアエンジニアリングにおける、理解が最も進んでおらず最も難解な問題。

ダイアモンド依存関係問題

依存関係ネットワークを管理する方式の事実上の標準は、セマンティックバージョニング(SemVer)。

22章 大規模変更

大規模変更(large-scale change/LSC)

23章 継続的インテグレーション

継続的インテグレーション(Continuous Integration)

CIの根本的なゴールは、問題のあるコード変更をできるだけ早期に、自動的に捕捉すること。

継続的インテグレーション (第二義):自己の属する複雑かつ高速に発展するエコシステム全体の、継続的な組み立てならびにテスト。

高速なフィードバックループ

CIからのフィードバックが広くアクセス可能であること

継続的ビルド(Continuous Build/CB)

継続的テスト(Continuous Testing/CT)

24章 継続的デリバリー

完了定義(definition of done/DoD)

25章 サービスとしてのコンピュート

サービスとしてのコンピュート(Compute as a Service/CaaS)

1つのサービスは全てを統べる
J.R.R. トールキンの小説『指輪物語』(原題:The Lord of the Rings)の、全てを統べる「一つの指輪」をもじったもの。

第5部 結論

memoO'REILLY Learning

Posted by shi-n