Российским GitHub могут назначить один из существующих репозиториев

Российским GitHub могут назначить один из существующих репозиториев

Российским GitHub могут назначить один из существующих репозиториев

Минцифры РФ предложило правительству отказаться от идеи создания новой платформы под национальный репозиторий открытого кода. Его можно разместить у участника рынка, а средства, выделенные на строительство, вложить в перспективные проекты open-source.

Эксперимент по созданию российского аналога GitHub был задуман несколько лет назад, однако его старт постоянно откладывался из-за отсутствия финансирования. В прошлом году выход был найден: со счетов ликвидированного фонда «Росинфокоминвест» можно снять 1,39 млрд руб. и, таким образом, сдвинуть амбициозный проект с мертвой точки.

Последний раз запуск отложили до конца текущего месяца, однако Минцифры выступило с новым предложением: не строить специальную платформу, а использовать сервис одного из участников рынка.

«Решено выбрать один из уже существующих общедоступных отечественных репозиториев вместо создания новой площадки», — уточнил для прессы представитель министерства.

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

В России существует ряд платформ для работы с исходным кодом, которые могут выступить в качестве аналога. Игроки рынка — в основном крупные компании, такие как «Яндекс», VK, «Ростелеком», Сбер, T1.

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

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

Цена поездки в Яндекс Go — это не расстояние, умноженное на минуты и километры. В расчёт вмешиваются геозоны, спрос, скидки, платные дороги, дополнительные остановки и требования вроде перевозки кота, велосипеда или лыж. Чтобы управлять этим хозяйством без бесконечных деплоев, разработчики вынесли алгоритм ценообразования из кода сервиса в собственный язык.

Как объяснили разработчики в статье на Хабре, прайсинг работает не только при заказе машины.

Он пересчитывает стоимость при смене маршрута или способа оплаты, завершении поездки, обращении в поддержку и проверке данных аналитиками. Цена при этом может быть фиксированной, интервальной или считаться по таксометру.

 

Сначала сервисы параллельно собирают параметры поездки: тарифную категорию, геозоны, скидки, повышенный спрос и дополнительные услуги. Зависимости между источниками выстраиваются в граф, а запросы выполняются асинхронно на базе userver. Если некритичный источник не ответил, весь расчёт не падает.

 

Сам алгоритм раньше можно было бы держать в C++, но он меняется в среднем дважды в неделю. Выкатка сервиса на 50 подов занимает около 40 минут, а лес динамических конфигов быстро превратил бы код в музей условных операторов.

Поэтому Яндекс разработал собственный DSL. В нём есть условия, функции, неизменяемые значения и fold вместо циклов. Правила собираются в последовательную цепочку: каждое преобразование получает текущую цену и параметры, а возвращает новый результат с метаданными. Грамматику описали через ANTLR 4, а верификатор Z3 проверяет, что программа не выдаст некорректную цену.

 

Теперь изменение алгоритма не требует пересборки сервиса, ошибочную версию можно быстро откатить, а каждый расчёт — воспроизвести по входным данным и промежуточным результатам.

 

В итоге прайсинг превратился в отдельную платформу, которой уже пользуются Такси, Доставка и сервис зарядки электромобилей.

RSS: Новости на портале Anti-Malware.ru