Golang-дайджест № 10 (1 – 31 октября  2021)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Свежая подборка новостей и материалов

Интересное в этом выпуске

  • Выпущены 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.

  • Ebiten 2.2.0 выпущен с поддержкой Nintendo Switch 

  • Предложение: не добавлять Generics в базовые библиотеки Go в версии 1.18 - Rob Pike предлагает разместить новые версии базовых библиотек в экспериментальном пространстве имен

  • Анонс опроса разработчиков Go в 2021 году - поделитесь своими мыслями и помогите сформировать язык - ваши ответы очень ценятся командой Go

  • Ожидания для Generics в Go 1.18 - Расс объясняет, как общий код карт и фрагментов будет в экспериментальном пакете для запуска, а также соответствующие предупреждения о слишком раннем использовании дженериков в продакшене.

  • Go 1.18 будет встраивать информацию о версии исходного кода в двоичные файлы - добавляет информацию о состоянии источника, из которого был создан двоичный файл, приводя ее в соответствие с информацией о модуле, уже хранящейся там.

Предложения по улучшению языка

  • Proposal: x/net/http2: add Transport.WriteByteTimeout

    • предлагают добавить обнаружение разорванного соединения http/2

Awesome

  • https://awesome-go.com/ 

  • https://github.com/guardrailsio/awesome-golang-security 

  • https://github.com/Binject/awesome-go-security 

  • https://gist.github.com/hbt/d6ab942b882d5b94f331c5257076d05e 

  • https://github.com/avelino/awesome-go 

Материалы для обучения

  • Уроки для изучения Golang

Статьи

  • Руководство 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

Видео

  • Вебинар "Golang против скриптов"

  • Golang обучение с нуля | Паттерны проектирования

Подкасты

  • GenericTalks

  • Go Tim‪e‬

Сообщества

  • Вопросы по языку на русскоязычном StackOverflow

  • Страница Go на stackoverflow

  • Информация о митапах

  • Форум в группах Google

  • https://t.me/vseins_tech

Go дайджест в телеграм

telegram: @GolangStack
telegram: @GolangStack

telegram: @GolangStack

Источник: https://habr.com/ru/post/586352/


Интересные статьи

Интересные статьи

Подборка свежих новостей и материалов из мира PHP. В выпуске: первая альфа PHP 8.1.0, Composer 2.1, Symfony 5.3 и другие релизы. Обзор новых предложений для PHP 8.1: Partial Function ...
Фото: Валерий Горбачев (PHP Krasnodar) Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8.0 RC 3 и видеообзоры новых возможностей, Composer 2, завершение разработки F...
Статья о том, как упорядочить найм1. Информируем о вакансии2. Ведём до найма3. Автоматизируем скучное4. Оформляем и выводим на работу5. Отчитываемся по итогам6. Помогаем с адаптацией...
Мне было необходимо делать 2 раза в сутки бэкап сайта на «1С-Битрикс: Управление сайтом» (файлов и базы mysql) и хранить историю изменений за 90 дней. Сайт расположен на VDS под уп...
История сегодня пойдёт про автосервис в Москве и его продвижении в течении 8 месяцев. Первое знакомство было ещё пару лет назад при странных обстоятельствах. Пришёл автосервис за заявками,...