LINUX.ORG.RU

Go


204

9

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

Выпуск Go 1.22

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

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

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

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

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

 ,

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 в интерактивном режиме;
  • унификация разметки встроенной справки;
  • добавлен индикатор прогресса при установке расширений;
  • поддержка нескольких учетных записей на одном хосте;
  • другие технические изменения.

>>> Подробности

 , , , ,

dataman
()

Comentario 3.0.0

Comentario 3.0.0
Группа Open Source

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

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

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

>>> Подробности

 , ,

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.

>>> Подробности

 , , ,

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.

>>> Подробности

 , ,

ergo
()

Ergo Framework 2.1

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

Ergo Framework — фреймворк на основе акторов для создания микросервисов с использованием технологий и шаблонов проектирования Erlang/OTP в Golang

Фреймворк предоставляет разработчику гибкий инструментарий из мира Erlang для создания распределённых решений на языке Go с помощью готовых шаблонов проектирования gen.Application, gen.Supervisor и gen.Server. Поскольку в языке Go отсутствует прямой аналог процесса Erlang, то во фреймворке используются goroutine как основы для gen.Server с обёрткой recover для возможности обработки исключительных ситуаций.

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

Ключевые новшества в этом релизе:

  • сompression;
  • proxy с поддержкой оконечного (end-to-end) шифрования;
  • gen.Raft - реализация алгоритма консенсуса Raft;
  • множество других новшеств и улучшений.

>>> Подробности

 , , , ,

ergo
()

Go 1.18

Группа Open Source

Вышла новая версия языка программирования Go — 1.18. Основные изменения:

  • реализованы «псевдогенерики» — можно написать «обобщённую» функцию, если заранее перечислить все типы аргументов, для которых применима эта функция;
  • добавлена поддержка синхронной разработки сразу нескольких модулей с помощью нового инструментария workspace;
  • за счёт изменения соглашения о вызовах функций увеличена производительность на платформах Apple M1, ARM64, и PowerPC64 (до 20% в некоторых случаях).

>>> Подробности

 

LamerOk
()

telegabber 1.0.1

Группа Open Source

Telegabber — это порт транспорта Zhabogram на Go. Поддерживает новые 64-разрядные ID пользователей, а также отличается лучшей производительностью.

Назначение транспорта — связывать учётные записи в Jabber и Telegram, что позволяет использовать Telegram из любого Jabber-клиента.

Для сборки требуется TDlib 1.8 и Go ≥1.13, остальные зависимости скачиваются сборочной системой автоматически.

Основные возможности:

  • авторизация в Telegram;
  • отправка, приём, удаление и редактирование сообщений и вложений;
  • добавление и удаление контактов;
  • синхронизация списка контактов, статусов и VCard;
  • управление группами/аккаунтом Telegram;
  • создание и приём секретных чатов.

>>> Подробности

 , , ,

bodqhrohro_is_back
()

Вышел Golang 1.17

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

Как всегда, релиз следует обещанию совместимости с Go 1.x. А значит что все существующие программы так же будут собираться Golang 1.17.

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

>>> Подробности

 

lazy8
()

Nokia передала все права на Plan 9 Фонду Plan9

Nokia передала все права на Plan 9 Фонду Plan9
Группа Open Source

23 марта 2021 года 13-ый Президент Bell Labs (Nokia) Маркус Велдон анонсировал новый этап в развитии операционной системы Plan 9

Nokia передала все права на Plan 9 Фонду Plan9

Страница с кодом и релизами Plan 9 возрождена по адресу p9f.org.

«Мне же просто остается разбить метафорическую бутылку шампанского, отправляя Plan9 навстречу неизведанному» — отметил Маркус Велдон.

Plan9 — операционная система, созданная в конце 80-ых прошлого века в недрах Bell Labs создателями UNIX (Деннис Ритчи, Кен Томпсон, Роб Пайк и другие). Plan 9 не смог стать продуктом и остался игрушкой энтузиастов. Но именно Plan 9 подарил миру UTF-8 и procfs. Протокол Plan 9 «9P» до сих пор используется libvirt и Windows Subsystem for Linux. Plan 9 является родной, материнской средой для современного языка программирования Golang, который практически вырос из недр Plan 9.

>>> Подробности

 ,

Shaman007
()

Почему Discord сменил Go на Rust. Блог разработчика.

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

В статье автор описывает успешный проект Discord, в котором Rust используется для потоковой обработки в Go Live и их Elixir NIFs’ сервере.

Автор пишет
«Хочу отметить, что мы потратили очень мало усилий на оптимизацию реализации на Rust. Но даже только с базовой оптимизацией Rust оказался быстрее супероптимизированной реализации на Go. Это заметный плюс для Rust, показывающий, насколько легко писать эффективные программы, используя Rust, по сравнению с глубоким погружением в Go.»

>>> Why Discord is switching from Go to Rust

 , ,

grim
()

Релиз MPD-клиента Ymuse 0.17

Группа Мультимедиа

Выпущено обновление молодого и динамично развивающегося GTK-клиента для Music Player Daemon — Ymuse 0.17.

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

Ymuse — это клиент для MPD, написанный на Go/GTK3 и доступный как в виде snap-пакета, так и в deb и rpm.

>>> Подробности

 , , , ,

yktoo
()

Будущее ownCloud в микросервисах: ownCloud Infinite Scale

Группа Open Source

ownCloud переходит на новую, созданную с нуля архитектуру, используя бэкенд в виде микросервисов на Go и фронтенд на Vue.js, распределённое файловое хранилище с помощью EOS от CERN, и отказывается от использования базы данных.

До этих архитектурных изменений основным продуктом ownCloud был коммерческий движкок для хранения и обмена файлами, написанный на PHP. ownCloud предоставляет сообществу версию со свободным исходным кодом, однако из-за недоверия к компании и их подходу разработки, оригинальная команда разработчиков отделилась и создала форк под названием Nextcloud. С тех пор у ownCloud наблюдался продолжительный застой в развитии.

ownCloud заявляют, что отказ от старого движка на PHP с использованием базы данных и POSIX-совместмых файловых систем в пользу нового стека технологий даёт прирост в производительности до 10 раз. В процессе создания этой версии фокус был сосредоточен на параллелизме: если движку на PHP приходилось ждать окончания выполнения функций, то Go позволяет выполнять их одновременно.

Если прошлая архитектура движка не решала проблемы масштабируемости дискового пространства, то сейчас же основным способом хранения файлов предлагается программное обеспечение промышленного масштаба — EOS. Оно было разработано CERN и используется для их архива данных размером в 200 петабайт. В то же время всё ещё доступны опции для хранения файлов с помощью Samba, объектного хранилища S3 и поверх обычных файловых систем. Хранение данных на EOS ориентировано на множество дисков, обеспечивая избыточность и отсутствие единой точки отказа.

Основным способом аутентификации выбраны внешние провайдеры, вроде LDAP и Active Directory, но в то же время всё ещё доступна опция для локального хранения идентификаторов пользователей.

Новый фронтенд с использованием фреймоворка Vue.js так же сосредоточен на производительность и параллельное выполнение задач. По сравнению с прошлой итерацией, интерфейс претерпел изменения в дизайне и стал меньше.

Для взаимодействия с бэкендом используется механизм gRPC. Бэкенд и фронтенд полностью независимы друг от друга, а для балансировки их трафика используется веб-сервер Traefik. Ввиду этого изменения, ownCloud подразумевается расширять таким же образом: с помощью микросервисов, обращающихся к бэкенду с помощью gRPC и балансировки их трафика с помощью Traefik. Такая модульная архитектура, сосредоточенная на вызовах gRPC, также свела на нет необходимость в использовании реляционной базы данных.

На данный момент проект всё ещё на стадии технического превью и выпускает новые версии каждые три недели. Проект распространяется под лицензией Apache License 2.0.

>>> Подробности

 , , , ,

commagray
()

Релиз MPD-клиента Ymuse 0.16

Группа Мультимедиа

Вышел очередной релиз молодого, но перспективного GTK-клиента для Music Player Daemon — Ymuse 0.16.

В данном релизе исправлена пара проблем с отзывчивостью приложения при рестарте MPD, а также добавлены регулятор громкости демона и настройка для скрытия панели инструментов.

Ymuse — это клиент для MPD, написанный на Go/GTK3 и доступный как в виде snap-пакета, так и в deb и rpm.

>>> Подробности

 , , , ,

yktoo
()

SFTPGo 2.0.0

Группа Open Source

Вышла новая версия SFTPGo — SFTP-сервера с обширными возможностями, написанного на языке Go. Помимо протокола SFTP, сервер также поддерживает FTP/S и WebDAV. В качестве внутреннего хранилища поддерживаются локальные ФС, зашифрованные ФС, S3-совместимые хранилища, хранилища Google Cloud и Azure Blob Storage, а также другие SFTP-сервера. SFTPGo может быть запущен в portable режиме, а также имеет веб-интерфейс для администрирования.

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

  • Новая версия REST API v2 с поддержкой роли администратора.

  • Прозрачное шифрование хранимых данных (Data At Rest).

  • Поддержка KMS: учетные записи и ключи теперь могут хранится во внешней KMS (Vault, GCP KMS, AWS KMS).

  • SFTP теперь может использоваться как реализация внутреннего хранилища, позволяя использовать сервер в режиме SFTP-прокси.

  • Двунаправленная аутентификация через TLS (TLS with client certificate authentication) для FTP, WebDAV, REST API и web-админки.

  • Встроенный блокировщик: пользователь может настроить политику автоблокировки подозрительных клиентов.

>>> Подробности

 , ,

cocucka
()

Компания JFrog объявила о скором закрытии сервисов Bintray, JCenter, GoCenter и ChartCenter

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

Закрытие этих сервисов будет поэтапным:

  • Прямо сейчас - никаких изменений
  • 28 февраля - прекратится приём новых данных, вебсайты GoCenter и ChartCenter перестанут работать, однако их сервисы ещё будут доступны
  • с 12 по 26 апреля - подготовка к выключению
  • 1 мая - Bintray, JCenter, GoCenter и ChartCenter полностью перестанут быть доступными

В качестве альтернатив предлагаются:

Совсем недавно (13 января этого года) созданный сервис ConanCenter, предоставляющий репозиторий пакетов Conan для разработчиков на C/C++, продолжит работать. Он получил дополнительное финансирование.

>>> Подробности

 , , , ,

hummer
()

Первый выпуск Peer-to-Peer клиента федеративной сети Matrix

Группа Open Source

Состоялся выпуск экспериментального клиента Riot P2P.

Riot — изначально клиент для федеративной сети Matrix. P2P-модификация добавляет в клиент реализацию сервера и федерацию без использования централизованного DNS посредством интеграции libp2p, которая также используется в IPFS. Это первая версия клиента, которая сохраняет сессию после перезагрузки страницы, но в следующих мажорных обновлениях (например, 0.2.0) данные всё равно будут удалены. Поэтому использовать клиент для чего-то важного не рекомендуется.

В клиенте реализована федерация, создание комнат и отображение глобального (бессерверного!) каталога комнат.

При этом основная сеть Matrix, использующая DNS, и сеть Matrix на libp2p пока что не могут федерироваться и взаимодействовать друг с другом.

Для использования клиента достаточно нажать кнопку входа, после чего вы получите сгенерированный ID в сети. Экспорт данных пока не поддерживается.

Так как это нестабильная презентация возможной концепции, вы можете столкнуться с неприятностями:

  • Вы не сможете зайти в свой аккаунт или взаимодействовать с другими клиентами, если сервер, запущенный в виде Service Worker, будет убит браузером по истечении времени ожидания. Такая проблема замечена у Firefox, который делает это спустя 30 секунд бездействия].
  • На уровне сети libp2p действуют ограничения на количество выполняемых действий по времени, что может вызвать проблемы с федерацией.

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

Существует также вариант Riot P2P для Android, основанный на коде старого приложения. В будущем планируется перевести его на актуальный RiotX.


Кроме того

  • Представлен проект TARDIS (Time Agnostic Room DAG Inspection Service) — отладчик линейного графа событий (DAG) для Matrix-комнат на основе Riot P2P.

  • В проекте Conduit (разрабатываемом сообществом сервере на языке Rust) теперь реализованы шифрование и вложения.

  • Появился экспериментальный сервер на Scala — Mascarene.

>>> Подробности

 dendrite, , , ,

commagray
()

Go 1.13

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

Вышел язык программирования Go 1.13, основные нововведения:

  • Язык Go теперь поддерживает более унифицированный и модернизированный набор префиксов числовых литералов, в том числе для двоичных, восьмеричных, шестнадцатеричных и мнимых литералов.
  • Совместимость с Android 10.
  • Поддержка TLS 1.3 включена по умолчанию в пакете crypto/tls.
  • Поддержка Error wrapping.
  • Unicode 11.0 теперь доступен из пакета Go Unicode.

Это последний выпуск, который будет работать на Native Client (NaCl).

>>> Подробности

 

MaxPower
()

Выпуск tl 1.0.6

Выпуск tl 1.0.6
Группа Open Source

tl — кроссплатформенное веб-приложение с открытым кодом (GitLab) для переводчиков художественной литературы. Приложение бьёт загружаемые тексты на фрагменты по символу новой строки и располагает их в две колонки (оригинал и перевод).

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

  • Плагины времени компиляции для поиска слов и словосочетаний в словарях;
  • Пометки в переводе;
  • Общая статистика по переводу;
  • Статистика сегодняшней (и вчерашней) работы;
  • В фильтре по содержимому теперь можно использовать регулярные выражения (RE2);
  • Если нажат Ctrl при создании варианта перевода, оригинал копируется в перевод;
  • Экспорт на notabenoid (и его клоны), импорт с него, обновление, сравнение;
  • Ссылки на следующую и предыдущую книгу в режиме перевода;
  • Фильтр по названию на главной;
  • Поиск и замена с предварительным просмотром изменений;
  • Плагин для поиска по уже переведённому (по всем книгам);
  • И другое.

>>> Подробности

 ,

opennota
()

Nixery ― ad-hoc реестр контейнеров на базе Nix

Группа Open Source

Nixery – это Docker-совместимый реестр контейнеров, способный создавать образы контейнеров с помощью Nix.

В настоящее время основное внимание уделяется целевому созданию образов контейнеров.

Nixery поддерживает создание образов по запросу, основанных на image name. Каждый пакет, который пользователь включает в образ, указывается в качестве пути компонента имени. Компоненты пути ссылаются на ключи верхнего уровня в nixpkgs и используются для создания образа контейнера с использованием функциональности Nix – buildLayeredImage.

Мета-пакет shell предоставляет базу образов со основными компонентами ядра (такими, как bash и coreutils).

Пример доступен по ссылке.

>>> Подробности

 , , ,

anonymous
()