AvitoTech
15.7K subscribers
1.38K photos
47 videos
1.36K links
Истории о технологиях Авито, профессиональном опыте наших инженеров и анонсы митапов.

Наш сайт: avito.tech
Статьи на Хабре: habr.com/ru/company/avito
Гитхаб: github.com/avito-tech

По всем вопросам: @direct_avitotech
Download Telegram
Как мы повышаем эффективность и прозрачность работы с инфраструктурой и получаем качественный код, который будет просто переиспользовать

Объясняем на карточках. Подробнее о способах масштабирования и модернизации нашей работы с инфраструктурным кодом — в статье на Хабре → http://bit.ly/3lKOsjt
Чем хорош JavaScript и кто такой фронтопс: вспоминаем, как прошёл митап для фронтенд разработчиков в Казани

15 февраля собирались на встречу с казанскими фронтенд разработчиками. Рассказывали с инженерами из других компаний доклады и задавали в перерывах вопросы про плюсы и минусы JavaScript, его историю и комьюнити.

Посмотрите, если вам это интересно: https://youtu.be/1RgXmsjNVEU
CI/CD мобильных приложений на основе контракта и собственный сервис релизов мобильных приложений

Дима Прокоп, backend-инженер в команде Speed, рассказал историю, как наша система CI/CD эволюционировала из набора скриптов и TeamCity-билдов в полноценный сервис мобильных релизов, позволяющий управлять всем процессом выпуска приложений через удобный интерфейс.

Читать → http://bit.ly/3hPJ9wB
This media is not supported in your browser
VIEW IN TELEGRAM
Как тимлиду расти в глазах руководства

Если вы тимлид, то наверняка думаете и об управлении своей командой, и о том, как расти самому. Хороший контент на эту тему планируется на следующей неделе конференции наших друзей Podlodka Teamlead Crew #3.

Вместе с Кириллом Самохиным, техлидом нашей команды Sale Success, ребята обсудят, как устроен техрепортинг в Авито и вообще, что важно для него подготовить. Встреча начнётся 9 сентября в 18:00.

Третий сезон Podlodka TeamLead Crew стартанул в этот понедельник. Фокус этой недели — управление знаниями. Присоединиться к конференции можно хоть сейчас.

Десять человек, которые введут промокод AvitoTech4TLCrew, получат билет за 1500₽ вместо 3900₽. С билетом вы получаете запись ко всем прошедшим зум-сессиям и воркшопам, доступ к предстоящим и чату в Слэке.

Регистрироваться надо на таймпаде: http://bit.ly/2QTwCwl

На сайте Подлодки можно изучить расписание: https://podlodka.io/tlcrew
Android митап в Нижнем Новгороде что волнует местных разработчиков?

15 февраля вместе с Кириллом Розовым из @android_broadcast позадавали вопросы местным android-разработчикам. Узнали, что многие выбирают Kotlin Multiplatform, а не Flutter, Coroutines вместо RxJava, не все знают про Jetpack Compose и некоторые ждут обновлений Android для автомобилей.

Больше разговоров с комьюнити: https://youtu.be/HkT3bs0wkNk
Автоматический мониторинг фатальных ошибок мобильных приложений

Теперь можем не заходить в консоль Firebase, чтобы следить там за крашами. Всё собираем автоматически.

Вот как это получилось → http://bit.ly/3khM0Pz
Инфраструктура для мобильной разработки

Евгений Кривобоков стал гостем нового выпуска подкаста The Art Of Programming (@taoplive). Вместе с Антоном Черноусовым обсуждали инфраструктуру для мобильной разработки, влияние Kotlin на Android-разработку, CI/CD сценарии и управление артефактами.

Интересный выпуск получился → https://youtu.be/RIEoH6yZtak
This media is not supported in your browser
VIEW IN TELEGRAM
Nupokati: наш сервис релизов мобильных приложений

Было: набор скриптов и TeamCity-билдов.
Стало: полноценный сервис мобильных релизов, позволяющий управлять всем процессом выпуска приложений через удобный интерфейс.

Коротко об изменениях — в гифке. Подробности — в статьях.

На русском → http://bit.ly/35WFZ7i
И на английском →http://bit.ly/2Ek7ewY
Mac mini с жидким металлом

Провели эксперимент и улучшили производительность нового Mac mini.

В статье на Медиуме Влад Алексеев, lead iOS engineer, рассказывает и показывает, как мы это сделали: http://bit.ly/3ckRkz3
Приключения одного бага или как починить pgx чужими руками

Ситуация: заметили в метриках pgbouncer’a, что по мере роста нагрузки растёт число активных соединений и достигает ограничения в 10 штук — тут всё логично. Но дальше с ростом нагрузки cl_active неожиданно падает, а число cl_waiting быстро растёт почти до 60. Как сервис умудрился создать 60 соединений, если размер его пула — 10, было непонятно.

Проблема: была в pgx/v4, через который наш сервис связывал с pgbouncer’ом.

Что в итоге: провели расследование, тщательно изучили pgbouncer и в итоге убедили Джека Кристенсена, автора pgx, выпустить фикс, который снимает блокер для всех, кто использует pgx под нагрузкой.

Рассказываем в статье, что к чему: http://bit.ly/3cpmHbB
This media is not supported in your browser
VIEW IN TELEGRAM
Еще пару часов, максимум, поработать и можно улетать отдыхать в выходные. Можно ещё добавить себе или поделиться с вашим Android-разработчиком стикерпаком, который мы сделали вместе с @android_broadcast
«Нормально делай и нормально будет»: Даниил Попов о современной андроид-разработке, пользе твиттера и уходе из Авито

Даниил ещё недавно работал андроид-инженером в нашей команде Speed и делал мобильную инфраструктуру. Журналу «Код» он рассказал о своем карьерном пути и одном из важных принципов в разработке: http://bit.ly/36fWpI2
Media is too big
VIEW IN TELEGRAM
Коротко о том, как мы автоматизировали сбор информации из Firebase о крашах в мобильных приложениях

Подробная история, зачем это понадобилась и какая от этого польза — в нашем блоге на Хабре: http://bit.ly/3cK4NAz
Что там с HTTP/3?

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

Базовый доклад, если хотите начать разбираться в предверии скорого (надеемся) выхода окончательных спецификаций нового протокола.

Посмотрите на нашем ютуб-канале → https://bit.ly/33AQZ8A
Организация кодовой базы и тестирования в монорепозитории

Илья Никитин, frontend engineer, делится историей хранения нашей кодовой базы: как перешли с Twig на React, как у нас появились npm-пакеты и отдельные репозитории для них, а потом всё переехало в монорепозиторий.

При этом, есть гарантия того, что всё будет работать корректно благодаря прогону тестов на каждом пул-реквесте. Количество самих пул-реквестов уменьшилось с 8-9 в худшем случае до двух: в монолит и в монорепозиторий. А пул-реквест в монорепозиторий содержит сразу все изменения.

Прочитайте, если интересно → http://bit.ly/2GO8wBi
This media is not supported in your browser
VIEW IN TELEGRAM
Можно ли взломать RFID-замок?

RFID-замки используют для охраны офисов или на домофонах. Мы пытались взломать один такой вместе с N+1, но у нас ничего не получилось. Задействовали два способа: с помощью магнита с жесткого диска и путём перехвата уже декодированных данных с RFID-ключей на контроллере.

Детали можно узнать в статье → http://bit.ly/2FtbxXv