Domain Driven Design — паттерны, которые позволяют применить бизнес-логику в программировании.
Зачем?
1) чтобы разработчики и бизнес общались на одном языке;
2) чтобы программисты легче ориентировались в многоуровневых проектах;
3) чтобы сделать бизнес-логику ясной и независимой;
4) чтобы покрыть фичу юнит-тестами и понять, что она ничего не сломает;
5) чтобы упростить развитие проекта.
Как?
Илья Сергунин, наш backend-разработчик, написал пошаговый гайд, как применить логику DDD в Go и с помощью каких инструментов автоматизировать её соблюдение.
Внимание, вопрос: какое название вы бы дали этому языку? 🧐
#статья_avitotech #habr_avitotech #backend_avitotech
Зачем?
1) чтобы разработчики и бизнес общались на одном языке;
2) чтобы программисты легче ориентировались в многоуровневых проектах;
3) чтобы сделать бизнес-логику ясной и независимой;
4) чтобы покрыть фичу юнит-тестами и понять, что она ничего не сломает;
5) чтобы упростить развитие проекта.
Как?
Илья Сергунин, наш backend-разработчик, написал пошаговый гайд, как применить логику DDD в Go и с помощью каких инструментов автоматизировать её соблюдение.
Внимание, вопрос: какое название вы бы дали этому языку? 🧐
#статья_avitotech #habr_avitotech #backend_avitotech
👍28🔥2
PaaS в Авито — это 2 500 сервисов.
Мы связали их друг с другом собственным форматом взаимодействия brief. Когда пришло время реализовывать авторизацию, встал вопрос: как не нарушить ни одну из связей? А потом ещё один: как контролировать, кто, когда и какие изменения вносил? 🧐
При этом не хотелось напрягать сотни разработчиков вносить изменения в каждый сервис и поддерживать реализации для нескольких языков программирования. Да и желательно получить эффективное решение, которое не снизит скорость работы сервисов.
Как это всё у нас получилось, Антон Губарев, основной разработчик проекта, подробно рассказал в статье.
#статья_avitotech #habr_avitotech #PaaS_avitotech
Мы связали их друг с другом собственным форматом взаимодействия brief. Когда пришло время реализовывать авторизацию, встал вопрос: как не нарушить ни одну из связей? А потом ещё один: как контролировать, кто, когда и какие изменения вносил? 🧐
При этом не хотелось напрягать сотни разработчиков вносить изменения в каждый сервис и поддерживать реализации для нескольких языков программирования. Да и желательно получить эффективное решение, которое не снизит скорость работы сервисов.
Как это всё у нас получилось, Антон Губарев, основной разработчик проекта, подробно рассказал в статье.
#статья_avitotech #habr_avitotech #PaaS_avitotech
🔥19❤3
Каждый раз, когда кто-то запускает мобильные тесты с помощью Emcee, в мире становится на одну команду счастливых разработчиков больше.
Почему так происходит, в двух словах и не скажешь. Поэтому Денис Веренцов, Android-инженер из Emcee, написал об этом хабрстатью🤖
Если хотите вкратце — листайте картинки. А если предпочитаете слушать, а не читать, то у нас на YouTube и видео есть📺
#backend_avitotech #статья_avitotech #habr_avitotech
Почему так происходит, в двух словах и не скажешь. Поэтому Денис Веренцов, 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
В новом релизе 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 Profile собирается локально во время разработки. Тесты для его генерации затрагивают критичный путь пользователя.
#Android_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤3👍1
Факт1️⃣ : Позволяет быстро развернуть масштабируемую инфраструктуру для автотестов Android.
Факт2️⃣ : Для тех, у кого нет своего железа и кто не готов платить за его аренду, есть сервис, где можно запускать свои тесты в облаке.
Факт3️⃣ : Для запуска нужен подходящий сервер с Docker Compose, на котором можно развернуть контейнеры с Emcee и Artifactory.
Все три — про наш инструмент Emcee. С его помощью можно быстро и эффективно запускать iOS- и Android-тесты, а еще ускорять time-to-market. О том, как это работает на практике, рассказал Денис Веренцов, Android-инженер команды Emcee в свежей статье на Хабре.
P.S. Кстати, если уже пробовали Emcee в деле, делитесь впечатлениями в комментариях.
#Android_avitotech #habr_avitotech
Факт
Факт
Все три — про наш инструмент 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
Хабр и ЭКОПСИ составили рейтинг ИТ-работодателей. Они опросили 34000 ИТ-специалистов, 90% из них — мидлы и выше.
По мнению комьюнити мы — одна из самых привлекательных команд для карьеры. В нас ценят:
— профессиональную среду;
— качество продуктов, которые мы делаем;
— сильную инженерную культуру;
— комфортную среду внутри.
А ещё то, что мы развиваем профессиональное комьюнити. Все критерии оценки, которые отмечали респонденты, можно посмотреть тут.
Спасибо всем, кто отметил нас! Вы
P.S. В своем блоге на Хабре также поделились мыслями.
#habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥76❤28👍12🎉12🏆10
Как вам шапки в нашем приложении к Чёрной пятнице?
Их создавала команда MT&S с помощью CoordinatorLayout. А как именно рассказал наш Android-разработчик Никита Пятаков в большом гайде по работе с контейнером.
Читайте, ставьте лайки и делайте красивые функциональные шапки🤖
#Android_avitotech #habr_avitotech
Их создавала команда 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
Разбираемся в новой статье Саши Гордеевой, нашего QA-инженера. Саша описала свой путь от ручного тестирования к автотестам. И рассказала, правда ли fullstack QA проще найти работу, о проблемах разделения обязанностей на практике и том, как начать автоматизировать эффективно и без боли.
#qa_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍12❤8
В двух словах: внедрили RFM-анализ.
#analytics_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16😍11❤8🔥2
Все вокруг говорят про автоматизацию в QA, но действительно ли всем она нужна? Светлана Кирдяйкина, наш старший инженер по тестированию, написала статью, а скорее гайд, который поможет понять:
🔍 когда стоит задуматься о переходе на автотесты;
🔍 какие подводные камни могут попасться на пути к автоматизации;
🔍 нужно ли автоматизировать все.
#qa_avitotech #habr_avitotech
#qa_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤7👍6
Личный опыт в автотестах без технического образования и знания ЯП.
Время чтения ~10 минут
Профиль компетенций DS в бигтехе на нашем примере с пояснениями и лайфхаками от тех, кто достиг 5 уровня и выше.
Время чтения ~8 минут
Знакомство с инструментом и небольшая инструкция, как делать задачки с нетривиальным взаимодействием view между собой.
Время чтения ~8 минут
Гайд, как организовать большое количество автотестов при малом количестве «железа».
Время чтения ~12 минут
История о важности регулярной проверки целеполагания, поиска новых и нетривиальных метрик.
Время чтения ~8 минут
Полезного чтения!
#habr_avitotech #qa_avitotech #статья_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥10⚡7👍2🥴1
В целом у автоматизации тестирования в таких команда есть ряд особенностей, с которыми приходится сталкиваться или же вовсе преодолевать при работе над улучшением продукта.
Подробнее о них — в статье Димы Солодова, инженера по тестированию в Авито
#habr_avitotech #qa_avitotech #статья_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍8🔥6
Почему классические решения всё ещё эффективнее новых моделей, какой алгоритм отработал лучше и с какими сложностями столкнулись при тесте? Обо всём рассказали в статье.
#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍9🔥9👎1🥴1
Многолетний опыт оформления исследовательских проектов < одна статья на Хабре 🔥
Только представьте: вы, как аналитик, открываете чужое исследование, а там… Всё понятно, прозрачно и, главное, воспроизводимо!
Сэкономить нервные клетки и упростить процесс обмена исследованиями поможет статья Владислава Козлова. Тимлид аналитиков в кластере Антифрод в Авито поделился универсальными принципами оформления проектов и показал их применение на практике.
Наш любимый принцип — «сохраняй всё, что можно сохранить». Остальные ищите по ссылке⬅️
#статья_avitotech #habr_avitotech
Только представьте: вы, как аналитик, открываете чужое исследование, а там… Всё понятно, прозрачно и, главное, воспроизводимо!
Сэкономить нервные клетки и упростить процесс обмена исследованиями поможет статья Владислава Козлова. Тимлид аналитиков в кластере Антифрод в Авито поделился универсальными принципами оформления проектов и показал их применение на практике.
Наш любимый принцип — «сохраняй всё, что можно сохранить». Остальные ищите по ссылке
#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21🔥8👍6👎2🥴2
«Я сейчас сойду с ума. Удалил все сообщения в чате... Что делать?»
Кажется, вы тоже сейчас прочувствовали эту боль. Случайно удалить многолетний групповой чат с тысячами кружочков, сообщений, мемов, файлов…Главный вопрос в такой ситуации: «А реально ли восстановить данные?»
Дмитрий Гусев, Frontend-разработчик в команде Bricks в Авито, рассказал, как ему (спойлер! ) всё же удалось решить проблему. Но есть нюанс: возможность восстановления актуальна только для групповых чатов и каналов.
💻 Надеемся, что эти знания вам никогда не пригодятся. В любом случае, вы уже будете готовы.
#статья_avitotech #habr_avitotech
Кажется, вы тоже сейчас прочувствовали эту боль. Случайно удалить многолетний групповой чат с тысячами кружочков, сообщений, мемов, файлов…Главный вопрос в такой ситуации: «А реально ли восстановить данные?»
Дмитрий Гусев, Frontend-разработчик в команде Bricks в Авито, рассказал, как ему (
#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍11❤8🏆3
Перед тем, как стать регулярным каналом коммуникации с пользователями, рассылка в Авито должна пройти огонь, воду… А если без шуток, целых 5 стадий: от разработки идеи до анализа итогов эксперимента 🔍
На какие виды делим А/Б-тесты в CRM-маркетинге? Что такое глобальная контрольная группа и зачем она нужна? В какой момент стоит добавлять пользователей в тестовую группу? В чём отличия A/B-экспериментов CRM-рассылок от продуктовых тестов?
Ответы ищем в статье Армена Есаяна, аналитика данных CRM в Авито⬅️
#статья_avitotech #habr_avitotech
На какие виды делим А/Б-тесты в CRM-маркетинге? Что такое глобальная контрольная группа и зачем она нужна? В какой момент стоит добавлять пользователей в тестовую группу? В чём отличия A/B-экспериментов CRM-рассылок от продуктовых тестов?
Ответы ищем в статье Армена Есаяна, аналитика данных CRM в Авито
#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤11❤🔥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
Представим, что перед нами стоит максимально тривиальная задача — поменять в карточке объявлений цену, выделив ее ярким фоном, и название товара.
Обновления необходимо внести на всех трех платформах: Web, Android и iOS. Следовательно, задача должна пройти полный цикл разработки — от постановки в бэклог до финального релиза. И вот тут возникает проблема. Во-первых, команды могут быть заняты решением более приоритетных задач. Во-вторых, разные платформы обновляются по-разному. И, как итог, time to market даже для такого простого изменения составит существенную величину.
#backend_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11⚡7👍4🤩4❤2
Быстро, удобно, недорого — три причины, почему теперь мы автоматически исправляем нарушения в изображениях 💻
Система занимается удаление нарушений в объявлениях: например, контактов или ссылок на другие сайты. Раньше такие записи мы отклоняли с просьбой заменить изображение. Это значительно снижало количество объявлений — не все готовы создавать их заново.
🗂 В новой статье Владимир Морозов, старший дата-сайентист в Авито, рассказал про архитектуру, обучение этой ML-модели и дальнейшие проекты команды автоматической модерации.
#статья_avitotech #habr_avitotech
Система занимается удаление нарушений в объявлениях: например, контактов или ссылок на другие сайты. Раньше такие записи мы отклоняли с просьбой заменить изображение. Это значительно снижало количество объявлений — не все готовы создавать их заново.
#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍5❤3
Небольшой спойлер: полученные от модели скор-карты стали персональными рекомендациями в кабинете продавцов.
Время чтения ~ 13 минут
Михаил Шевченко рассказал о плюсах их внедрения на реальных проблемах и задачах.
Время чтения ~ 9 минут
Вообще это сотрудник департамента ИБ, который одинаково погружён как в продуктовый, так и в security-контекст. Как его искали в Авито и какая у этой роли ценность, рассказала Екатерина Пухарева.
Время чтения ~ 10 минут
Игорь Конев развеет миф о том, что базы в Kubernetes сложные и ненадёжные.
Время чтения ~ 10 минут
ML-модель для блюра контента в объявлениях, нарушающих правила площадки, против классических методов модерации.
Время чтения ~ 11 минут
Филипп Соломин рассказал о семантических переменных, Backend-driven UI… Всё-всё, остальное смотрите по ссылке!
Время чтения ~ 4 минуты
#статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤8👍5💔1