Go Library
4.13K subscribers
20 photos
63 files
810 links
Go (Golang) Library

Реклама: @ostinostin
Контент: @mxssl
Download Telegram
dwarfreflect

Enhanced reflection for Go using DWARF debug information to extract function parameter names, enabling automatic struct generation and semantic function calls.


https://github.com/matteo-grella/dwarfreflect
cors

A principled CORS middleware library for Go, designed to be both easier to use and harder to misuse than existing alternatives.


https://github.com/jub0bs/cors
stormy

Minimal, customizable, and neofetch-like weather CLI inspired by rainy, written in Go


https://github.com/ashish0kumar/stormy
jwt

Go implementation of JSON Web Tokens (JWT).


https://github.com/golang-jwt/jwt
How We Migrated the Parse API From Ruby to Golang (Resurrected)

https://charity.wtf/2025/07/24/how-we-migrated-the-parse-api-from-ruby-to-golang-resurrected
Тест для Golang-разработчиков, проверьте свои знания, готовы ли вы к обучению на курсе.

💻 Ответьте на 20 вопросов за 30 минут и проверьте, готовы ли вы к обучению на онлайн-курсе «Golang Developer. Professional» от OTUS. Сейчас Go становится все востребованнее, благодаря своей производительности, масштабируемости и экосистеме.

После 5 месяцев обучения вы сможете:
— Писать production-ready код, многопоточные и конкурентные программы.
— Понимать синтаксис и внутреннее устройство языка Go.
— Разворачивать микросервисы с помощью Docker.
— Проектировать и реализовывать микросервисную архитектуру на Go.

Также вас ждет прокачка навыков на реальных коммерческих кейсах и под руководством экспертов в этой области. Старт курса 30 июля, успейте на курс .Возможна рассрочка.

👉 ПРОЙТИ ТЕСТ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru, erid: 2VtzquvjcRQ
Announcing GoReleaser v2.12

- Docker v2: simpler, multi-arch ready via buildx (alpha)
- Image Attestation: digest files for verifying Docker builds
- Makeself: self-extracting installer support
- Go 1.25: updated Go compatibility
- Version Sorting: smarter semantic tag handling
- New Features & Fixes: bun targets, templating, retry logic, SBOM, various bug fixes and enhancements


https://carlosbecker.com/posts/goreleaser-v2.12
The 9 Go test assertions I use (and why)

A few weeks ago Anton Zhiyanov published the blog post Expressive tests without testify/assert. It's a good and well thought-out post, and I recommend giving it a read if you haven't already. In the post, Anton makes the argument for not using packages like testify/assert for your test assertions, and instead creating your own minimal set of assertion helpers to use in your tests. In fact, so minimal that there are only 3 helpers he uses: AssertEqual, AssertErr and AssertTrue.


https://www.alexedwards.net/blog/the-9-go-test-assertions-i-use
How Go Schedules Millions of Goroutines: A Deep Dive into GMP

Imagine a bustling airport with a limited number of runways (CPU cores). Thousands of flights (goroutines) need to take off and land efficiently. How do you prevent chaos and ensure no flight is stuck on the tarmac forever? Go’s answer to this air traffic control problem is its ingenious GMP scheduler. It’s the silent maestro conducting the orchestra of your concurrent code. In this article, we’ll move from the control tower view down to the runway tarmac, exploring how Goroutines (G), OS threads (M), and Processors (P) collaborate to keep your application’s traffic flowing smoothly, even during peak load.

Go’s concurrency story is powered by a user space scheduler built around three entities: G, M, and P. Understanding how the scheduler maps millions of goroutines onto a limited number of OS threads helps you write services that scale, diagnose latency spikes, and avoid resource pitfalls.


https://medium.com/@Realblank/how-go-schedules-millions-of-goroutines-a-deep-dive-into-gmp-0f05c71204bc
Deploy Hugo static site to Hetzner

https://pliutau.com/deploy-hugo-to-hetzner-vps
Default Methods in Go

Go’s interfaces are very funny. Rather than being explicitly implemented, like in Java or Rust, they are simply a collection of methods (a “method set”) that the concrete type must happen to have. This is called structural typing, which is the opposite of nominal typing.

Go interfaces are very cute, but this conceptual simplicity leads to a lot of implementation problems (a theme with Go, honestly). It removes a lot of intentionality from implementing interfaces, and there is no canonical way to document that A satisfies1 B, nor can you avoid conforming to interfaces, especially if one forces a particular method on you.

It also has very quirky results for the language runtime. To cast an interface value to another interface type (via the type assertion syntax a.(B)), the runtime essentially has to use reflection to go through the method set of the concrete type of a. I go into detail on how this is implemented here.

Because of their structural nature, this also means that you can’t add new methods to an interface without breaking existing code, because there is no way to attach default implementations to interface methods. This results in very silly APIs because someone screwed up an interface.


https://mcyoung.xyz/2025/08/25/go-default-methods
surf

Surf is a powerful, feature-rich HTTP client library for Go that makes working with HTTP requests intuitive and enjoyable. With advanced features like browser impersonation, JA3/JA4 fingerprinting, and comprehensive middleware support, Surf provides everything you need for modern web interactions.


https://github.com/enetx/surf
zek

Zek is a prototype for creating a Go struct from an XML document.


https://github.com/miku/zek
goqueue

GoQueue is a flexible background job processing library for Go applications, designed to handle workloads of any scale with multiple backend options.


https://github.com/saravanasai/goqueue
gonzo

A powerful, real-time log analysis terminal UI inspired by k9s. Analyze log streams with beautiful charts, AI-powered insights, and advanced filtering - all from your terminal.


https://github.com/control-theory/gonzo
Go is still not good

Previous posts Why Go is not my favourite language and Go programs are not portable have me critiquing Go for over a decade.

These things about Go are bugging me more and more. Mostly because they’re so unnecessary. The world knew better, and yet Go was created the way it was.

For readers of previous posts you’ll find some things repeated here. Sorry about that.


https://blog.habets.se/2025/07/Go-is-still-not-good.html
tview

This Go package provides commonly used components for terminal based user interfaces.


https://github.com/rivo/tview
mtlog

Serilog-inspired structured logging for Go with message templates, rich formatting, and native Seq support


https://github.com/willibrandon/mtlog
Backend-митап в Москве: многопоточность, микросервисы, prompt engineering и System Design

• 20 сентября
• Пространство «Весна»

Если хочешь разобраться глубже в backend-разработке, системном дизайне, алгоритмах и многопоточке — приходи.

Говорим по существу — про то, что важно в работе и на собеседованиях:
– как строить микросервисы, не превращая код в ад;
– что ждёт на System Design-интервью и как его пройти.
– как готовиться к собесам и системно учить алгоритмы;
– как устроена модель памяти Go и где тебя может поджидать баг.

🎓 Программа

15:00 – 15:30 – Общий сбор

15:30 – 15:50 – Нетворкинг - разделимся на группы, пообщаемся и заведем новые знакомства

15:50 – 16:30 – Игорь Панасюк (Senior в Яндекс) «Особенности и ловушки модели памяти в Go: тайны синхронизации»

16:30 – 17:10 – Леонид Ченский (TeamLead в OzonTech) «Пишем микросервисы на Go как в BigTech, с нуля»

17:10 – 17:30 – Перерыв на фуршет

17:30 – 18:10 – Сергей Венецкий (ex-разработчик в EPAM) «LLM под капотом: как правильно писать промпты»

18:10 – 18:50 – Владимир Балун (ex-TeamLead в Яндекс) «Как пройти System Design интервью: взгляд со стороны интервьювера и кандидата»

18:50 – 19:00 – Завершение контентной части, фотосесия

19:00 – 20:00 – Фуршет и нетворкинг на площадке

20:00 - Afterparty - по желанию едем в бар неподалеку и продолжаем общение в неформальной обстановке

🎁 Подарки за лучшие вопросы:

— книги по backend разработке от спикеров
— сертификаты на бесплатное обучение на любом из курсов школы
— бесплатные mock-собеседования от интервьюверов из BigTech
— скидки на обучение в нашей школе

Место: Пространство «Весна»
Спартаковский переулок 2с1, подъезд 7

5 минут от м. Красносельская
7 минут от м. Бауманская

Количество мест ограничено - приобрести билет можно по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
mangle

Mangle is a programming language for deductive database programming. It is an extension of Datalog, with various extensions like aggregation, function calls and optional type-checking.


https://github.com/google/mangle