Golang-дайджест № 26 (1 – 28 февраля  2023)

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

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

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

  • Выпущены Go 1.20.1 и 1.19.6 - эти выпуски включают исправления безопасности

    • path/filepath: В Windows функция filepath.Clean может преобразовать недопустимый путь, например a/../c:/b, в допустимый путь c:\b. Такое преобразование относительного (если недопустимого) пути в абсолютный путь может привести к атаке с обходом каталога. Теперь функция filepath.Clean преобразует этот путь в относительный (но все еще недопустимый) путь .\c:\b.

    • net/http, mime/multipart: отказ в обслуживании из-за чрезмерного потребления ресурсов

    • crypto/tls: большие записи рукопожатий могут вызвать панику

    • net/http: cозданный поток HTTP/2 может привести к чрезмерной нагрузке на ЦП в декодере HPACK, достаточной для отказа в обслуживании из-за небольшого количества запросов

  • TinyGlobo: Воздушный шар дальнего радиуса действия с питанием

  • Все ваши сопоставимые типы

  • Полное руководство по OpenTelemetry в Go

  • Solitaire TUI: Пасьянс клондайк в терминале

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

  • Gopherlings - изучайте Go, исправляя неправильные программы 

  • Алгоритмы, реализованные в Go (для обучения)

  • LearnGo: большая коллекция примеров, упражнений

Статьи

  • Введение в оптимизацию на основе профиля в Go

  • Создание Conc: улучшенный структурированный параллелизм для Go

  • Пять шагов, чтобы сделать ваш код на Go быстрее и эффективнее

  • Быстрое и динамическое кодирование буферов протоколов

  • Работа на битовом уровне в Go

  • Тестирование сгенерированного HTML с goquery

  • Динамический способ вызова функций C из Go Without  Cgo

  • Структурированное логирование с помощью slog

  • Создание средства сокращения URL-адресов с использованием Go, SQLite и GORM

  • Встраивание типов: фальшивое «наследование» Go.

  • Выводы за шесть месяцев использования «govulncheck» в CI

  • Go тесты и параллелизм

  • Как публиковать бинарные файлы Go с помощью Goreleaser

  • Полиморфизм: подавать холодным

  • Путь миграции с go build на Bazel

  • Брифинг по дженерикам Go 1.18

  • Fitter —  сшиватель API/Website's, часть личного проекта которую хотел опенсорснуть

  • Сказ о том как pet-project превратился в небольшой пассивный доход (часть 1)

  • Микросервисные приложения на GoMicro

  • Schema Registry с Protobuf в Kafka — зачем оно надо?

  • Hashmap(map) по версии Golang. Часть 2

  • Оптимизация доступа к элементам слайса в Go

  • Шаблон backend сервера на Golang — часть 3 (Docker, Docker Compose, Kubernetes (kustomize)

  • Обезопасить, удержать, сохранить. Выгрузка трафика анонимной сети как свойство отложенной маршрутизации в HLT

  • Стеклянная луковица dns внутри k8s

  • За что мы любим Go, Ruby, React Native, ReactJS и Redux

  • История победы в VK Cup'22/23:Go

  • Разбираемся с рекурсией на примере связных списков

  • Выпускайте Кракена: опыт использования KrakenD

  • Генератор случайных чисел на базе неопределённого поведения состояния гонки

  • Генерация Swagger для сервера Echo

  • Выявляем волков в овечьей шкуре среди пользователей сайта

Инструменты

  • conc 0.3.0 — Более структурированный параллелизм.

  • vald 1.7.2 - Распределенная векторная поисковая система

  • imagor 1.4.2 — сервер обработки изображений с поддержкой Docker.

  • ebitengine 2.4.18 — игровой движок с открытым исходным кодом 2D-игр.

  • mirrord 3.30.0 — инструмент для запуска локальной службы в облачном (Kubernetes) контексте.

  • zitadel 2.21 — система управления пользователями, которая быстро настраивается, мультитенантность с настройкой фирменного стиля, безопасный вход в систему, самообслуживание, OpenID Connect, OAuth2.x, SAML2, беспарольный доступ с FIDO2 (включая пароли), OTP, U2F и неограниченный контрольный журнал

  • phoneinfoga 2.10.3 — инструмент для сканирования международных телефонных номеров. Это позволяет вам сначала собрать базовую информацию, такую ​​как страна, регион, оператор связи и тип линии, а затем использовать различные методы, чтобы попытаться найти провайдера VoIP или идентифицировать владельца

  • tproxy 0.7.1 — Инструмент командной строки для прокси и анализа TCP-соединений

  • Yaegi 0.15 — интерпретатор Go

  • Noti 3.7 — Мониторинг процесса и запуск уведомления.

  • ZincSearch 0.4.1 — Альтернатива Elasticsearch на платформе Go.

  • q 0.9 — DNS-клиент командной строки с поддержкой UDP, TCP, DoT, DoH, DoQ и ODoH.

  • Opossum — веб-браузер, написанный на Go

  • Gin 1.9 — популярный веб-фреймворк

  • HoverFly 1.5.1 — Легкий инструмент моделирования API.

  • Define 0.3 — Словарь командной строки и тезаурус.

  • pgweb 0.14 — кроссплатформенный клиент для баз данных PostgreSQL

Видео

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


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

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

Всем доброго времени суток. Мы решили описать построение отказоустойчивой инфраструктуры для bitrix в рамках серии статей, и сегодня публикуем первую часть. Вариант, который мы будем описывать, - не и...
VUE.JS - это javascript фрэймворк, с версии 18.5 его добавили в ядро битрикса, поэтому можно его использовать из коробки.
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него. Читать дальше →
Всем привет! Это мой первый пост на Хабре, надеюсь будет интересен сообществу. В Пермской группе пользователей Linux мы увидели нехватку обзорных материалов по новостям свободного и открыт...
Когда: 12 февраля 2020 г. с 19:00 до 20:30 по московскому времени. Кому будет полезно: ИТ-менеджерам и юристам иностранных компаний, начинающих или планирующих работать в России. О чем ...