Как мы делаем Яндекс
2.93K subscribers
353 photos
4 videos
441 links
Сотрудники Яндекса каждый день решают технологические задачки.

В нашем блоге они делятся с сообществом опытом и знаниями.
Download Telegram
В 2023 году Яндекс отразил самую продолжительную непрерывную DDoS-атаку на уровне L7 за всю свою историю — она длилась 88 часов. В этом помог Антиробот — внутренний сервис, в котором применяются ML-модели. Он обучается на новых атаках, учитывает их особенности и предсказывает их поведение в будущем, что помогает выстроить более эффективную защиту.

Никита Захматов, руководитель команды Антиробота, рассказал, как устроен этот сервис и на каких трёх компонентах базируется успешное отражение DDoS-атак.
Яндекс Телемост — сервис для организации видеовстреч. Сейчас в его основе лежит open source решение Jitsi meet, которое имеет свои ограничения (и сюрпризы).

Дмитрий Некрылов, разработчик бэкенда Телемоста, рассказал на Хабре о том, как встретил один редкий, но интересный плавающий баг, из-за которого происходило раздвоение встреч в конференциях, и как команда решала эту проблему.
Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание. Антон Полухин, один из участников рабочей группы, традиционно поделился свежими новостями и описанием изменений, которые планируются в С++26. Вот некоторые новинки, которые попали в черновик стандарта за последние две встречи:

— запрет возврата из функции ссылок на временное значение,
— [[indeterminate]] и уменьшение количества Undefined Behavior,
— диагностика при =delete;,
— арифметика насыщения,
— линейная алгебра (да-да! BLAS и немного LAPACK),
— индексирование variadic-параметров и шаблонов ...[42],
— вменяемый assert(...),
— и другие приятные мелочи.
Приложениями пользуются разные люди, и некоторым из них для этого нужны вспомогательные технологии — например, скринридеры. Однако в этом случае навигация по страницам и экранам отличается от обычной, поэтому нужно соблюдать несколько правил при сборке интерфейса приложений.

Вячеслав Дорогинин, фронтенд-разработчик WebView клиентского приложения Лавки, рассказал, как его команда адаптировала приложение для работы с популярными скринридерами, с какими трудностями пришлось столкнуться и как удалось их решить.
Яндексовая инсталляция хранилища S3 хранит миллиарды файлов. Это огромные объёмы данных, а также метаданных. Для их хранения команда разработки научилась использовать умное шардирование, и теперь сама управляет нагрузкой между шардами баз.

Из доклада разработчика Павла Левдика узнаем, как устроено S3-хранилище для внутренних пользователей Яндекса и клиентов Yandex Cloud, причём тут гуси, и что нужно сделать, чтобы даже клиенты с самым неудобным паттерном нагрузки не положили сервис.
Инференсом ML-модели называют процесс её работы на конечном устройстве: чем больше мы разгоняем инференс, тем быстрее работает модель. Скорость может зависеть от разных условий, например, от архитектуры модели или от железа, на котором работает устройство.

В посте на Хабре Роман Горб, старший ML-разработчик в команде YandexGPT, рассказал, зачем нужно ускорять инференс, а также рассмотрел разные методы ускорения и фреймворки, которые могут в этом помочь.
Сергей Вальков из B2B-команды Яндекс Маркета рассказал захватывающую историю про миграцию одного из сервисов с Oracle на PostgreSQL, которая началась в середине 2021 года и заняла почти год. На Хабре вас ждёт рассказ о том, как разработчики несколько месяцев чинили тесты и делали трансформер, десятки раз переливали данные, чинили баги незаметно для пользователей и заставили сервис работать быстрее.
Автоматизация сетевой инфраструктуры на первый взгляд кажется не очень интересной задачей. Но всё меняется, когда речь заходит о поддержке тысяч и десятков тысяч устройств от разных вендоров и с разным языком общения.

Вадим Воловик, технический менеджер проектов в Yandex Infrastructure, в новой статье рассказывает о том, как поддерживать актуальные конфигурации одновременно на 20 000 единицах оборудования, и по шагам показывает, как выстроить систему автоматизации для таких масштабов.
Сегодня в Yandex Cloud открылся доступ к тестированию API YandexART — нейросети для генерации изображений и анимаций, которая многим знакома по приложению Шедеврум. Подобные генеративные модели умеют создавать всё более эстетичные изображения, но за этим стоит множество экспериментов исследователей, аналитиков и разработчиков, которые обучают нейросети «рисовать красиво»‎.

В статье на Хабре Сергей Кастрюлин из команды Yandex Research рассказывает о том, какая подготовка данных требуется для обучения таких диффузионных моделей и как исследователи проверяли, что созданные нейросетью изображения действительно нравятся людям.
Ритм-игры — это музыкальные игры, которые основаны на танце или имитации игры на музыкальных инструментах. Игроки должны совершать движения в определённой ритмической последовательности, которая отображается на экране. Но откуда вообще появились такие игры? Возможно, какая-то из них была самой-самой первой и зародила жанр?

Этими вопросами задался смотритель Яндекс Музея Егор Кулешов. В своей статье он рассказал о том, как началась история ритм-игр, рассмотрел процесс развития жанра и показал, в какие игры можно поиграть в Музее.
Карьера мобильного разработчика, который хочет вырасти в большого руководителя, может складываться по-разному. Многие представляют себе стандартную схему карьерного роста: Junior — Middle — Senior — Team Lead — Head Of Function. Но на самом деле в этой сфере намного больше веток и возможностей.

Director of Engineering в Яндекс Go Илья Царёв поделился на Хабре своим опытом карьерного роста и рассказал, какие есть пути развития в мобильной разработке, что делать, если ты уже тимлид, кто такие Individual Contributors и как стать одним из них.
Forwarded from Яндекс
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
За последний год в Яндекс Картах появилось много нового: например, высокодетализированные дороги с подробной разметкой, растительность, а ещё новые, цветные и детальные 3D‑модели достопримечательностей. Их можно увидеть, приблизив, например, Пушкинский музей, главное здание МГУ, Казанский собор и другие известные места во многих городах России и мира.

Михаил Лукашин, старший дизайнер продукта в Яндекс Картах, рассказал об особенностях запуска 3D‑моделей достопримечательностей на Картах, о том, как они помогают пользователям, и, конечно, о тонкостях процесса дизайна и производства.
Сегодня мы запустили сервис Нейро — новый способ поиска ответов на вопросы. Пользователь может задать Нейро любой вопрос, а тот сам подберёт подходящие материалы в Поиске, проанализирует их и соберёт найденную информацию в одном ответе, подкрепив его ссылками на источники. Нейро объединил опыт Яндекса в создании поисковых технологий и больших языковых моделей.

Андрей Сюткин отвечает за ML-трек в Нейро. В своей статье он показал, как выглядит архитектура Нейро и как формируются ответы на технологическом уровне. Ну и, конечно же, рассказал о нейросетях, в том числе о YandexGPT 3, без обучения которых новый сервис просто не увидел бы свет.
Сегодня мы выложили в опенсорс Testplane. Это внутренний инструмент Яндекса, который предназначен для тестирования пользовательских сценариев во фронтенде. Кроме этого, с его помощью можно проверить вёрстку с помощью скриншотного тестирования, выполнить тестирование ваших React-компонентов и запустить клиентские unit-тесты в контексте браузера.

Евгений Константинов из команды разработки инструментов автоматического тестирования в Яндексе рассказал об истории Testplane, в чём преимущества инструмента и как его добавить в свой проект.
Беспилотные автомобили Яндекса уже проехали почти 30 миллионов километров по самым разным дорогам и перевезли десятки тысяч пассажиров. Чтобы это стало возможным, каждую сборку ПО тестируют с помощью симуляций, где алгоритмы могут воссоздавать тысячи разных сцен, к которым автомобиль должен быть готов в реальности.

Александр Чистяков из команды беспилотных автомобилей Яндекса посвятил свой доклад симуляторам: что это, зачем, как это устроено изнутри и какие в симуляции есть подводные камни, неожиданные парадоксы.
Ни для кого не секрет, что мы проектируем электронику наших Станций сами. Наши инженеры с огромным трепетом относятся к каждой плате, которую они создают, уделяя внимание мельчайшим деталям. Можно сказать, вкладывают в каждую Станцию частичку себя.

Проведя с проектом платы огромное количество часов, хочется оставить какое-то невинное и милое послание прямо от создателя к самому искушённому пользователю. Такие послания ещё называют «пасхалками». И да, они есть и в наших Станциях.

Алексей Фоменко из команды Алисы и умных устройств поделился краткой историей разработки некоторых плат в Станциях и показал, какие пасхалки скрывают в себе устройства.
Yandex Query Language (YQL) — универсальный декларативный язык запросов к системам хранения и обработки данных, разработанный в Яндексе. А ещё это один из самых нагруженных сервисов: YQL ежедневно обрабатывает около 800 петабайт данных и 600 000 SQL-запросов, и эти показатели постоянно растут.

Ведущий разработчик Алексей Озерицкий в своей статье рассказал о подходах и технологиях в разработке систем для обработки данных на примере YQL. Основное внимание он уделил переходу от MapReduce к стриминговому движку, который обеспечивает более эффективную обработку данных, вмещающихся в память, и который доступен в опенсорсе.
Как оценить сложность проекта и получить реальные сроки его выполнения? Спойлер: никак, вы все равно ошибётесь в прогнозах. Но можно минимизировать вероятность ошибки и сделать их менее фатальными.

Виктор Брыксин, руководитель разработки Яндекс Телемоста, рассказал в статье на Хабре про рабочие инструменты, которые помогли ему в свое. Если вы не знаете, как подступиться к декомпозиции сложного проекта и с чего начать, — эта статья вам в помощь.
Когда в команде регулярно проводятся ML-эксперименты, разработчики часто сталкиваются с обилием ручных операций при построении пайплайна. Например, когда нужно протестировать код на реальных данных, приходится вручную переносить окружение на удалённую машину, а потом много раз исправлять возникающие проблемы.

Из доклада Артёма Гойлика и Владислава Волоха из команды DataSphere в Yandex Cloud мы узнаем, как эта проблема решалась при создании инфраструктуры для ML‑разработчиков внутри Яндекса, и что привело к созданию сразу двух решений: опенсорс-инструмента и облачного сервиса.