Buy my books

Beyond Effective Go
Hands-On Dependency Injection in Go
Beyond Effective Go
Now available from:
Gumroad (cheaper) / Amazon / Google Play / Barnes & Noble / Booktopia / Book Depository / Wook / Kobo / Rakuten (Japan)
Beyond Effective Go cover
This book, aimed at competent Gophers, dives right into the problems professional programmers face every day. How to write applications and services that are fast, robust, and able to be maintained and extended as requirements change.

It focuses on both the programmer and the code and addresses the four key aspects of Go programming, developer productivity, application performance, code quality, and depth of understanding of the language and tools available.

(Hopefully) After reading this book, you will know which aspects of your application to focus on and when. You will have a suite of tools, software patterns, and recipes at your disposal to make your life easier and your code better, faster, and easier to maintain.

This book was started a while ago, and due to, well, life issues, it was not completed at that time. It was initially titled Advanced Go and was being written under contract with Packt. However, because of the delay, this is no longer the case.

I am now attempting to complete this book in my spare time between other work and life commitments. Due to the delays and the length of the chapters that have been written so far, I have decided to further depart from the original plan and release the book in parts and to self-publish.

The book listed here is Part 1, and it focuses on writing high-performance Go applications. I hope you will find it both enjoyable and valuable.

Please reach out to me on Twitter with any feedback you have and follow me to stay tuned for updates on the parts that are yet to be released.

Now available from:
Gumroad (cheaper) / Amazon / Google Play / Barnes & Noble / Booktopia / Book Depository / Wook / Kobo / Rakuten (Japan)



Hands-On Dependency Injection in Go
Now available from:
Amazon / Packt / Google Play / Book Depository / Indie Books / Barnes & Noble

Of the six methods introduced in this book, some are conventional, such as constructor or method injection, and some unconventional, such as just-in-time or config injection. Each method is explained in detail, focusing on their strengths and weaknesses, and is followed with a step-by-step example of how to apply it.

With plenty of examples, you will learn how to leverage DI to transform code into something simple and flexible. You will also discover how to generate and leverage the dependency graph to spot and eliminate issues. Throughout the book, you will learn to leverage DI in combination with test stubs and mocks to test otherwise tricky or impossible scenarios.

Hands-On Dependency Injection in Go takes you on a journey, teaching you about refactoring existing code to adopt dependency injection (DI) using various methods available in Go. Hands-On Dependency Injection in Go takes a pragmatic approach and focuses heavily on the code, user experience, and how to achieve long-term benefits through incremental changes.

By the end of this book, you will have produced clean code that’s easy to test.

What you will learn:
Understand the benefits of DI
Explore SOLID design principles and how they relate to Go
Analyze various dependency injection patterns available in Go
Leverage DI to produce high-quality, loosely coupled Go code
Refactor existing Go code to adopt DI
Discover tools to improve your code’s testability and test coverage
Generate and interpret Go dependency graphs

Who this book is for:
Hands-On Dependency Injection in Go is for programmers with a few years of experience in any language and a basic understanding of Go. If you wish to produce clean, loosely coupled code that is inherently easier to test, this book is for you.

Now available from:
Amazon / Packt / Google Play / Book Depository / Indie Books / Barnes & Noble