LINUX.ORG.RU

Go


213

10

Всего сообщений: 82

Новости — Open Source

Выпуск системы управления контейнерами Incus 7.0 LTS

 , ,

Группа Open Source

Стефан Грабер (Stéphane Graber), лидер проекта Linux Containers и бывший технический руководитель проекта LXD, объявил о выходе Incus 7.0 LTS, форка системы управления контейнерами и виртуальными машинами LXD, созданного сообществом после перехода оригинального проекта под крыло Canonical и смены лицензии. Код проекта распространяется под лицензией Apache 2.0. Для ознакомления доступен онлайн-демонстрация.

Incus 7.0 LTS будет поддерживаться до июня 2031 года. Первые два года планируется выпуск корректирующих обновлений с исправлением ошибок и мелкими улучшениями, после чего проект перейдёт на стадию сопровождения c исправлением только критических уязвимостей. Текущая ветка Incus 6.0 LTS переведена в режим поддержки, при котором публикуются только исправления, связанные с безопасностью.

( читать дальше... )

>>> Источник: OpenNET (opennet.ru)

unclestephen
()
Новости — Разработка

Solod — подмножество языка Go, транслируемое в язык Си

 , , , ,

Группа Разработка

Представлен язык программирования Solod (So), предоставляющий подмножество языка Go, транскомпилируемое в представление на языке Си (C11), пригодное для сборки компиляторами GCC, Clang и zig cc. Ключевым отличием Solod от Go является использование ручного управления памятью, работающего без применения сборщика мусора, без автоматического выделения памяти и без подсчёта ссылок. Транспайлер для Solod написан на языке Go и распространяется под лицензией BSD. Поддерживается работа в Linux, macOS и Windows.

Язык поддерживает структуры, методы, интерфейсы, слайсы, возврат функциями нескольких значений (например, результат + код ошибки), дженерики и отложенные вызовы (defer). C целью упрощения в языке не поддерживаются каналы, сопрограммы и замыкания. При разработке на языке Solod могут использоваться существующие LSP-серверы, линтеры, интегрированные среды разработки и редакторы кода, поддерживающие язык Go, а также инструментарий «go test».

Написанный на Solod код может интегрироваться с приложениями на языке Си (язык Си может вызвать функции на Solod и наоборот) и не требует прикрепления runtime. Из ключевых областей применения отмечается системное программирование с близкими к Си возможностями, но с синтаксисом в стиле Go и обеспечением проверки типов. Solod также может применяться для портирования Go-библиотек для использования в проектах на Си. На язык Си портированы Go-пакеты:

и т. п. Помимо набора портированных Go-библиотек в программах на языке Solod можно использовать обвязки над стандартной Си-библиотекой libc.

По умолчанию вся память выделяется в стеке, но через функции Alloc / Free стандартной библиотеки можно выделять память в куче. Сборка мусора и подсчёт ссылок не используются, но в Solod предоставляются возможности для проверки типов и аварийного завершения при обращении за границу массива. При этом проверки на возвращение висячих указателей dangling pointer и отсутствие освобождения памяти не производятся. В качестве основного способа выявления проблем при работе с памятью упоминается использование AddressSanitizer -fsanitize=address в современных компиляторах.

По производительности скомпилированные программы, написанные на Solod, в большинстве случаев быстрее программ на Go:

  • производительность работы функций из пакета Byte быстрее в полтора раза при идентичном потреблении памяти;
  • работа с байтовыми буферами быстрее в 1.3 раза при чтении и в 2-4 раза при записи;
  • в пакете Map выборка по целочисленному ключу быстрее в 3.4 раза, но модификация ключей медленнее в 1.6 раза;
  • выборка по строковым ключам на одном уровне с языком Go, но модификация медленнее в 1.5 раза;
  • парсинг и форматирование целых чисел быстрее в 2 раза, а с плавающей запятой - в 1.5/1.2 раза;
  • строковые функции быстрее в 1.3 раза, а создание строк быстрее в 2-4 раза при снижении потребления памяти на 10-20%.

>>> Подробности на OpenNET (opennet.ru)

PunkPerson
()
Новости — Разработка

Go 1.26

 , ,

Go 1.26
Группа Разработка

После полугода разработки состоялся выпуск 1.26 компилятора и стандартной библиотеки языка программирования Go.

Основные изменения:

  • Встроенная новая функция, создающая новую переменную, позволяет использовать в качестве операнда выражение, указывающее начальное значение переменной. Простой пример такого изменения — это код, подобный этому:
    x := int64(300)
    ptr := &x
    

    Можно упростить до:
    ptr := new(int64(300))
    
  • Обобщенные типы могут ссылаться сами на себя в собственном списке параметров типа. Это изменение упрощает реализацию сложных структур данных и интерфейсов.

( читать дальше... )

>>> Подробности на go.dev/blog (go.dev)

splinter
()
Новости — Open Source

Ergo Framework 3.2

 , , , ,

Группа Open Source

Фреймворк представляет собой реализацию концепций Erlang для разработки на Go, построенный на модели акторов с сетевой прозрачностью и готовыми компонентами.

( читать дальше... )

>>> Список изменений (github.com)

ergo
()
Новости — Open Source

uni 2.9.0

 , , ,

Группа Open Source

Состоялся выпуск 2.9.0 кроссплатформенной консольной утилиты uni (github.com), предназначенной для получения различной информации об актуальной версии Юникода (без использования Интернета):

  • списки блоков, категорий, письменностей и свойств Юникода;
  • вывод подробной информации о символах в полученной строке;
  • поиск по ключевым словам в описаниях символов;
  • поддержка пользовательского форматирования вывода и фильтров.

Проект написан на языке Go и распространяется по лицензии MIT.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()
Новости — Open Source

Dasel 3.0.0

 dasel, , , ,

Группа Open Source

После полутора лет разработки (и почти полного переписывания кода) состоялся выпуск 3.0.0 (и более поздние версии из этой ветки) кроссплатформенной консольной утилиты и библиотеки Dasel.

Утилита предназначена для выполнения запросов, изменения и преобразования структурированных данных. Поддерживаются форматы CSV, HCL, JSON, TOML, XML и YAML (планируется добавление других форматов).

Проект написан на языке Go и распространяется по лицензии MIT.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()
Новости — Open Source

Homescript — новый открытый движок для умного дома

 , homescript, , smarthome,

Группа Open Source

Вышла первая версия Homescript — движка для автоматизации умного дома на Lua

Проект ориентирован на простоту и гибкость: интеграция через MQTT, поддержка Zigbee (Zigbee2MQTT), Frigate и других устройств.

Ключевые возможности:

  • Автоматическое обнаружение устройств.
  • Наглядность. Основа всего — каталог со скриптами, создаваемый при поиске устройств.
  • Скрипты на Lua — легко даже для новичков.
  • Событийная логика: реакция на изменения в реальном времени.
  • Минимальное потребление ресурсов — работает на Raspberry Pi. И не просто работает, а потребляет очень скромную долю памяти и ресурсов CPU.

Homescript — открытая альтернатива сложным системам вроде Home Assistant, без привязки к облакам.

>>> Исходный код

>>> Homescript (homescript.dev)

kid
()
Новости — Open Source

Ergo Framework 3.1

 , ,

Группа Open Source

После года разработки вышла очередная версия фреймворка для построения распределенных решений на языке Golang – Ergo Framework 3.1

Ergo Framework – это реализация идей, технологий и шаблонов проектирования из мира Erlang на языке программирования Go. Он построен на акторной модели, сетевой прозрачности и наборе готовых компонентов для разработки. Это значительно упрощает создание сложных и распределенных решений, обеспечивая при этом высокий уровень надежности и производительности.

( читать дальше... )

>>> Подробности (github.com)

ergo
()
Новости — Open Source

Syncthing 2.0

 , , ,

Группа Open Source

Вышла мажорная версия 2.0 Syncthing, программы для обмена файлами между двумя и более устройствами.

Основные отличия от предыдущих версий:

  • Переход с LevelDB на SQLite в качестве хранилища данных
  • Изменился формат логов
  • Удалённые данные удаляются навсегда из БД после полугода хранения
  • Новый формат для опций командой строки (опции начинаются теперь с двух дефисов)
  • Каталог по умолчанию не создаётся автоматически при первом запуске
  • Используется несколько сетевых соединений для ускорения синхронизации
  • Больше не создаются бинарные сборки для многих платформ из-за сложностей с автоматической сборкой SQLite (в частности, для windows/arm, openbsd, netbsd)

>>> Полный список изменений (github.com)

Chiffchaff
()
Новости — Разработка

Go 1.25

 ,

Группа Разработка

Команда разработки языка Go с радостью публикует Go 1.25.

В этой версии добавлены поддержка контейнеров в GOMAXPROCS, пакет testing/synctest, экспериментальный сборщик мусора, экспериментальный encoding/json/v2 и много другого.

Архивы бинарников и установщики можно найти на странице загрузки.

( читать дальше... )

>>> Go 1.25 is released (go.dev)

kaldeon
()
Новости — Open Source

GoTo — простой менеджер ssh-подключений

 , , , ,

Группа Open Source

GoTo – консольный менеджер ssh-подключений. Программа написана на языке Go и распространяется по лицензии MIT.

Утилита помогает быстро манипулировать списком серверов, а также предоставляет интерфейс к файлу .ssh/config. Программа поддерживает поиск и группировку. На гитхабе есть короткие демки и F.A.Q., где можно посмотреть некоторые детали.

Мотивацией для написания было желание сэкономить собственное время, но программа расползлась по друзьям и коллегам. В итоге автор ее причесал, выложил в общий доступ и потихоньку наполняет фичами. Если понравится - берите и пользуйтесь.

>>> github.com/grafviktor/goto (github.com)

grafviktor
()
Новости — Разработка

Go 1.24

 ,

Группа Разработка

Новый выпуск языка Go, версия 1.24, выходит спустя шесть месяцев после Go 1.23. Большинство изменений в реализации тулчейна, рантайма и библиотек. Как всегда, релиз обеспечивает обещание совместимости Go 1. Разработчики языка ожидают, что почти все программы Go продолжат компилироваться и работать как прежде.

( читать дальше... )

>>> Go 1.24 Release Notes (go.dev)

kaldeon
()
Новости — Open Source

Ergo Framework 3.0

 ,

Группа Open Source

Ergo Framework – это реализация идей, технологий и шаблонов проектирования из мира Erlang на языке программирования Go. Он построен на акторной модели, сетевой прозрачности и наборе готовых компонентов для разработки. Это значительно упрощает создание сложных и распределенных решений, обеспечивая при этом высокий уровень надежности и производительности.

( читать дальше... )

>>> Подробности (github.com)

ergo
()
Новости — Open Source

Текстовый редактор Micro 2.0.14

 , ,

Группа Open Source

micro – консольный текстовый редактор для Linux, написанный на языке Go и не имеющий зависимостей. Поддерживает плагины на языке Lua и различные команды во внутреннем терминале. В этом выпуске были добавлены новые настройки, улучшения синтаксической подсветки и поддержки мыши.

( читать дальше... )

>>> Подробности (github.com)

MrCookie
()
Новости — Разработка

Смена технического лидера в проекте Go

 

Группа Разработка

Сообщество Go отмечает важное событие: с 1 сентября Austin Clements станет новым техническим лидером проекта Go, включая команду Go в Google и сам проект в целом. Russ Cox, который возглавлял проект более 12 лет, объявил об этом шаге, подчеркивая, что лидирующая роль – это служение, а не почетное звание.

Cox отметил, что смена лидеров приносит новые силы и свежие перспективы, и что 12 лет стабильного руководства – это достаточно. Он привел в пример проект Python, который по его мнению выиграл от того, что Guido van Rossum отошел от лидерства в 2018 году. Austin Clements, работающий над Go с 2014 года и ранее возглавлявший работу над «ядром Go», теперь станет техническим лидером всего проекта. Cherry Mui, работающая над Go с 2016 года, возьмет на себя руководство компилятором, рантаймом и выпусками вместо Austin.

Хотя Cox отходит от принятия решений, он останется активным участником проекта, продолжая делиться своим опытом и поддерживать команду. Его новый фокус будет направлен на проекты Gaby и Oscar, с целью улучшения продуктивности разработчиков и открытия новых путей для других проектов. Oscar – это проект, направленный на улучшение разработки открытого ПО с помощью автоматизации процессов поддержки исходного кода. Используя большие языковые модели (LLM) для анализа и преобразования текста в код, Oscar фокусируется на рутинных задачах, таких как обработка вопросов и сопоставление их с документацией. Проект уже показал успешные результаты с ботом @gabyhelp в трекере задач Go.

Russ выразил гордость за достижения сообщества Go, а также полную уверенность в Austin и Cherry, как новых лидерах, Roland Shoemaker, который продолжит руководить безопасностью Go, и в Rob Findley и Hana Kim, которые продолжат руководить инструментами Go и поддержкой IDE.

Поздравляем Austin Clements и Cherry Mui с новыми ролями и благодарим Russ Cox за его неоценимый вклад в развитие Go!

>>> Подробности (google.com)

ei-grad
()
Новости — Разработка

Выпуск Go 1.22

 ,

Группа Разработка

Представлен релиз языка программирования Go 1.22, который развивается компанией Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Код проекта распространяется под лицензией BSD.

Синтаксис Go основан на привычных элементах языка Си с отдельными заимствованиями из языка Оберон. Язык достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно, без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке Си.

( читать дальше... )

>>> Подробности (OpenNet) (opennet.ru)

LongLiveUbuntu
()
Новости — Разработка

GitHub CLI 2.40.0

 , , , ,

GitHub CLI 2.40.0
Группа Разработка

7 декабря состоялся выпуск 2.40.0 консольной утилиты GitHub CLI, написанной на языке Go и распространяемой по лицензии MIT.
Выпуск сфокусирован на поддержке нескольких учетных записей на GitHub.com и GitHub Enterprise:

  • добавление нескольких учетных записей для GitHub.com и GitHub Enterprise командой gh auth login;
  • ручное переключение между учетными записями в gh и git командой gh auth switch;
  • просмотр статуса нескольких учетных записей командой gh auth status;
  • выход из аккаунтов командой gh auth logout.

Другие изменения:

  • улучшена обработка ошибок при создании пространств кода с именем, превышающим 48 символов;
  • улучшена обработка ошибок статуса аутентификации при проблемах с соединением;
  • добавлена возможность фильтрации по коммиту в команде gh run : gh run list -c <коммит>
  • более информативный вывод pr merge в интерактивном режиме;
  • унификация разметки встроенной справки;
  • добавлен индикатор прогресса при установке расширений;
  • поддержка нескольких учетных записей на одном хосте;
  • другие технические изменения.

>>> Подробности (github.com)

dataman
()
Новости — Open Source

Comentario 3.0.0

 , ,

Comentario 3.0.0
Группа Open Source

После семи месяцев разработки выпущено мажорное обновление сервера комментариев Comentario 3.0.0.

Comentario — это быстрый и мощный свободный сервер комментариев для веб-страниц, написанный на Go и Angular. Изначально он появился в виде форка Commento, популярного сервера комментариев, ныне заброшенного.

( читать дальше... )

>>> Подробности (yktoo.me)

yktoo
()
Новости — Разработка

GitHub CLI 2.23.0

 , , ,

GitHub CLI 2.23.0
Группа Разработка

Обновился официальный клиент командной строки для GitHub.

Что нового:

  • repo fork: добавлен ключ --default-branch-only;
  • repo edit: выводится запрос при изменении доступности репозитория.

Исправления:

  • run: исправление ошибки целочисленного переполнения при более чем 255 попытках запуска;
  • extension browse: улучшение удобства использования;
  • исправление управляющих символов ANSII, возвращаемых с сервера;
  • другие изменения. :)

Программа написана на языке Go, исходный текст распространяется по лицензии MIT.

>>> Подробности (github.com)

dataman
()
Новости — Разработка

ErgoFramework 2.2

 , ,

Группа Разработка

Состоялся очередной релиз ErgoFramework, реализующего полный сетевой стек Erlang и его библиотеку OTP на языке Go.

Фреймворк предоставляет разработчику гибкий инструментарий из мира Erlang для создания распределённых решений на языке Go с помощью готовых шаблонов проектирования общего назначения gen.Application, gen.Supervisor и gen.Server. а также специализированных - gen.Stage (distributed pub/sub), gen.Saga (distributed transactions. реализация шаблона проектирования SAGA) и gen.Raft (реализация протокола Raft).

( читать дальше... )

Код проекта распространяется под лицензией MIT.

>>> Подробности (github.com)

ergo
()