最近、英語の勉強を改めてしていて、その一環として少しずつ読んでいた『Release It!』の2版を一周しました。
とりあえず1周した。消化できていないことも多いが、トピックをたくさん仕入れられたし、良かった。 https://t.co/uvLYttcXba
— こま (@koma_koma_d) 2021年12月5日
英語の本を読むのは続けていきたいと思っているのですが、日本語の本ほどのスピードではまだ全然読めないので、「これ!」という少数の本を読んでいく方針で当面は進めようと思っています(せっかくオライリーのサブスクを契約しているので、たくさんの本を拾い読みするというのもアリなのですが)。
そこで、次に読む本を考えていくにあたって、せっかくなので候補に挙がっている書籍をリストアップしておきます。
「これは翻訳の予定があるよ」というものはこっそり教えてください(無茶言うな)
Dynamic Reteaming
『チームトポロジー』でしばしば言及されていた本。
オライリーのサブスクでオーディオブックを少しずつ聴いている限りでは、事例が結構厚めな印象を持っている。固有名詞の入っているところばかり耳に残っているだけという説もありますが・・・
I. What Is Dynamic Reteaming? 1. The Evolution Of Teams 2. Understanding Teams 3. The Power Of Team Assignment 4. Reduce Risk And Encourage Sustainability II. Dynamic Reteaming Patterns 5. One-By-One Pattern 6. Grow-And-Split Pattern 7. Isolation Pattern 8. Merging Pattern 9. Switching Pattern 10. Anti-Patterns III. Tactics For Mastering Dynamic Reteaming 11. Adapt Your Organization For Dynamic Reteaming 12. Plan Your Dynamic Reteaming Initiative 13. After Dynamic Reteaming: Transitions And Team Calibrations 14. Reflect And Determine How To Shift IV. Conclusion
永瀬美穂さんが翻訳してくれるのに期待している 👀
Dynamic Reteamingは著者のHeidiのセッションを聞いてめちゃ良かったので翻訳するね!って言って本もいただいてしまったのに寝かせているので心苦しいが良い本である
— Miho🍺Nagase (@miholovesq) 2021年11月24日
オライリーサブスクでも読める。
Dynamic Reteaming, 2nd Edition [Book]
Learning Domain-Driven Design
2021年11月に出たばかりのドメイン駆動設計に関する本。
オライリーサブスクで読める↓のレポートがよくまとまっていると評判なので、この書籍も期待できそう。目次を見た感じも良さそう。
I. Strategic Design 1. Analyzing Business Domains 2. Discovering Domain Knowledge 3. Managing Domain Complexity 4. Integrating Bounded Contexts II. Tactical Design 5. Implementing Simple Business Logic 6. Tackling Complex Business Logic 7. Modeling The Dimension Of Time 8. Architectural Patterns 9. Communication Patterns III. Applying Domain-Driven Design In Practice 10. Design Heuristics 11. Evolving Design Decisions 12. EventStorming 13. Domain-Driven Design In The Real World IV. Relationships To Other Methodologies And Patterns 14. Microservices 15. Event-Driven Architecture 16. Data Mesh
オライリーサブスクでも読める。
Learning Domain-Driven Design [Book]
Building Microservices
『マイクロサービスアーキテクチャ』の第二版。既に翻訳が進んでいそうな気がする。初版に比べてかなり分厚くなっているので大変そうですが・・・
Building Microservices: Designing Fine-Grained Systems Sam Newman https://t.co/mzy1cTsj6v 『マイクロサービス』原書の第二版、いよいよ来月発売か〜。初版は2015年だし、目次見る限りかなり書き変わっている印象。
— こま (@koma_koma_d) 2021年7月22日
オライリーサブスクでも読める。
Building Microservices, 2nd Edition [Book]
Software Architecture: The Hard Parts
kawasimaさんが読んでいるのを見て面白そうだなと思っている本。
Software Architecture: The Hard Parts
— kawasima (@kawasima) 2021年8月18日
Sagaパターンを、同期・非同期× アトミック・結果整合性 ×コレオグラフィ・オーケストレーション の掛け合わせ8つに分類して、詳細に分析してあって面白い。https://t.co/xITxj0Sbbo
1. What Happens When There Are No “Best Practices”? I. Pulling Things Apart 2. Discerning Coupling In Software Architecture 3. Architectural Modularity 4. Architectural Decomposition 5. Component-Based Decomposition Patterns 6. Pulling Apart Operational Data 7. Service Granularity II. Putting Things Back Together 8. Reuse Patterns 9. Data Ownership And Distributed Transactions 10. Distributed Data Access 11. Managing Distributed Workflows 12. Transactional Sagas 13. Contracts 14. Managing Analytical Data 15. Build Your Own Trade-Off Analysis
ほぼ同じ執筆陣のこちらの方を先に読んだ方が良い説もある。
2022/08/19 追記:翻訳が出ています。
Chapter 1: Introduction Chapter 2: Architectural Thinking Chapter 3: Modularity Chapter 4: Architecture Characteristics Defined Chapter 5: Identifying Architecture Characteristics Chapter 6: Measuring and Governing Architecture Characteristics Chapter 7: Scope of Architecture Characteristics Chapter 8: Component-Based Thinking Chapter 9: Architecture Styles Chapter 10: Layered Architecture Style Chapter 11: Pipeline Architecture Chapter 12: Microkernel Architecture Chapter 13: Service-Based Architecture Chapter 14: Event-Driven Architecture Style Chapter 15: Space-Based Architecture Chapter 16: Orchestration-Driven Service-Oriented Architecture Chapter 17: Microservices Architecture Chapter 18: Choosing the Appropriate Architecture Style Chapter 19: Architecture Decisions Chapter 20: Analyzing Architecture Risk Chapter 21: Diagramming and Presenting Architecture Chapter 22: Making Teams Effective Chapter 23: Negotiation and Leadership Skills Chapter 24: Developing a Career Path
基礎はFundamentals of Software Architectureに書いたが、そこに入れれなかった複雑で難しいところを集め、それがどんなトレードオフがあって難しいのかを分析した本だ。
— kawasima (@kawasima) 2021年8月19日
ということらしいです。
いずれもオライリーサブスクでも読める。
Software Architecture: The Hard Parts [Book]
Fundamentals of Software Architecture [Book]
Strategic Monoliths and Microservices
『実践ドメイン駆動設計』の Vaughn Vernon の最新刊。
イベント駆動やCQRSなど技術的な側面と、ビジネスの側面との両面にバランスよく触れられていそうな印象。
Part I: Transformational Strategic Learning through Experimentation Chapter 1: Business Goals and Digital Transformation Chapter 2: Essential Strategic Learning Tools Chapter 3: Events-First Experimentation and Discovery Part II: Driving Business Innovation Chapter 4: Reaching Domain-Driven Results Chapter 5: Contextual Expertise Chapter 6: Mapping, Failing, and Succeeding—Choose Two Chapter 7: Modeling Domain Concepts Part III: Events-First Architecture Chapter 8: Foundation Architecture Chapter 9: Message- and Event-Driven Architectures Part IV: The Two Paths for Purposeful Architecture Chapter 10: Building Monoliths Like You Mean It Chapter 11: Monolith to Microservices Like a Boss Chapter 12: Require Balance, Demand Strategy
オライリーサブスクでも読める。
Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture [Book]
Modern Software Engineering: Doing What Works to Build Better Software Faster
『継続的デリバリー』の David Farley の新刊。彼の YouTube はときどき見ている。
Part I What Is Software Engineering? 1 Introduction 2 What Is Engineering? 3 Fundamentals of an Engineering Approach Part II Optimize For Learning 4 Working Iteratively 5 Feedback 6 Incrementalism 7 Empiricism 8 Being Experimental Part III Optimize For Managing Complexity 9 Modularity 10 Cohesion 11 Separation of Concerns 12 Information Hiding and Abstraction 13 Managing Coupling Part IV Tools To Support Engineering In Software 14 The Tools of an Engineering Discipline 15 The Modern Software Engineer
オライリーサブスクでも読める。
Modern Software Engineering: Doing What Works to Build Better Software Faster [Book]
Building Secure and Reliable Systems
Amazonの「一緒に購入されている本」で見つけたもの。
Google の SRE本シリーズの第三弾。
Google、SRE本の第三弾「Building Secure and Reliable Systems」を無料公開 - Publickey https://t.co/xehgmkpsiZ これSRE本の第三弾なのね
— こま (@koma_koma_d) 2021年11月21日
目次を見た感じ、テーマが多いので個々の掘り下げはそこまでなのかな?という気がするけど、『Release It!』と近い感じで一読しておいて損はなさそう。
I. Introductory Material 1. The Intersection Of Security And Reliability 2. Understanding Adversaries II. Designing Systems 3. Case Study: Safe Proxies 4. Design Tradeoffs 5. Design For Least Privilege 6. Design For Understandability 7. Design For A Changing Landscape 8. Design For Resilience 9. Design For Recovery 10. Mitigating Denial-Of-Service Attacks III. Implementing Systems 11. Case Study: Designing, Implementing, And Maintaining A Publicly Trusted CA 12. Writing Code 13. Testing Code 14. Deploying Code 15. Investigating Systems IV. Maintaining Systems 16. Disaster Planning 17. Crisis Management 18. Recovery And Aftermath V. Organization And Culture 19. Case Study: Chrome Security Team 20. Understanding Roles And Responsibilities 21. Building A Culture Of Security And Reliability
オライリーサブスクでも読める。
Building Secure and Reliable Systems [Book]
おまけ: Brutal Refactoring
『レガシーコード改善ガイド』の Michael Feathers の幻の新刊(?)。
発売予定が示されてから発売が遅れに遅れ、今月発売予定になっているのだが、著者のTwitterなどでも全く情報が出てきておらず、本当に出るのかいまだに謎でした。
マイケル・フェザーズ『Brutal Refactoring』を「邦訳の刊行が期待される洋書を紹介しまくることにする(2017年版)」https://t.co/D7Z4GFidxg
— yomoyomo (@yomoyomo) 2020年3月20日
で紹介したときは2018年はじめの発売予定だったのが、発売日が2021年末になっていた。元々の予定より4年近く遅れている。すごいなhttps://t.co/R9fHKySkVx
しかし、↓のインタビューの記録を読むと、これはどうも出版はされないようです。『レガシーコード改善ガイド』にはお世話になっているので楽しみだったのですが・・・
It feels like a whack-a-mole type thing because that is not a real book. I gave a workshop on that in Chicago. I forgot how many years ago, but somebody has put that up as a page on Amazon and I need to go and figure out where to go and get that taken down.