Devtrovert
Subscribe
Sign in
Home
Golang
System Design
Archive
Newsletters
About
Latest
Top
Discussions
Go EP 15: sync.Mutex - Normal and Starvation Mode
Mutex, or MUTual EXclusion, in Go is basically a way to make sure that only one goroutine is messing with a shared resource at a time. This resource can…
Sep 2
•
Phuong Le
2
Share this post
Go EP 15: sync.Mutex - Normal and Starvation Mode
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
August 2024
Go EP14: Heap-allocated Defer, Stack-allocated Defer, Open-coded Defer
The defer statement in Go actually comes in three flavors: open-coded, heap-allocated, and stack-allocated. Each has its own performance quirks and use…
Aug 20
•
Phuong Le
Share this post
Go EP14: Heap-allocated Defer, Stack-allocated Defer, Open-coded Defer
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
GO EP13: Vendoring, or go mod vendor: What Is It?
Vendoring is a different strategy as it keeps a copy of all your project’s dependencies directly within the project’s directory, rather than relying on…
Aug 6
•
Phuong Le
1
Share this post
GO EP13: Vendoring, or go mod vendor: What Is It?
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
June 2024
GO EP12: Go.mod File - Boring Stuff Made Easy
There are several directives we will talk about, including: module, go, require, exclude, replace, retract, and a new one, toolchain."
Jun 25
•
Phuong Le
Share this post
GO EP12: Go.mod File - Boring Stuff Made Easy
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
GO EP11: Go Commands - go get, go mod tidy,...
The go.mod file, or go module, is basically a way to organize and manage a bunch of Go packages together.
Jun 17
•
Phuong Le
3
Share this post
GO EP11: Go Commands - go get, go mod tidy,...
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
GO EP10: GOROOT, GOPATH, GOCACHE
For instance, you might wonder what `GOPATH` and `GOROOT` mean, or what happens when you use commands like `go get` or `go mod tidy`.
Jun 10
•
Phuong Le
7
Share this post
GO EP10: GOROOT, GOPATH, GOCACHE
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
2
April 2024
Go EP9: How to Gracefully Shut Down Your Application
When we talk about gracefully shutting down an application, there are a few key guarantees we aim to achieve:
Apr 12
•
Phuong Le
Share this post
Go EP9: How to Gracefully Shut Down Your Application
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
Go EP8: Handle errors while using defer to prevent silent failures
There's a subtle trap that many fall into: forgetting to check for errors in deferred calls.
Apr 5
•
Phuong Le
2
Share this post
Go EP8: Handle errors while using defer to prevent silent failures
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
March 2024
Go EP7: Goroutines Are Stackful
Each time we launch a goroutine with go doSomething(), we're immediately reserving 2KB of memory (this was 4KB in Go 1.2 and increased to 8KB by Go…
Mar 29
•
Phuong Le
1
Share this post
Go EP7: Goroutines Are Stackful
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
Go EP6: Keep contexts going with context.WithoutCancel()
Everything from how to better control context to how to handle errors in a way that makes our apps work better and last longer.
Mar 22
•
Phuong Le
3
Share this post
Go EP6: Keep contexts going with context.WithoutCancel()
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
Go EP5: Avoid context.Background(), Make Your Goroutines Promisable.
We'll talk about how to handle function returns smartly, filter data with zero waste, simplify complex decisions, and manage goroutines better.
Mar 15
•
Phuong Le
1
Share this post
Go EP5: Avoid context.Background(), Make Your Goroutines Promisable.
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
Go EP4: Skip the ‘Get’ Prefix For Getters
From enhancing code readability to optimizing inter-goroutine communication, these tips aim to refine your coding approach.
Mar 8
•
Phuong Le
Share this post
Go EP4: Skip the ‘Get’ Prefix For Getters
blog.devtrovert.com
Copy link
Facebook
Email
Note
Other
Share
Copy link
Facebook
Email
Note
Other
This site requires JavaScript to run correctly. Please
turn on JavaScript
or unblock scripts