You probably don't need a DI framework π
When working with Go in an industrial context, I feel like dependency injection (DI) often gets a bad rep because of DI frameworks. But DI as a technique is quite useful. It just tends to get explained with too many OO jargons and triggers PTSD among those who came to Go to escape GoF theology.
Link to the article
#go #go@digest_golang #article #article@digest_golang
When working with Go in an industrial context, I feel like dependency injection (DI) often gets a bad rep because of DI frameworks. But DI as a technique is quite useful. It just tends to get explained with too many OO jargons and triggers PTSD among those who came to Go to escape GoF theology.
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2π4π₯2β€1
[ On | No ] syntactic support for error handling π¨
One of the oldest and most persistent complaints about Go concerns the verbosity of error handling.
The Go team takes community feedback seriously, and so for many years now we have tried to come up with a solution for this problem, together with input from the Go community. If youβre wondering if your particular error handling idea was previously considered, read this document!
Link to the article
#go #go@digest_golang #article #article@digest_golang
One of the oldest and most persistent complaints about Go concerns the verbosity of error handling.
The Go team takes community feedback seriously, and so for many years now we have tried to come up with a solution for this problem, together with input from the Go community. If youβre wondering if your particular error handling idea was previously considered, read this document!
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2π₯5β€2π2π€1
Gist of Go: Race conditions π
Preventing data races with mutexes may sound easy, but dealing with race conditions is a whole other matter. Let's learn how to handle these beasts!
Link to the article
#go #go@digest_golang #article #article@digest_golang
Preventing data races with mutexes may sound easy, but dealing with race conditions is a whole other matter. Let's learn how to handle these beasts!
Link to the article
#go #go@digest_golang #article #article@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
2β€3π₯3π2
The Small Change That Made a Big Impact π
In this article, I share an experience that taught me that often the smallest details are enough to solve that big problem in a production system, or to improve the performance of a process that for some unknown reason is taking much longer than expected.
Link to the article
#article #article@digest_golang #go #go@digest_golang
In this article, I share an experience that taught me that often the smallest details are enough to solve that big problem in a production system, or to improve the performance of a process that for some unknown reason is taking much longer than expected.
Link to the article
#article #article@digest_golang #go #go@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
1π4π2β€1π₯1
Running a million-board chess MMO in a single process β€οΈ
One Million Chessboards is a 1000x1000 grid of chess boards. Moving a piece moves it for everyone, instantly. There are no turns, and pieces can move between boards.
In the 10 days after launch, over 150,000 players made over 15,000,000 moves and hundreds of millions of queries. The game runs out of a single process that I didnβt touch over those 10 days
Link to the article
#article #article@digest_golang #go #go@digest_golang
One Million Chessboards is a 1000x1000 grid of chess boards. Moving a piece moves it for everyone, instantly. There are no turns, and pieces can move between boards.
In the 10 days after launch, over 150,000 players made over 15,000,000 moves and hundreds of millions of queries. The game runs out of a single process that I didnβt touch over those 10 days
Link to the article
#article #article@digest_golang #go #go@digest_golang
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯4π2β€1