![](https://habrastorage.org/getpro/habr/upload_files/9b8/6c9/e62/9b86c9e62c138636c1ed12fd2b61f904.png)
Свежая подборка новостей и материалов
Интересное в этом выпуске
Выпущены Go 1.17.2 и Go 1.16.9
Выпущен Ebiten 2.2.0 с поддержкой Nintendo Switch
Анонс опроса разработчиков Go в 2021 году
Какой роутер Go мне использовать?
GoPlus (Go +)
Приятного чтения!
Новости, события
Выпущены Go 1.17.2 и Go 1.16.9
устранены проблемы безопасности при вызове функций из модулей WASM.
Предложение: не добавлять Generics в базовые библиотеки Go в версии 1.18 - Rob Pike предлагает разместить новые версии базовых библиотек в экспериментальном пространстве имен
Анонс опроса разработчиков Go в 2021 году - поделитесь своими мыслями и помогите сформировать язык - ваши ответы очень ценятся командой Go
Ожидания для Generics в Go 1.18 - Расс объясняет, как общий код maps и slices будет в экспериментальном пакете для запуска, а также соответствующие предупреждения о слишком раннем использовании дженериков в продакшене.
Go 1.18 будет встраивать информацию о версии исходного кода в двоичные файлы - добавляет информацию о состоянии источника, из которого был создан двоичный файл, приводя ее в соответствие с информацией о модуле, уже хранящейся там.
Предложения по улучшению языка
Proposal: x/net/http2: add Transport.WriteByteTimeout
предлагают добавить обнаружение разорванного соединения http/2
Awesome
Материалы для обучения
Статьи
Изменение AWS Lambda для создания австралийской поисковой системы
Какой роутер Go мне использовать? - Автор рассматривает четыре популярных варианта маршрутизации, цитирует плюсы и минусы каждого и завершает их красивой блок-схемой принятия решений и списком других вариантов маршрутизации.
Емкость и длина фрагмента в Go - в этом объяснении часто сравниваемых и смешанных типов данных есть несколько хороших визуальных элементов.
«Hey linker, can you spare a meg?» - Основной код Tailscale, службы VPN, написан на Go, но в iOS их сетевое расширение ограничено всего 15 МБ памяти. Чтобы убедиться, что они не превышают этот предел, инженеры Tailscale глубоко погрузились в среду выполнения Go, сборщик мусора и многое другое, что в конечном итоге привело к улучшениям для всех пользователей Go
GoReleaser теперь может создавать универсальные бинарные файлы macOS
В этом пошаговом руководстве показано, как реализовать в Go дизайн, управляемый предметной областью (DDD).
Tyler Bui-Palsulich показывает нам, как искать и исправлять утечки памяти в Go.
Как использовать структурированное ведение журнала JSON в приложениях Go - первый шаг к тому, чтобы сделать ваши журналы более доступными для поиска.
Sam Lewis создал в Go инструмент VPN, чтобы понять, как работает VPN
Анализ производительности базы данных с помощью Ent и Google Sqlcommenter
Создание многофункциональных приложений CLI с помощью встроенных шаблонов Go
Полное руководство по go generate - основы генераторов Go, применения, а также команды и расширенные функции генерации кода.
Первые впечатления от Raspberry Pi Zero 2 W - Автор, создатель OpenFaaS , играет с новейшим устройством Raspberry Pi - крошечной четырех ядерной 64-битной платой за 15$. Он пробовал использовать на нем Go, включая компиляцию программ, и производительность, безусловно, значительно улучшилась по сравнению с предыдущими платами.
Что может пойти не так с mutex, или история профилирования Go - как выявлять проблемы в производственной среде без таких инструментов, как pprof, просто используя дамп стека и инструменты с открытым исходным кодом.
Сортировка графа зависимостей в Go - ориентированные ациклические графы (DAG) имеют множество приложений, поэтому их понимание может стать основой вашей способности решать проблемы более высокого порядка (или говорить о них в интервью ...)
Организация запросов Postgres с использованием шаблонов в Go - здесь они хранят запросы SQL в файлах шаблонов, которые считываются двоичным файлом, разделяя исходный код SQL и Go. У этого есть несколько плюсов и минусов, и, вероятно, они вызывают сильные мнения.
Введение в информеры Go Kubernetes , которые позволяют вам индексировать и получать отображение ваших ресурсов k8s.
Автоматизация тестирования микросервисов: плюсы и минусы тестов на Go
Разработка системы заметок с нуля. Часть 2: REST API для RESTful API Service + JWT + Swagger
Система заметок с нуля. Часть 4: разработка микросервисов NoteService, TagService и UserService
Инструменты
Линтер для поиска 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
Видео
Подкасты
Сообщества
![telegram: @GolangStack telegram: @GolangStack](https://habrastorage.org/getpro/habr/upload_files/530/1ac/7d2/5301ac7d2a85d89da7c20be62fae9606.png)
telegram: @GolangStack