Вышел Golang 1.17
Как всегда, релиз следует обещанию совместимости с Go 1.x. А значит что все существующие программы так же будут собираться Golang 1.17.
( читать дальше... )
>>> Подробности
Всего сообщений: 79
Как всегда, релиз следует обещанию совместимости с Go 1.x. А значит что все существующие программы так же будут собираться Golang 1.17.
( читать дальше... )
>>> Подробности
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.
>>> Подробности
В статье автор описывает успешный проект Discord, в котором Rust используется для потоковой обработки в Go Live и их Elixir NIFs’ сервере.
Автор пишет
«Хочу отметить, что мы потратили очень мало усилий на оптимизацию реализации на Rust. Но даже только с базовой оптимизацией Rust оказался быстрее супероптимизированной реализации на Go. Это заметный плюс для Rust, показывающий, насколько легко писать эффективные программы, используя Rust, по сравнению с глубоким погружением в Go.»
Выпущено обновление молодого и динамично развивающегося GTK-клиента для Music Player Daemon — Ymuse 0.17.
( читать дальше... )
Ymuse — это клиент для MPD, написанный на Go/GTK3 и доступный как в виде snap-пакета, так и в deb и rpm.
>>> Подробности
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.
>>> Подробности
Вышел очередной релиз молодого, но перспективного GTK-клиента для Music Player Daemon — Ymuse 0.16.
В данном релизе исправлена пара проблем с отзывчивостью приложения при рестарте MPD, а также добавлены регулятор громкости демона и настройка для скрытия панели инструментов.
Ymuse — это клиент для MPD, написанный на Go/GTK3 и доступный как в виде snap-пакета, так и в deb и rpm.
>>> Подробности
Вышла новая версия 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-админки.
Встроенный блокировщик: пользователь может настроить политику автоблокировки подозрительных клиентов.
>>> Подробности
Закрытие этих сервисов будет поэтапным:
В качестве альтернатив предлагаются:
Совсем недавно (13 января этого года) созданный сервис ConanCenter, предоставляющий репозиторий пакетов Conan для разработчиков на C/C++, продолжит работать. Он получил дополнительное финансирование.
>>> Подробности
Состоялся выпуск экспериментального клиента Riot P2P.
Riot — изначально клиент для федеративной сети Matrix. P2P-модификация добавляет в клиент реализацию сервера и федерацию без использования централизованного DNS посредством интеграции libp2p, которая также используется в IPFS. Это первая версия клиента, которая сохраняет сессию после перезагрузки страницы, но в следующих мажорных обновлениях (например, 0.2.0) данные всё равно будут удалены. Поэтому использовать клиент для чего-то важного не рекомендуется.
В клиенте реализована федерация, создание комнат и отображение глобального (бессерверного!) каталога комнат.
При этом основная сеть Matrix, использующая DNS, и сеть Matrix на libp2p пока что не могут федерироваться и взаимодействовать друг с другом.
Для использования клиента достаточно нажать кнопку входа, после чего вы получите сгенерированный ID в сети. Экспорт данных пока не поддерживается.
Так как это нестабильная презентация возможной концепции, вы можете столкнуться с неприятностями:
( читать дальше... )
Существует также вариант Riot P2P для Android, основанный на коде старого приложения. В будущем планируется перевести его на актуальный RiotX.
Кроме того
Представлен проект TARDIS (Time Agnostic Room DAG Inspection Service) — отладчик линейного графа событий (DAG) для Matrix-комнат на основе Riot P2P.
В проекте Conduit (разрабатываемом сообществом сервере на языке Rust) теперь реализованы шифрование и вложения.
Появился экспериментальный сервер на Scala — Mascarene.
>>> Подробности
Вышел язык программирования Go 1.13, основные нововведения:
Это последний выпуск, который будет работать на Native Client (NaCl).
>>> Подробности
tl — кроссплатформенное веб-приложение с открытым кодом (GitLab) для переводчиков художественной литературы. Приложение бьёт загружаемые тексты на фрагменты по символу новой строки и располагает их в две колонки (оригинал и перевод).
Основные изменения:
>>> Подробности
Nixery – это Docker-совместимый реестр контейнеров, способный создавать образы контейнеров с помощью Nix.
В настоящее время основное внимание уделяется целевому созданию образов контейнеров.
Nixery поддерживает создание образов по запросу, основанных на
image name. Каждый пакет, который пользователь включает в образ, указывается в качестве пути компонента имени. Компоненты пути ссылаются на ключи верхнего уровня в nixpkgs и используются для создания образа контейнера с использованием функциональности Nix – buildLayeredImage.
Мета-пакет shell предоставляет базу образов со основными компонентами ядра (такими, как bash и coreutils).
Пример доступен по ссылке.
>>> Подробности
Hugo – это статический генератор HTML и CSS веб-сайтов, написанный на Go.
Улучшения следующие:
Templates:
Merge.float64 и их сравнения.Where.In.Core:
symdiff тест.OutputFormats.Get тесты.in/uniq с использованием Pages.Permalinkable.И многое другое.
>>> Подробности
Юбилейный десятый DevConf пройдет в этом году 21-22 июня в X-perience Hall.
Как всегда - Вы решаете, кто попадет в программу секции Backend - голосуйте за интересные доклады, список заявок под катом
( читать дальше... )
>>> Подробности
TinyGo – это компилятор языка Go, предназначенный для использования в таких областях, как микроконтроллеры, WASM, а также разработки утилит командной строки.
TinyGo использует утилиты и библиотеки, написанные в проекте Go, при этом предоставляя альтернативный метод компиляции программ на основе наработок проекта LLVM.
( читать дальше... )
>>> TinyGo.org
Состоялся релиз Syncthing – открытого кроссплатформенного средства, созданного для замены проприетарных облаков и средств синхронизации чем-то открытым, доверенным и децентрализованным. Syncthing написан на языке Go и распространяется на условиях Mozilla Public License 2.0.
Добавлена новая опция copyOwnershipFromParent, установленная по умолчанию в false (оставляет старое поведение, когда информация о владельце не копируется).ormation.
Использование больших блоков включено по умолчанию для новых директорий.
>>> Страница проекта
>>> Исходные коды
>>> Подробности
Caddy — HTTP/2 веб-сервер с автоматическим HTTPS.
Изменения:
>>> Подробности
Состоялся первый мажорный релиз Syncthing – открытого кроссплатформенного средства, созданного для замены проприетарных облаков и средств синхронизации чем-то открытым, доверенным и децентрализованным. Syncthing написан на языке Go и распространяется на условиях Mozilla Public License 2.0.
Приватность – пользовательские данные хранятся только на устройствах пользователя.
Децентрализованность – отсутствие центрального сервера исключает возможность компрометации данных его владельцем.
Шифрование – защита передачи данных основана на широко известных и проверенных протоколах, с поддержкой perfect forward secrecy.
Аутентификация – каждый узел идентифицируется по криптографическому сертификату, при этом только явно доверенные сторонние узлы могут подсоединяться к вашему кластеру.
Графический интерфейс на основе Web GUI.
Кроссплатформенность – в рамках единой кодовой базы поддерживаются GNU/Linux, Android, FreeBSD, Solaris, OpenBSD, macOS, Windows, а также все остальные операционные системы и архитектуры, поддержка которых включена в Go.
Простота – Syncthing не требует длительной настройки, он просто работает, как в рамках локальной сети, так и глобальной.
Каждое устройство имеет уникальный идентификатор, передавая который возможно давать доступ к файлам и директориям.
Добавлена опция для ограничения количества одновременных сканирований директорий.
Добавлены опции усиления безопасности при работе с systemd.
В графическом интерфейсе теперь отображаются ограничения скорости.
Возможность отображения локально измененных файлов для директорий, настроенных только для приема файлов.
>>> Страница проекта
>>> Исходные коды
>>> Анонс
Go — язык программирования с открытым исходным кодом.
Вчера вышли версии 1.11.3 и 1.10.6, где закрыты три недавно обнаруженные проблемы безопасности.
Изменения:
go get -u;
crypto/x509 цепочки сертификатов неограниченной длины.>>> Подробности
Ядро было написано аспирантом MIT Cody Cutler в рамках исследования «The benefits and costs of writing a POSIX kernel in a high-level language» и доступно на GitHub странице MIT PDOS (Parallel and Distributed Operating Systems group at MIT CSAIL) под лицензией MIT.
Biscuit неплохо документирован и содержит 27 тысяч строк на Go, из которых всего 90 функций содержат небезопасные вызовы («unsafe»), необходимые для задач вроде доступа к регистрам процессора. Есть также небольшой загрузчик, написанный на ассемблере.
( читать дальше... )
>>> Подробности
| следующие → |