Свежая подборка новостей и материалов
Интересное в этом выпуске
Выпущены версии 1.18.2 и 1.17.10
Результаты опроса разработчиков в Go GUI
TinyGo v0.23.0: теперь с поддержкой Go 1.18
Go является любимым и быстрорастущим языком на GitHub
Заметки о практическом параллелизме в Go
Приятного чтения!
Новости, события
Выпущены версии 1.18.2 и 1.17.10 - эти второстепенные выпуски включают одно исправление безопасности.
syscall: при вызове с ненулевым параметром flags функция syscall.Faccessat могла неправильно сообщить, что файл доступен.
Robert Griesemer экспериментировал с давним предложением о внедрении коротких литералов функций в Go
func x, y, z { ... } // func style (x, y, z) => { ... } // arrow style
Awesome
Материалы для обучения
The Darker Corners of Go — список уроков
Статьи
Ложь, которую мы говорим себе, чтобы продолжать использовать Go
Создание бессерверной серверной части для Slack на AWS Lambda
Изменение одного символа резко улучшило производительность приложения
Как использовать go run для управления зависимостями инструментов
Testscript, определение тестов на основе файловой системы путем создания сценариев
Создание управляемых событиями распределенных систем с помощью gRPC, NATS JetStream и CockroachDB
Go Nulls и SQL - работа с нулевыми значениями, может привести к ошибкам
Экспортируем модули из Go-сервиса: сотворение директории pkg
Go в API для мобильного приложения. Создаем совместный список покупок с мгновенными уведомлениями
R*-tree в Go, немного геймдева и поиска элементов в пространстве
Четыре простых лайфхака при написании тестов на Go + testify
Go в браузер. Создание веб-приложений с использованием Web Assembly на Go
Signum Explorer Telegram Bot — разработка open-source pet-project телеграм бота для блокчейна Signum
Инструменты
Bud v0.1.4 — новый полнофункциональный веб-фреймворк
Cover Treemap — создание древовидных карт для профилей Go Cover
Generic v1.0 — набор общих структур данных
avl: дерево AVL.
btree: B-дерево.
cache: оболочка map[K]V, которая использует максимальный размер и удаляет элементы, используя LRU, когда они заполнены.
hashmap: хэш-карта с линейным зондированием.
hashset: хэш-набор, который использует хэш-карту в качестве базового хранилища.
mapset: набор, который использует встроенную карту Go в качестве базового хранилища.
multimap: ассоциативный контейнер, допускающий несколько записей с одним и тем же ключом.
interval: дерево интервалов, реализованное как расширенное дерево AVL.
list: двусвязный список.
stack: стек LIFO.
trie: тернарный поиск.
queue: очередь «первым пришел — первым обслужен» (FIFO).
heap: бинарная куча.
Go-mysql 1.5 — библиотека для сетевого протокола MySQL
Cast v1.5 — инструмент для безопасного преобразование из одного типа в другой
RoseDB v1.0 — высокопроизводительная база данных NoSQL на основе Bitcask, поддерживающая различные структуры данных, такие как string, list, hash, set и sorted set.
FerretDB v0.3 — альтернатива MongoDB
Rqlite v7.5.0 — распределенная реляционная база данных, построенная на SQLite
SH v3.5 — Парсер shell, средство форматирования и интерпретатор. Поддерживает POSIX Shell , Bash и mksh
Weron v0.2.1 — инструмент для создания простых, быстрых и безопасных оверлейных сетей на основе WebRTC
Roaring v1.1 — cтруктуры данных растровых изображений
Sneller — это высокопроизводительный векторизованный механизм SQL для JSON, который работает непосредственно в объектном хранилище, оптимизирован для обработки больших JSON размером в ТБ
Cardrank — библиотека типов, функций и утилит для работы с игральными картами, колодами карт и оценки рангов покерных комбинаций
Typioca v1.2.3 — Минимальный тестер скорости печати на базе терминала.
concurrent map v2.0 — многопоточная параллельная карта
God — инструмент для развертывания и управления сервисами Go с помощью systemd
Sonic v1.3 — быстрая библиотека JSON
Kratos v2.3 — платформа для микросервисов на основе gRPC
immudb v1.3 — неизменяемая база данных на основе нулевого доверия, SQL и Key-Value
Plow v1.2 — инструмент для тестирования HTTP
Traefik v2.7.0 — обратный прокси и балансировщик нагрузки
Oak v4.0 — игровой 2D-движок
Fiber v2.34.0 — веб-фреймворк на основе Express.js
WAL v2.0 — архивация и восстановление Postgres
Видео
? Пишем полноценный production проект на Golang. Часть 2 - The Art of Development