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

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

  • Выпущен Go 1.20

    • Оптимизация на основе профиля (PGO) — это новая (в предварительной версии ) функция, использующая запуск профиля вашего приложения для оптимизации его будущей компиляции.

    • Правила преобразования типов Go были расширены, чтобы разрешить прямое преобразование из среза в массив

    • Команды go buildgo install, и другие команды, связанные со сборкой, теперь принимают -pgoфлаг, позволяющий выполнять оптимизацию на основе профиля, а также -coverфлаг для анализа покрытия всей программы

    • Новый crypto/ecdh пакет обеспечивает явную поддержку обмена ключами Диффи-Хеллмана на эллиптических кривых по кривым NIST и Curve25519

    • Новая функция errors.Join возвращает ошибку, упаковывающую список ошибок, который может быть получен снова, если тип ошибки реализует Unwrap() []error метод

    • Новый тип http.ResponseController обеспечивает доступ к расширенным функциям для каждого запроса, которые не обрабатываются интерфейсом http.ResponseWriter

    • Прокси-сервер httputil.ReverseProxy включает новую Rewrite функцию ловушки, заменяющую предыдущую Director

    • Новая функция context.WithCancelCause предоставляет способ отменить контекст с заданной ошибкой. Эту ошибку можно получить, вызвав новую context.Cause функцию

    • В os/exec.Cmd  добавлены поля Cancel и WaitDelay - определяют поведение контекста

    • Улучшения Perf в сборщике мусора.

    • 1.20 — это последний выпуск, который будет работать на macOS 10.13/10.14 или Windows 7/8.

    • Добавлен пакет Arena - экспериментальное решение для управления памятью (пример использования)

Awesome

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

Статьи

Инструменты

  • gopher-lua 1.1.0 — виртуальная машина и компилятор для Lua в Go 

  • dicom 1.0.5 — анализ медицинских изображений DICOM с Go

  • ov 0.14.2 — многофункциональный терминальный пейджер

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

  • bob 0.15.6 — SQL Query Builder и ORM/Factory Generator с поддержкой Postgres, MySQL и SQLite

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

  • d2 0.1.6 — система декларативного построения диаграмм.

  • permify 0.3.0 — служба авторизации для создания и поддержки детальной авторизации в ваших приложениях.

  • gobgp 3.11.0 — реализация протокола Border Gateway Protocol (BGP).

  • notify 0.38.0 — библиотека Go для отправки уведомлений в различные службы обмена сообщениями.

  • fiber 2.42.0 — веб-фреймворк вдохновлён Express.js.

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

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

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

  • go-wiki 1.0.1 — клиент API Википедии Golang.

  • script 0.21.4 — библиотека для выполнения задач, чтение файлов, выполнение подпроцессов, подсчет строк, строгие строки и т.д.

  • yaegi 0.15.0 — интерпретатор, позволяющий использовать Go для написания сценариев в других приложениях.

  • yao 0.10.2 — движок с открытым исходным кодом, написанный на Golang в виде инструмента командной строки. Он подходит для разработки бизнес-систем, API веб-сайтов/приложений, панели администратора, самодельных платформ

  • cloudquery 1.0.3 — высокопроизводительная платформа интеграции данных с открытым исходным кодом , созданная для разработчиков.

  • chatgpt 0.2.1 — консольный клиент chatGPT

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

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

Видео

Подкасты

Сообщества

Eжедневный дайджест в телеграм.

GolangStack

Комментарии (6)


  1. gnome2_terminal_is_best
    00.00.0000 00:00

    Что то не увидел новость про включение телеметрии в инструментарий Golang.


    1. tioffs Автор
      00.00.0000 00:00

      данное предложение в статусе lock на гитхабе значит телеметрию не приняли


      1. gnome2_terminal_is_best
        00.00.0000 00:00

        Понятно. Просто, целая дискуссия началась, по этому поводу на одном из сайтов (опеннет).


    1. FarizR
      00.00.0000 00:00

      А что за телеметрия в го? Для чего и с чем едят ?


      1. gnome2_terminal_is_best
        00.00.0000 00:00

        Вот здесь, описано, ну и дискуссия по этому поводу

        https://www.opennet.ru/opennews/art.shtml?num=58639


  1. Stef_72RUS
    00.00.0000 00:00

    Может кто-нибудь пояснить вот это:

    1.20 — это последний выпуск, который будет работать на macOS 10.13/10.14 или Windows 7/8.

    Относится только к компиляции (к этому склоняюсь) или если откомпилировать на поддерживаемой версии, то при переносе на более неподдерживаемую оно тоже не будет работать? Sorry, если что, к Go только присматриваюсь. Сообщение в оригинале тоже не добавило ясности:

    Go 1.20 is the last release that will run on any release of Windows 7, 8, Server 2008 and Server 2012. Go 1.21 will require at least Windows 10 or Server 2016.