Comprehensive Guide to Testing in Go
https://blog.jetbrains.com/go/2022/11/22/comprehensive-guide-to-testing-in-go
https://blog.jetbrains.com/go/2022/11/22/comprehensive-guide-to-testing-in-go
Go's Error Handling Is a Form of Storytelling
https://preslav.me/2023/04/14/golang-error-handling-is-a-form-of-storytelling
https://preslav.me/2023/04/14/golang-error-handling-is-a-form-of-storytelling
queue
The queue package provides thread-safe generic implementations in Go for the following data structures: BlockingQueue, PriorityQueue and CircularQueue.https://github.com/adrianbrad/queue
go-mask
go-mask is a simple, customizable Go library for masking sensitive information.https://github.com/showa-93/go-mask
How to troubleshoot memory leaks in Go with Grafana Pyroscope
https://grafana.com/blog/2023/04/19/how-to-troubleshoot-memory-leaks-in-go-with-grafana-pyroscope
https://grafana.com/blog/2023/04/19/how-to-troubleshoot-memory-leaks-in-go-with-grafana-pyroscope
Go integration testing with courage and coverage
https://evilmartians.com/chronicles/go-integration-testing-with-courage-and-coverage
https://evilmartians.com/chronicles/go-integration-testing-with-courage-and-coverage
ooze
Mutation testing is a technique used to assess the quality and coverage of test suites. It involves introducing controlled changes to the code base, simulating common programming mistakes. These changes are, then, put to test against the test suites. A failing test suite is a good sign. It indicates that the tests are identifying mutations in the code—it "killed the mutant". If all tests pass, we have a surviving mutant. This highlights an area with weak coverage. It is an opportunity for improvement.https://github.com/gtramontina/ooze
gops
gops is a command to list and diagnose Go processes currently running on your system.https://github.com/google/gops
jet
Jet is the easiest, and the fastest way to write complex type-safe SQL queries as a Go code and map database query result into complex object composition. It is not an ORM.https://github.com/go-jet/jet
gocron
gocron is a job scheduling package which lets you run Go functions at pre-determined intervals using a simple, human-friendly syntax.https://github.com/go-co-op/gocron
go2rtc
Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc.https://github.com/AlexxIT/go2rtc
wazero
wazero is a WebAssembly Core Specification 1.0 and 2.0 compliant runtime written in Go. It has zero dependencies, and doesn't rely on CGO. This means you can run applications in other languages and still keep cross compilation.https://github.com/tetratelabs/wazero
Go Developer Survey 2023 Q1 Results
Key findingshttps://go.dev/blog/survey2023-q1-results
- Novice Go developers are interested in web development. We introduced a new segmentation this year based on self-identified experience levels. Novices expressed some interesting differences from other experience levels. Most notably they showed greater interest in using Go for web development.
- Error handling and learning are respondents’ top challenges. Historically, lack of generics was the biggest challenge to using Go, but since the introduction of generics, we’ve seen comments about generics decline. Comments about error handling (with respect to readability and verbosity) and difficulty learning best practices are now the most commonly reported challenges.
- An optimization guide was the most valued way to improve Go’s performance. When asked how they would spend resources on various improvements to Go’s compile and runtime, respondents spent the most on an optimization guide rather than specific performance improvements, demonstrating how much documentation is valued in this area.
- Managing dependencies and versioning are the top challenges for open source Go module maintainers. Open source module maintainers face challenges in keeping their dependencies up to date and avoiding disruptions due to versioning and breaking changes. This is an area we’ll explore further to help maintainers provide a stable and healthy ecosystem.
Go arm64 Function Call Assembly
An in-depth analysis of the assembly code emitted by the Go compiler for function calls on arm64.https://blog.felixge.de/go-arm64-function-call-assembly