Cannot import main: a Go Module gotcha

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...

Making Python respect Docker memory limits

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...

Using dot imports in views in Go

Sometimes, what's considered bad practice may make sense.

Pointers Might Not be Ideal as Arguments

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.

Combining DDD, CQRS, and Clean Architecture in Go

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...

Python and Pandas : First Contact with Data

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...

Creating a Docker image for a Go application

How to properly containerize your Go application with Docker.

Structuring and testing HTTP handlers in Go

How to write your HTTP handlers so they are coherent and easy to test.

Better Debugging Environment for your Micro-Services

Eliminating A Source of Measurement Errors in Benchmarks

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...