zhub.link is one of the many independent Mastodon servers you can use to participate in the fediverse.

Administered by:

Server stats:

28
active users

#опенсорс_яндекса

2 posts2 participants0 posts today
Habr<p>Demeter: реактивное профилирование Android-приложений</p><p>Всем привет, меня зовут Вадим Мезенцев, я Android‑разработчик в команде Яндекс Go. Сегодня я хочу рассказать историю о том, как мы искали подход к профилированию нашего приложения, с какими проблемами столкнулись и как в итоге реализовали библиотеку для измерения производительности. Наша команда часто сталкивалась с проблемами при поиске «узких мест» в производительности приложения. Мы пробовали различные инструменты профилирования, но все они требовали слишком много времени на сбор метрик, анализ и фильтрацию нужных данных. Чтобы решить эту проблему, мы разработали собственное решение, которое сочетает скорость анализа и простоту поиска проблем. Мы создали библиотеку Demeter , которую легко интегрировать в отладочную версию Android‑приложения. Она позволяет получать отчёты о производительности во время использования приложения и переходов между экранами. Такую сборку можно передать команде тестирования, а затем проанализировать отчёты и изучить изменения.</p><p><a href="https://habr.com/ru/companies/yandex/articles/891592/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/yandex/a</span><span class="invisible">rticles/891592/</span></a></p><p><a href="https://zhub.link/tags/%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81" class="mention hashtag" rel="tag">#<span>яндекс</span></a> <a href="https://zhub.link/tags/opensourse" class="mention hashtag" rel="tag">#<span>opensourse</span></a> <a href="https://zhub.link/tags/android" class="mention hashtag" rel="tag">#<span>android</span></a> <a href="https://zhub.link/tags/performance" class="mention hashtag" rel="tag">#<span>performance</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D1%81_%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0" class="mention hashtag" rel="tag">#<span>опенсорс_яндекса</span></a> <a href="https://zhub.link/tags/mobile" class="mention hashtag" rel="tag">#<span>mobile</span></a></p>
Habr<p>Скриншотное тестирование во фронтенде: современный подход к поиску визуальных багов</p><p>За последние годы скорость развития технологий для создания фронтенд-приложений выросла в разы. Новые фреймворки, библиотеки, инструменты сборки и подходы к разработке появляются практически каждый год. Однако, несмотря на это, основная точка взаимодействия пользователя с продуктом остаётся неизменной — это интерфейс. Именно он формирует впечатление о продукте и, по сути, является окончательной «витриной» всей вашей работы. Традиционные подходы к тестированию на многих уровнях уже не успевают за реалиями разработки: ручное тестирование становится слишком трудоёмким, а написание unit- или end-to-end-тестов не всегда позволяет отследить именно визуальные изменения. И здесь на помощь приходит методология скриншотного тестирования — мощный инструмент для выявления визуальных багов, появляющихся в интерфейсе. Он позволяет убедиться в том, что ваш продукт отображается так, как задумано, и избавляет команду от многих сюрпризов.</p><p><a href="https://habr.com/ru/companies/yandex/articles/890548/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/yandex/a</span><span class="invisible">rticles/890548/</span></a></p><p><a href="https://zhub.link/tags/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>тестирование</span></a> <a href="https://zhub.link/tags/%D0%B0%D0%B2%D1%82%D0%BE%D1%82%D0%B5%D1%81%D1%82%D1%8B" class="mention hashtag" rel="tag">#<span>автотесты</span></a> <a href="https://zhub.link/tags/%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%D0%BD%D1%8B%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D1%8B" class="mention hashtag" rel="tag">#<span>скриншотные_тесты</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D1%81_%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0" class="mention hashtag" rel="tag">#<span>опенсорс_яндекса</span></a> <a href="https://zhub.link/tags/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D1%8B" class="mention hashtag" rel="tag">#<span>интерфейсы</span></a></p>
Habr<p>Perforator: новая система непрерывного профилирования теперь в опенсорсе</p><p>Привет! Сегодня мы выложили в опенсорс Perforator — систему непрерывного профилирования (continuous profiling), которую используем внутри Яндекса для анализа производительности большинства сервисов. В Github-репозитории доступен исходный код системы и инфраструктура для развёртывания своей инсталляции Perforator на кластере Kubernetes. Кроме того, Perforator можно использовать на своём компьютере как более простую замену perf record: профили получаются точнее, а оверхед меньше. Исходный код доступен под лицензией MIT (и GPL для eBPF-программ) и запускается под x86-64 Linux. При помощи Perforator и прошлых подходов к задаче профилирования мы регулярно оптимизируем самые крупные сервисы в Яндексе, например Баннерную крутилку или Поиск, на десятки процентов. Кроме того, Perforator реализует недостающий в опенсорсе компонент профилирования для простой автоматической оптимизации программ с использованием profile-guided optimization. Наши тесты показывают, что использование PGO даёт ускорение около 10% в разных сценариях. Под катом поговорим про профилирование под Linux, опишем вызовы и сложности, возникающие при профилировании, изучим, как устроен Perforator внутри, и обсудим, как можно использовать полученную систему.</p><p><a href="https://habr.com/ru/companies/yandex/articles/875070/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/yandex/a</span><span class="invisible">rticles/875070/</span></a></p><p><a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>профилирование</span></a> <a href="https://zhub.link/tags/profiling" class="mention hashtag" rel="tag">#<span>profiling</span></a> <a href="https://zhub.link/tags/continuous_profiling" class="mention hashtag" rel="tag">#<span>continuous_profiling</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F" class="mention hashtag" rel="tag">#<span>оптимизация</span></a> <a href="https://zhub.link/tags/flamegraph" class="mention hashtag" rel="tag">#<span>flamegraph</span></a> <a href="https://zhub.link/tags/opensourse" class="mention hashtag" rel="tag">#<span>opensourse</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D1%81" class="mention hashtag" rel="tag">#<span>опенсорс</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D1%81_%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0" class="mention hashtag" rel="tag">#<span>опенсорс_яндекса</span></a></p>
Habr<p>Корпоративная магистратура ИТМО и Яндекса: как всё устроено</p><p>Корпоративная магистратура Яндекса работает в ИТМО уже второй год. Конечная цель программы ― еще на этапе обучения дать практический опыт, необходимый для работы в коммерческой разработке. Магистранты программы решают не абстрактные задания из учебника, а реализуют проекты, которые потом попадают на прод в проектах Яндекса ― в том числе в Open Source. В статье рассказываем, как всё устроено и над чем работают студенты.</p><p><a href="https://habr.com/ru/companies/spbifmo/articles/829412/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/spbifmo/</span><span class="invisible">articles/829412/</span></a></p><p><a href="https://zhub.link/tags/divkit" class="mention hashtag" rel="tag">#<span>divkit</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D1%81_%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0" class="mention hashtag" rel="tag">#<span>опенсорс_яндекса</span></a> <a href="https://zhub.link/tags/bdui" class="mention hashtag" rel="tag">#<span>bdui</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%B0%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D1%83%D1%80%D0%B0" class="mention hashtag" rel="tag">#<span>магистратура</span></a> <a href="https://zhub.link/tags/%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82_%D0%B8%D1%82%D0%BC%D0%BE" class="mention hashtag" rel="tag">#<span>университет_итмо</span></a> <a href="https://zhub.link/tags/%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82%D1%8B" class="mention hashtag" rel="tag">#<span>университеты</span></a> <a href="https://zhub.link/tags/svg" class="mention hashtag" rel="tag">#<span>svg</span></a> <a href="https://zhub.link/tags/framework" class="mention hashtag" rel="tag">#<span>framework</span></a></p>
Habr<p>userver 2.0 — большой релиз фреймворка для IO-bound программ</p><p>С момента прошлого релиза фреймворка 🐙 userver для С++ прошло чуть больше полугода. За это время мы многое сделали: сильно оптимизировали работу фреймворка и обогнали основных конкурентов в бенчмарках высокопроизводительных фреймворков; значительно упростили конфигурирование; обзавелись install , докер-образами, Yandex Cloud-образом и DEB-пакетами; обросли новой функциональностью, включая серверные мидлвари для HTTP, и YDB-драйвером; перешли на новую ежемесячную схему релизов и упростили версионирование. Добро пожаловать под кат за подробностями</p><p><a href="https://habr.com/ru/companies/yandex/articles/813115/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/yandex/a</span><span class="invisible">rticles/813115/</span></a></p><p><a href="https://zhub.link/tags/yandex" class="mention hashtag" rel="tag">#<span>yandex</span></a> <a href="https://zhub.link/tags/%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4" class="mention hashtag" rel="tag">#<span>открытый_код</span></a> <a href="https://zhub.link/tags/userver" class="mention hashtag" rel="tag">#<span>userver</span></a> <a href="https://zhub.link/tags/github" class="mention hashtag" rel="tag">#<span>github</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++ <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++17 <a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="tag">#<span>postgresql</span></a> <a href="https://zhub.link/tags/postgres" class="mention hashtag" rel="tag">#<span>postgres</span></a> <a href="https://zhub.link/tags/redis" class="mention hashtag" rel="tag">#<span>redis</span></a> <a href="https://zhub.link/tags/mongodb" class="mention hashtag" rel="tag">#<span>mongodb</span></a> <a href="https://zhub.link/tags/mongo" class="mention hashtag" rel="tag">#<span>mongo</span></a> <a href="https://zhub.link/tags/synchronization" class="mention hashtag" rel="tag">#<span>synchronization</span></a> <a href="https://zhub.link/tags/coroutine" class="mention hashtag" rel="tag">#<span>coroutine</span></a> <a href="https://zhub.link/tags/coroutines" class="mention hashtag" rel="tag">#<span>coroutines</span></a> <a href="https://zhub.link/tags/logs" class="mention hashtag" rel="tag">#<span>logs</span></a> <a href="https://zhub.link/tags/dynamic_changes" class="mention hashtag" rel="tag">#<span>dynamic_changes</span></a> <a href="https://zhub.link/tags/python" class="mention hashtag" rel="tag">#<span>python</span></a> <a href="https://zhub.link/tags/python3" class="mention hashtag" rel="tag">#<span>python3</span></a> <a href="https://zhub.link/tags/yaml" class="mention hashtag" rel="tag">#<span>yaml</span></a> <a href="https://zhub.link/tags/json" class="mention hashtag" rel="tag">#<span>json</span></a> <a href="https://zhub.link/tags/sql" class="mention hashtag" rel="tag">#<span>sql</span></a> <a href="https://zhub.link/tags/mysql" class="mention hashtag" rel="tag">#<span>mysql</span></a> <a href="https://zhub.link/tags/prometheus" class="mention hashtag" rel="tag">#<span>prometheus</span></a> <a href="https://zhub.link/tags/prometheus_grafana" class="mention hashtag" rel="tag">#<span>prometheus_grafana</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D1%81_%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0" class="mention hashtag" rel="tag">#<span>опенсорс_яндекса</span></a> <a href="https://zhub.link/tags/ydb" class="mention hashtag" rel="tag">#<span>ydb</span></a> <a href="https://zhub.link/tags/kafka" class="mention hashtag" rel="tag">#<span>kafka</span></a> <a href="https://zhub.link/tags/%D0%BE%D1%81%D1%8C%D0%BC%D0%B8%D0%BD%D0%BE%D0%B3%D0%B8" class="mention hashtag" rel="tag">#<span>осьминоги</span></a></p>
Habr<p>Testplane в опенсорсе: автоматизируем пользовательские сценарии в веб-интерфейсах</p><p>Привет! Меня зовут Евгений Константинов. Я занимаюсь разработкой инструментов автоматического тестирования в Яндексе. В этой статье хочу рассказать про историю создания инструмента Testplane Testplane поможет вам: - протестировать разные сценарии в любом браузере; - проверить вёрстку с помощью скриншотного тестирования; - выполнить тестирование ваших React-компонентов; - запустить клиентские unit-тесты в контексте браузера.</p><p><a href="https://habr.com/ru/companies/yandex/articles/808467/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/yandex/a</span><span class="invisible">rticles/808467/</span></a></p><p><a href="https://zhub.link/tags/%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81" class="mention hashtag" rel="tag">#<span>яндекс</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>тестирование</span></a> <a href="https://zhub.link/tags/nodejs" class="mention hashtag" rel="tag">#<span>nodejs</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D0%B5%D0%BD%D1%81%D0%BE%D1%80%D1%81_%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0" class="mention hashtag" rel="tag">#<span>опенсорс_яндекса</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B5%D1%80%D1%81%D1%82%D0%BA%D0%B8" class="mention hashtag" rel="tag">#<span>тестирование_верстки</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B5%D0%B1%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2" class="mention hashtag" rel="tag">#<span>тестирование_вебсервисов</span></a></p>