Go Library
4.11K subscribers
20 photos
63 files
798 links
Go (Golang) Library

Реклама: @ostinostin
Контент: @mxssl
Download Telegram
Go Protobuf: The new Opaque API

https://go.dev/blog/protobuf-opaque
Gist of Go: Goroutines

This is a chapter from my book on Go concurrency, which teaches the topic from the ground up through interactive examples.

Let's skip the long talk about concurrency and parallelism and jump right into writing a concurrent program in Go!


https://antonz.org/go-concurrency/goroutines
Why People are Angry over Go 1.23 Iterators

https://www.gingerbill.org/article/2024/06/17/go-iterator-design
Go performance from version 1.0 to 1.22

https://benhoyt.com/writings/go-version-performance-2024
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

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
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
How to mitigate SSRF vulnerabilities in Go

https://snyk.io/blog/mitigating-ssrf-vulnerabilities-in-go
Go 1.24 interactive tour

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

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
if got, want: A Simple Way to Write Better Go Tests

https://mtlynch.io/if-got-want-improve-go-tests
Clean Architecture: A Practical Example of Dependency Inversion in Go using Plugins

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