AvitoTech
22.6K subscribers
1.87K 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
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
Зачем нужны «облачные» UX-исследователи и как с ними работать

От качественных UX-исследований много пользы при создании продукта. Есть несколько способов, как их проводить много, хотя не все они идеальны. Но когда вам надо проводить прямо очень много таких исследований, как у нас, надо что-то изобретать.

Мы попробовали подход «облачных» UX-исследователей. Получилось очень даже ничего.

На Хабре рассказываем всю историю: от того, как пришли, до реализации и результатов → http://bit.ly/3lQJlxe
Завтра в 10 приглашаем всех на вторую открытую сессию Podlodka QA Crew, которую мы проводим при поддержке наших друзей @AvitoTech ⚓️

Александр Матвеев из Авито проведет воркшоп по практикам оптимизации тестирования. Присоединиться к стриму можно будет по ссылке: https://youtu.be/A3k1A1V8gg8
Почему в разработке всё так сложно?

Люди не из индустрии довольно часто не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?

Вместе с парнями из подкаста «Мы обречены» решили с этим разобраться и запустили совместную рубрику, где иногда будем объяснять, почему в разработке всё так сложно. Для начала можно почитать статью об этом на Хабре → http://bit.ly/2TxIvcr

Если любите больше смотреть и слушать, то в перебивке выпуска с Евгением Котом, вместе с нашим инженером Мурадом Бяшимовым парни обсуждают, почему сайты лагают, а игры нет, и отчего разработчики не могут это просто так поправить: http://bit.ly/3jFCxkD
Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS

Когда разрабатывали калькулятор цены доставки, нужно было заставить сервис на Go ходить в PostgreSQL достаточно быстро.

Поэтому в итоге мы прокачали сервис от 50 до 5000 RPS и еще получили несколько выводов:
• мультиплексирование соединений в pgbouncer’е под нагрузкой — зло;
• использовать в сервисе пул большего размера, чем в базе данных — вредно;
• надо выработать привычку делать транзакции быстрыми и закрывать результаты БД.

Детали — на Хабре: http://bit.ly/350vNd2
Создание микросервисов на PaaS

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

Ваня Королёв рассказал, из каких частей состоит наш набор инструментов, и показал пусть создания и развития микросервиса.

Если посмотрите видео, будет полезно, однозначно: https://youtu.be/KT_FKNRDvco
This media is not supported in your browser
VIEW IN TELEGRAM
Коротко о том, как мы починили баг в pgx чужими руками

Подробная история, как это получилось, в нашей статье на Хабре → http://bit.ly/2InjaQv
This media is not supported in your browser
VIEW IN TELEGRAM
Хранение кодовой базы: как это было и как мы пришли к монорепозиторию

Коротко объясняем на гифке. А подробно — в статье на Хабре. Почитайте, если интересно: http://bit.ly/3nrokd6
PaaS в Авито: как это устроено

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

Выделили в статье наработки, которые потенциально можно переиспользовать другим компаниям: http://bit.ly/35IsJm8
This media is not supported in your browser
VIEW IN TELEGRAM
Коротко о том, зачем компаниям нужны «облачные» UX-исследователи

А на Хабре рассказываем в деталях, как проводить ещё больше исследований, чтобы проверять больше гипотез и находить больше инсайтов.

При разработке сервисов без такого обойтись нельзя: http://bit.ly/35ZQ2Io
Live site review. Разбираем инциденты

И пожары на проде, и работы по анализу проблем мы называем live site review. В нашем текущем процессе инцидент-менеджмента семь шагов, которые помогают не только потушить огонь, но и предотвратить повторные возгорания.

Читайте, как всё устроено, на Хабре: http://bit.ly/2JgOGQP
Хакатон в зуме — это, конечно, необычно, но вы когда-нибудь пробовали участвовать в хакатоне в поезде?

Прошёл год с видео о нашем AvitoHack Railroad. Пересматриваем рассуждения о мечтах программистов, предложения по оригинальным местам для хакатонов и вспоминаем, каково кодить без интернета.

Посмотрите, если ещё не видели: https://youtu.be/RN6Zi0qUtWg
Avito Design Talk: точки роста, краудсорсинг, сайд-проекты

Время поговорить о дизайне. Решили, что лучше всего это сделать 10 декабря в 18:00 на нашем ютуб-канале. Настя Ларкина, дизайнер интерфейсов Авито, расскажет, куда дизайнеру крупной компании расти. Алексей Кандауров из Циана — про влияние дизайна на дизайн-процессы. А Владимир Погорелов, дизайнер Тинькофф, приведёт примеры краудсорсинга в дизайне и объяснит специфику дизайна краудсорсинга.

А потом ребята обсудят, зачем дизайнерам сайд-проекты и как их вести, когда времени и так не хватает.

Программа на Хабре: http://bit.ly/3mrx3fz

Регистрация, чтобы получить «напоминалку» о трансляции: http://bit.ly/36q4HMR

Трансляция: http://bit.ly/3muNMhT
This media is not supported in your browser
VIEW IN TELEGRAM
Коротко о том, что важно знать при оптимизации работы с PostgreSQL в Go

Более подробную историю апгрейда нашего сервиса от 50 до 5000 RPS рассказал в блоге на Хабре Иван Осадчий, senior backend engineer.

Почитайте, если интересно: http://bit.ly/33x5IRF
Стажировка в платформенную команду QA

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

Чтобы попасть на стажировку, нужно немного знать теорию тестирования, чуть-чуть PHP, Go, Python или другие языки программирования и понимать принципы работы с SQL и клиент-серверного взаимодействия.

Стажировка длится от полугода до года. Работать надо будет 20 часов в неделю за 40 000₽ до налогов. Пока в основном на удалёнке.

Если вам это подходит, выполняйте тестовое и откликайтесь. Заявку можно подать до 14 декабря включительно → http://bit.ly/3os6asb