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

Из микро в макро: как адаптировать мобильное приложение под ТВ-платформу

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров4K

Рано или поздно Android-разработчику станет любопытно попробовать новые платформы. Устройств с этой ОС много — есть из чего выбрать. Например, сейчас набирает популярность разработка под умные телевизоры.

И вот здесь начинается самое интересное. Вроде бы и на смартфоне, и на телевизоре одинаковая ОС, но приложению понадобится глобальная адаптация, ведь там, например, нет привычного Touch Screen, чтобы управлять контентом и быстро набирать текст в поисковой строке.

Эта статья посвящена истории создания браузера для ТВ и трудностям, с которыми столкнулись наши разработчики приложений для Android-устройств. Рассказ будет интересен разработчикам, которые хотели бы адаптировать свой софт для телевизионной платформы, и просто любителям историй обхода всевозможных граблей. 

Читать далее

Почему инфраструктура big tech обычно состоит из самописных решений

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров15K

Привет! Предлагаю поговорить о том, почему крупные IT‑компании так любят создавать в своей инфраструктуре собственные решения. Казалось бы, напрашивается ответ: NIH‑синдром и ничего более. Но такой ответ вряд ли может считаться сколько-нибудь полным, а тем более претендующим на объективность.

Меня зовут Дмитрий, я CTO в команде Yandex Platform Engineering. Наша задача — помогать инженерам выстраивать весь цикл разработки от написания кода до эксплуатации сервисов и делать его эффективнее. Такая работа включает настройку процессов: мы не просто делаем нечто as a service, но и помогаем эти самые as a service внедрять внутри компании. И всё это работает на масштабах Яндекса: нашими сервисами пользуются тысячи разработчиков по всей компании.

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

Читать далее

Diplodoc — открытый набор инструментов для создания документации

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

Всем привет, меня зовут Женя Колесников, я из команды Yandex Infrastructure. Сегодня я расскажу, как мы пришли к написанию документации в концепции Docs as Code, придумали для этого набор инструментов, назвали его красивым именем Diplodoc и выложили в опенсорс — теперь вы тоже можете им воспользоваться.

Если вкратце, Docs as Code — это подход к написанию технической документации, который рассматривает её не как набор текстов, а как код. Исходя из этой концепции, к документации могут применяться все те же принципы, инструменты и процессы, что и к самому коду. Расскажу, как это происходит на примере Diplodoc — и чем он может облегчить вам жизнь.

Читать далее

Нейронные сети для планирования движения беспилотных автомобилей

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

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

В диалоговых системах совсем недавно произошла революция из-за появления ChatGPT. В беспилотных автомобилях революции, к сожалению, пока не произошло, но если это случится, то как раз в той области, про которую будет мой рассказ.

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

Читать далее

Библиотека Scout — быстрый и безопасный DI на Kotlin

Уровень сложностиПростой
Время на прочтение23 мин
Количество просмотров9.2K

Привет! Меня зовут Александр Миронычев. Я занимаюсь инфраструктурой приложения Яндекс Маркет под Android. Около двух лет назад при работе над модульностью у меня появилось желание написать собственную библиотеку для внедрения зависимостей, которая позволила бы ускорить сборку приложения и упростить процесс модуляризации. Так появился Scout. Сегодня его код мы выложили в открытый доступ.

Эта статья — рассказ о том, как пройти путь от безумной идеи до конкурентоспособного опенсорс-фреймворка. Статья будет полезна тем, кто ищет замену DI-фреймворку в своем проекте, а также тем, кто мечтает написать свою библиотеку, но никак не может начать.

Читать далее

Яндекс Карты открывают крупнейший русскоязычный датасет отзывов на организации

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

Сегодня мы хотим поделиться новостью для всех, кто занимается анализом данных в области лингвистики и машинного обучения. Яндекс выкладывает в открытый доступ крупнейший русскоязычный датасет отзывов об организациях, опубликованных на Яндекс Картах. Это 500 тысяч отзывов со всей России с января по июль 2023 года.

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

Читать далее

Хороший ретрай, плохой ретрай, или История одного падения

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров56K

Порой простое и очевидное решение может потянуть за собой хвост проблем в будущем. Например, добавление ретраев.

Меня зовут Денис Исаев, и я работаю в Яндекс Go. Сегодня я поделюсь опытом решения проблем с отказоустойчивостью из-за ретраев. Основано на реальных инцидентах в системе из 800 микросервисов.

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

Читать далее

BI-инструмент от Яндекса DataLens — теперь в опенсорсе

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

Сегодня мы опубликовали на GitHub под открытой лицензией Apache 2.0 исходный код Yandex DataLens — сервиса для анализа и визуализации данных. Теперь использовать опенсорс-версию DataLens может любой желающий и в любой инфраструктуре. 

Меня зовут Павел Дубинин, вместе с Гаджи Гаджиевым мы в Yandex Cloud занимаемся развитием DataLens. Сегодня расскажем, какие задачи он помогает решать разным пользователям, какие возможности открываются с выходом в опенсорс и что можно развернуть у себя прямо сейчас.   

Читать далее

userver 1.0 — релиз фреймворка для IO-bound программ

Время на прочтение7 мин
Количество просмотров18K
С момента выхода ? userver в опенсорс прошло чуть больше года. За это время мы успели реализовать множество запросов от наших новых пользователей и обросли внушительной аудиторией в каналах поддержки. При этом поток вопросов, как пользоваться различными частями userver, значительно сократился, а это значит, наши улучшения документации принесли свои плоды.

image

Поэтому мы вышли из беты и сделали релиз!

Что нового в релизе? Зачем вообще нужен userver и какие существуют технологии для обеспечения надёжной работы серверных приложений? Можно ли воспользоваться крутыми C++ классами из userver, не используя при этом корутины? Какие дальнейшие планы? Ответы на все эти вопросы ждут вас под катом.
Читать дальше →

Перф-тесты VS аномалии. Вечная битва за производительность приложений на iOS

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

Чем больше задач выполняет приложение, тем тщательнее нужно следить за его производительностью. Под катом на примере Яндекс Браузера и приложения Яндекс с Алисой подробно расскажу о том, как мы отслеживаем аномалии метрик производительности на стороне клиента с помощью перф‑тестов: основные принципы универсальны, и вы легко сможете использовать их для других типов приложений.

А ещё вас ждёт чек‑лист, на что обратить внимание и к каким инструментам присмотреться.

Читать далее

Создаём субтитры для любого видео в интернете с помощью нейросети в браузере

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

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

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

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

Читать далее

SDK AppMetrica — теперь в опенсорсе

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

AppMetrica — это инструмент для аналитики мобильных приложений. С помощью него можно формировать отчёты по источникам трафика, ключевым показателям мобильного приложения, аудитории и сценариям использования, а также собирать статистику по сбоям, проводить A/B-тесты и удалённо управлять конфигурацией приложения. 

Сегодня мы опубликовали исходный код SDK AppMetrica на GitHub. Любой желающий может провести аудит SDK, предложить улучшение, отправив пулл-реквест и переиспользовать полезные фрагменты кода.

Читать далее

YandexGPT 2 — большое обновление языковой модели Яндекса

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров54K
Сегодня на конференции Practical ML Conf была представлена новая версия нашей большой языковой модели YandexGPT 2. Она уже работает в навыке Алисы «Давай придумаем», где помогает структурировать информацию, генерировать идеи, писать тексты и многое другое. Новая модель отвечает лучше старой в 67% случаев, а в некоторых сценариях побеждает с ещё бо́льшим перевесом. Этого результата мы добились благодаря улучшениям на каждом этапе обучения модели, но ключевое изменение — новый pretrain.

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



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

Как мы планировали повысить версию PHP за месяц, а потратили на это год

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров27K

Как и множество больших сервисов, Яндекс Еда основана на микросервисной архитектуре. В общей сложности у нас чуть больше 200 микросервисов. Но есть один сервис, который совсем не микро – легаси-монолит.

Он написан на PHP 7.2 разработчиками разного уровня и в разное время. Мы подумали, что так больше нельзя, и решили навести порядок. В ходе разбирательств выяснилось, что версия языка, на котором всё написано, устарела и уже не поддерживается, что ведёт к рискам безопасности. Делать нечего — мы приняли решение обновиться до 8-й версии.

В этой статье я расскажу, чего стоило нам проапгрейдить монолит, сколько тестов мы сломали и как в этом проекте поучаствовали почти все PHP-разработчики Яндекс Еды. Это интересный и уникальный опыт, которым я хотел бы с вами поделиться. В конце дам несколько советов тем, кто тоже захочет ввязаться в подобную авантюру.

Читать далее

Нейромузыка: может ли робот создавать треки?

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

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

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

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

Читать далее

Первые новинки C++26: итоги летней встречи ISO

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

На недавней встрече комитет C++ активно взялся за C++26. Уже есть первые новинки, которые нас будут ждать в готовящемся стандарте C++:

  • улучшенный static_assert,
  • переменная _,
  • оптимизация и улучшение для std::to_string,
  • Hazard Pointer,
  • Read-Copy-Update (так же известное как RCU),
  • native_handle(),
  • целая вереница классов *function*,
  • множество доработок по constexpr,
  • std::submdspan,
  • и прочие приятные мелочи.

Рассмотрим новинки на примерах

Как мы узнаём, какая музыка играет в кино

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

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

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

Меня зовут Алексей Царёв, я занимаюсь развитием технологий в развлекательных сервисах Яндекс. И моя задача в том, чтобы из какой-то отдельно взятой технологии создавать рабочие продукты для конечного пользователя. Именно об этом, на примере распознавания музыки в фильмах, и будет этот пост.

Читать далее

Железный Асессор, ML-оценка манеры вождения и безопасный диспатч: как технологии делают такси безопаснее

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

До появления Такси, машину часто вызывали «от борта»: находили или останавливали такси и договаривались о цене и маршруте. Кто и как повезёт пассажира — тот ещё вопрос. Теперь с появлением агрегаторов требования к перевозкам сильно выросли. 

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

Читать далее

Встречаем ТВ Станции — новые устройства, которые объединяют технологии телевизоров и умных колонок

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

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

Этот пост будет условно разделён на три части. В первой расскажем, каким мы видим будущее умных телевизоров на примере особенностей ТВ Станций и нашего опыта в разработке Farfield-технологий. Во второй сфокусируемся на акустике и изображении наших устройств. Ну а в третьей вас ждёт традиционная табличка с характеристиками для тех, кто любит короткие и сухие факты.

Поехали!

Как маленькая нейроязыковая модель в Клавиатуре победила серверные подсказки

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

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

Казалось бы, что между ними нет ничего общего, но это не так. Абсолютно все эти компоненты объединяет одно — языковая модель. Чем выше её качество, тем выше скорость ввода, а значит, и пользователь будет чуточку счастливее.

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

Читать далее

Информация

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