В выпуске: сборка мусора в Go, реверс-инжиниринг Go бинарников, как писать читабельный код, видео конференции dotGo 2019.
Новости
Опубликован результатопроса Go разработчиков за
Go playground теперь поддерживает несколько файлов и импорт сторонних библиотек. ТвитБрэда Фицпатрика об этом. Как это все работает можно посмотреть тут.
И еще один твитБрэда о том, что нас ожидает в Go 1.13
Google запустили инфраструктурудля Go modules.
Также незамеченной не может остаться статьяс мнением о том, что Go не принадлежит комьюнити на самом деле, а все решает большой брат (Google). Статья вызвала бурное обсуждениена Hacker News.
Читаем
Go naming tips — пост Питера Боргона с размышлениями о правильном нейминге в Go.
Garbage Collection In Go : Part I — Semantics — про сборку мусора в Go (часть 1).
Garbage Collection In Go : Part II — GC Traces — про сборку мусора в Go (часть 2).
GopenPGP, an open source encryption library for native applications — OpenPGP на Go от ребят из ProtonMail.
Reversing Golang Binaries: Part-1 — реверс-инжиниринг Go бинарников (часть 1).
Reversing Golang Binaries: Part-2 — реверс-инжиниринг Go бинарников (часть 2).
Why are my Go executable files so large?— сколько весят бинари и почему?
Design and Implementation of Golang Failpoints — PingCAP об их новой библиотеке Failpoint.
Using PostgreSQL JSONB with Go — о том, как работать с JSONB в Postgres.
Prefer table driven tests — Дэйв Чейни о table-driven тестах.
Go Dependency Injection with Wire — разбираемся с Wire, инструментом для DI.
Dependency injection in Golang using higher order functions — и еще немного о DI.
Go memory ballast: How I learned to stop worrying and love the heap — как ребята из твича тюнили сборщик мусора.
Clear is better than clever — Дэйв Чейни о там, как писать читабельный код.
Go is on a Trajectory to Become the Next Enterprise Programming Language — станет ли Go следующим энтерпрайз языком.
Understanding real-world concurrency bugs in Go — немного о том, что канкаренси в Go — не такое уж и простое дело.
Istio Observability with Go, gRPC, and Protocol Buffers-based Microservices — про Истио, gRPC и микросервисы.
How I investigated memory leaks in Go using pprof on a large codebase — как найти течь в большом приложении.
Idiomatic Go Resources — список идеоматических ресурсов от Дэмиана Гриски.
The State of Caching in Go — немного про инмем кеши в Go.
Смотрим
В марте в Париже отгремела конференция dotGo 2019. Весь плейлист уже доступен на YouTube.
Лично я выделил для себя:
Dave Cheney — Constant Time
Marcel van Lohuizen — Go 2 error values today
Ignat Korchagin — Go as a scripting language in Linux
Ну и помимо dotGo можно посмотреть:
Go core team на Cloud Next ’19.
Daniel Martí — Reimagining gofmt for Go 2.0
Performance Tuning Go Applications on GCP (Cloud Next ’19)
Brian Kernighan interviews Ken Thompson
Щупаем
gqlgen — генератор GrephQL серверов.
gizmo — микросервисный тулкит от The New York Times.
panicparse — парсилка паник в красивый формат.
kcp-go — библиотека для работы с UDP.
uiprogress — консольные прогрессбары.
go-mod-outdated — находим устаревшие модули в go.mod.
miniredis — мокаем Redis.
go-elasticsearch — официальный Go SDK для Elasticsearch.
chromedp — управляем хромом из Go кода.
tracerr — выводим ошибки с трейсами и кусочками вызвавшего кода.
Также я веду канал в Telegramоб интересном в Golang. Подписывайтесь!
← Предыдущий выпуск: Go дайджест #7.