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

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

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

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

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

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

 

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

 

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

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

 

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

 

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

UDV NTA 2.0 подключила генеративный ИИ к анализу сетевых атак

UDV Group выпустила UDV NTA 2.0 — новую версию системы анализа сетевого трафика с ИИ-ассистентом. Он должен помочь аналитикам SOC быстрее понимать, что именно происходит в сети и насколько обнаруженная активность опасна для конкретной компании.

Обычная NTA видит подозрительные соединения, отклонения и признаки атак, но не всегда понимает, что перед ней: вторжение или очередной хитрый бизнес-процесс, о котором забыли предупредить безопасников.

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

UDV Group называет разработку первым российским NTA-решением с генеративным ИИ. По замыслу компании, ассистент должен сократить поток нерелевантных срабатываний и избавить специалистов от части ручной рутины.

Одним ИИ обновление не ограничилось. UDV NTA 2.0 научилась проверять IP-адреса, домены, URL и хеши по встроенным или пользовательским репутационным спискам.

Сигнатурный анализ теперь учитывает положение узла относительно периметра, а переработанная логика обнаружения DNS-туннелей должна выдавать меньше ложных тревог.

Разработчики также ускорили проактивный поиск угроз. На нагруженных инсталляциях список сетевых сессий загружается в десятки раз быстрее, подсчёт по фильтрам ускорился на 20%, а потребление оперативной памяти сократилось вдвое.

Кроме того, система получила поиск по частичному совпадению доменов и поддержку новых корпоративных и промышленных протоколов, включая Modbus RTU over TCP, Regul, SSDP, mDNS, LLMNR, RTSP, PTP и протоколы Zabbix.

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