The testing package is one of my favourite packages in the Go standard library, not just because of its low noise approach to unit testing, but, over the lifetime of Go, it has received a steady stream of quality of life improvements driven by real world usage. The most recent ex...
Many in the community are facing concerns about COVID-19, the disease caused by the newly discovered coronavirus [1]. We at Gopher Academy are following the status of COVID-19 carefully in preparation for the June conference.
Programmers have a tendency to be superstitious. Particularly, when a programmer hears that copies are expensive, they start to see them everywhere, especially when they learn that, in Go, every assignment is a copy. Consider this code; x is three orders of magnitude larger than...
Kubernetes Pod lifecycle does not cover everything just yet.
I’m working on an app that listens to Buildkite job.scheduled webhook and creates a Kubernetes Job to execute it.
The idea is to have a “scale-to-zero” approach, with the max number of nodes being def...
Why you shouldn't try to sanitize user input; instead, escape output correctly.
Series Index Reducing Image Size
Details Specific To Different Languages
Going Farther To Reduce Image Size
Introduction In the first part, we introduced multi-stage builds, static and dynamic linking, and briefly mentioned Alpine. In this second part, we are going to dive into s...
This article was derived from my GopherCon Israel 2020 presentation. It’s also quite long. If you’d prefer a shorter version, head over to the-zen-of-go.netlify.com. A recording of the presentation is available on YouTube. How should I write good code? Something that...
Can we have a private Helm repository using GCS as backend? Yes we can!
The easier way to create a public helm repository is to just upload your artifacts to a bucket somewhere.
I usually use a script like the following to do that:
#!/bin/sh
set -e
helm init --client-only
mkdi...
The basics of Search Engine Optimization, written for software developers.