Excellent and comprehensive piece from Aaron Renner. His article is very welcome, especially as a newcomers pouring into Elixir and looking for guidance on how to structure their projects (standard documentaion is quite good though). He promotes that code should be broken into multiple layers, going deeper than just contexts. He also covers benefits of doing so, such as ability to replace implementation without breaking things, easier testability etc. Which some will sound familir if you are coming from microservices. In the nutshell – encapsulate responsibilities into smallest reasonable modules/blocks.
Very interesting project from Slasforce to help with troubleshooting Kubernetes. It records changes to cluster. This allows for inspecting resources, which are no longer running (or have been modified).
Marek from Cloudflare takes us through sometimes overlooked corners of handling timeouts in TCP. Especially when
TCP_USER_TIMEOUTis in effect and when not.
Very nicely written article about best practices for using Postgres from your Go applications. Artemiy shares couple gems clearly learned durig running apps in production. For example how
OIDs mapping (spoiler – it will queiry them with every connection if you are not careful).
Another “best current pracites” post for golang. Eli shares his recipe for well structured golang project. Related article is Ultimate Setup for Your Next Golang Project by Martin Heinz.
A bit older (2016) video recording of Greg’s keynote at Domain-Driven Design Europe conference. CQRS and Event Sourcing is becoming the thing lately. And Greg’s video is a good into, if you need to get somebody in the team started with the whole concept and terminology.
A non computer-science bonus – Punching Water So Hard LIGHT Comes Out - Sonoluminescence