Publisher's Synopsis
Go was born out of necessity, a need to evolving maintainable infrastructure. Introductory material on Go is great (and there are lots of resources on it, more than I can keep up with!), but I find advanced function design and production-grade patterns getting lost. This book fills that gap.
This book is the fruit of many years of hands-on experience developing scalable online businesses and cloud solutions. I prioritize these topics not because of any random whims, but because these concepts are the ones that make or break production systems and more importantly provide a breeding ground for very expensive bugs and ongoing maintenance complexities.
In this book, you'll learn:
- Advanced function design patterns that promote code reuse and maintainability
- Practical concurrency patterns for real-world applications
- Techniques on memory management and performance optimizations
- Coding styles, ideals, techniques that are used in production
- Testing strategies for complex systems
- Scalable error handling patterns
- Debugging and profiling tools and techniques
Most importantly, you won't just learn how to write these patterns, but when and why to do so. This means that every chapter adds on to the concepts already covered, resulting in a thorough understanding of advanced Go development.
Although this book may be read cover-to-cover, each chapter stands alone
as well. If you're dealing with a particular challenge, jump to the chapter
that speaks to that challenge. However, the chapters are ordered to build
on each other, particularly in the progression from function design to
concurrency patterns.
The code examples in this book are practical and inspired by real-life situ-
ations. While they aim to reflect production-like scenarios and highlight
common pitfalls and solutions, they haven't been battle-tested. You're
encouraged to type out and experiment with the code as you read.
Book GitHub Repository
The code examples in this book are available on GitHub. You can find the
repository at:
https: //github.com/rezmoss/go-at-scale
About the Author
Rez Moss has more than ten years of experience creating and deploying
Go applications in production. He is a Senior Go Developer, Cloud Ar-
chitect with systems he has architected high-traffic cloud systems and
microservices powering critical business operations. His expertise spans:
- High-performance Go applications
- Cloud-native architectures
- Distributed systems
- Performance optimization
- Production debugging and monitoring
Currently focused on serverless architectures and cloud-native patterns,
Rez regularly contributes to the Go community through open-source
projects, technical talks, and mentoring.
Connect with the author:
- Website: rezmoss.com
- Email: hi@rezmoss.com
- GitHub: github.com/rezmoss
Acknowledgments
This book stands on the shoulders of giants. Thanks to the Go team for
creating such an exceptional language, and to the broader Go community
for their continuous contributions and insights.
My last thank you is to my family, for their patience and support in the
writing process, and to my colleagues who have had hours of discussions
about Go patterns and practices.
Let us dive into advanced golang programming.