a73x
- backend cloud software engineer
- lang: go
- infra: kubernetes
daily learnings
#go
- layout packages by what they do, not by their abstract type
- use channels sparingly. write synchronous methods and allow the caller to make it async
append modifies the underlying slice, you'll only make this mistake once
- define interfaces where you use them
make([]int, 5) has a length and capacity of 5. ([]int, 0,5) has a length
of 0 and capacity of 5.
append() will only do what you want with the latter
- don't use
init()
- TFBO (test, fix, benchmark, optimise)
#git
git commit --fixup=<COMMITSH>
git rebase origin/main --autosquash
Books
- Designing
Data Intensive Applications
- Database Internals
-
Efficient Go