Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Свежая подборка новостей и материалов
Интересное в этом выпуске
Выпущены версии 1.18.3 и 1.17.11;
Go 1.19 Beta 1 Released;
Обнаружен еще один ботнет на GO;
Собеседование Часть II что там с конкурентностью?
Приятного чтения!
Новости, события
Выпущены версии 1.18.3 и 1.17.11 — второстепенные выпуски, которые включают четыре исправления безопасности для проблем с:
crypto/rand - зависает с очень большими буферами;
crypto/tls - сессионных билетах, сгенерированных crypto/tls, не было случайно сгенерированного ticket_age_add. Это позволяет злоумышленнику, который может наблюдать рукопожатия TLS, сопоставлять последовательные соединения, сравнивая сроки действия билетов во время возобновления сеанса;
os/exec - пустой Cmd.Path может привести к запуску непредусмотренного двоичного файла в Windows. каталоге есть двоичные файлы с именами «..com» или «..exe», они будут выполнены;
path/filepath - Clean(.\c:) возвращает c: в Windows . В Windows функция filepath.Clean может преобразовать недопустимый путь в действительный абсолютный путь. Например, Clean(.\c:) вернул c:.
Go 1.19 Beta 1 Released
Что Go грядущий нам готовит? Разбираем долгожданный релиз 1.19
Предложение по языку: внедрите прямую поддержку SIMD в Go - предлагается simd библиотека для использования SIMD (Single Instruction, Multiple Data) инструкций ЦП.
Исследовательская группа Akamai по безопасности обнаружила ботнет, написанный на Go
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
The Darker Corners of Go — список уроков
Gopherlings - изучайте Go, исправляя неправильные программы
Статьи
Golang WebAssembly
Что сделало Go таким популярным? Создатели языка оглядываются назад
Go 1.18 и AWS Graviton ускоряют рабочие нагрузки Go до 20 %
Живая перезагрузка в Go with Air
Шаблоны гонок данных в Go
Как встроить приложение React в двоичный файл Go.
Генерация Random float64 с помощью crypto/rand
(В основном) Автоматическое обновление зависимостей Go с помощью GitHub Actions
Производительность лексеров в стиле сопрограмм в Go
Использование интерфейсов стандартной библиотеки Go
Новый алгоритм сортировки Go: pdqsort
Как статический анализ кода не дает вам проснуться в 3 часа ночи
Как развернуть веб-приложение Go с помощью Docker
«Не помещайте весь свой код во внутренний»?
Делаем код быстрее
Как Uber вдвое сократил время сборки Go Monorepo CI
Как создать документацию вашего пакета локально
Заметки об обновлении Go с 1.17 до 1.18
Создание пользовательского действия GitHub с помощью Go
Деплой, базы данных и мониторинг: жизнь после перехода на Go
Что читать Golang-разработчику. Семь главных книг: от Донована и Кернигана до МакДауэлл
Раз, два, три и готово! 3 месяца, 1 проект и новая команда
Зоопарк в Golang MSA. Protobuf, MessagePack, Gob – что выбрать?
Go, Allure и HTTP, или Как мило тестировать HTTP-сервисы на Go
Эй, пс, Gopher! Хочешь немного секретности? Стеганография для Маши и Вити
HTTP роутер для Go с обработкой ошибок
Go ebiten: разбираемся с рендерингом и позиционированием текста
Собеседование Golang разработчика (теоретические вопросы), Часть II. Что там с конкурентностью?
WebAssembly объединит их всех
Возрождение простых сайтов. Статика, 0kB JS, ничего лишнего
Материалы бэкенд-митапа. MongoDB, оптимизация алгоритмов и диагностика проблем в больших проектах
Следующий уровень автоматизации Kubernetes. Создаем свой оператор
Почему мы перешли с Python на Go
Триггернутые, или Как безболезненно встроить нагрузочное тестирование в ваш пайплайн
Инструменты
Zinc v0.2.5 - поисковая система, которая выполняет полнотекстовое индексирование, альтернатива Elasticsearch;
Bluemonday v1.0.19 - быстродействующий HTML-санитайзер;
Compose Transporter v1.1 - синхронизация данных между Persistence Engines;
Fyne v2.2.2 - это простой в использовании инструментарий GUI;
GoPlus (Go+) v1.1.2 - более скриптовый вариант Go;
Mo v1.0 - monads and Popular FP Abstractions for Go 1.18+;
Benthos 4.3 - это высокопроизводительный и отказоустойчивый потоковый процессор, способный подключать различные источники и приемники в различных шаблонах посредников и выполнять гидратацию, обогащение, преобразование и фильтрацию полезной нагрузки;
Ddosify v0.8 - инструмент для нагрузочного тестирования HTTP;
gta - это приложение, которое находит пакеты Go, которые отклонились от исходного кода в git;
garr v0.1.1 - высокопроизводительные, потокобезопасные, безблокировочные механизмы данных;
SyMon v1.1.1 - простой инструмент мониторинга и оповещения;
Chroma v2.2 - подсветка синтаксиса общего назначения Pure Go;
Trie - реализация Trie, ориентированная на варианты использования автозавершения;
Validate v1.4.2 - библиотека проверки и фильтрации данных;
Viddy v0.3.6 - современная альтернатива go watch;
Render v1.5 - простой рендеринг ответов JSON, XML, двоичных данных и HTML-шаблонов;
phonenumbers v1.1 — Анализ и проверка телефонных номеров;
Hertz v0.1 — платформа Go для микросервисов HTTP;
go-nanoid v1.0 - быстрый и эффективный генератор уникальных идентификаторов;
span-terminal - Библиотека позволяет отслеживать вложенный прогресс всех запущенных задач CLI и записывать их журналы в один контейнер;
go-arch-lint v1.7.2 - Линтер используется для обеспечения хорошей структуры проекта и проверки архитектуры верхнего уровня (уровней кода).