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

С++23: международный стандарт на удалёнке

Время на прочтение3 мин
Количество просмотров21K


C++20 прошёл все бюрократические инстанции и теперь официально готов! Международный комитет переехал в онлайн, и теперь мы вовсю работаем над C++23. Под катом вас ждут:

  • std::stacktrace,
  • z и uz,
  • 61 с половиной багфикс в ядре языка,
  • string::contains,
  • Executors & Networking,
  • и прочие новости.
Читать дальше →

Яндекс вновь запустил голосование за ретроигры. Финалисты Retro Games Battle 2020

Время на прочтение7 мин
Количество просмотров5.4K
В прошлом году команда музея Яндекса организовала конкурс по разработке игр для ZX Spectrum — мы ценим историю и стремимся поддерживать сообщество, которое сформировалось вокруг ретротехники. Каждый наш конкурс, фестиваль или лекция — это ещё один повод собраться вместе (пусть и в онлайне), чтобы обменяться опытом или просто пообщаться.

Прошлогодний Retro Games Battle удался: до финала дошло 19 новых игр! Это впечатлило нас и, хочется верить, воодушевило сообщество, поэтому мы решили повторить конкурс и в этом году. О старте объявляли летом, приём заявок уже окончен. Трёх победителей вот-вот определит жюри, в которое входят игровые журналисты, геймдеволоперы и пионеры творчества на ретрокомпьютерах (в том числе из Ocean Software — компании-разработчика множества легендарных игр прошлого). Но, как и в прошлый раз, мы хотим вручить приз зрительских симпатий тому, чью игру выберет не жюри, а пользователи, для которых игры и создаются. То есть вы.



Под катом вас ждёт список финалистов этого года: вы сможете посмотреть запись геймплея и даже сыграть вживую с помощью эмулятора. За игры можно проголосовать на сайте конкурса. Голоса принимаются до 12:00 7 декабря.
Играть и голосовать

Архитектура отказоустойчивого планировщика задач. Доклад Яндекса

Время на прочтение21 мин
Количество просмотров5.8K
В Яндексе десятки тысяч машин, которые постоянно нагружены под завязку разными вычислительными задачами. Бо́льшая часть этих вычислений относится к так называемой batch-нагрузке — как правило, оформленной в виде операций в парадигме MapReduce. Мы используем собственную систему YT, которая предоставляет распределённый storage и интерфейс запуска распределённых вычислений с произвольным пользовательским кодом. В докладе я рассказал о задачах, возникающих при попытке написать софт, который будет что-то планировать на кластерах из большого количества машин.

— Давайте первым делом обсудим, чем вообще занимаются вычислительные кластеры Яндекса.
Читать дальше →

Помощь рядом: как Яндекс помогает благотворительным фондам решать социальные проблемы

Время на прочтение7 мин
Количество просмотров5.2K

Привет, Хабр. Меня зовут Оля Никитушкина, я работаю в Яндексе уже 12 лет. В начале 2020 года направление моей деятельности кардинально изменилось и оказалось связано с социальным проектом «Помощь рядом». Он зародился в конце марта в ответ на эпидемию коронавируса. Тогда у нас не было ни долгосрочного плана, ни понимания, какое место мы должны занимать в благотворительной сфере. Всё это пришло позже.

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

Читать далее

Пережили 2020-й? Готовимся к 2021-му: Яндекс спросил разработчиков о будущем IT-индустрии

Время на прочтение9 мин
Количество просмотров9.7K

В 2020 году айтишники научились жить в условиях неопределённости и привыкли гореть на работе — во время локдауна востребованность онлайн-сервисов резко возросла, а удалёнку попробовали даже те, кто не верил в эффективность работы вне офиса. Мир ещё находится в зоне турбулентности, но мы привыкаем к новой реальности, где готовность меняться — главное условие выживания на рынке и для IT-компаний, и для их сотрудников. Можно ли выделить что-то, что точно будет важно в следующем году? За какими трендами стоит следить, какие навыки развивать?

Об этом мы поговорили со спикерами конференции YaTalks, которая состоится совсем скоро — 5 декабря. Мнениями поделились Алексей Шаграев @ashagraev, Алексей Башкеев, Евгений Россинский @eross, Дмитрий Маркович, Максим Барышников, Александр Голубев, Елена Кунакова, Александр Крайнов @krainov и Евгений Лисовский @eugene-lisovskiy. А вот и наши вопросы:

Читать далее

Удобное логирование на бэкенде. Доклад Яндекса

Время на прочтение12 мин
Количество просмотров19K
Что-то всегда идет не по плану. Приходится отвечать на вопросы, «Что сломалось?», «Почему тормозит?» и «Почему мы не увидели этого раньше?». На примере простого приложения Даниил Галиев zefirior из Яндекс.Путешествий показал, как отвечать на эти вопросы и какие инструменты в этом помогут. Настроим логирование, прикрутим трассировку, разложим ошибки, и все это в удобном интерфейсе.

— Давайте начинать. Я расскажу об удобном логировании и инфраструктуре вокруг логирования, которую можно развернуть, чтобы вам с вашим приложением и его жизненным циклом было удобно жить.
Читать дальше →

Яндекс.Станция Макс. Три истории про новое устройство с Алисой

Время на прочтение13 мин
Количество просмотров61K

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

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

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

Читать далее

Трансформеры в Поиске: как Яндекс применил тяжёлые нейросети для поиска по смыслу

Время на прочтение16 мин
Количество просмотров63K

Привет, Хабр. Меня зовут Саша Готманов, я руковожу группой нейросетевых технологий в поиске Яндекса. Сегодня на YaC 2020 мы впервые рассказали о внедрении трансформера — новой нейросетевой архитектуры для ранжирования веб-страниц. Это наиболее значимое событие в нашем поиске за последние 10 лет. 

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

Читать далее

Опыт выбора кроссплатформенной технологии для разработки приложения. Доклад Яндекса

Время на прочтение12 мин
Количество просмотров12K
Когда нужно сделать мобильное приложение, вариант по умолчанию — это нативная разработка. Другие способы по-прежнему не всегда принимаются в расчет. Но альтернативы, в том числе сравнительно новые, правда существуют. О них в своем докладе рассказал Геннадий Евстратов, руководитель одной из команд в Яндекс Go. Вы узнаете, почему Flutter — наиболее перспективная кроссплатформенная технология, погрузитесь в детали безопасности, узнаете об основных архитектурах, о разнице между BLoC и React и о тестировании Flutter-приложений.

— Всем привет, меня зовут Гена, я руковожу iOS-разработкой партнерских продуктов Яндекс.Такси. Расскажу, почему мы выбрали для своего продукта flutter, через что мы проходили перед тем, как сделали этот выбор, и что из этого получилось. Доклад будет достаточно вводный. Поехали.
Читать дальше →

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

Время на прочтение9 мин
Количество просмотров11K
Всем привет. Меня зовут Андрей Фримучков, я работаю в команде инфраструктуры разработки интерфейсов Яндекса. Последние несколько месяцев участвовал в запуске нового хранилища пакетов. Около года назад мы упёрлись в ограничения собственного решения и после череды экспериментов пришли к выводу, что дальше масштабироваться под растущие нагрузки не получится.

Нужно было искать что-то новое. Выбор пал на опенсорсное решение под названием Verdaccio. Это может показаться странным, потому что им чаще пользуются небольшие компании. Скажу честно, настроить работу оптимально и внести необходимые доработки было непросто, но интересно. И стоило того. А теперь — обо всём по порядку.

Как пакеты хранились раньше?


Хорошая практика при разработке на JS — хранить внутренние пакеты в собственном репозитории и сохранять копии внешних пакетов. Это снижает зависимость от внешнего npm и позволяет ограничить выходы во внешнюю сеть в системах сборки. Исторически Яндекс использовал своё решение для хранения внутренних пакетов. Долгое время оно всех устраивало, но компания росла. Росли нагрузки, репозиторий стало сложно масштабировать и поддерживать. Например, при регламентных работах в датацентрах приходилось вручную переключать мастер у CouchDB. Схема выглядела следующим образом:


Читать дальше →

Каким бывает фрод в маркетплейсе, как его вычислять и предотвращать. Доклад Яндекса

Время на прочтение7 мин
Количество просмотров25K
Прежде чем строить антифрод, надо понять, каким на сервисе бывает фрод — какие методы злоумышленники выбирают, чтобы получить выгоду и навредить пользователям. Алексей Савостин поделился опытом Яндекс.Маркета в исследовании способов фрода, рассказал о целях (порой изощрённых), которые преследуют фродеры, и о данных, по которым можно определять подозрительную активность.

— Всем привет, меня зовут Алексей Савостин. Я занимаюсь направлением антифрода в Яндекс.Маркете и сегодня расскажу, как мы строили антифрод для маркетплейса «Беру», который с октября стал частью Маркета.
Читать дальше →

Работа с файлами в C++ с использованием Boost

Время на прочтение9 мин
Количество просмотров40K
Привет! Я время от времени рассказываю на Хабре о решениях распространённых задач на C++ и вообще люблю делиться опытом. Поэтому даже написал целую книгу, которая называется «Разработка приложений на С++ с использованием Boost». Она может быть интересна разработчикам, которые уже немного знакомы со стандартной библиотекой языка, хотят глубже изучить Boost, упростить и повысить качество разработки приложений. Уверен, что информация, которую я собрал в книге, будет полезна — всё больше библиотек Boost становятся частью стандарта. Сегодня предлагаю прочитать главу, посвящённую работе с файлами. В ней я рассказываю о перечислении файлов в каталоге, стирании и создании файлов и каталогов, а также о самом быстром способе чтения. Надеюсь, будет интересно. И, пожалуйста, не забывайте делиться впечатлениями в комментариях.

UPD: добавил в конец поста бонус для читателей Хабра.
Читать дальше →

Разработка интерфейса Драйва: от запуска стартапа до глубокого анализа UI. Доклад Яндекса

Время на прочтение14 мин
Количество просмотров10K
Первая версия сервиса Яндекс.Драйв была запущена за два месяца после начала разработки, а затем практики пришлось постепенно менять. Руководитель мобильной разработки Драйва Кирилл Кожухар обсудил все шаги при создании и проработке дизайна, поделился своим видением того, как приложение должно эволюционировать, и проанализировал, как менялся UI.

— Всем привет, меня зовут Кирилл, я занимаюсь iOS-версией Яндекс.Драйва. Мы решили подготовить не совсем технический доклад, обсудить то, как развивается проект на самых ранних этапах, когда только все начинается, закладывается. Это так называемый этап MVP.

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

Забываете передавать аргументы в функцию? Вам поможет contextvars

Время на прочтение14 мин
Количество просмотров14K


Мы в Яндекс.Такси любим писать логи. Ещё больше мы любим, когда логи помогают нам расследовать проблемы в продакшене. При нагрузке в десятки тысяч RPS просто набора лог-записей мало. Хочется уметь фильтровать логи по пользователю, видеть последовательность вызовов клиентского API, а также углубляться в логи запроса.


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

Читать дальше →

Распределенное обучение и вычисления в сети. Доклад Яндекса

Время на прочтение15 мин
Количество просмотров6.1K
Все эксперты по сетям знакомы с принципом end-to-end, когда специфичные для конкретной задачи фичи реализовываются на конечных нодах, а промежуточные ноды должны только передавать данные, не взаимодействуя с ними. Но есть случаи, когда полезны вычисления внутри сети — с использованием устройств сети, занятых передачей трафика. Один из примеров таких задач — распределенный ML. В докладе Дмитрий Афанасьев дал краткое введение в особенности вычислений для распределенного ML, паттерны обмена данными и коллективные операции. Вторая половина доклада — о том, как редукция увеличивает производительность при обучении, и о некоторых реализациях.

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

Сеть, которая лечит себя сама: магия Flow Label и детектив вокруг ядра Linux. Доклад Яндекса

Время на прочтение12 мин
Количество просмотров9.5K
В современных дата-центрах установлены сотни активных устройств, покрытых разными видами мониторингов. Но даже идеальный инженер с идеальным мониторингом в руках сможет правильно отреагировать на сетевой сбой лишь за несколько минут. В докладе на конференции Next Hop 2020 я представил методологию дизайна сети ДЦ, у которой есть уникальная особенность — дата-центр лечит себя сам за миллисекунды. Точнее, инженер спокойно чинит проблему, в то время как сервисы ее просто не замечают.

— Для начала я дам достаточно подробную вводную для тех, кто, может быть, не в курсе устройства современного ДЦ.
Читать дальше →

Можно порешать: задача про лидарное облако от команды беспилотных автомобилей Яндекса

Время на прочтение6 мин
Количество просмотров10K


Меня зовут Андрей Гладков, я разработчик в направлении беспилотных автомобилей. Сегодня я поделюсь с сообществом Хабра задачей, которая связана с важнейшим сенсором беспилотника — лидаром, и с тем, как мы обрабатываем лидарные данные. Вы можете попробовать решить задачу самостоятельно на платформе Контест. Система проверит решение с помощью автотестов и сразу сообщит результат. Разбор и код решения — в спойлерах ближе к концу поста. Тем, кто был на митапе в нашем цехе в прошлом году, задача покажется знакомой — мы предлагали ее в качестве входного билета, но публично никогда ей не делились.
Читать дальше →

Оптимизация C++: совмещаем скорость и высокий уровень. Доклад Яндекса

Время на прочтение9 мин
Количество просмотров26K
Что влияет на скорость работы программ на C++ и как её добиться при высоком уровне кода? Ведущий разработчик библиотеки CatBoost Евгений Петров ответил на эти вопросы на примерах и иллюстрациях из опыта работы над CatBoost для x86_64.

Видео доклада

— Всем привет. Я занимаюсь оптимизацией для CPU библиотеки машинного обучения CatBoost. Основная часть нашей библиотеки написана на C++. Сегодня расскажу, какими простыми способами мы добиваемся скорости.


Читать дальше →

Как из любого количества вариантов выбрать лучший: простой пайплайн ранжирования данных в Яндекс.Толоке

Время на прочтение6 мин
Количество просмотров4.7K

Привет, Хабр! Меня зовут Дмитрий Браженко. Разработка продуктов и сервисов регулярно сталкивает нас с необходимостью выбрать лучший вариант: какая иконка красивее? Какая кнопка удобнее? Краудсорсинг – отличный способ учесть мнение потенциальных пользователей, проведя несложные UX-тесты.


Делюсь готовым решением – пайплайном для ранжирования данных. Код на гитхабе прилагается! Под катом расскажу, как запустить, на что обратить внимание, покажу несколько примеров использования.


Баланс между общим и частным в большой компании: консистентность, переиспользование кода и поиск чётких метрик

Время на прочтение7 мин
Количество просмотров4.9K

В Яндексе я руковожу службой общих интерфейсов. О них и поговорим. О том, как трудно (но приходится) делать что-то для всех. Позволю себе аналогию: сидишь, пишешь код и захотел пить. Налил себе сразу три стакана из одной бутылки, даже от клавиатуры не отрываясь. А если, к примеру, бутылка оказалась пустой, можно не пить. И по стаканам не разливать. Но если кто-то другой попросит, то придётся идти, ставить чайник, спрашивать: чай или кофе, чёрный или с молоком, нужен ли сахар, — если нужен, то сколько, резать бутерброды… Это намного сложнее. А когда задача — разработать общие компоненты, всё становится совсем сложно. Но мы попробуем разобраться.

Читать далее

Информация

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