A Gentle Introduction to Generics in Go
The release of generics in Go 1.18 is a major change to the language. How do generics work? How do they impact performance? When do they make sense? A beginner-friendly wrap-up.
The release of generics in Go 1.18 is a major change to the language. How do generics work? How do they impact performance? When do they make sense? A beginner-friendly wrap-up.
Graph data structures are perfectly suited for modeling relations and networks. Visualizing graphs in Go takes two things: A graph library supporting DOT, and Graphviz.
Adding numerous edges to a DAG can make the graph unnecessarily complex. However, these graphs can be simplified using a technique called transitive reduction.
The build speed for a Docker image largely depends on whether the instructions are cached or not. Understanding the build cache is crucial for building efficient images.
An illumination of the implementation and performance characteristics of Generics in Go.
To keep unit tests fast and isolated, the data access layer is often tested using a mock of the database. But are unit tests and mocks actually a good choice?
To enable fast builds and efficient usage of disk space, Docker introduced the image layer model. This article is an in-depth explanation on how the layer model is implemented.
Docker does a great job when it comes to connecting containers among each other or to the outside world. This functionality is powered by pluggable network drivers.
What do these Dockerfile instructions have in common, and what are the differences? When should I use each instruction?