liveBook · Manning

What you will learn in Shipping Go: Develop, deliver, discuss, design, and go again

Develop, deliver, discuss, design, and go again

by Joel Holmes

Chapter by chapter

Chapter 1: Delivering value

1.1 Simple concepts · 1.2 Small pieces · 1.2.1 Continuous · 1.2.2 Process · 1.2.3 Quality · 1.2.4 Delivery · 1.3 Building your product · 1.3.1 Initial setup · 1.3.2 Basic validation · 1.3.3 Zero-cost deployment · 1.3.4 Code confidence · 1.3.5 Integrations · 1.3.6 Portability · 1.3.7 Adaptability · 1.3.8 User acceptance · 1.3.9 Scaled product · 1.3.10 End to end · 1.4 Feedback loop · 1.5 Summary

What you learn in chapter 1 →

Chapter 2: Introducing continuous integration

2.1 Where to start? · 2.2 A greenfield project · 2.3 The assembly line · 2.4 Warehouses · 2.5 Material · 2.6 Summary

What you learn in chapter 2 →

Chapter 3: Introducing continuous testing

3.1 What to test · 3.2 Writing unit tests · 3.3 Refactor, refactor, refactor · 3.4 Testing pyramid · 3.5 System testing · 3.6 Adding it to the pipeline · 3.7 Code coverage · 3.8 Summary

What you learn in chapter 3 →

Chapter 4: Introducing continuous deployment

4.1 Delivery · 4.2 Developers as operators · 4.3 Setting up a deployment account · 4.4 As you like it · 4.5 Function as a Service (FaaS) · 4.6 Platform as a Service · 4.7 Summary

What you learn in chapter 4 →

Chapter 5: Code quality enforcement

5.1 Reviewing code · 5.1.1 Keep it small · 5.1.2 Keep an open mind · 5.1.3 Keep it moving · 5.1.4 Keep it interesting · 5.1.5 Keep it the same · 5.2 Constraints on development · 5.3 Standardizing our code through format and lint checks · 5.4 Static code analysis · 5.5 Code documentation · 5.6 Git hooks · 5.7 Flow · 5.8 Summary

What you learn in chapter 5 →

Chapter 6: Testing frameworks, mocking, and dependencies

6.1 Dependency inversion principle · 6.2 Defining an interface · 6.3 Dependency injection · 6.4 Testing stubs · 6.5 Mocking · 6.5.1 Setting up our test suite · 6.5.2 Using our mocks in test · 6.6 Fake · 6.7 Just the base of the pyramid · 6.8 Summary

What you learn in chapter 6 →

Chapter 7: Containerized deployment

7.1 What is a container? · 7.2 What is a Buildpack? · 7.3 Let’s build a container · 7.4 Adding a container build to your pipeline · 7.5 Deploying to a container runtime · 7.6 Writing your own image · 7.7 Local environment organization · 7.8 Containers, containers everywhere · 7.9 Summary

What you learn in chapter 7 →

Chapter 8: Configuration management and stable releases

8.1 Configuration · 8.2 Advanced configuration · 8.2.1 Environmental variables · 8.2.2 File · 8.2.3 Flag · 8.3 Hiding features · 8.3.1 Updating the port · 8.3.2 External client · 8.4 Semantic versioning · 8.5 Change log · 8.6 Accountability and handling failure · 8.7 Summary

What you learn in chapter 8 →

Chapter 9: Integration testing

9.1 Phasing out the old · 9.2 Behavior-driven design · 9.3 Writing BDD tests in Go · 9.4 Adding a database · 9.5 Releasing · 9.6 Summary

What you learn in chapter 9 →

Chapter 10: Advanced deployment

10.1 Not quite IaaS · 10.2 Your first cluster · 10.3 Building blocks · 10.4 Scaling and health status · 10.5 Automatically deploying · 10.6 Deploying Redis using Helm · 10.7 Updating deployment configuration · 10.8 Summary

What you learn in chapter 10 →

Chapter 11: The loop

11.1 Startup · 11.2 Acceleration · 11.3 Cruising · 11.4 Elements of development · 11.4.1 Process · 11.4.2 Testing · 11.4.3 Delivering · 11.5 The OODA loop · 11.6 Conclusion · 11.7 Summary

What you learn in chapter 11 →

Concepts explained in this book

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.