Why People are Angry over Go 1.23 Iterators
https://www.gingerbill.org/article/2024/06/17/go-iterator-design
https://www.gingerbill.org/article/2024/06/17/go-iterator-design
bento
https://github.com/warpstreamlabs/bento
Bento is a high performance and resilient stream processor, able to connect various sources and sinks in a range of brokering patterns and perform hydration, enrichments, transformations and filters on payloads.
https://github.com/warpstreamlabs/bento
Coming in Go 1.24: testing/synctest experiment for time and concurrency testing
https://danp.net/posts/synctest-experiment
Testing code that involves time or concurrency can be a struggle. It often leads to hard-to-debug flakes in CI or long-running tests.
Go 1.24 is scheduled to be released in February and the release freeze has begun.
It’s set to include an experimental testing/synctest package designed to make testing code that involves time or concurrency precise and fast.
I’m pretty excited about it!
https://danp.net/posts/synctest-experiment
What's Missing From Golang Generics?
https://www.dolthub.com/blog/2024-12-05-whats-missing-from-golang-generics
https://www.dolthub.com/blog/2024-12-05-whats-missing-from-golang-generics
Templ vs Gomponents
https://nuage.quimerch.com/-/ewen/articles/templ-vs-gomponents
Go’s standard html/template library is widely used but comes with several limitations that both Templ and Gomponents address.
https://nuage.quimerch.com/-/ewen/articles/templ-vs-gomponents
Data structures as jigs for programmers (Go edition)
https://lemire.me/blog/2024/12/08/data-structures-as-jigs-for-programmers-go-edition
https://lemire.me/blog/2024/12/08/data-structures-as-jigs-for-programmers-go-edition
How to mitigate SSRF vulnerabilities in Go
https://snyk.io/blog/mitigating-ssrf-vulnerabilities-in-go
https://snyk.io/blog/mitigating-ssrf-vulnerabilities-in-go
Go 1.24 interactive tour
https://antonz.org/go-1-24
Go 1.24 is scheduled for release in February, so it's a good time to explore what's new. The official release notes are pretty dry, so I prepared an interactive version with lots of examples showing what has changed and what the new behavior is.
https://antonz.org/go-1-24
mercure
https://github.com/dunglas/mercure
Mercure is a protocol for pushing data updates to web browsers and other HTTP clients in a convenient, fast, reliable, and battery-efficient way. It is especially useful to publish async and real-time updates of resources served through web APIs, to reactive web and mobile apps.
https://github.com/dunglas/mercure
Clean Architecture: A Practical Example of Dependency Inversion in Go using Plugins
https://cekrem.github.io/posts/clean-architecture-and-plugins-in-go
https://cekrem.github.io/posts/clean-architecture-and-plugins-in-go
Realizing why Go reflection restricts what struct fields can be modified
https://utcc.utoronto.ca/~cks/space/blog/programming/GoReflectWhyFieldRestriction
https://utcc.utoronto.ca/~cks/space/blog/programming/GoReflectWhyFieldRestriction
Designing a distributed circuit breaker for disabling webhook endpoints in Golang
https://getconvoy.io/blog/circuit-breaker-in-golang
https://getconvoy.io/blog/circuit-breaker-in-golang