Golang-дайджест № 1  (14 – 31 января 2021)

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

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

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

  • Поддержка ARM

  • Движок Diablo 2

  • Расшифровка паролей из браузеров

  • Сборщик js – аналог webpack

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

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

  • Исправлена ​​проблема, связанная с поиском PATH в ненадежных каталогах https://blog.golang.org/path-security

  • Выпущен релиз-кандидат 1 Go 1.16!

    • ARM в Go 1.16 – добавлена поддержка 64-битной ARM-архитектуры на MacOS М1

    • go get-insecure – флаг является устаревшим и будет удален в версии будущего

    • go get example.com/mod@patch – теперь хочет, чтобы какая-то версия example.com/mod уже требовалась для основного модуля (тем не менее go get -u=patch продолжает исправлять даже недавно добавленные зависимости)

    • GOVCS – новая переменная среды, ограничивающая инструменты управления версиями, которые go-команда может использовать для загрузки исходного кода

    • Добавлен пакет FS – определяет основные интерфейсы файловой системы. Файловая система может быть предоставлена ​​операционной системой хоста и другими пакетами

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

https://github.com/golang/go/issues/44022 Добавить оператор соответствия

func preprocess(example Example) *string
    return match (example.Value, example.Name) {
        0, "C" => {
             return "Zero"
        }
        -100 .. 0, "C" => {
           return "Ice"
       }
        0 .. 100, "C" =>
           return "Hell";
       }
       _, _ => {
            return "Unknown state";
       }
    }

https://github.com/golang/go/issues/44006 - syscall/js: Удалить тип Wrapper, чтобы избежать чрезмерного выделения памяти и улучшить производительность

type BadWrapper struct {
    Value js.Value
}

var escapeRoute *BadWrapper

// Implements js.Wrapper
func (this *BadWrapper) JSValue() js.Value {
    escapeRoute = this // escape to heap
    return this.Value
}

https://github.com/golang/go/issues/43823  Поддержка времени с десятичной запятой для дробных секунд, пример: 02/12/2019 15:45:48,746

https://github.com/golang/go/issues/43774 Потоковый интерфейс AEAD

https://github.com/golang/go/issues/43659 Объявление параметров типа и разделение экземпляров

https://github.com/golang/go/issues/43557 Значения функций как итераторы

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

Уроки для изучения GolangВведение в программирование на Go

Go в примерах

Маленькая книга о Go

50 оттенков Go: ловушки, подводные камни и распространенные ошибки новичков

Алан А.А. Донован, Брайан У. Керниган «Язык программирования Go»

Руководство для начинающих по разумным абстракциям с использованием Golang

Статьи

  • Пишем хештейбл с дженериками

  • Пишем свой BitTorrent-клиент на Go

  • Безопасное использование unsafe

  • HTTP(S) прокси на Go в 100 строчек кода

  • Подходит ли Golang для новичков

  • Оптимизация микросервиса на Go на живом примере

  • Освобождение ресурсов в GO

  • GoLand 2020.3 — дамп горутин, запуск табличных тестов, расширенная поддержка Testify

  • Краткий анализ недавнего проекта предложения по добавлению дженериков в Golang – что включено, что исключено и как это повлияет на язык

  • Почему Go так быстро компилируется

Инструменты

  • Приложение для просмотра, организации и обмена вашей коллекцией фотографий https://github.com/photoprism/photoprism

  • Игровой движок ARPG в том же духе, что и игры 2000-х годов и поддерживает игру в Diablo 2 https://github.com/OpenDiablo2/OpenDiablo2

  • Сервер Matrix второго поколения, написанный на Go. Призван предоставить эффективную, надежную и масштабируемую альтернативу Synapse https://github.com/matrix-org/dendrite

  • Сборщик JS в 100 раз быстрее webpack https://github.com/evanw/esbuild

  • Модульная, мощная, высокопроизводительная среда разработки приложений корпоративного класса от Golang https://github.com/gogf/gf 

  • Официальная реализация протокола Ethereum на Golang https://github.com/ethereum/go-ethereum 

  • Инструмент с открытым исходным кодом, который может помочь вам расшифровать данные из браузера: пароли, закладки, файлы cookie, историю https://github.com/moonD4rk/HackBrowserData  

  • Slack API библиотека rest, websocket https://github.com/slack-go/slack 

  • Веб-фаззинг, предназначенный для обнаружения элементов и контента в веб-приложениях или веб-серверах https://github.com/ffuf/ffuf 

  • Инструменты для сканирования международных телефонных номеров с использованием только бесплатных ресурсов. Это позволяет сначала собрать стандартную информацию, такую ​​как страна, область, оператор и тип линии, на любом международном телефонном номере. Затем поискать следы в поисковых системах, чтобы попытаться найти провайдера VoIP или определить владельца https://github.com/sundowndev/PhoneInfoga

Видео

Небольшая серия «Пишем веб-приложение на Go», автор Сергей Гаврук

Серия из 26 видео на тему «Погружение в Google Go», автор Роман Левищенко

Серия из 17 уроков на тему «Уроки для начинающих»,  автор Лёша Маршал

Подкасты

Go Time: Англоязычные подкасты о GO

Live Shows: Предложения Go Language, о которых вы никогда не слышали (часть вторая)

GolangShow: Русскоязычный подкаст о Go

Сообщества

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

Группа Golang RU в Telegram

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

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

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


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

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

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него. Читать дальше →
Один из ключевых сценариев работы в CRM это общение с клиентом в удобном для него канале. По почте, по телефону, по SMS или в мессенджере. Особенно выделяется WhatsApp — интеграцию с ...
Свежая подборка со ссылками на новости и материалы. В выпуске: PHPUnit 9 и другие релизы, 3 свежих RFC предложения из PHP Internals, порция полезных инструментов, видео, подкасты и многое друго...
В прошлой статье мы в общих чертах писали о том, как переводим Почту России на электронные рельсы. В этот раз мы решили рассказать о животрепещущей теме — доставке покупок с зарубежных интернет-п...
Ваш сайт работает на 1С-Битрикс? Каждому клиенту вы даёте собственную скидку или назначаете персональную цену на товар? Со временем в вашей 1С сложилась непростая логика ценообразования и формирования...