GopherAcademy Blog

Community Contributed Articles and Tutorials on Go

All Posts

Writing good unit tests for SOLID Go

Dave Cheney covered how interfaces are used to design good Go code in his SOLID Go Design talk and blog post. In this blog post, we are going to focus on some tips on how to write unit tests for that beautiful SOLID code.

Finding good packages in the Sea of Open-Source

So far we’ve seen different ways to use Go to build a variety of applications, from versioning your data pipelines to building your own BBQ grill controller.

Goroutree: A tree-based set made of coordinating goroutines

This was one of those projects that sat in the back of my mind for quite a while. It was destined to join the many others in my side project graveyard unless I had a good reason to finish it, like a date for a blog post.

The Saga of Go Dependency Management

The Saga of Go Dependency Management The Go community is on the cusp of some major shifts in the way we handle dependencies. These shifts are a long time coming, and involve the work and effort of dozens, if not hundreds, of people.

Data Pipelines and Versioning with the Pachyderm Go Client

I know about Gophers, but what is a Pachyderm? Pachyderm is an open source framework, written in Go, for reproducible data processing. With Pachyderm, you can create language agnostic data pipelines where the data input and output of each stage of your pipeline are versioned controlled in Pachyderm’s File System (PFS).

Go and a Package Focused Design

Developers often tend to think about designing software in terms of using logical layers of abstractions. I have seen many Go projects with layers of abstractions that reflect grouping of all common things together such as types (model), handlers for all services (api or controllers), and even multi-purpose packages (util).