Денис Веренцов, Android-инженер Авито, рассказал, как работает инструмент для параллельного запуска мобильных автотестов Emcee, как развернуть его на своей инфраструктуре, или запустить в облаке, чтобы прогонять тесты прямо в браузере.
Межсервисная авторизация в Авито PaaS
Антон Губарев, инженер в Avito PaaS, рассказал, как реализовать межсервисную авторизацию на 2500 сервисов и ничего не сломать.
Делать продукт качественно или быстро? Как тимлиду найти баланс и принимать верные решения
Тимлид не просто ставит задачи и проверяет выполнены ли они вовремя. Он выстраивает все рабочие процессы, общается с заказчиками и руководством компании и следит за атмосферой в коллективе. Рассказываем об ответственности тимлида перед командой, «костылях» в коде и адекватных сроках работы.
Domain Driven Design в Go – это почти не больно
Как выглядят паттерны DDD (Domain Driven Design) в большом проекте? А самое главное, стоит ли их вообще использовать? Рассмотрим, какими инструментами можно реализовать DDD на Go и оценим, насколько это больно.
Меня зовут Илья Сергунин, я backend-сочинитель в Авито: занимаюсь тем, что передаю смартфоны в хорошие руки. В этой статье попытаюсь объяснить, как можно натянуть DDD на Go без синтаксического сахара и магии Java-подобных языков, и без больших крутых ORM c Data mapper, которые также отсутствуют в Go.
Делим монорепозиторий библиотеки Go на отдельные модули и адаптируем их для локальной разработки
Библиотека Go в Авито увеличилась с 4 драйверов до 7, и на всё стало не хватать единого модуля. Рассказал, как разделил монорепозиторий на отдельные модули и адаптировал его для разработки в локальной среде.
Сравниваем форматы сериализации на Go: скорость и удобство
Дмитрий Королёв, бэкенд-разработчик в Авито, разобрал на примерах, чем отличаются друг от друга форматы сериализации данных, и как выбрать самый удобный.
Повышение качества данных с использованием Zero Bug Policy
Олег Харатов, Technical Unit Lead в Авито, рассказал, как навести порядок в огромном хранилище и не сойти с ума
Архивная репликация в PostgreSQL: пошаговая инструкция
Разбираем c Григорием Тарасенко, инженером команды SQL на примере, как реплицировать базы без использования слотов репликации.
Как обычному фронтендеру стать по-настоящему классным фронтендером
Меня зовут Илья, я фронтенд-разработчик в Авито, и я долго искал эффективный способ развития своих скиллов. Под катом я подробно описал весь свой путь и рассказал, получилось у меня это или нет. Интересно будет всем: и тем, кто только ищет свой путь, и тем, кто уже всё знает. Заходите)
Микрофронтенды в SSR: опыт Авито
Фронтенд-разработчик Дарья Саенко рассказывает, как в Авито реализовали микрофронтенды с поддержкой серверного рендеринга.
Мапы в Go: уровень Pro
Подробный туториал по процессам записи и чтения данных в мапах Go. Объясняем проблемы переполнения, эвакуации элементов; важность передачи количества элементов при создании мапы. Рассказываем, почему в Go нельзя обращаться к ключу или значению по адресу.
Организуем High Availability PostgreSQL
Чтобы система долго работала без сбоев и перерывов, нужно поработать над отказоустойчивостью. В статье дадим несколько способов её построить и покажем готовое решение.
Как дизайнеру и редактору работать вместе: опыт Авито
Рассказываем, как у нас устроено взаимодействие дизайнеров и продуктовых редакторов. Проанализировали опыт, который приобрели за 4 года совместной работы и сформулировали правила, которые упрощают жизнь продуктовой команде.
Мультиплатформенные образы: что это такое и зачем они нужны
Павел Агалецкий, ведущий инженер в Авито, рассказал, как запустить один и тот же образ на разных платформах, почему мультиплатформенные образы удобнее, и как собирать их в режиме кросс-компиляции.
Что будет с мобильными релизами, если улучшать и автоматизировать процессы
Вспоминаем, каким был наш релизный поезд раньше и как круто мы его доработали сейчас. Мы разработали сервис релизов, запустили бета-тесты, придумали, как релизить без участия людей и автоматизировали загрузку сборок в магазины приложений. Про это всё рассказываем в статье.
Система Quality Score: как оценивать внешнее качество продукта
Рассказываем, как создали понятную систему оценки качества для команд разработки Авито. Мы отобрали самые релевантные метрики, протестировали их, а затем показали коллегам, как ими пользоваться. Звучит просто, но на самом деле это был долгий и кропотливый процесс. Что получилось в итоге, читайте в статье.
Как мониторить здоровье вашей Gradle-сборки
Как себя чувствуют ваши Gradle-сборки? Рассказываем, как проверить их состояние и как «подлечить», чтобы CI работал чётко.
Apache Spark и PySpark для аналитика. Учимся читать и понимать план запроса в SparkUI
Продолжаем выводить ваши знания о PySpark на новый уровень :) В этот раз расскажем, что такое план запроса, как его смотреть, и что делать, чтобы уточнить узкие места в расчётах.
Запуск потенциально опасного кода в изолированном окружении. Как мы сохраняем безопасность на macOS
Мы запустили облачный тест-раннер Emcee. Теперь другие компании могут тестировать приложения, не разворачивая у себя локальную версию раннера. Правда, запуск стороннего кода на наших серверах — это небезопасно. Но мы решили этот вопрос — рассказываем, как это было.
Построение платформенного продукта в Авито
Мы в Авито разработали свою внутреннюю платформу для разработчиков. Несмотря на то, что создание платформенного продукта — довольно затратная история, в итоге мы видим сплошные плюсы. Она растит скорость и качество разработки, делает системы стабильнее, помогает инженерам сосредоточиться на бизнес-задачах, а не на рутине.
Наш опыт построения платформы мы постарались заложить во внешнее решение Plato, которое опирается на проверенные open-source решения.
О преимуществах платформы, процессах её разработки и сложностях в реализации — в этой статье.
Информация
- Сайт
- avito.tech
- Дата регистрации
- Дата основания
- 2007
- Численность
- 5 001–10 000 человек
- Местоположение
- Россия
- Представитель
- vvroschin