Рубрика «Блог компании Яндекс» - 27

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

React & БЭМ – официальная коллаборация. Часть историческая - 1

Все слышали о методологии БЭМ. CSS-селекторы с подчёркиваниями. Компонентный подход, о котором говорят, имея в виду способ написания CSS-селекторов. Но про CSS в статье не будет ни слова. Только JS, только хардкор!

Читать полностью »

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

Как я помогал Алисе не откликаться на другие имена. Стажировка в Яндексе - 1

Читать полностью »

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

Важно писать не только сервисы, которые хорошо работают, но и сервисы, которые хорошо ломаются.

Читать полностью »

Премия имени Ильи Сегаловича. Рассказ о компьютерных науках и публикациях по случаю запуска - 1

Сегодня мы запускаем научную премию имени Ильи Сегаловича iseg. Она будет присуждаться за достижения в области компьютерных наук. Студенты и аспиранты могут подать собственную заявку на премию или выдвинуть научных руководителей. Лауреатов выберут представители академического сообщества и Яндекса. Главные критерии отбора: наличие публикаций и выступлений на конференциях, а также вклад в развитие сообщества.

Первое награждение состоится уже в апреле. В рамках премии молодые учёные получат по 350 тысяч рублей, а кроме того, смогут поехать на международную конференцию, поработать с ментором и пройти стажировку в отделе исследований Яндекса. Научные руководители получат по 700 тысяч рублей.

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

Читать полностью »

Пост подготовили участники команды Облака: Александр Вирилин — руководитель группы сетевой инфраструктуры, Леонид Клюев — редактор

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

Сеть в Облаке состоит из трёх слоёв. Нижний слой — уже упомянутая инфраструктура. Это физическая «железная» сеть внутри дата-центров, между дата-центрами и в местах присоединения к внешним сетям. Поверх сетевой инфраструктуры строится виртуальная сеть, а поверх виртуальной сети — сетевые сервисы. Эта структура не является монолитной: слои пересекаются, виртуальная сеть и сервисы напрямую взаимодействуют с инфраструктурой. Поскольку виртуальную сеть часто называют overlay, то сетевую инфраструктуру мы обычно называем underlay.
Читать полностью »

Беспилотному авто не обойтись без понимания, что находится вокруг и где именно. В декабре прошлого года разработчик Виктор Отлига выступил на «Дата-елке» с докладом о детекции 3D-объектов. Виктор работает в направлении беспилотных автомобилей Яндекса, в группе обработки дорожной ситуации (а также преподаёт в ШАДе). Он объяснил, как мы решаем задачу распознавания других участников дорожного движения в трехмерном облаке точек, чем эта задача отличается от распознавания объектов на изображении и как извлечь пользу из совместного использования разных типов сенсоров.

— Всем привет! Меня зовут Виктор Отлига, я работаю в офисе Яндекса в Минске, занимаюсь разработкой беспилотных автомобилей. Сегодня я расскажу о достаточно важной задаче для беспилотников — распознавании 3D-объектов вокруг нас.
Читать полностью »

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

Меня зовут Андрей Логвинов, я работаю в группе разработки рендеринг-движка Яндекс.Браузера в Нижнем Новгороде. Сегодня я расскажу читателям Хабра о том, как устроено управление памятью в проекте Chromium на примере одной загадочной проблемы, которая приводила к падению производительности в тесте Speedometer. Этот пост основан на моём докладе с мероприятия Яндекс.Изнутри.

История одной проблемы со Speedometer, или Как Chromium управляет памятью - 1

Читать полностью »

Если освоить небольшой список типичных ошибок, возникающих при написании юнит-тестов, то можно даже полюбить писать их. Сегодня руководитель группы разработки Яндекс.Браузера для Android Константин kzaikin Заикин поделится с читателями Хабра своим опытом.

— У меня доклад практический. Надеюсь, он вам всем принесет пользу — и тем, кто юнит-тесты уже пишет, и тем, кто только думает писать, и тем, кто пробует, и у кого не получилось.Читать полностью »

Если одновременно выполняется много операций по изменению схемы БД, сервис не может корректно работать на запись. Разработчик Владимир Колясинский объяснил, какие операции в PostgreSQL требуют длительных блокировок и как команда Яндекс.Коннекта обеспечивает почти стопроцентную доступность сервиса на запись во время выполнения подобных операций. Кроме того, вы узнаете о библиотеке для Django, которая призвана автоматизировать часть описанных процессов.

У нас большие нагрузки, тысячи RPS, и простой в несколько минут, не говоря о большем времени, недопустим. Нужно, чтобы миграции происходили незаметно для пользователя. А с такими нагрузками уже не получится встать в четыре часа ночи, что-то накатить, когда нет нагрузки, и снова лечь спать — потому что нагрузка идет круглые сутки.

Читать полностью »

Рассмотрим одно из подразделений Яндекс.Маркета. Оно довольно крупное — 85 человек. Внутри подразделения есть несколько команд. Команды либо занимаются функциональными частями Маркета, либо решают какую-то большую пользовательскую задачу. Вот одна из них: изменить сам сервис Яндекс.Маркет и интернет-торговлю в регионах так, чтобы местным пользователям стало удобнее решать свои проблемы.

С чего командам начать? Как объяснить всем вокруг, почему мы делаем одно, а не другое? Как донести до каждого инженера, зачем он занимается своей текущей задачей? Как вкладывать силы в то, что действительно улучшит мир вокруг, и не тратить время на то, что не нужно? Как сделать работу команд прозрачной друг для друга?

Чтобы лучше отвечать на эти и прочие вопросы, мы внедрили особый подход. В соответствии с ним мы разрабатываем продукты и расставляем приоритеты.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js