Golang-дайджест № 10 (1 – 31 октября 2021)
Руководство Generics in Go
awesome-go-style: Коллекция руководств по стилю Go
Правильная упаковка ошибок
Разница между Go и Rust
Основы: WebAssembly в golang
genqlient: действительно типобезопасный клиент Go GraphQL
Изменение AWS Lambda для создания австралийской поисковой системы
Переписывание исходного кода Go с помощью AST
Какой роутер Go мне использовать? — Автор рассматривает четыре популярных варианта маршрутизации, цитирует плюсы и минусы каждого и завершает их красивой блок-схемой принятия решений и списком других вариантов маршрутизации.
Три вещи нужны сейчас больше, чем дженерики?
Более быстрый анализ времени
Емкость и длина фрагмента в Go — в этом объяснении часто сравниваемых и смешанных типов данных есть несколько хороших визуальных элементов.
«Hey linker, can you spare a meg?» — Основной код Tailscale, службы VPN, написан на Go, но в iOS их сетевое расширение ограничено всего 15 МБ памяти. Чтобы убедиться, что они не превышают этот предел, инженеры Tailscale глубоко погрузились в среду выполнения Go, сборщик мусора и многое другое, что в конечном итоге привело к улучшениям для всех пользователей Go
GoReleaser теперь может создавать универсальные бинарные файлы macOS
Более безопасные перечисления в Go
Где сталкиваются Go и GraphQL: за кулисами с genqlient
В этом пошаговом руководстве показано, как реализовать в Go дизайн, управляемый предметной областью (DDD).
Tyler Bui-Palsulich показывает нам, как искать и исправлять утечки памяти в Go.
Как использовать структурированное ведение журнала JSON в приложениях Go — первый шаг к тому, чтобы сделать ваши журналы более доступными для поиска.
Sam Lewis создал в Go инструмент VPN, чтобы понять, как работает VPN
Анализ производительности базы данных с помощью Ent и Google Sqlcommenter
Создание многофункциональных приложений CLI с помощью встроенных шаблонов Go
Вам не нужна библиотека для просмотра файлов в Go
Как запланировать задачу на определенное время в Go
Почему вы должны использовать выделенные конструкторы в Go
Почему сетевые инженеры должны учить golang
Полное руководство по go generate — основы генераторов Go, применения, а также команды и расширенные функции генерации кода.
Первые впечатления от Raspberry Pi Zero 2 W — Автор, создатель OpenFaaS , играет с новейшим устройством Raspberry Pi — крошечной четырех ядерной 64-битной платой за 15$. Он пробовал использовать на нем Go, включая компиляцию программ, и производительность, безусловно, значительно улучшилась по сравнению с предыдущими платами.
Что может пойти не так с mutex, или история профилирования Go — как выявлять проблемы в производственной среде без таких инструментов, как pprof, просто используя дамп стека и инструменты с открытым исходным кодом.
Сортировка графа зависимостей в Go — ориентированные ациклические графы (DAG) имеют множество приложений, поэтому их понимание может стать основой вашей способности решать проблемы более высокого порядка (или говорить о них в интервью …)
Организация запросов Postgres с использованием шаблонов в Go — здесь они хранят запросы SQL в файлах шаблонов, которые считываются двоичным файлом, разделяя исходный код SQL и Go. У этого есть несколько плюсов и минусов, и, вероятно, они вызывают сильные мнения.
Подробное объяснение создания pipelines
Как написать собственный прокси-сервер для модуля Go
Введение в информеры Go Kubernetes , которые позволяют вам индексировать и получать отображение ваших ресурсов k8s.
Go: как изменяется размер стека горутины?
Зачем и как хранить объекты на примере MinIO
Автоматизация тестирования микросервисов: плюсы и минусы тестов на Go
CQRS на golang
Синхронизация системных настроек
Разработка системы заметок с нуля. Часть 2: REST API для RESTful API Service + JWT + Swagger
Система заметок с нуля. Часть 4: разработка микросервисов NoteService, TagService и UserService
Система заметок с нуля. Часть 5: знакомство с объектным хранилищем MinIO и разработка микросервиса на Golang
Тёмный маршрутизатор из Raspberry Pi
Go и MySQL: настраиваем пул соединений
Перестаньте врать себе. Я middle, а вам нужен senior
Линтер для поиска HTTP-запросов — noctx
Пакет для запуска команд распределенной оболочки Linux через SSH — mash v1.13.0
Инструмент для создания Go ORM — SQLBoiler v4.7.1
Ultimate Service: начальный код для написания веб-сервисов на Go
Библиотека одновременных ограничителей скорости — RateLimiter v1.1.0
Одноразовый сервер веб-почты со встроенным SMTP, POP3 и др. — Inbucket v3.0.0
Быстрый и гибкий HTTP-маршрутизатор — BunRouter v1.0.3
Инструмент запуска, сборки задач — task v3.9.0
Синтаксический анализатор, форматировщик и интерпретатор оболочки — sh v3.4.0
Фреймворк TUI — bubbletea v0.18.0
GoPlus (Go +) для инженерии, образования и науки о данных — gop
Десятичные числа с фиксированной запятой произвольной точности — decimal v1.3.1
Framework Microservices — Kratos v2.1.1
Truthy Condition Testing с помощью Go Generics — Хотя это «немного шутка»
Библиотека позволяет отправлять повторяющиеся уведомления нескольким горутинам с гарантированной доставкой — broadcast v0.0.6
Инструмент для работы с hosts файлом — hostsfile v1.4
TCP-прокси для имитации «хаотического» состояния сети и системы — toxiproxy v2.2.0
Инструмент синтаксического анализа и отладки Panic Stack Trace — panicparse v2.2.0
Инструмент для создания URL-адресов Slug Creator с поддержкой нескольких языков — slug v1.11.0
Бибилиотека генерации UUID RFC-4122 — uuid v4.1.0
Сервер приложений PHP с высокой производительностью и балансировщик нагрузки — roadrunner v2.5.0
Набор инструментов для работы с API Apple/Mac и фреймворками в Go, состоящий как из привязок для Objective C, так и из упакованных версий определенных фреймворков — macdriver v0.2.0
Присоедините хуки к любому драйверу базы данных/sql — sqlhooks v2.0.0
Инструмент для сбора и отображения статистики с запущенных серверов Postgres — pgmetrics v1.12.0
Библиотека IMAP4 для клиентов и серверов — go-imap v1.2.0
Шахматный движок, написанный на go — blunder v7.1.0
K-сортируемые глобально уникальные идентификаторы (KSUID) — своего рода глобальный уникальный идентификатор, подобный RFC 4122 UUID, созданный для «естественной» сортировки по меткам времени генерации без какой-либо специальной логики с учетом типов — ksuid
Инструмент для создания интерфейса командной строки — gofire v0.1.0
Платформа для разработки облачных микросервисов — micro v3.6.0
Пакет валидаторов и дезинфицирующих средств для строк, структур и коллекций. На основе validator.js — https://github.com/asaskevich/govalidator v11.0.0