This book will take you through the most important aspects of designing, building, and deploying a web service utilizing idiomatic REST practices with a focus on speed, security, and flexibility. You will begin by building your first API in Go using the HTTP package. You will look at designing and building your application including popular design structures like Model-View-Controller. You will also understand methods for deploying code to staging and development. Finally, you will see how the security features in Go can be used for protection against SQL injection, and sensitive data compromise.
By the end of this book, you will have achieved a high level of proficiency in building and deploying web services and web APIs with Go.
Awful (an alpha version at most): - Go code that is not formatted with gofmt. Honestly? - Sample code not working since for example github.com/nkozyra/api is empty? Why provide code for download that's not working at all? Where are the SQL statements? Expected to type them? - Concatenating together SQL-Queries. Great idea to teach with code vulnerable to SQL injections in 2015. Wow. And that's not an accident, it's - The Tip boxes are at strange places. After go get is used several times before in the book in chapter 3 comes the tip to set the GOPATH if you get an error using go get. As a reader you either know that anyway or you figured it out before this tip or you gave up. In general this show the bad structure of the book in general. - SHA-2 for storing password as shown is the book is also a bad practice today. Use BCrypt - even more since the is a go implementation in the crypto subrepo. - Next major mistake: Don't you math/rand to create the salt. There is crypto/rand for that! - After using Parameters for SQL Query in the middle somewhere: Hurra, SQL Injections are back in chapter 6. - Wrong: gomemcache is not a memcached implementation, just a client library for accessing memcached with go. - And now the best: The TOC lists 10 chapters. BUT: Chapter 9 (Deployment) and 10 (Maximizing Performance) are just not there. The book ends with Chapter 8. And even better: The sample code is organized in 11 chapters?! Where does that 11th chapter come from?
Sorry, if that i got a little sarastic, but the book is really horrible. Don't buy it, it will teach you too many bad practices. This is not a book ready for publishing, it's close to a scam.
Bottom Line No, I would not recommend this to a friend