This is a brief description of the types and patterns in go used to manage groups of concurrent goroutines that I find myself using daily. Starting with the built in wait group, working our way to error group and beyond. It vaguely follows my own path of discovering these.
Starting a goroutine is really simple in go, you just need to prefix a function call with the keyword
go. So as a newcomer to the language you might expect this snippet to just print numbers from 0 to 9 in some random order. I certailnly expected that.
This post is a short guide on how to deploy cfssl as Certificate Authority (CA) service on Kubernetes.
Now you might ask why would anyone want to do that given that Kubernetes comes with a CA out of the box. This is a good point and the Kubernetes implementaion may be good enough for some use cases. However, note that in order to use it you first need to configure your cluster properly and make sure that the key for signing certificates is on all of your master nodes, what can be non trivial.
Another issue with the Kubernetes CA…
If you are reading this article then you probably got around to writing tests for your Django project and when running them using
python manage.py test you encountered an exception like this
django.contrib.admin.sites.AlreadyRegistered: The model Country is already registered
RuntimeError: Model class app.world.models.country.Country doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
The reason why you get these exceptions is that you structured your
models as packages and imported the individual admin and/or model classes in their respective
This might seem like a reasonable thing to do, but it confuses the…
Backend developer at Utility Warehouse. Oxford graduate in Mathematics and Computer Science. Working with Golang, gRPC, Kubernetes, Python and Django.