While dependency injection and many of the other programming concepts discussed in this book are not simple or intuitive, this book introduces them with little assumed knowledge.
That said, the following is assumed:
- You have a basic level of experience with building and testing Go code.
- You are comfortable with the idea of objects/classes due to prior experience with Go or an object-oriented language, such as Java or Scala.
Additionally, it would be beneficial to have at least a passing understanding of building and consuming HTTP-based REST APIs. In Chapter 4, Introduction to the ACME Registration Service, we will introduce an example REST service that will form the basis for many of the examples in the book. To be able to run this sample service, you will need to be able to install and configure a MySQL database service on your development environment and be able to customize the supplied configuration to match your local environment. All of the commands provided in this book were developed and tested under OSX and should work without modification on any Linux- or Unix-based system. Developers with Windows-based development environments will need to adjust the commands before running them.