Publishing libraries with GoReleaser

What if I told you you can now automate the release of your libraries as well?

Inlining optimisations in Go

This is a post about how the Go compiler implements inlining and how this optimisation affects your Go code. n.b. This article focuses on gc, the de facto Go compiler from golang.org. The concepts discussed apply broadly to other Go compilers like gccgo and tinygo but may differ...

Mounting Google Cloud Storage bucket to Kubernetes Pod

You may ask why doing this if we can use a PersistentVolume? Though there may be multiple scenarios when mounting a GCS bucket to you Kubernetes Pod is a good option:

How to Manage Database Timeouts and Cancellations in Go

One of the great features of Go's database/sql package is that it's possible to cancel database queries while they are still running via a context.Context instance. On the face of it, usage of this functionality is quite straightforward (here's a basic example). But once you st...

Getting Started With Dgraph and GraphQL+-

Introduction I have spent a career building business applications that work with databases, starting with SQL and then moving to No-SQL. I’ve been curious how Graph databases work and how to build applications with them. It seems the sweet spot for a Graph database is when your...

Getting Started With Dgraph and GraphQL+-

Introduction I have spent a career building business applications that work with databases, starting with SQL and then moving to No-SQL. I’ve been curious how Graph databases work and how to build applications with them. It seems the sweet spot for a Graph database is when your...

Modules Part 06: Vendoring

Series Index Why and What Projects, Dependencies and Gopls Minimal Version Selection Mirrors, Checksums and Athens Gopls Improvements Vendoring Introduction It’s no secret that I am a fan of vendoring when it’s reasonable and practical to use it for your application projects....

what.Happens - a debug logging package for developers only

Package what provides some handy debug-logging functions that can be enabled and disabled via build flags. No more information leaks in your production code!

Modules Part 05: Gopls Improvements

Series Index Why and What Projects, Dependencies and Gopls Minimal Version Selection Mirrors, Checksums and Athens Gopls Improvements Vendoring Prelude This is a guest post written by Rohan Challa, a member of the Go team working on gopls. This document is a follow up to Bill Ken...

Docker Images : Part III - Going Farther To Reduce Image Size

Series Index Reducing Image Size Details Specific To Different Languages Going Farther To Reduce Image Size Introduction In the first two parts of this series, we covered the most common methods to optimize Docker image size. We saw how multi-stage builds, combined with Alpine-ba...