Рубрика «open source» - 117

Представляю Вашему вниманию перевод публикации о новой версии всеми любимого языка программирования Rust.

Введение

Команда по разработке языка программирования Rust рада анонсировать новую версию, 1.35.0. Rust — это язык программирования, позволяющий каждому разрабатывать надёжное и быстрое ПО.

Если предыдущую версию Rust Вы установили средствами rustup, получение текущей версии не составит особого труда:

$ rustup update stable

Если у Вас всё ещё нет rustup, Вы можете получить его с соответствующей страницы на нашем сайте. Детальный обзор данного релиза доступен на GitHub.

Читать полностью »

cover

Мы очень рады объявить о начале бета-тестирования GitHub Sponsors ― нового способа финансовой поддержки разработчиков программного обеспечения с открытым исходным кодом, которое мы используем каждый день. Участники open source комьюнити создают инструменты для каждого из нас и GitHub Sponsors ― это новый способ помогающий с финансированием их проектов.

Читать полностью »

OpenCV 4.0 и 4.1 — что нового? - 1

Мы возвращаемся к рассказу об open source библиотеке компьютерного зрения OpenCV. Проект живет и развивается, движимый командой разработчиков, работающих в компании Intel, а также неугасающей поддержкой community. В конце 2018 года увидел свет первый стабильный релиз из ветки 4.х, а буквально месяц назад вышло новое обновление — версия 4.1. Мы попросили авторов библиотеки перечислить кратко, что нового привнесли эти две версии в функционал OpenCV.
Читать полностью »

На днях в блоге Elastic появилась запись, в которой сообщается о том, что основные security-функции Elasticsearch, выведенные в open source-пространство более года назад, теперь являются бесплатными для пользователей.

В официальной блогозаписи содержатся «правильные» слова о том, что open source должен быть бесплатным и что владельцы проекта строят свой бизнес на прочих дополнительных функциях, которые предлагаются ими для enterprise-решений. Теперь в базовые сборки версий 6.8.0 и 7.1.0 включены следующие security-функции, ранее доступные только по gold-подписке:

  • TLS для шифрованной связи.
  • Файл и native-реалм для создания и управления пользовательскими записями.
  • Управление доступом пользователей к API и кластеру на базе ролей; допускается многопользовательский доступ к Kibana с использованием Kibana Spaces.

Однако перевод security-функций в бесплатную секцию — это не широкий жест, а попытка создать дистанцию между коммерческим продуктом и его главными болячками.

А они у него есть и серьезные.
Читать полностью »

При выполнении запросов в ClickHouse можно обратить внимание, что в профайлере на одном из первых мест часто видна функция LZ_decompress_fast. Почему так происходит? Этот вопрос стал поводом для целого исследования по выбору лучшего алгоритма разжатия. Здесь я публикую исследование целиком, а короткую версию можно узнать из моего доклада на HighLoad++ Siberia.

Данные в ClickHouse хранятся в сжатом виде. А во время выполнения запросов ClickHouse старается почти ничего не делать — использовать минимум ресурсов CPU. Бывает, что все вычисления, на которые могло тратиться время, уже хорошо оптимизированы, да и запрос хорошо написан пользователем. Тогда остаётся выполнить разжатие.

Как ускорить разжатие LZ4 в ClickHouse - 1

Вопрос — почему разжатие LZ4 может быть узким местом? Казалось бы, LZ4 — очень лёгкий алгоритм: скорость разжатия, в зависимости от данных, обычно составляет от 1 до 3 ГБ/с на одно процессорное ядро. Это уже существенно больше скорости работы дисковой подсистемы. Более того, мы используем все доступные ядра, а разжатие линейно масштабируется по всем физическим ядрам.

Читать полностью »

Конфиденциальность данных, IoT и Mozilla WebThings - 1

От переводчика: краткий пересказ статьи

Централизация устройств умного дома (вроде Apple Home Kit, Xiaomi и прочих) — это плохо, потому что:

  1. Пользователь становится зависим от определённого вендора, ведь устройства не могут общаться между собой за пределами одного производителя;
  2. Вендоры используют даные о пользователях по своему усмотрению, не оставляя пользователю выбора;
  3. Централизация делает пользователя более уязвимым, поскольку при хакерской атаке становятся уязвимыми сразу миллионы пользователей.

Mozilla провели исследование, в котором выяснили:

  1. Некоторые пользователи готовы пожертвовать конфиденциальностью данных ради комфорта;
  2. Большинство привыкло, что о них собирают данные, и удивляются, когда этого не происходит;
  3. Значительной части пользователей хотелось бы отказаться от слежки, но у них нет выбора.

Mozilla развивает свой стандарт умного дома, и призывает всех идти к децентрализации и изоляции. Их шлюз WebThings вообще не собирает никаких данных, и может работать полностью автономно.

Дальше пойдут подробности, ссылки, результаты исследований Mozilla.

Устройства умного дома помогают сделать жизнь чуточку легче, но в то же время для работы они требуют передачи контроля над вашей информацией своим компаниям-производителям. В недавней статье от New York Times Privacy Project о защите конфиденциальности онлайн, автор рекомендовал покупать устройства IoT только в том случае, когда пользователь «готов пожертвовать некоторой приватностью ради удобства».

Читать полностью »

Автор — Сальваторе Санфилиппо, разработчик и мейнтейнер свободной СУБД Redis

Несколько месяцев назад мне написал мейнтейнер одного системного open source проекта с довольно большим и активным сообществом. Он написал, что много лет изо всех сил пытается поддерживать свой проект, но испытывает серьёзную психологическую нагрузку. Просил совета. Я ответил, что вряд ли в состоянии дать совет, но пообещал написать пост в блоге о том, что думаю по этому поводу.

Прошло несколько недель, я несколько раз начинал писать этот пост и останавливался, потому что не было времени хорошенько всё обдумать. Теперь, кажется, я завершил самоанализ своих слабостей, трудностей и желания свободы. Эти чувства неизбежно охватывают человеческий разум, когда он концентрируется на какой-то задаче, а в течение длительного времени проявляется негативный аспект. Безусловно, поддержка проекта Open Source также приносит много радости и удовольствия. Последние десять лет моей профессиональной жизни, безусловно, запомнятся надолго. Это хорошие годы, хотя и не самые лучшие (ещё веселее было во время запуска). Но здесь я сосредоточусь на негативной стороне. Просто имейте в виду, что есть и положительные моменты.
Читать полностью »

Зачем хранить все данные в памяти?

Для хранения данных сайта или бекэнда первым желанием большинства здравомыслящих людей будет SQL база данных. 

Но иногда в голову приходит мысль что модель данных не подходит для SQL: например, при построении поиска или социального графа нужен поиск по сложным связям между объектами. 

Хуже всего ситуация, когда работаете в команде, и коллега не умеет строить быстрые запросы. Сколько времени вы потратили на решение проблем N+1 и на построение дополнительных индексов, чтобы SELECT на главной странице отрабатывал за разумное время?

Другим популярным подходом является NoSQL. Несколько лет назад был большой хайп вокруг этой темы — для любого удобного случая разворачивали MongoDB и радовались ответам в виде json-документов (кстати, сколько костылей пришлось вставить из-за циклических ссылок в документах?).

Почему бы не попробовать хранить все данные в памяти приложения, периодически сохраняя в произвольное хранилище (файл, удаленная база данных)? 

Читать полностью »

Microsoft обеспечит пользователям контроль над их онлайн-личностью - 1

Инженеры Microsoft хотят, чтобы пользователи не полагались на Google, Facebook и прочих интернет-гигантов при авторизации на онлайн-ресурсах. Новое решение, которое уже можно протестировать в пилотном режиме, применяет блокчейн-технологии, чтобы обеспечить всем желающим полный контроль над их идентификационными данными.
Читать полностью »

Пару лет назад мы опубликовали RESTinio — свой небольшой OpenSource C++фреймворк для встраивания HTTP-сервера в C++ приложения. Мегапопулярным за это время RESTinio не стал, но и не потерялся. Кто-то выбирает его за "родную" поддержку Windows, кто-то за какие-то отдельные фичи (вроде поддержки sendfile), кто-то за соотношение возможностей, простоты использования и настраиваемости. Но, думаю, изначально многих RESTinio привлекает вот этим лаконичным "Hello, World"-ом:

#include <restinio/all.hpp>
int main()
{
    restinio::run(
        restinio::on_this_thread()
        .port(8080)
        .address("localhost")
        .request_handler([](auto req) {
            return req->create_response().set_body("Hello, World!").done();
        }));
    return 0;
}

Это, действительно, все, что нужно чтобы запустить HTTP-сервер внутри C++ приложения.

И хотя мы всегда стараемся говорить, что ключевой фичей, ради которой мы вообще занялись RESTinio, была асинхронная обработка входящих запросов, все равно периодически сталкиваемся с вопросами о том, как быть, если внутри request_handler-а приходится выполнять длительные операции.

А раз такой вопрос актуален, то можно еще раз о нем поговорить и привести парочку небольших примеров.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js