Pull to refresh
214
-4
Леонид Клюев @Leono

Интернет щей

Станция 2. Истории разработки одного из самых сложных устройств Яндекса

Reading time 14 min
Views 50K


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

Я хочу поделиться нашей внутренней кухней в формате, который уже стал традиционным для хабрастатей о новых Станциях. Это снова будут несколько историй про разные аспекты hardware-разработки: поговорим об исследованиях формы комнаты микрофонами, распространении света в прозрачном материале, а ещё о генеративных анимациях и неожиданной пользе от ПЛИС.
Читать дальше →
Total votes 124: ↑118 and ↓6 +112
Comments 147

Новая Яндекс.Станция Мини. Большая история маленького устройства

Reading time 15 min
Views 57K
На днях в продажу поступила обновлённая версия одного из самых популярных устройств с Алисой — Станции Мини. Может показаться, что это эволюционное развитие, работать над которым было проще, чем создавать оригинал. Но новая Мини отличается от предыдущей примерно всем: от внешнего вида и начинки до условий производства — ковид и глобальный дефицит компонентов стали для hardware-команды большим вызовом.



Сегодня я поделюсь с вами несколькими историями о новой колонке. Вы узнаете про одно из самых необычных применений фазоинвертора, про то, как мы достаточно комично сушили фотополимерные модели в домашних условиях. Расскажу, где спрятан сервисный разъём и как работает управление просмотром ТВ через ещё одно новое устройство — Модуль. Будут и другие детали, которые показались нам интересными.
Читать дальше →
Total votes 89: ↑86 and ↓3 +83
Comments 108

Использование STL для обработки сигналов в реальном времени. Доклад в Яндексе

Reading time 23 min
Views 6.5K
Компьютерные игры, обработка аудиосигналов в режиме реального времени и другие подобные приложения низкой задержки требуют, чтобы код был не только корректным. Он также должен исчислять требуемый результат надёжно за детерминированный срок выполнения. В этом докладе head of technology в компании Cradle Тимур Думлер timuraudio рассмотрел, в какой степени стоит использовать стандартную библиотеку С++ для создания приложений с подобными «real-time» ограничениями. Какие инструменты из стандартной библиотеки можно применять с уверенностью, что они не будут блокировать поток, ждать освобождения мьютекса, не будут выделять или освобождать память и совершать другие действия с недетерминированной задержкой? Каких средств из набора стандартной библиотеки следует избегать и почему? По пути Тимур обсудил малоизвестные и неожиданные аспекты этих привычных инструментов.

— Всем привет, меня зовут Тимур Думлер. Хочу сказать, что я обычно делаю доклады на английском языке. Это всего второй раз в жизни, когда я докладываю на русском, мне это немножко непривычно. Спасибо большое, что подключились, сегодня мы поговорим про использование стандартной библиотеки C++ для обработки сигналов в real-time.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 3

Как можно оптимизировать dot-product и не только. Доклад Яндекса

Reading time 18 min
Views 3.6K
Разработчик инфраструктуры качества поиска Яндекса Ильнур Хузиев ilnurKh взял простую задачу — скалярное произведение двух векторов — и попробовал выжать все соки производительности кода. Из доклада вы узнаете, как использовать возможности процессора, настройки компилятора (и даже попробовать превзойти его), какой была бы правильная постановка задачи, как выбирать приоритеты и архитектуру. Да, вопрос выбора абстракций может встать даже на примере настолько простой задачи.

— Сегодня мы рассмотрим достаточно простую функцию — скалярное произведение двух векторов, и попробуем провести различные оптимизации. Надеюсь, что приёмы, которые мы рассмотрим, будут применены не только в этой задаче, но и в других.
Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Comments 2

Неправильный путь в backend driven UI. Доклад Яндекса

Reading time 8 min
Views 5.3K
Архитектура современных приложений часто позволяет передавать логику между клиентом и бэкендом. Главное — не зайти в этих экспериментах слишком далеко. Разработчик iOS-приложения Авто.ру Сергей Сергеев объяснил, как его команда пришла к backend driven UI не самым легким способом.

— Всем привет. Я iOS-разработчик, но история будет кроссплатформенная.
Читать дальше →
Total votes 7: ↑4 and ↓3 +1
Comments 3

Автоматизация UI-тестирования в приложении Недвижимости на Android. Доклад Яндекса

Reading time 16 min
Views 8.1K
Чем больше процессов тестирования автоматизированы, тем эффективнее релизный пайплайн и тем быстрее пользователи получают новые возможности в сервисе. Руководитель Android-разработки Яндекс.Недвижимости Александр Рогов вспомнил, как эволюционировало UI-тестирование в его команде, как разработчики пришли к идее автоматизации, почему использовали фреймворк Espresso, с какими проблемами столкнулись и что в итоге получили.

— Начать хотелось бы с небольшого исторического экскурса.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Comments 1

Разработка и эксплуатация ядра Linux в нашей инфраструктуре. Доклад Яндекса

Reading time 13 min
Views 8.8K
Внутреннее облако Яндекса состоит из сотен тысяч серверов в нескольких дата-центрах России и Европы. Все эти серверы работают под управлением ядра Linux. Из доклада старшего разработчика Дмитрия Монахова вы узнаете, как и зачем Яндекс разрабатывает и эксплуатирует ядро, в чем уникальная специфика ядерных задач, которые нужно решать на наших масштабах, и почему мы выбрали стратегию максимальной открытости ядра.

— Здравствуйте, все! Забавно: в последний раз я выступал в Яндексе несколько лет назад, работал в другой компании, но тоже рассказывал про фрагментацию, правда файловых систем. Сейчас рассказываю про ядро Linux.
Читать дальше →
Total votes 38: ↑37 and ↓1 +36
Comments 1

Мультиарендный подход к инфраструктуре работы с данными. Доклад Яндекса

Reading time 16 min
Views 2.8K
Времена, когда для экземпляра базы данных выделялся отдельный компьютер, давно прошли. Сейчас повсюду управляемые решения, поднимающие необходимые процессы в виртуальных машинах. Для вычислений применяется еще более прогрессивный подход — «бессерверные вычисления», например AWS Lambda или Yandex Cloud Funtions. И уж совсем на острие прогресса находятся бессерверные БД. Руководитель отдела разработки систем хранения и обработки данных Yandex.Cloud Андрей Фомичёв Anfo рассказал о бессерверных решениях, которые еще до всеобщего хайпа стали популярны в Яндексе и по-прежнему используются для хранения и обработки данных.

— Всем привет. Если вы не очень знаете, что означает слово «мультиарендный» (multitenant) в названии доклада — ничего страшного, я расскажу поподробнее, и станет понятно.

Доклад будет из четырех разделов. Сначала я расскажу, что такое многопользовательские и multitenant-системы и чем они отличаются. Потом приведу примеры мультиарендных multitenant-систем в Яндексе: Yandex Database (YDB) и Yandex Query. Затем расскажу, как мы все эти системы реализовываем, какие в них особенности. В заключение подведу итоги доклада.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 4

Тернистый путь внедрения Swift Package Manager. Доклад Яндекса

Reading time 25 min
Views 8.4K
Доклад будет интересен iOS-разработчикам, которые хотят внедрить технологию Swift Package Manager (SPM) в существующий проект. Руководитель iOS-разработки Яндекс Go Вадим Белотицкий рассказал о причинах, по которым его команда решила внедрять SPM, и о решении возникших проблем, включая:

  • Проблемы с компиляцией
  • Сочетание Swift- и Objective-C-кода
  • Падения, связанные с некорректной линковкой проекта
  • Сочетание двух менеджеров зависимостей — CocoaPods и SPM
  • Проблемы сборки на CI (TeamCity)

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

Читать конспект
Total votes 9: ↑8 and ↓1 +7
Comments 1

Продвинутые дженерики в TypeScript. Доклад Яндекса

Reading time 14 min
Views 16K
Дженерики, или параметризованные типы, позволяют писать более гибкие функции и интерфейсы. Чтобы зайти дальше, чем параметризация одним типом, нужно понять лишь несколько общих принципов составления дженериков — и TypeScript раскроется перед вами, как шкатулка с секретом. AlexandrNikolaichev объяснил, как не бояться вкладывать дженерики друг в друга и использовать автоматический вывод типов в ваших проектах.

— Всем привет, меня зовут Александр Николаичев. Я работаю в Yandex.Cloud фронтенд-разработчиком, занимаюсь внутренней инфраструктурой Яндекса. Сегодня расскажу об очень полезной вещи, без которой сложно представить современное приложение, особенно большого масштаба.
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 1

Как померить Node.js-приложение, если у тебя лапки. Доклад Яндекса

Reading time 15 min
Views 8.8K
Неважно, каких размеров ваше приложение на Node.js. Неважно, как хорошо вы написали код. Вам просто необходимо знать, как он работает в продакшене. Разработчик интерфейсов в поисковом портале Яндекса Алексей Попков сделал доклад о том, как выяснить, что происходит внутри запущенного процесса.

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

— Всем привет. Немножко про то, кто я такой. Меня зовут Лёша, я разрабатываю внутренние сервисы Яндекса. Уже третий год делаю всякие Node.js-приложения, менторю разработчиков в Яндекс.Практикуме и измеряю все, до чего дотягиваются руки, потому что это весело.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 3

Автоматизируем сервис-воркер с Workbox 6. Доклад в Яндексе

Reading time 14 min
Views 3.3K
«Задеплоил сервис-воркер — нужно покупать новый домен», — известная шутка о том, как сложно писать собственную логику кеширования. С приходом шестой версии библиотеки Workbox для прогрессивных веб-приложений (PWA) больше не нужен компромисс между гибкостью и удобством автоматизации сетевых задач. Максим Сальников рассказал, как начать работу с Workbox 6, реализовать типовую функциональность для офлайнового веб-приложения и пойти дальше, добавив собственную логику кеширования.

От докладчика:
Среди отзывов, полученных мной после этого доклада, занявшего второе место по полезности по результатам опроса после конференции, был такой: «Краткий пересказ документации Workbox». Что ж, в какой-то степени это действительно так: я рассказал пошаговую историю превращения «обычного» веб-приложения в прогрессивное с помощью этой замечательной библиотеки. Буду очень рад, если доклад и конспект вдохновят вас и помогут начать ваше собственное путешествие в мир сервис-воркеров и PWA.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 4

Где я и где конечный автомат? Доклад Вадима Пацева о математике во фронтенде

Reading time 14 min
Views 9.1K
Некоторые фронтенд-разработчики полушутливо называют себя «форма-клепатель». Это не так. Руководитель фронтенда Яндекс.Маршрутизации Вадим Пацев поставил себе задачу — на примере развития и «уточнения» одной простой задачи взаимодействия с пользователем показать: не стоит бояться лезть в такие вещи, как конечный автомат, цепи Маркова и так далее. Во фронтенде тоже есть место «взрослым» архитектурным паттернам и алгоритмам. Ссылка на видео — в конце текста.



— Меня зовут Вадим Пацев, я долгое время работаю в Яндексе, участвовал в таких проектах, как Я.ру, Музыка, Почта, Диск, а также в проектах вне Яндекса, это Roborace, система управления гонками беспилотных автомобилей, и ExperimentX — комплекс по анализу крови. Вообще, я люблю программировать, занимаюсь этим достаточно давно, и это одна из причин, почему я тут и хочу вам рассказать про всякие интересные вещи.
Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Comments 2

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

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



— Всем привет! Я представляю бэкенд-разработку курьерской платформы. Поговорить хочу о том, как нам удается, с одной стороны, двигаться быстро, а, с другой стороны, не потонуть в ворохе и потоке проблем и ошибок.
Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 3

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

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

— Для начала пару слов о себе. Меня зовут Дмитрий Яковлев. Я поработал в нескольких стартапах, в нескольких банках, а сейчас работаю в Яндексе над Android-приложением Карт. При этом еще немного пишу на Kotlin Multiplatform кроссплатформенную логику.
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Comments 2

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

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



— Всем привет. Меня зовут Юра, я около семи лет работаю в поиске Маркета. Сегодня мы с вами поговорим о нашем опыте, о том, как мы организовали процессы и инструментарий, чтобы быстро разрабатываться и не падать.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 1

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

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

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

Сегодня мы с вами поговорим о любви Python и C++. А точнее — о том, что же их объединяет, эти два прекрасных языка и, на самом деле, еще C, и что мы можем почерпнуть из этих прекрасных отношений.
Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Comments 2

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

Reading time 7 min
Views 18K


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

Этот пост задуман не только как обычная вводная статья про опасности программирования без блокировок (о которых я в последний раз писал около 15 лет назад), но и как объяснение, почему слабая модель памяти ARM ломает некоторый код, и почему этот код, вероятно, не работал изначально. Я также хочу объяснить, почему стандарт C++11 значительно улучшил ситуацию в программировании без блокировок (несмотря на возражения против противоположной точки зрения).
Читать дальше →
Total votes 59: ↑55 and ↓4 +51
Comments 60

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

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

— Здравствуйте, меня зовут Виктор, я один из разработчиков страницы поиска Яндекса. На ней каждый день сотни миллионов пользователей вводят свои запросы, получают страницу со ссылками или сразу с правильными ответами. Из-за такого количества запросов нам очень важно, чтобы наш код работал оптимально. И, конечно, я сразу должен затронуть тему преждевременной оптимизации кода.
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 30

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

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

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

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

Но я могу вам посоветовать, как ускорить вашу сеть с помощью оптимизации самого сервера, самой операционной системы.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 4

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity