Golang-дайджест № 7 (1 – 31 июля  2021)

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

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

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

  • Выпущены версии Go 1.17, 1.16.6 и 1.15.14

  • GitHub представил инструмент проверки безопасности GO

  • Перехватываем и изменяем сетевые пакеты на примере игры

  • Рекомендательная система

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

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

  • Вышли новые security патчи Go 1.16.6 и 1.15.14

  • Выпущен Go 1.17 Release Candidate 1

    • Информация о релизе

  • Выпущен GoLand 2021.2

  • Список уязвимостей в GO (cvedetails)

Предложения по улучшению языка

  • proposal: reflect: add Value.Equal, Value.Comparable

  • proposal: net/http: add Cookie.Valid method

    http.HandleFunc("/foo", func(w http.ResponseWriter, r *http.Request) {
    	cookie := &http.Cookie{
    		Name:   "my-cookie",
    		Value:  "bar",
    		Domain: r.Host,
    	}
      
      err := cookie.Valid()
      if err != nil {
        log.Printf("invalid cookie: %v", err)
        http.Error(w, http.StatusInternalServerError, 500)
        return
      }
      
    	http.SetCookie(w, cookie)
    	fmt.Fprintf(w, "cookie: %s", cookie.String())
    })
    
  • proposal: reflect: add MapIter.Reset

    // Reset changes iter to iterate over v.
    // It panics if v's Kind is not Map and v is not the zero Value.
    func (iter *MapIter) Reset(v Value)
    iter := new(reflect.MapIter)
    iter.Reset(mapVal)
    iter := mapVal.MapRange()
    

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

  • Материалы учебных курсов по Go

Статьи

  • GitHub представил инструмент проверки безопасности GO

  • Содействие компилятору: добавление нового оператора тильды (~)

  • Pipeline Pattern

  • Модели аппаратной памяти

  • Как реализовать механизм базы данных time-series

  • Тесты в Go могут быть «неожиданными»

  • Материалы учебных курсов по Go

  • Способы безопасного подсчета

  • Несколько удобных команд для запуска в проектах Go

  • Обновление модели памяти

  • Насколько жарко становится внутри автомобиля во время жары?

  • Не существует «экстремального» быстрого способа объединения фрагментов

  • Создание языка программирования Golfcart

  • Расширьте свое приложение Go с помощью встроенных функций WebAssembly в WasmEdge

  • Доступ к базам данных Postgres в Go - здесь нет ORM, это обзор низкоуровневых способов доступа к базам данных Postgres из Go

  • Интересная проблема с памятью

  • Как sync.Map работает внутри?

  • Игра в ментальный покер

  • Перенос команд в Go

  • Создание бизнес-приложений на Go

  • Как создать HTTP API Go CRUD с помощью Ent

  • Давайте займемся наукой о данных на ходу: сколько чаевых?

  • Игры с «редактированием пакетов» в Go - используйте go и iptables, чтобы перехватывать и изменять сетевые пакеты

  • Telegram-клиент на Golang

  • Навык Алисы на serverless в Yandex.Cloud

  • 5 самых известных проектов, написанных на Golang

  • Подсчёт ссылок не так прост, как кажется: опыт языка Umka

  • Golang+FFmpeg

  • Разработка REST-серверов на Go. Часть 7: GraphQL

  • Разработка REST-серверов на Go. Часть 6: аутентификация

  • Как мы делали инструмент для QA, а сделали для всего техотдела

  • Пишем frontend на golang

  • Автоматизация тестов на Go + Allure

Инструменты

  • Диспетчер предупреждений на основе сценариев balerter v0.8.1

  • Framework для Microservices kratos v2.0.3

  • Библиотека удаляет xss из вашего html bluemonday v1.0.15

  • Make Альтернатива, написанная на GO task v3.7.0

  • Инструмент генерации календаря calendarheatmap v1.5.0

  • Сервер для аудио и видео в реальном времени liveKit

  • Полнофункциональная среда тестирования go testza v0.2.0

  • Пакет для UUID на основе RFC 4122 uuid v1.3.0

  • Система отслеживания ошибок Delve 1.7.0

  • Визуализация статистики HTTP-подключений httpstat v1.1.0

  • Go Unikernel, запускает приложение Go на голом железе x86 EggOS 0.2

  • Компьютерное зрение в Go с использованием OpenCV 4+ GoCV v0.28

  • Инструмент командной строки для выполнения SQL-запросов в репозиториях git askgit v0.4.1

  • YAML Encoding, Decoding and Querying for Go go-yaml v1.9.2

  • Библиотека Datetime carbon v1.4.6

  • Рекомендательная система Gorse

  • Библиотека анимации Spring harmonica v0.1.0

  • Конструктор SQL и библиотека запросов goqu v9.14.0

  • Библиотека health check health v0.5.1

  • Текстовый редактор на основе терминала micro v2.0.9

  • Инструменты для Go и AWS Lambda aws-lambda-go v1.26.0

  • Система автоматизации ci/cd concourse v7.4.0

  • Библиотека для взаимодействия с LLVM IR llvm v0.3.4

  • Cистема кластеризации для горизонтального масштабирования MySQL vitess 11.0.0

Видео

WorkerPools in Go Tutorial

Подкасты

GenericTalks

Go Tim‪e‬

Обсуждение фаззинга в стандартной библиотеке

Как делать ошибки в го.

Сообщества

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

Страница Go на stackoverflow

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

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

https://t.me/vseins_tech

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


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

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

Фото: Steve McDougall. Подборка свежих новостей и материалов из мира PHP. В выпуске: третья альфа PHP 8.1 — список новых возможностей и статус последних предложений; readonly-свойства...
SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на HDD (жёсткий диск), SSD (твёрдотельный накоп...
Один из ключевых сценариев работы в CRM это общение с клиентом в удобном для него канале. По почте, по телефону, по SMS или в мессенджере. Особенно выделяется WhatsApp — интеграцию с ...
В 1С-Битрикс: Управление сайтом (как и в Битрикс24) десятки, если не сотни настраиваемых типов данных (или сущностей): инфоблоки, пользователи, заказы, склады, форумы, блоги и т.д. Стр...
Этот пост будет из серии, об инструментах безопасности, которые доступны в Битриксе сразу «из коробки». Перечислю их все, скажу какой инструмент в какой редакции Битрикса доступен, кратко и не очень р...