Как стать автором
Обновить
725.16
Яндекс
Как мы делаем Яндекс
Сначала показывать

Как быстрее узнать, что сервису плохо, или Realtime-детекция разладок с помощью CatBoost

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 1.3K
Блог компании Яндекс Высокая производительность *Анализ и проектирование систем *Алгоритмы *Машинное обучение *
Кейс

Через любую высоконагруженную систему ежесекундно проходит огромный поток трафика. Релизы, хотфиксы, ddos-атаки, невалидные и ухудшающие эксперименты и многие другие события могут привести к проблемам, которые влияют на пользователей. Поэтому такие ситуации не терпят задержек.

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

Меня зовут Владимир Точилин, я работаю в группе развития рекламных продуктов и стабильности. Вместе со своим коллегой, Александром Самусенко, я расскажу, как мы создали новый инструмент realtime-детекции разладок в проде рекламных технологий. Мы работаем с системой, где на отдельные кластеры нагрузка превышает 1000000 RPS. 

Историю будет интересно прочитать аналитикам, разработчикам и менеджерам любого уровня.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 3

Обещания — настоящие и не очень

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 11K
Блог компании Яндекс Управление персоналом *Карьера в IT-индустрии
Мнение

Хабр, привет! Меня зовут Настя Абрашитова, я руководитель службы инструментов репозитория в Яндексе. Однажды ко мне пришёл мой знакомый, назовём его Леонид. Он долгое время работал в небольшой компании. Он решил посоветоваться, стоит ли ему увольняться со своей работы или есть смысл остаться. 

С одной стороны, Леонид занимался одним и тем же годами, и ему было скучно. А ещё ему давно не повышали зарплату, которая была ниже рынка. С другой стороны, по его словам, у него были отличные карьерные перспективы. Когда он задумался о смене работы, его СTO сказала, что в ближайшее время собирается уйти на заслуженный отдых и видит в роли своего преемника именно Леонида.

Я решила уточнить, когда это должно случиться. Леонид немного погрустнел и сказал, что они не обсуждали конкретную дату. Более того, этот разговор проходил примерно за два года до того. Я спросила: было ли с тех пор что-то сделано, что приблизило Леонида к позиции СTO? Оказалось, что ничего.

Кажется, история совершенно дикая. Но подобное происходит не редко. Поэтому важно уметь отличать настоящие обещания от пустых. В этом посте я дам несколько советов, которые помогут избежать ситуации, в которую попал Леонид.

Читать далее
Всего голосов 67: ↑63 и ↓4 +59
Комментарии 14

YTsaurus: основная система для хранения и обработки данных Яндекса теперь open source

Время на прочтение 14 мин
Количество просмотров 33K
Блог компании Яндекс Open source *C++ *Big Data *

Привет! Меня зовут Максим Бабенко, я руковожу отделом технологий распределённых вычислений в Яндексе. Сегодня мы выложили в опенсорс платформу YTsaurus — одну из основных инфраструктурных BigData-систем, разработанных в Яндексе.

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

В Github-репозитории находится серверный код YTsaurus, инфраструктура развёртывания с использованием k8s, а также веб-интерфейс системы и клиентский SDK для распространённых языков программирования — C++, Java, Go и Python. Всё это — под лицензией Apache 2.0, что позволяет всем желающим загрузить его на свои серверы, а также дорабатывать его под свои нужды.

Читать далее
Всего голосов 217: ↑216 и ↓1 +215
Комментарии 31

Название имеет значение: как получить оптимизацию, переименовав браузер

Время на прочтение 4 мин
Количество просмотров 30K
Блог компании Яндекс Клиентская оптимизация *Браузеры Компьютерное железо Видеокарты

Всем привет! Меня зовут Максим Смирнов, я руковожу командой, которая работает над производительностью Яндекс Браузера и отвечает за его графическую подсистему. В этой статье я расскажу об одном неочевидном улучшении, которое наша команда внедрила в Браузер для Windows. Если описать его в двух словах, то нам удалось улучшить стабильность и производительность браузера, убедив драйверы видеокарт, что наше приложение — это Google Chrome.

Читать далее
Всего голосов 173: ↑172 и ↓1 +171
Комментарии 77

Полное понимание асинхронности в браузере

Время на прочтение 24 мин
Количество просмотров 38K
Блог компании Яндекс JavaScript *Программирование *Интерфейсы *Браузеры
Про асинхронность JavaScript написано много статей, документации и книг. Но вся информация сильно распределена по интернету, поэтому сложно быстро и полностью разобраться, что к чему, и составить цельную картину в голове. Не хватает одного исчерпывающего гайда. Именно эту потребность я и хочу закрыть своей статьёй.

Читать дальше →
Всего голосов 78: ↑78 и ↓0 +78
Комментарии 25

C++23 — финал, C++26 — начало

Время на прочтение 8 мин
Количество просмотров 24K
Блог компании Яндекс Программирование *C++ *Компиляторы *

С момента моей прошлой публикации состоялось уже две встречи международного комитета по стандартизации C++.

Комитет занимался полировкой C++23:
  • static operator[];
  • static constexpr в constexpr-функциях;
  • безопасный range-based for;
  • взаимодействие std::print с другими консольными выводами;
  • монадический интерфейс для std::expected;
  • static_assert(false) и прочее.

И прорабатывал новые фичи C++26:
  • std::get и std::tuple_size для агрегатов;
  • #embed;
  • получение std::stacktrace из исключений;
  • stackful-корутины.

Подробности
Всего голосов 54: ↑53 и ↓1 +52
Комментарии 34

Ускоряем Cycle Time и растим счастье в команде

Уровень сложности Средний
Время на прочтение 16 мин
Количество просмотров 3.4K
Блог компании Яндекс Блог компании Конференции Олега Бунина (Онтико) Промышленное программирование *Управление разработкой *Управление проектами *


Куда и зачем смотреть, что поменять, чтобы в два раза ускорить командное время от взятия задачи в работу до её попадания в артефакты продакшена? Как при этом не мучить бесполезной рутиной команду, а сделать её счастливее? Для этого нужно автоматизировать подсчёты Cycle Time и научиться правильно читать графики. Посмотрим, как это сделать.

Меня зовут Никита Дубко, я беларус и мастер подземелий в D&D. А ещё — доброжелюбный бородач из подкаста «Веб-стандарты» и руководитель службы разработки HR Tech Яндекса. Моя задача — оптимизация процессов. О том, как я это делаю, и пойдёт речь в статье. Текст написан по мотивам моего доклада на TeamLead Conf 2022.
Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Комментарии 6

Как мы делали AEC для воспроизведения звука через HDMI на Станции Макс

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 8.6K
Блог компании Яндекс Производство и разработка электроники *Умный дом Звук Голосовые интерфейсы *


В недавнем апдейте прошивки для Яндекс Станции Макс мы добавили поддержку вывода звука по кабелю HDMI при просмотре фильмов. Если у вашего телевизора хорошая акустика (или к нему подключена качественная аудиосистема), теперь можно слушать аудиодорожку через неё. Это обновление мы выпустили только сейчас, потому что оно потребовало нетривиальных технических решений. Например, нужно было сделать эхоподавление для HDMI. Вот об этом и поговорим — сначала обсудим историю технологий и проблемы с подавлением собственного звука устройства, а затем перейдём к нашему решению.
Читать дальше →
Всего голосов 35: ↑35 и ↓0 +35
Комментарии 12

О сетевой аварии в Яндексе

Время на прочтение 6 мин
Количество просмотров 78K
Блог компании Яндекс Высокая производительность *Сетевые технологии *Облачные сервисы *Сетевое оборудование
Ретроспектива
6 февраля пользователи могли заметить частичную недоступность сервисов Яндекса. Проблема возникла из-за каскадного сбоя в работе сетевого оборудования.

Основной пик пришёлся на период с 17:03 до 17:50, когда общие потери трафика достигали 40%. Кроме того, в период с 17:03 до 17:13 наблюдалась практически полная потеря IPv6 трафика. Инцидент удалось устранить к 21:30.

Как это произошло и какие выводы мы из этого извлекли — ответим на эти вопросы и поделимся нашим опытом.



Читать дальше →
Всего голосов 234: ↑229 и ↓5 +224
Комментарии 74

Устройства для цветомузыки: откуда они появились и как я собрал их в коллекцию

Время на прочтение 9 мин
Количество просмотров 9.5K
Блог компании Яндекс Производство и разработка электроники *Старое железо Звук
Ретроспектива
Если вбить в поисковик слово «цветомузыка», вы увидите многочисленные объявления о продаже советского дискотечного оборудования, которое наверняка помнят те, чьё детство пришлось на 80-е. Колонки с лампочками, вращающиеся ночники, цветные фонари были тогда почти в каждом доме.

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



Меня зовут Роман Крылов, я восстанавливаю и коллекционирую советские цветомузыкальные устройства. С декабря в Яндекс Музее в Москве и Санкт-Петербурге проходит выставка моей коллекции, она завершится 31 января. В этой статье я расскажу об экспонатах, но сначала немного поговорим об истории появления самой цветомузыки.
Читать дальше →
Всего голосов 66: ↑66 и ↓0 +66
Комментарии 79

Как Яндекс научился распознавать, что написано в рукописных архивах

Время на прочтение 11 мин
Количество просмотров 23K
Блог компании Яндекс Поисковые технологии *Обработка изображений *Машинное обучение *Искусственный интеллект

Привет, Хабр. Меня зовут Саша, в прошлый раз я рассказывал сообществу про поиск организаций в Яндексе. В этот раз мы вновь поговорим про поиск, но уже совершенно другого рода. Сегодня расскажем про «Поиск по архивам». Этот проект вырос из моего личного интереса к истокам семьи, но в итоге (хочется верить!) поможет тысячам других таких же пользователей чуть больше узнать о своих корнях.

Генеалогическое исследование — очень трудоёмкий процесс. Информация о родственниках разбросана по разным архивам, запросы на получение данных могут обрабатываться долго, а доступ даже в открытые архивы ограничен. Несмотря на то что оцифровка архивных документов ведётся уже более десяти лет, по ним не так-то просто искать — придётся отсматривать вручную множество сканов в надежде найти фамилию предка. 

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

Решению этой задачи мы и посвятим историю. А поможет мне с ней Таня @miryable из команды, которая уже много лет развивает в Яндексе технологию оптического распознавания символов (OCR).

Читать далее
Всего голосов 145: ↑144 и ↓1 +143
Комментарии 103

Две культуры программирования: почему обе из них важны?

Время на прочтение 13 мин
Количество просмотров 51K
Блог компании Яндекс Ненормальное программирование *Программирование *Промышленное программирование *
Мнение
Уже несколько лет я замечаю, что программисты и программистские инструменты делятся на две разные культуры:



Изначально я человек первой культуры и очень долгое время считал вторую несерьёзной. Пару-тройку лет назад я окончательно понял, что ошибался. Многие «старички» ошибаются в ту же сторону, а в последние годы ещё большее число людей ошибаются в обратную. Знакомство с соседней культурой и понимание, почему дела в ней делаются так, как там принято, превратит вас в лучшего разработчика.
Читать дальше →
Всего голосов 190: ↑172 и ↓18 +154
Комментарии 106

Мой диплом, или Как собрать вещи и переехать на YDB

Время на прочтение 13 мин
Количество просмотров 11K
Блог компании Яндекс Высокая производительность *Open source *PostgreSQL *Администрирование баз данных *
Меня зовут Арслан, в этом году я делал сервис для построения циклов заказа (например, заказа такси). Возможно, вы видели пост от другого разработчика в команде, Ильи Lol4t0. Всего сервис обрабатывает примерно 5000 RPS с задержкой 100 мс в 99 перцентиле. Раньше для хранения данных использовалась связка PostgreSQL с YT — MapReduce-системой Яндекса.

Обычно информация по заказу нужна в быстром доступе в течение пары часов. На эту парадигму хорошо ложилась архитектура с горячим и холодным хранилищем. Событие создавалось в PostgreSQL, асинхронно реплицировалось в YT, а спустя два часа удалялось из PostgreSQL, никаких проблем. Но со временем начали напрягать несколько вещей: сложность архитектуры, низкая доступность во время проведения работ на PostgreSQL и ограниченная возможность горизонтально масштабировать систему. Мы решили перейти на новую архитектуру с базой данных YDB. Хотели на примере тестового сервиса разобраться, как работать с базой, проверить всё под нагрузкой и реализовать хранение данных исходного сервиса.



Вообще, изначально я написал про это диплом. Но потом подумал, что читателям здесь тоже будет интересно, и всё переделал под Хабр. Если тоже переезжаете на YDB (после выхода в опенсорс это стало проще) или адаптируете систему с базой — заглядывайте. Поговорим о большинстве возможных трудностей при переезде.
Читать дальше →
Всего голосов 34: ↑31 и ↓3 +28
Комментарии 2

Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку

Время на прочтение 28 мин
Количество просмотров 19K
Блог компании Яндекс Open source *Разработка мобильных приложений *Разработка под Android *Kotlin *
✏️ Технотекст 2022


Меня зовут Фёдор Игнаткевич, я делаю приложение Яндекс и мобильный Яндекс Браузер для Android. Примерно год назад я предложил команде идею фреймворка для внедрения зависимостей, который более чем вдвое ускорил сборку обоих проектов и который мы сегодня выложили на Гитхаб — чтобы разработчики других приложений тоже могли улучшить скорость сборки. Я с нуля реализовал фреймворк, а затем мы вместе с командой интегрировали его в проекты и сейчас активно используем.

Как раз про свой опыт разработки я и хочу рассказать. Давайте попробуем разобраться, какие есть факторы замедления сборки, как Yatagan, совместимый с Dagger по API, с ними справляется и какие ещё задачи могут стоять перед DI-фреймворком — например, в части зависимостей под рантайм-условиями. Кстати, нативная поддержка этих зависимостей в Yatagan избавила нас от ручной обработки состояний A/B-экспериментов в DI.

Статья содержит много технических моментов, которые я открыл для себя по ходу исследований. В конце посмотрим, каким проектам Yatagan может быть полезен в качестве замены, а в каких польза от него будет невелика.
Читать дальше →
Всего голосов 70: ↑66 и ↓4 +62
Комментарии 13

Люди и интерфейсы. Рассказ незрячего тестировщика о том, как сервисы Яндекса становятся доступнее

Время на прочтение 17 мин
Количество просмотров 5.7K
Блог компании Яндекс Разработка веб-сайтов *Интерфейсы *Accessibility *Голосовые интерфейсы *
✏️ Технотекст 2022


Привет, меня зовут Анатолий Попко. Последние 15 лет (или около того) я работаю над тем, чтобы технологии становились доступнее для пользователей с различными ограничениями. Участвовал и продолжаю участвовать в работе разных групп и организаций, которые объясняют разработчикам технологий реальные потребности людей, пишут гайды, стандарты и так далее.


Уже много лет я сотрудничаю с Яндексом, а с прошлого года мы вместе строим единые процессы улучшения доступности в сервисах. Это бесконечный путь, всегда можно сделать лучше — текущее состояние продуктов Яндекса тоже не отражает идеальную картину. Я бы хотел рассказать об этой работе и поделиться примерами, которые можно брать и реализовывать где угодно. Поговорим о мифах, о моей работе тестировщиком цифровой доступности, да и в целом о восприятии окружающего мира.

Читать дальше →
Всего голосов 40: ↑39 и ↓1 +38
Комментарии 13

Профайлер Бедного Человека: первое знакомство и (приятные) последствия

Время на прочтение 9 мин
Количество просмотров 10K
Блог компании Яндекс Высокая производительность *Программирование *Серверная оптимизация *Разработка под Linux *


Если вам приходилось оптимизировать работу программ, то вы могли слышать о Профайлере Бедного Человека. Этой идее даже посвящён целый сайт. ПБЧ собирает статистику времени выполнения отдельных функций программы, «подглядывая» в процесс её исполнения с помощью дебаггера. Концепт ПБЧ хорошо прижился у нас в движке баннерной крутилки — не буду в 100 500-й раз напоминать, что у Яндекса всё высоконагруженное, ресурсоёмкое и нуждающееся в профилировании. Статья будет полезна тем, кто пилит инфраструктуру, адаптирует какой-нибудь общеизвестный профайлер под себя или просто хочет больше знать про свои программы. Как мы пришли к необходимости в ПБЧ и что именно сделали? Сейчас постараюсь рассказать, местами буду закапывать глубоко в технологии (если переусердствую, пишите в комментариях). А начну со стандартного инструмента статистического профилирования в Linux — perf.
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Комментарии 20

Как работает автозаполнение в браузерах и что важно учитывать веб-разработчику

Время на прочтение 14 мин
Количество просмотров 14K
Блог компании Яндекс Разработка веб-сайтов *Google Chrome Интерфейсы *Браузеры
✏️ Технотекст 2022

Если человек пользуется автозаполнением в браузере, он ждёт, что сможет быстро заполнять формы на любом сайте, где посчитает нужным. Наладить такой механизм на стороне сайта или веб-приложения несложно, но важно помнить пару вещей — я покажу кейсы, где подходы «в лоб» приводили к непредсказуемым результатам. Чтобы автозаполнение работало эффективно и не нарушало логику, стоит хотя бы примерно представлять, как оно устроено под капотом разных браузеров, которые могут быть у пользователей. Под катом распишу, каким образом движок подставляет данные в формы.
Читать дальше →
Всего голосов 37: ↑36 и ↓1 +35
Комментарии 3

Исследуем микроорганизмы Байкала. Открытый проект MaritimeAI и Yandex Cloud

Время на прочтение 9 мин
Количество просмотров 4.3K
Блог компании Яндекс Open source *Открытые данные *Машинное обучение *Экология


Всем привет! Я работаю в MaritimeAI, и вместе с Yandex Cloud мы строим систему, которая позволяет учёным в НИИ биологии Иркутского государственного университета мониторить экологию озера Байкал.

Ещё недавно подсчёт и определение разнообразных видов планктона сотрудники выполняли вручную: с помощью микроскопа, глаз и бланка, в котором отмечали наличие того или иного организма. Мы решили это автоматизировать — а заодно поделиться датасетом с сообществом на Гитхабе. В конце поста поясню, кому может быть полезен датасет, как он будет обновляться и что ещё появится в репозитории. Но давайте обо всём по порядку.
Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 13

Как Яндекс перепридумал поиск для разработчиков

Время на прочтение 9 мин
Количество просмотров 34K
Блог компании Яндекс Поисковые технологии *Программирование *Алгоритмы *Машинное обучение *
✏️ Технотекст 2022

У вас бывало, что открываешь поиск, ищешь что-то по программированию и не находишь ответ? Тогда эта история для вас. 

Меня зовут Алексей Степанов, я руковожу службой исследований машинного обучения поиска Яндекса. Сегодня я расскажу непростую историю. Она про проблему, до решения которой у нас слишком долго не доходили руки. Из поста вы узнаете, почему стандартная метрика качества поиска не учитывала интересы разработчиков и как мы её улучшили. Расскажу про новую нейросеть CS YATI, обученную понимать таких же айтишников, как и мы. Ну и про грабли на нашем пути тоже расскажу, куда без них.

Этот пост основан на моём докладе с Data Fest 2022, но не во всём (мой коллега Максим Хурсанов @Maxim2207 существенно расширил историю).

Читать далее
Всего голосов 89: ↑87 и ↓2 +85
Комментарии 68

Самая большая BERT-подобная модель на русском, которая поместится на ваш компьютер

Время на прочтение 7 мин
Количество просмотров 14K
Блог компании Яндекс Open source *Машинное обучение *Распределённые системы *Искусственный интеллект
✏️ Технотекст 2022
Привет, это снова Максим Рябинин, исследователь в Yandex Research. В прошлом году я рассказывал на Хабре о том, как вместе с Hugging Face, Университетом Торонто и волонтёрами мы обучили state-of-the-art модель для бенгальского языка и написали об этом статью на конференцию NeurIPS. Теперь хотим поделиться новым результатом: оказывается, технологии для обучения на нестабильном железе находят приложение и внутри привычных всем кластеров.

Используя вычислительную платформу Яндекса, мы обучили RuLeanALBERT — нейросеть, показывающую сравнимые с другими открытыми моделями и где-то даже близкие к state-of-the-art результаты на бенчмарках по пониманию русского языка — Russian SuperGLUE и RuCoLA. Наша модель хотя и имеет миллиарды параметров, но вполне способна вместиться в одну домашнюю GPU: вы можете использовать её в своих проектах для классификации предложений, представления текстов и других языковых задач, не требующих генерации. В статье можно прочитать о подробностях обучения, которые мы реализовали в открытом коде, а чекпоинт теперь тоже доступен всем желающим.


Примерно так выглядит процесс обучения на множестве независимых серверов
Читать дальше →
Всего голосов 52: ↑52 и ↓0 +52
Комментарии 8

Информация

Сайт
www.ya.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия
Представитель