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

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

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

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

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

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

 

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

 

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

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

 

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

 

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

Wildberries зарегистрировал десятки доменов для мессенджера

Wildberries, похоже, стало тесно в границах маркетплейса. ООО «РВБ», объединяющее Wildberries и Russ, зарегистрировало несколько десятков доменов, названия которых указывают на подготовку собственного мессенджера. Среди зарегистрированных адресов можно найти wb-messenger.ru, chat-wb.ru и даже кириллический чат-вб.рф.

Находку в базе «СПАРК-Интерфакс» обнаружил «Коммерсантъ». Само по себе появление доменов ещё не гарантирует скорого запуска сервиса, однако выглядит как вполне прозрачный намёк: компания как минимум застолбила площадки и варианты названия.

Идея мессенджера у Wildberries появилась не вчера. В июне глава компании Татьяна Ким рассказывала, что сервис уже тестируют сотрудники. В дальнейшем его планировалось вывести сначала на российский, а затем и на зарубежные рынки. Официальных подробностей о сроках и возможностях продукта пока нет. «Коммерсантъ» направил запрос в Wildberries & Russ.

Для компании такой поворот выглядит логично. Wildberries располагает огромной аудиторией покупателей, продавцов, курьеров и сотрудников — готовой социальной средой, которую остаётся собрать в одном чате.

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

Финансовый запас для новых экспериментов тоже имеется. Оборот РВБ в России в 2025 году вырос на 49%, до 6,1 трлн рублей, а чистая прибыль — на 68%, до 175 млрд рублей. По данным ФАС, ещё в начале 2024 года Wildberries занимал 47% российского рынка маркетплейсов.

Напомним, ранее также проходила информация о мессенджере «Молния», разрабатываемом компаниями «Ред софт» и Passion и ориентированным на международное взаимодействие.

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