Golang-дайджест № 3  (1 – 31 марта 2021)

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

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

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

  • Монитор горутин в терминале

  • Пикселизатор изображений

  • Проверка безопасности 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 Tim‪e‬

  • Ardan Labs. Мастерство в облачных вычислениях

Сообщества

  • Вопросы по языку на русскоязычном StackOverflow

  • Информация о митапах

  • Форум в группах Google

  • https://t.me/vseins_tech

Источник: https://habr.com/ru/company/vseinstrumenti/blog/549946/


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

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

К международному празднику разработчики расчехлили кодомёты и явили миру сервисы, генерирующие упоротые поздравления с помощью нейросетей. Делюсь находками. ...
Нередко при работе с Bitrix24 REST API возникает необходимость быстро получить содержимое определенных полей всех элементов какого-то списка (например, лидов). Традиционн...
Всем привет! Продолжаем обзоры новостей свободного и открытого ПО и железа (и немного коронавируса). Всё самое главное про пингвинов и не только, в России и мире. Читать дальше &r...
Всем привет! Продолжаем обзоры новостей свободного и открытого ПО (и немного железа). Всё самое главное про пингвинов и не только, в России и мире. В выпуске №5 за 24 февраля – 1 марта ...
«Битрикс» — кошмар на костылях. Эта популярная характеристика системы среди разработчиков и продвиженцев ныне утратила свою актуальность.