Live data from Hacker News

Show HN: My Book, Hands-On Software Engineering with Golang

packtpub.com

1–10 of 24 posts

Re: Show HN: My Book, Hands-On Software Engineering with Golang

#2
Hi HN! After several months of intense writing and code debugging I have finally published my first book: Hands-on Software Engineering with Golang (link in title).

I tried to differentiate from other Go books out there by including things that align with my research interests. Inside the book and its accompanying code you can find lots of (hopefully) interesting concepts such as how to build from scratch data pipelines and a distributed graph processing system inspired by Pregel.

As simply discussing these concepts is not that interesting without some code, my main focus was to write a hands-on book. To this end, the book is kinda code-heavy and includes about 16.2k lines of Go code (52% Go code, 30% tests and 17% auto-generated mocks/gRPC stubs according to gocloc).

You can find the full source code for the book at https://github.com/PacktPublishing/Hands-On-Software-Enginee.... It comes with an MIT license so feel free to tinker with it and let me know what you think!

Re: Show HN: My Book, Hands-On Software Engineering with Golang

#3
Congratulations! Just got my hands on it recently so can't give too valuable feedback just yet. The contents promise to be a real good help with bootstrapping and scaling a product or an engineering project. A very broad spectrum of topics are reflected. It has a good balance of being hands-on and holistic at the same time. Pretty much at the first chapter though :) looking forward to read through the rest.

Re: Show HN: My Book, Hands-On Software Engineering with Golang

#4

Hi HN! After several months of intense writing and code debugging I have finally published my first book: Hands-on Software Engineering with Golang (link in title). I tried to differentiate from other Go books out there by including things that align with my research interests. Inside the book and its accompanying code you can find lots of (hopefully) interesting concepts such as how to build from scratch data pipeli…

Thanks for writing this!

Re: Show HN: My Book, Hands-On Software Engineering with Golang

#8
post #5

Congratulations on publishing! I'm looking at picking up some Go best practices. What level of Go/coding experience do you feel your book is pitched at?

The first chapters focus exclusively on the SOLID design principles and best practices for testing and vendoring while the rest of the chapters get progressively more and more technical.

I think the material should be relatively easy to follow up to chapter 11 for anyone with a basic understanding of programming in Go. Chapter 12 is a bit more complex as it describes the implementation of a distributed graph processing system.

I would definitely recommend taking a look at the (heavily commented) code on GitHub to see for yourself.

Re: Show HN: My Book, Hands-On Software Engineering with Golang

#9
post #6

Disappointed that dependency management seems to be based on old vendoring technologies and not Go Modules... (caveat, I only looked at the toc and some previews... but still)

To be fair, I have included a section that extols the benefits of Go modules and hints that this is the way forward.

However, for the book source code, I opted to use dep to make sure it can be used by folks that use older Go compiler versions that lack support for Go modules. That being said, it should be trivial to convert the repo to use Go modules.

Re: Show HN: My Book, Hands-On Software Engineering with Golang

#10
post #6

Disappointed that dependency management seems to be based on old vendoring technologies and not Go Modules... (caveat, I only looked at the toc and some previews... but still)

To be fair, I have included a section that extols the benefits of Go modules and hints that this is the way forward. However, for the book source code, I opted to use dep to make sure it can be used by folks that use older Go compiler versions that lack support for Go modules. That being said, it should be trivial to convert the repo to use Go modules.

> folks that use older Go compiler versions

Why? (I don't mean that as snark; with the ease of installing and upgrading the go compiler compared to the olden days of acquiring a c compiler on a floppy disk - why not target the latest version? I[s] cgo trailing behind?)

Post reply on HN