AvitoTech
22.5K subscribers
1.86K photos
101 videos
1.67K links
Рассказываем, что у Авито под капотом, делимся инженерной экспертизой и зовём на митапы.

По всем вопросам: @direct_avitotech

Сайт: https://avito.tech
Хабр: habr.com/ru/company/avito
Гитхаб: github.com/avito-tech

Регистрация в РКН: https://clc.to/FOxC1A
Download Telegram
Публикуем видеозаписи митапа Avito Student Talks, посвящённого аналитике: карьерному пути, Data Science и продуктовой аналитике → http://bit.ly/2play_analitycs.

А на Хабре — развёрнутый отчёт со встречи с презентациями и отзывами слушателей → http://bit.ly/2PSNEcF.
Константин Евтеев, руководитель разработки юнита DBA в Авито, расскажет на РИТ++ 2019 о нашем опыте эксплуатации бинарной репликации и стендбаев

Если будете на фестивале, приходите 27 мая в 12:00 в зал «Сингапур», чтобы послушать доклад Константина. Программа и регистрация → http://bit.ly/30l3BNI

⚙️ О чём будет доклад?
1️⃣ Подходы для горизонтального масштабирования с помощью репликации. Иногда очень эффективного и не затратного, но есть особенности, которые нужно решать: для некоторых приложений возникновение stale reads допустимо и это ок, но есть паттерны для систем, где stale reads недопустимы.

2️⃣ Кейсы, которые могут привести к деградации вашего приложения (высокий уровень TPS, применение DDL, отправка большого количества WAL-файлов в архив и восстановление из архива), и способы их решения.

💥 Использование пула стендбаев и переключение запросов между ними, планах восстановления после аварий для приведения в согласованное состояние мастера, стендбаев и архива.
Что такое adversarial attack (состязательная атака)? Это способ обмануть нейросеть, чтобы она выдала некорректный результат. Их в основном используют в научных исследованиях, чтобы проверять устойчивость моделей к нестандартным данным.
В блоге рассказываем о первой такой атаке в продакшне (и о том, зачем её сделали) → http://bit.ly/2LKx6oI
Евгений Суворов обсудит с экспертами из Сбербанка и Mail.Ru Group, как построить процесс в большой команде разработки.

Круглый стол по этой теме пройдёт 30 мая на митапе «SberPractice: iOS». С докладами выступят специалисты из Epam Systems и ВКонтакте.

Посмотреть программу мероприятия и зарегистироваться → http://bit.ly/sbpios
This media is not supported in your browser
VIEW IN TELEGRAM
Коротко о преимуществах service mesh подхода и нашем инструменте для его реализации. Подробный рассказ об этом читайте в статье Александра Лукьянченко в блоге на Хабре → http://bit.ly/ntrmsh
Как найти 200 багов в проекте за день?
Просто позовите коллег из другой команды, они вам помогут!
Делимся интересной практикой в блоге на Хабре → http://bit.ly/bughunt2
Роман Павлушко, ex-CTO Авито, расскажет на митапе во ФРИИ, как мы построили процесс непрерывных улучшений в Авито

Встреча состоится 4 июня в 10:00. Посмотреть программу и зарегистрироваться можно на сайте ФРИИ → http://bit.ly/2W4I1hW

О чем будет доклад Романа?
1️⃣ Какие внутренние продукты нужны крупной компании.
2️⃣ Как подружить команды разработки внутренних и клиентских продуктов.
3️⃣ Как применять продуктовые подходы для внутренних разработок и как это помогает достигать целей компании.

Будет полезно. Приходите, если интересуетесь темой.
Практические советы для релиз-менеджеров от Алексея Шпирко, руководителя юнита Speed в Авито, в выпуске подкаста Podlodka:

1️⃣ Как часто нужно выкатывать обновления мобильных приложений.
2️⃣ Сколько программистов потребовалось, чтобы сделать ненужными восемь автоматизаторов.
3️⃣ Почему end-2-end тесты не очень полезны.
4️⃣ Как делать канареечные выкатки и какую пользу они приносят пользователям.

Ссылки на выпуск и полезные ресурсы по этой теме — на сайте Podlodka Podcast: http://bit.ly/podlodka113
А/B эксперименты — ключевой инструмент принятия решений в Авито. Мы работаем с ним с помощью единой платформы. Она помогает быстро запускать эксперименты, контролирует нежелательные пересечения экспериментов, считает метрики, статистические тесты и визуализирует результаты.

Старший аналитик Данила Леньков рассказал в блоге на Хабре, как платформа устроена и показал интересные технические детали → http://bit.ly/abplatform
Представляем первый выпуск AvitoTech Break — короткие интервью с инженерами Авито, в которых они рассказывают о технологиях и делятся личным опытом

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

Посмотрите на нашем ютуб-канале → http://bit.ly/avitotechb1
Read about how to make your E2E iOS UI tests greener and more stable, and run them on every pull request → http://bit.ly/2MvcXUd
Zero Bug Policy — это политика обработки ошибок, основанная на правиле: «При появлении новой ошибки надо сразу принять решение исправить ее в ближайшее время, либо закрыть как “Won’t Fix”».

Делимся в блоге на Хабре опытом реализации этой политики и результатами → http://bit.ly/z0bpc
Как и зачем мы тестируем генераторы нагрузки?

Ключевые элементы внутренней инфраструктуры тестирования производительности в Авито — это генераторы нагрузки Yandex.Tank (phantom) и Yandex.Pandora. Но есть и другие. В любом случае мы хотели убедиться, что выбранные нами генераторы нагрузки соответствуют накладываемым на них функциональным и нефункциональным требованиям, чтобы результаты тестирования были качественными.

Для этого мы начали использовать отдельную среду для тестирования компонентов инфраструктуры тестирования производительности, в том числе генераторов нагрузки. Нам это помогло повысить качество проводимых тестов и получаемых результатов и точнее планировать ёмкость тестовой инфраструктуры и вектора её развития.

На Highload++ Siberia, Андрей Филатов, руководитель группы тестирования в Авито, расскажет, как мы это сделали и какие результаты это принесло.

Посмотрите программу конференции и приходите, если интересуетесь темой и будете в это время в Новосибирске → http://bit.ly/2WA37VH
Как придумывался совместный квест с N+1 для тех, кто умеет работать с Redis, PHP и MongoDB и вычислять по айпи.

https://nplus1.ru/blog/2019/06/11/hackers
25 июня на PyCon Russia 2019 Дмитрий Ходаков расскажет про CPU bound задачи в веб-сервисах на Python

Посмотреть программу и зарегистрироваться → http://bit.ly/2WudMfA

В докладе:
1️⃣ Что делать, если нужно подружить io bound (сеть) и cpu bound (расчеты).
2️⃣ Про multiprocessing в python и его дружбу с asyncio.
3️⃣ Как ускорить в продакшене систему в 50 раз, отказавшись от pandas/numpy в пользу чистого Python.
29 июня проводим в нашем офисе iOS Meetup. Обсудим самописный remote cache для iOS, feature toggles, поговорим, как proxy-объекты помогают в разработке тёмных тем для приложений, и рассмотрим разные варианты развития карьеры iOS-разработчика: фрилансер, сотрудник корпорации, стартапер.

Подробнее о встрече рассказали в нашем блоге на Хабре. Там же и ссылка на регистрацию → http://bit.ly/2XG0mON

Если не сможете прийти на митап, подключайтесь к трансляции в 12:30 по московскому времени.
Андрей Аксёнов расскажет про GEODIST() на Highload++ Siberia

Конференция пройдёт 24 и 25 июня в Новосибирске. Посмотреть программу и зарегистрироваться на Highload можно на сайте → http://bit.ly/2WA37VH

🌎 О чём будет доклад Андрея?

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

В докладе руководитель разработки инфраструктуры поиска в Авито разберёт детали этой реализации и покажет, как её конструировать и оптимизировать.
Кажется, что небезынтересно разобрать детали этой реализации и продемонстрировать процесс её конструирования и оптимизации.
Media is too big
VIEW IN TELEGRAM
Коротко о том, как мы запустили первую adversarial attack в продакшне и зачем нам это было нужно.

Подробный разбор — в нашем блоге на Хабре: http://bit.ly/advattack
День открытых дверей совместной магистерской программы МАИ и Авито

19 июня в 19:00 в нашем офисе пройдёт встреча, посвящённая набору на программу «Проектирование высоконагруженных интернет-сервисов» в 2019 году. Можно будет пообщаться с руководителями программы, преподавателями и выпускниками. Если интересуетесь поступлением в магистратуру и хотите учиться на этом направлении, регистрируйтесь и приходите к нам: http://bit.ly/2IMe9NG

На сайте Московского авиационного института можно почитать о совместной программе с Авито: как поступить, какие дисциплины будут изучаться, какие навыки получите по итогу и кем сможете работать → http://bit.ly/maiavito
Наша команда, разрабатывающая внутреннюю TMS, рассказывает о жизни платформенных юнитов внутри продуктовой компании, ежедневных решениях и планах. Иногда копипастят итоги стендапов 😁