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

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

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

Регистрация в РКН: https://clc.to/FOxC1A
Download Telegram
Domain Driven Design — паттерны, которые позволяют применить бизнес-логику в программировании.

Зачем?
1) чтобы разработчики и бизнес общались на одном языке;
2) чтобы программисты легче ориентировались в многоуровневых проектах;
3) чтобы сделать бизнес-логику ясной и независимой;
4) чтобы покрыть фичу юнит-тестами и понять, что она ничего не сломает;
5) чтобы упростить развитие проекта.

Как?
Илья Сергунин, наш backend-разработчик, написал пошаговый гайд, как применить логику DDD в Go и с помощью каких инструментов автоматизировать её соблюдение.

Внимание, вопрос: какое название вы бы дали этому языку? 🧐

#статья_avitotech #habr_avitotech #backend_avitotech
👍28🔥2
PaaS в Авито — это 2 500 сервисов.

Мы связали их друг с другом собственным форматом взаимодействия brief. Когда пришло время реализовывать авторизацию, встал вопрос: как не нарушить ни одну из связей? А потом ещё один: как контролировать, кто, когда и какие изменения вносил? 🧐

При этом не хотелось напрягать сотни разработчиков вносить изменения в каждый сервис и поддерживать реализации для нескольких языков программирования. Да и желательно получить эффективное решение, которое не снизит скорость работы сервисов.

Как это всё у нас получилось, Антон Губарев, основной разработчик проекта, подробно рассказал в статье.

#статья_avitotech #habr_avitotech #PaaS_avitotech
🔥193
Каждый раз, когда кто-то запускает мобильные тесты с помощью Emcee, в мире становится на одну команду счастливых разработчиков больше.

Почему так происходит, в двух словах и не скажешь. Поэтому Денис Веренцов, Android-инженер из Emcee, написал об этом хабрстатью🤖

Если хотите вкратце — листайте картинки. А если предпочитаете слушать, а не читать, то у нас на YouTube и видео есть 📺

#backend_avitotech #статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍9❤‍🔥8🔥6🤩4
Решением проблемы роутинга в Go занимается половина гитхаба 💻
В новом релизе Google взяли лучшее из фреймворков коммьюнити и добавили в net/http.

Теперь http.ServeMux различает HTTP-методы, хосты и домены и может шаблонизировать пути через плейсхолдеры.

Алексей Мичурин в своей статье на примере разобрал, как это всё происходит.

#habr_avitotech #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍5
🤖 Провели эксперимент с профилем Baseline и ускорили запуск приложения на Android на 15%

Baseline Profile собирается локально во время разработки. Тесты для его генерации затрагивают критичный путь пользователя.

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

💻 Подробнее о том, как мы тестировали профиль и автоматизировали его сборку — в хабрастатье Даниля Гатиатуллина, нашего инженера юнита Performance.

#Android_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥103👍1
Факт1️⃣: Позволяет быстро развернуть масштабируемую инфраструктуру для автотестов Android.

Факт2️⃣: Для тех, у кого нет своего железа и кто не готов платить за его аренду, есть сервис, где можно запускать свои тесты в облаке.

Факт3️⃣: Для запуска нужен подходящий сервер с Docker Compose, на котором можно развернуть контейнеры с Emcee и Artifactory.

Все три — про наш инструмент Emcee. С его помощью можно быстро и эффективно запускать iOS- и Android-тесты, а еще ускорять time-to-market. О том, как это работает на практике, рассказал Денис Веренцов, Android-инженер команды Emcee в свежей статье на Хабре.

P.S. Кстати, если уже пробовали Emcee в деле, делитесь впечатлениями в комментариях.

#Android_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍8🔥5👎1
Авито — в тройке лучших ИТ-компаний и первые в E-com🚀

Хабр и ЭКОПСИ составили рейтинг ИТ-работодателей. Они опросили 34000 ИТ-специалистов, 90% из них — мидлы и выше.

По мнению комьюнити мы — одна из самых привлекательных команд для карьеры. В нас ценят:

— профессиональную среду;
— качество продуктов, которые мы делаем;
— сильную инженерную культуру;
— комфортную среду внутри.

А ещё то, что мы развиваем профессиональное комьюнити. Все критерии оценки, которые отмечали респонденты, можно посмотреть тут.

Спасибо всем, кто отметил нас! Вы❤️

P.S. В своем блоге на Хабре также поделились мыслями.

#habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7628👍12🎉12🏆10
Как вам шапки в нашем приложении к Чёрной пятнице?

Их создавала команда MT&S с помощью CoordinatorLayout. А как именно рассказал наш Android-разработчик Никита Пятаков в большом гайде по работе с контейнером.

Читайте, ставьте лайки и делайте красивые функциональные шапки🤖

#Android_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥6👍4🥴3👎2
Как и зачем переходить из ручного тестирования в автоматизированное⁉️

Разбираемся в новой статье Саши Гордеевой, нашего QA-инженера. Саша описала свой путь от ручного тестирования к автотестам. И рассказала, правда ли fullstack QA проще найти работу, о проблемах разделения обязанностей на практике и том, как начать автоматизировать эффективно и без боли.

#qa_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍128
🔥 В 6 раз ускорили работу менеджеров с сегментами клиентов.
🔥 Увеличили конверсию из отправки в открытие рассылок на 15 п.п.
🔥 Построили простые и эффективные процессы рассылок коммуникаций для разных типов клиентов.

В двух словах: внедрили RFM-анализ.

🔍 О методологии, выборе нужных метрик среди множества вариантов, а также о сложностях, которые удалось преодолеть, читайте в статье команды аналитиков Авито Недвижимости.

#analytics_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16😍118🔥2
Все вокруг говорят про автоматизацию в QA, но действительно ли всем она нужна? Светлана Кирдяйкина, наш старший инженер по тестированию, написала статью, а скорее гайд, который поможет понять:

🔍 когда стоит задуматься о переходе на автотесты;
🔍 какие подводные камни могут попасться на пути к автоматизации;
🔍 нужно ли автоматизировать все.

#qa_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥137👍6
🗂 Для QA- и DS-инженеров, мобильных разработчиков, а также их продактов — подборка наших статей. Сохраняйте себе пост и не жалейте сердец в реакциях.

1️⃣ Как ручному тестировщику стать автоматизатором?
Личный опыт в автотестах без технического образования и знания ЯП.
Время чтения ~10 минут

2️⃣ Как растут data science-инженеры и что советуют синьоры, чтобы развиваться быстрее
Профиль компетенций DS в бигтехе на нашем примере с пояснениями и лайфхаками от тех, кто достиг 5 уровня и выше.
Время чтения ~8 минут

3️⃣ Работа с CoordinatorLayout: шапочный разбор
Знакомство с инструментом и небольшая инструкция, как делать задачки с нетривиальным взаимодействием view между собой.
Время чтения ~8 минут

4️⃣ Как поднять инфраструктуру для запуска автотестов Android в облаках
Гайд, как организовать большое количество автотестов при малом количестве «железа».
Время чтения ~12 минут

5️⃣ Продакту на заметку: почему привычные метрики могут стать тормозом для роста и что с этим делать
История о важности регулярной проверки целеполагания, поиска новых и нетривиальных метрик.
Время чтения ~8 минут

Полезного чтения!

#habr_avitotech #qa_avitotech #статья_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥107👍2🥴1
💻 Кто отвечает за качество продукта в Scrum-команде? Разработчик? QA-инженер? Или все, кто над этим проектом работает?

В целом у автоматизации тестирования в таких команда есть ряд особенностей, с которыми приходится сталкиваться или же вовсе преодолевать при работе над улучшением продукта.
Подробнее о них — в статье Димы Солодова, инженера по тестированию в Авито 🗂

#habr_avitotech #qa_avitotech #статья_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍8🔥6
🚀 Искать и удалять дубликаты в базе вручную? А может лучше…интегрировать ML и GPT?

🔍 Давид Акопян, тимлид продуктовой аналитики в Авито, протестировал оба алгоритма на одном из своих проектов для магазина на Shopify.

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

📎 Небольшой спойлер: бонус в конце — шесть простых правил успешного консалтингового проекта.

#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍9🔥9👎1🥴1
Многолетний опыт оформления исследовательских проектов < одна статья на Хабре 🔥

Только представьте: вы, как аналитик, открываете чужое исследование, а там… Всё понятно, прозрачно и, главное, воспроизводимо!

Сэкономить нервные клетки и упростить процесс обмена исследованиями поможет статья Владислава Козлова. Тимлид аналитиков в кластере Антифрод в Авито поделился универсальными принципами оформления проектов и показал их применение на практике.

Наш любимый принцип — «сохраняй всё, что можно сохранить». Остальные ищите по ссылке ⬅️

#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
21🔥8👍6👎2🥴2
«Я сейчас сойду с ума. Удалил все сообщения в чате... Что делать?»

Кажется, вы тоже сейчас прочувствовали эту боль. Случайно удалить многолетний групповой чат с тысячами кружочков, сообщений, мемов, файлов…Главный вопрос в такой ситуации: «А реально ли восстановить данные?»

Дмитрий Гусев, Frontend-разработчик в команде Bricks в Авито, рассказал, как ему (спойлер!) всё же удалось решить проблему. Но есть нюанс: возможность восстановления актуальна только для групповых чатов и каналов.

💻 Надеемся, что эти знания вам никогда не пригодятся. В любом случае, вы уже будете готовы.

#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍118🏆3
Перед тем, как стать регулярным каналом коммуникации с пользователями, рассылка в Авито должна пройти огонь, воду… А если без шуток, целых 5 стадий: от разработки идеи до анализа итогов эксперимента 🔍

На какие виды делим А/Б-тесты в CRM-маркетинге? Что такое глобальная контрольная группа и зачем она нужна? В какой момент стоит добавлять пользователей в тестовую группу? В чём отличия A/B-экспериментов CRM-рассылок от продуктовых тестов?

Ответы ищем в статье Армена Есаяна, аналитика данных CRM в Авито ⬅️

#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1411❤‍🔥6👍2
Зачем мы пошли в разработку своих решений на базе low-сode & Backend-Driven UI

Представим, что перед нами стоит максимально тривиальная задача — поменять в карточке объявлений цену, выделив ее ярким фоном, и название товара.

Обновления необходимо внести на всех трех платформах: Web, Android и iOS. Следовательно, задача должна пройти полный цикл разработки — от постановки в бэклог до финального релиза. И вот тут возникает проблема. Во-первых, команды могут быть заняты решением более приоритетных задач. Во-вторых, разные платформы обновляются по-разному. И, как итог, time to market даже для такого простого изменения составит существенную величину.

📌Решить это можно через переход на WebView или использование кроссплатформенных инструментов, таких как Flutter. Однако мы остановились на подходе Backend-Driven UI. Что из этого вышло рассказал в новой статье Михаил Шевченко, архитектор и разработчик backend low-code-платформы Bricks в Авито.

#backend_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥117👍4🤩42
Быстро, удобно, недорого — три причины, почему теперь мы автоматически исправляем нарушения в изображениях 💻

Система занимается удаление нарушений в объявлениях: например, контактов или ссылок на другие сайты. Раньше такие записи мы отклоняли с просьбой заменить изображение. Это значительно снижало количество объявлений — не все готовы создавать их заново.

🗂 В новой статье Владимир Морозов, старший дата-сайентист в Авито, рассказал про архитектуру, обучение этой ML-модели и дальнейшие проекты команды автоматической модерации.

#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍53
💻 6 статей, которые вы могли случайно пропустить в этом месяце. На первый раз прощаем и ждём по любимой реакции под постом! 🔥

1️⃣ Как с помощью ML-модели мы помогли исполнителям получать больше заказов на Авито
Небольшой спойлер: полученные от модели скор-карты стали персональными рекомендациями в кабинете продавцов.
Время чтения ~ 13 минут

2️⃣ Современные подходы к управлению UI: low-сode & Backend-Driven UI
Михаил Шевченко рассказал о плюсах их внедрения на реальных проблемах и задачах.
Время чтения ~ 9 минут

3️⃣ Да кто такой этот ваш Security BP?
Вообще это сотрудник департамента ИБ, который одинаково погружён как в продуктовый, так и в security-контекст. Как его искали в Авито и какая у этой роли ценность, рассказала Екатерина Пухарева.
Время чтения ~ 10 минут

4️⃣ Эксплуатация Stateful-приложений в Kubernetes на примере баз данных в Авито
Игорь Конев развеет миф о том, что базы в Kubernetes сложные и ненадёжные.
Время чтения ~ 10 минут

5️⃣ Автомодерация изображений: как исправлять нарушения, сохраняя количество и качество контента
ML-модель для блюра контента в объявлениях, нарушающих правила площадки, против классических методов модерации.
Время чтения ~ 11 минут

6️⃣ Дизайн-системы в 2025 году: 6 актуальных трендов
Филипп Соломин рассказал о семантических переменных, Backend-driven UI… Всё-всё, остальное смотрите по ссылке!
Время чтения ~ 4 минуты

#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥108👍5💔1