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

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

  • Выпущены Go 1.17.7 и 1.16.14

  • Go 1.18 Release Candidate 1: Заметки 

  • Самомодифицирующийся исполняемый файл на Go 

  • Go Workspaces в Go 1.18

  • Gambit - шахматы в терминале

  • Подкаст - обсуждаем дженерики от Go Get Podcast

  • FQ - Инструмент для работы с бинарными данными

Приятного чтения!

Новости, события

  • Выпущены Go 1.17.7 и 1.16.14 - включает исправлениями безопасности в cmd/go, math/big и crypto/elliptic

    • crypto/elliptic: исправление IsOnCurve для значений big.Int, которые не являются допустимыми

      • Некоторые значения big.Int, которые не являются допустимыми могут привести к тому что Curve.IsOnCurve неправильно вернет значение, работа с этими значениями могут вызвать панику или недопустимую операцию с кривой

    • math/big: потребления памяти в Rat.SetString

      • может вызвать неограниченный рост памяти в программе, использующей (*Rat).SetString

    • cmd/go: исправление версии веток

      • Ветка имя которой напоминает тег версии (например, "v1.0.0" или "subdir/v2.0.0-dev") go может считать действительной версией

  • Предложение по улучшению go/doc форматирования

  • proposal: arena: new package providing memory arenas

    • Предложение добавить пакет arena в стандартную библиотеку Go. Пакет арены позволит выделить любое количество арен. Объекты произвольного типа могут быть выделены из памяти арены, а арена автоматически увеличивается в размерах по мере необходимости. Когда все объекты в арене больше не используются, арена может быть явно освобождена для эффективного освобождения памяти без общей сборки мусора. 

  • runtime: Не пора ли улучшить планировщик Go?

  • Russ Cox: Разбирает статью от ZDNet «Устойчивое развитие с Rust» - почему эта статья вводит в заблуждение о Go

  • Что будет в Go 1.18 — краткий обзор, в основном посвященный дженерикам и фаззингу на высоком (хотя и техническом) уровне.

Awesome

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

Статьи

Инструменты

  • Платформа для создания приложений с удаленным доступом по ssh - wish v0.3.0

  • Библиотека которая генерирует краткие, URL-безопасные UUID - shortuuid v4.0.0

  • Сервер обработки изображений с поддержкой Docker  - imagor v0.8.11

  • Форк Cobra с большинством функций, но только с 4 зависимостями - coral v1.0.0

  • Распределенная реляционная база данных, построенная на SQLite - rqlite v7.3.1

  • Telegram Bot Framework - telebot 3.0

  • Игровой движок Pure Go - oak v3.3.0 

  • Официальный клиент Go для Elasticsearch - go-elasticsearch v8.0

  • DNS-сервер, объединяющий плагины в цепочку - CoreDNS v1.9

  • Расширенный автономный планировщик заданий для PostgreSQL - pg_timetable v4.4.0

  • Играйте в шахматы в своем терминале - gambit v0.1.0

  • Библиотека логирования - zap v1.21.0

  • Инструмент для работы с бинарными данными - fq v0.05

  • Платформа TUI, вдохновленная Elm - bubbletea v0.20.0

  • Инструмент для рендеринга монохромной графики в терминале с помощью специальных блочных символов Unicode - tcg v0.0.2

  • Библиотека для размещения значка/меню в области уведомлений - systray

  • Утилита для сканирования некоторых новостных сайтов или других ресурсов и загрузки контента в pdf - newser

  • Инструмент SAST для обнаружения секретов, паролей, ключей API и токенов в репозиториях git - gitLeaks v8.3

  • Платформа для создания облачных микросервисов - kratos v2.2.0

  • Фреймворк для создания сервисов LDAP - gldap

  • Отслеживание позиций на биржах в терминале - ticker v4.5.0

Видео

Подкасты

Сообщества

Eжедневный дайджест в телеграм

GolangStack