Как стать автором
Поиск
Написать публикацию
Обновить
676.59
Яндекс
Как мы делаем Яндекс
Сначала показывать

Как и зачем мы внесли 22 тысячи изменений в дизайн Яндекс.Карт

Время на прочтение7 мин
Количество просмотров61K
Привет, меня зовут Тая Лавриненко, я дизайнер-картограф из команды Яндекс.Карт. Как и всё на свете, карты имеют свойство устаревать, поэтому в течение прошлого года мы проектировали и поэтапно внедряли новый, более сбалансированный стиль Карт. Этот редизайн — одно из самых значимых и заметных обновлений картографического стиля сервиса за последние 5 лет.




Новая версия Яндекс.Заправок: с учётом (неожиданного) опыта водителей

Время на прочтение4 мин
Количество просмотров46K
Привет. Меня зовут Белла Гурина, я работаю в команде Яндекс.Заправок. На днях мы обновили наше приложение, чтобы упростить оплату топлива для водителей. Процесс и раньше не был сложным и особо не отличался от оплаты в других приложениях Яндекса. Но некоторые водители всё равно в нём путались. Мы провели исследование и эксперименты, чтобы выяснить причины. В итоге поняли, как сделать удобнее.



Немного о нас, чтобы вы понимали, с чем имеете дело. Яндекс.Заправки — это относительно молодой сервис, мы запустили его в конце 2018 года. Тогда подобных сервисов мы не встречали, поэтому во многом приходилось набивать шишки.

Два года всё бурно росло. Мы подключали топливные сети, заходили в новые регионы и добавляли услуги. В итоге сейчас в сервисе более 7000 АЗС, расположенных по всей России. Но во время интенсивной работы над развитием Заправок стали замечать, что часть водителей срезается перед оплатой, когда номер колонки и тип топлива уже введены. Это показалось странным, и мы начали разбираться. Итогом стало обновление интерфейса приложения.

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

Как катать релизы несколько раз в день и спать спокойно. Доклад Яндекса

Время на прочтение9 мин
Количество просмотров8.4K
Высокие темпы разработки сопряжены с рисками, влияющими на отказоустойчивость и стабильность — особенно если хочется экспериментировать и пробовать разное. Разработчик Маркета Мария Кузнецова рассказала о релизном цикле своей команды от и до, а также о мониторингах и других вещах, позволяющих обновлять сервис со скоростью три релиза в день.



— Всем привет! Я представляю бэкенд-разработку курьерской платформы. Поговорить хочу о том, как нам удается, с одной стороны, двигаться быстро, а, с другой стороны, не потонуть в ворохе и потоке проблем и ошибок.
Читать дальше →

Готовим Большую Фичу™ на Kotlin Multiplatform. Доклад Яндекса

Время на прочтение15 мин
Количество просмотров6.4K
Предположим, вы решили внедрить Kotlin Multiplatform в свой проект, чтобы переиспользовать логику на iOS и Android. Рано или поздно вы захотите сделать Большую Фичу, которая будет включать в себя и сложную многопоточную логику, походы в сеть, кэширование. Каждый из этих этапов вы привыкли делать на своей платформе (ведь делали это тысячу раз). Но в мультиплатформе нет привычных библиотек и подходов, зато есть абсолютно новый стек и тысяча новых способов элегантно выстрелить себе в ногу. Яндекс.Карты и Дмитрий Яковлев yakdmt прошли тернистый путь реализации фичи в мультиплатформе.

— Для начала пару слов о себе. Меня зовут Дмитрий Яковлев. Я поработал в нескольких стартапах, в нескольких банках, а сейчас работаю в Яндексе над Android-приложением Карт. При этом еще немного пишу на Kotlin Multiplatform кроссплатформенную логику.
Читать дальше →

Топ-10 экспонатов «Музея советских калькуляторов». Вольный рассказ по случаю переезда в музей Яндекса

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


«Музей советских калькуляторов», который я открыл в 2015 году в московской школе № 1368, переехал в музей Яндекса. Мы постарались сделать часть устройств доступными для полноценного изучения: можно брать их в руки, считать и программировать на них.

Меня зовут Константин Голота, я собираю коллекцию калькуляторов с конца 90-х и по случаю её переезда хочу рассказать Хабру о самых примечательных экспонатах.
Читать дальше →

Быстро разрабатываться и не падать: инструменты и опыт поиска Маркета. Доклад Яндекса

Время на прочтение12 мин
Количество просмотров3.6K
Поговорим о взаимодействии разработчика с ручными и автоматическими тестировщиками. Тимлид команды разработки в Маркете Юрий Акатов yuraaka рассказал о том, как создать платформу модульных автотестов и интегрировать её в процесс релиза, о проблемах нагрузочного тестирования и автоматизации, а также об отладке кода на продакшене и минимизации ущерба от непойманных багов, которые прокрадываются в релиз.



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

Сага о типизации и тайпчекинге для JavaScript

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

Привет! Хочу поделиться своими мыслями по, казалось бы, простой теме — типизации. В частности, поговорить о тайпчекинге в JavaScript.

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

Это не типичная статья из серии «Изучаем TypeScript», а, как мне кажется, фундаментальная история. Мы начнем с основ, поговорим о данных, о способе их хранения, а затем перейдем к типизации и посмотрим, как она влияет на работу программы.

Читать далее

Энтерпрайз, который выжил. Доклад в Яндексе

Время на прочтение16 мин
Количество просмотров8.6K
Мы часто задумываемся о том, что нужно изменить, чтобы наша жизнь стала лучше. Но меняться должны не только мы, но и компании, в которых мы работаем. И мы сами можем принимать непосредственное участие в этих положительных изменениях. Вас ждёт маленькая сказка про одну компанию, которая смогла стать лучше. И, конечно же, большие выводы.

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



Присказка


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

Квантование эмбеддингов: что это, зачем оно нужно и как его правильно готовить

Время на прочтение8 мин
Количество просмотров13K
Привет, меня зовут Женя. Сегодня я расскажу, что такое квантование эмбеддингов, какие бывают способы квантования и как с их помощью мы в Яндекс.Дзене смогли сократить использование памяти, рейта записи и сетевого трафика в четыре раза. Будет совсем немного математики, умеренно размышлений о machine learning, highload и big data и много разноцветных картинок.

Что такое эмбеддинги?


Эмбеддинг — числовой вектор, который каким-то (в общем случае непонятным на глаз) образом характеризует интересы пользователя или контент. Например, эмбеддинги могут быть такими.



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

«Любовь. Python. C++». Доклад Яндекса

Время на прочтение8 мин
Количество просмотров9.4K
Что связывает языки Python и C++? Как извлечь из этого выгоду лично для себя? На большой конференции Pytup Александр Букин показал способы, благодаря которым можно оптимизировать свой код, а также выбирать и эффективно использовать сторонние библиотеки.

— Всем привет, меня зовут Александр Букин, я разрабатываю Яндекс.Погоду. Вы еще можете знать меня как сооснователя Pytup. Также я состою в программных комитетах таких классных конференций, как PyCon.ru и YaTalks.

Сегодня мы с вами поговорим о любви Python и C++. А точнее — о том, что же их объединяет, эти два прекрасных языка и, на самом деле, еще C, и что мы можем почерпнуть из этих прекрасных отношений.
Читать дальше →

Как создать виджет для iOS 14 (и не удалить его у пользователей при обновлении)

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


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


Помимо обзорной информации, под катом — истории о том, почему нельзя просто взять и добавить настройки в виджет (спойлер: можно случайно удалить виджет установившим его пользователям), и как даже новейшие Swift-only API иногда страдают от наследия Objective-C. Материал будет полезен как тем, кто привык разбираться во всём новом, находя готовые гайды в интернете, так и тем, кто предпочитает официальную документацию.

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

ARM и программирование без блокировок

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


Выпуск ARM-процессора Apple M1 вдохновил меня на то, чтобы написать в Твиттер про опасности программирования без блокировок (lock-free). Этот твит вызвал бурную дискуссию. Обсуждение прошло довольно неплохо, учитывая то, что попытки втиснуть в рамки Твиттера обсуждениие такой сложной темы, как модели памяти центрального процессора, — в принципе бессмысленны. Но у меня осталось желание немного раскрыть тему.

Этот пост задуман не только как обычная вводная статья про опасности программирования без блокировок (о которых я в последний раз писал около 15 лет назад), но и как объяснение, почему слабая модель памяти ARM ломает некоторый код, и почему этот код, вероятно, не работал изначально. Я также хочу объяснить, почему стандарт C++11 значительно улучшил ситуацию в программировании без блокировок (несмотря на возражения против противоположной точки зрения).
Читать дальше →

Как я собрал «умный» органайзер для электронных компонентов

Время на прочтение13 мин
Количество просмотров33K
Привет. Я Александр Бурага, разработчик из команды роботов и беспилотных автомобилей Яндекса. Но сегодня речь пойдёт не о них, а о моём личном проекте, над которым тружусь дома.

Сложно найти радиолюбителя, который не занимался бы монтажом печатных плат. Ещё сложнее — того, кто задумывается об удобном хранении деталей прежде, чем поиск чего-то нужного среди запасов превращается в сущий кошмар. Инструменты для ведения проектов, написания кода и контроля версий в последние десятилетия развиваются очень быстро. ПО, упрощающее монтаж, тоже обновляется, хотя и не так стремительно. А вот системы хранения электронных компонентов практически не изменились с 90-х: помните кассетницы из спичечных коробков?



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

Как мы интегрировали Яндекс.Музыку с Siri. Доклад Яндекса

Время на прочтение13 мин
Количество просмотров27K
Siri — мощный инструмент с публичным API для сторонних приложений. Например, музыкальных. В докладе я рассказал, как начать разработку обработки голосовых медиазапросов от Siri, используя Intents.framework. Поделился нашим опытом — с чем пришлось столкнуться, чего нет в документации и что не работает.

— Всем привет! Меня зовут Ваня, я из команды Яндекс.Музыки. Сегодня я вам расскажу, как Siri попала в Яндекс.Музыку. Музыку можно включать с помощью Siri.
Читать дальше →

Как не держать лишнее железо и справляться с ростом нагрузки: внедрение graceful degradation в Яндекс.Маркете

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

Привет, меня зовут Евгений. Я разрабатываю инфраструктуру поиска Яндекс.Маркета. Хочу рассказать, как graceful degradation помогает нам обрабатывать больше запросов, чем физически могут выдержать наши сервера, и что происходит с поиском в Маркете, если один из дата-центров отключается.

Читать далее

Как и зачем проходить сертификацию AICPA SOC 2 и 3. Опыт Яндекс.Паспорта

Время на прочтение10 мин
Количество просмотров13K
Привет! На связи Аня Зинчук. Я работаю в Службе информационной безопасности. Мы сопровождаем ключевые сервисы Яндекса на всех этапах жизненного цикла от дизайна и проектирования до реализации в коде: анализируем архитектуру новых решений, ищем потенциальные риски, проводим анализ кода на уязвимости и расследуем инциденты, если они возникают.

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

Код на React и TypeScript, который работает быстро. Доклад Яндекса

Время на прочтение16 мин
Количество просмотров29K
Евангелисты Svelte и других библиотек любят показывать примеры тормозящих компонентов на React. React и TypeScript дают много возможностей создавать медленный код. После доклада Виктора victor-homyakov вы сможете писать более производительные компоненты без усложнения кода.

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

Яндекс отключил расширения с аудиторией в 8 млн пользователей. Объясняем, почему мы пошли на такой шаг

Время на прочтение14 мин
Количество просмотров314K
Сегодня мы приняли решение отключить расширения SaveFrom.net, Frigate Light, Frigate CDN и некоторые другие, установленные у пользователей Яндекс.Браузера. Совокупная аудитория этих инструментов превышает 8 млн человек.

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



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

TCP BBR: быстрый и простой способ ускорения загрузки страниц. Доклад Яндекса

Время на прочтение11 мин
Количество просмотров27K
Современные протоколы прикладного уровня используют для ускорения передачи данных мультиплексирование, которое повышает требования к надёжности канала. На конференции YaTalks Александр Грянко phasma рассказал, как мы ускоряем загрузку страниц на каналах с большими потерями пакетов на примере протоколов HTTP/2 и TCP BBR.

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

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

Но я могу вам посоветовать, как ускорить вашу сеть с помощью оптимизации самого сервера, самой операционной системы.
Читать дальше →

Делюсь небольшим, но полезным плагином: Deeplink Helper для Android Studio

Время на прочтение3 мин
Количество просмотров6.3K
DRY. Don’t Repeat Yourself. Принцип, призывающий разработчика не дублировать код. DRY часто можно распространить шире, не только на код. Сегодня расскажу о личном проекте, который уже помог мне и другим разработчикам избавиться от последовательности рутинных действий при разработке и отладке приложений для Android. И не просто расскажу — а ещё и поделюсь этим инструментом и его исходным кодом.

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

Если при работе над приложением вы хотите уменьшить количество таких действий и переключений фокуса с IDE на Android-устройство, то прошу под кат.
Читать дальше →

Информация

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