Two questions for you: Do you name an app module simply “main”? And do you happen to write tests for a main package? If so, you are in big trouble! (Ok, that was a bit clickbait-ey…) Well, the world is not exactly going to end; however, you might encounter an unexpected err...
If you run Python inside containers, chances are you have seen Linux’s OOMKiller working at least a couple of times.
Why?
This happens because Python sees the entire host’s resources as if they were available for its use.
Then, it may try to allocate more memory than...
Sometimes, what's considered bad practice may make sense.
Author(s): Changkun Ou
Permalink: https://golang.design/research/pointer-params
We are aware that using pointers for passing parameters can avoid data copy,
which will benefit the performance. Nevertheless, there are always some
edge cases we might need concern.
In the previous articles, we introduced techniques like DDD Lite, CQRS, and Clean (Hexagonal) Architecture.
Even if using them alone is beneficial, they work the best together. Like Power Rangers.
Unfortunately, it is not easy to use them together in a real project.
In this artic...
Introduction
Every single company I’ve worked at and talked to has the same problem without a single exception so far - poor data quality, especially tracking data. Either there’s incomplete data, missing tracking data, duplicative tracking data. - DJ Patil
I spend a...
How to properly containerize your Go application with Docker.
How to write your HTTP handlers so they are coherent and easy to test.
Author(s): Changkun Ou
Permalink: https://golang.design/research/bench-time
About six months ago, I did a presentation1
that talks about how to conduct a reliable benchmark4 in Go.
Recently, I submitted an issue #416412 to the Go project, which is also a subtle issue that you mi...