
Свежая подборка новостей и материалов
Интересное в этом выпуске
Монитор горутин в терминале
Пикселизатор изображений
Проверка безопасности Go-кода
Dropbox load balancing
Приятного чтения!
Новости, события
Выпущен релиз 1.16.2
Archive/zip CVE-2021-27919 – Reader.OpenAPI при работе с ZIP issues
encoding/xml CVE-2021-27918 – бесконечный цикл при использовании xml.NewTokenDecoder issues
syscall & x/sys/windows – переполнение буфера issues
time/tzdata – использует неправильную зону issues
Посмотреть все фиксы можно тут
Предложения по улучшению языка
Предложение по расширению generic
Предложение добавить числовые и упорядоченные универсальные типы
Пример:
type numeric interface { type int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr, float32, float64, complex64, complex128 } /// or even signed/unsigned, but I don't wanna push my luck type signed interface { type int, int8, int16, int32, int64 } type unsigned interface { type uint, uint8, uint16, uint32, uint64, uintptr } type numeric interface { type signed, unsigned, float32, float64, complex64, complex128 } type ordered interface { type numeric, string }
Предложение (Asan) – средство очистки памяти в Go
Предложение добавить интерфейсы в image/draw для прямого использования RGBA64
Предложение добавить тестирование cmp в стандартную библиотеку
Материалы для обучения
Уроки для изучения Golang
Введение в программирование на Go
Go в примерах
Маленькая книга о Go
Руководство для начинающих по разумным абстракциям с использованием Golang
Книга, посвященная синтаксису/семантике
Go-patterns (паттерны проектирования с примерами на Golang)
Статьи
Контексты и структуры в Golang
Темные углы Go
Экосистема языка программирования Go
Простое правило для лучших ошибок
Go и Rust могут дополнять друг друга
Путеводитель по pub/sub
Пошаговое руководство по mTLS
Результаты опроса разработчиков Go 2020
Maps vs Switches
Создание крупномасштабного сервера чата в Google Cloud Run
gRPC Long-Lived Streaming
Организация структур в проектах Go
Введение в generics
Размещение текста на изображении с помощью Go
Поиск evil packages
Несколько ошибок Go JSON, которые меня раздражали, но я научился с ними справляться
Go – непростой язык
Жизнь HTTP-запроса на сервере Go
Внедрение значений в переменные во время сборки
Написание простого TCP-сервера с использованием Kqueue
Быстрое создание Solid Go GraphQL-приложений
Контекст и переменные в генераторе статических сайтов
Быстрая разработка микросервисов Go в Kubernetes с помощью телеприсутствия
Создайте собственное хранилище ключей и значений
Шаблон провайдера в Go и почему его следует использовать
Создание настольного приложения на Go с помощью Wails
Шаблон параллелизма Go: семафор
SOLID-компоненты Frontend
Реализация очереди
Поиск в двоичном дереве
Практика работы с JWT
Утечка памяти, вызванная срезом
Factory Pattern
Профилируйте свой код как мастер
Фоновый режим с функцией автоматического повтора
Изящно завершите работу приложения
Встраивание Python в Go
Внедрение зависимостей в Go с использованием Fx
Набор инструментов Go Microservice
Создание PDF в GO
Подходит ли Go в качестве языка системного программирования с автоматической сборкой мусора?
Инструменты
Framework для тестирования GoMock
Клиент redis Redigo
IPFS (межпланетная файловая система) – это одноранговый протокол и сеть для организации распределенной файловой системы IPFS
Быстрый и точный счетчик кода scc
Квери билдер для Монги greenleaf
Монитор горутин в терминале roumon
Сравнение различных объектов. Используется для тестов go-testdeep
Инструмент для смены цвета текста в терминале gchalk
Автономный инструмент миграции для PostgreSQL tern
Dropbox – свой L4 лоад балансер kglb
Пакет Go, который обеспечивает низкоуровневый доступ к Linux rtnetlink API rtnetlink-xdp
Инструмент проверки безопасности кода Go gosec
Облачный туннель inlets
Инструмент генерирует типобезопасный код из SQL sqlc
Инструменты для работы с данными в стиле мультиинструмента (например, xsv для CSV или jq для JSON) sq.io
Встраиваемая база данных, совместимая с MongoDB, и набор инструментов для Go LungoDB
Высокопроизводительный сервер приложений roadrunner.dev
Реализация размытия по Гауссу с линейным временем song2
Эффективный пикселизатор изображений pixelizer
Компилятор Go, предназначенный для использования в небольших местах, таких как микроконтроллеры, WebAssembly (Wasm) и инструменты командной строки tinygo
Сервер аутентификации и авторизации SSO authelia
Поиск в вашей файловой системе с помощью SQL-запросов fsql
Генератор прокси gRPC в JSON в соответствии со спецификацией HTTP grpc-gateway
Библиотека, предоставляющая набор функций, которые позволяют записывать и читать файлы XLSX / XLSM / XLTM excelize
Клиент GitHub API v3 go-github
Microservice Framework micro v3.2.0
Видео
Небольшая серия «Пишем веб-приложение на Go», автор Сергей Гаврук
Серия из 26 видео на тему «Погружение в Google Go», автор Роман Левищенко
Серия из 17 уроков на тему «Уроки для начинающих», автор Леша Маршал
Подкасты
GenericTalks
Go Time
Ardan Labs. Мастерство в облачных вычислениях
Сообщества
Вопросы по языку на русскоязычном StackOverflow
Информация о митапах
Форум в группах Google
https://t.me/vseins_tech
