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
Мы создаём сервис на Go для выкупа мобильных телефонов 📱

Илья Сергунин, веб-инженер продуктовой команды, в этой статье рассказал, как ребята настроили репозиторий через менеджер транзакций.

Он понадобился нам, чтобы не привязываться к одной БД и переключаться между базами с минимальным количеством изменений в коде сценариев.
Это вторичная выгода, первичная — не нужно писать рутинный код, в котором можно допустить ошибки.

Всё остальное — в статье 🗂

#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
🔥144👍4
Как устроены мапы в языке Go?

Как создается мапа, рассчитываются бакеты, производится эвакуация элементов?

Написали подробный туториал с ответами на все эти вопросы и делимся на Хабре 🗂

Заходите научиться или обновить знания ⭐️

#backend_avitotech #статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1583
Сериализация данных сегодня используется во многих приложениях.

Это процесс преобразования информации в формат, при котором её будет одинаково просто передать между разными системами и на разных языках программирования.

Дмитрий Королёв, наш бэкендер, взял данные в трёх разных объёмах и затестил в разных форматах. Смотрите результаты тестов в статье Димы, это поможет выбрать формат под свой проект 💻

А про наиболее популярные форматы сериализации рассказали в карточках ⬆️

#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
👍93👎1
Что делать, когда для всех драйверов библиотеки Go не подходит единый модуль?

Можно использовать теги сборки, но это только если версии языка драйверов соответствуют версии в go.mod. И это не наш случай.

Илья Сергунин, Senior Software Engineer продуктовой команды, разделил библиотеку на отдельные модули в одном репозитории и получил +100 к удобству локальной разработки. Подробности процесса и исходный код мультимодульного монорепозитория - в хабрастатье Ильи 🗂

#backend_avitotech #статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1833👍2
Domain Driven Design — паттерны, которые позволяют применить бизнес-логику в программировании.

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

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

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

#статья_avitotech #habr_avitotech #backend_avitotech
👍28🔥2
Каждый раз, когда кто-то запускает мобильные тесты с помощью 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
⚡️Что не так с opentelemetry?

Сергей Ларионенко подготовил выступление об эволюции распределённого пайплайна трейсинга и связанных с ним недостатках opentelemetry. В докладе будет про проблемы с performance и с протоколом передачи данных, несовместимость модулей и backpressure.

Не пропустите на Saint HighLoad++.

#avitoteam #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
☄️ Зачем Авито BDUI и почему мы создали своё решение?

Наши спикеры Павел Игнатов и Игорь Солкин расскажут, как мы применяем подход BDUI, какие требования закрывает наш инструмент BeduinV2, как и где он используется сейчас. А ещё покажут кейсы с Тетрисом и Сапёром — продемонстрируют возможности BeduinV2.

Не пропустите на Yandex BDUI Conf 22 июня!

#avitotech #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥8👎2😱2🥴1
Астрологи объявили месяц Avito All Day Long.
Количество постов о надвигающейся конференции увеличено!
#avitoalldaylong

Всё состоится 20 июля в Центре событий РБК на Космодамианской набережной 🚀

К докладам:
1️⃣ Павел Агалецкий расскажет о том, как в Авито решают проблему масштабирования консьюмеров топиков в Kafka. Вы узнаете, какие есть плюсы и минусы в масштабировании через партиции и какие еще есть варианты, если вам нужно увеличить число консьюмеров в вашем сервисе.
О спикере: Павел — ведущий разработчик в платформенной команде Авито, занимается бэкенд-разработкой больше 15 лет.
#backend_avitotech
2️⃣ Михаил Шевченко поделится современными подходами к управлению пользовательскими интерфейсами с помощью Low Code и Backend Driven UI. Узнаете, как сокращается время доставки изменений UI до пользователя и какие задачи решают эти технологии.
О спикере: Михаил — старший бэкенд-разработчик. В Авито с 2022 года занимается проектированием и разработкой бэкенда платформы Bricks, которая отвечает за управление разметкой клиентских интерфейсов.
3️⃣ Галина Ширанкова и Алексей Никифоров обсудят, как наладить взаимодействие между продактами и тимлидами. Разберём, что такое «идеальный тимлид», как выявлять и решать проблемы в команде, а также как выстраивать партнёрские отношения для достижения общих целей.
О спикерах: Галина — Product Unit Lead в Avito Messenger & Bot Automation, автор блога «Полтора продакта». Алексей — тимлид, Avito Messenger & Bot Automation.
#management_avitotech

Что будет ещё?
Вас ждут дискуссии об актуальных трендах рынка, демо-станции с технопродуктами, знакомство с вертикалями Авито (Недвижимость, Авто, Работа, Товары и Услуги), а также зона отдыха. И, конечно, афтерпати :)

Не забудьте зарегистрироваться
До встречи! 🌟

начало поста
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍6🥴2👎1
✖️Не делай этого в Golang!

С докладом о типичных ошибках при разработке на Go выступил наш бэкенд-инженер и автор одноимённого канала Олег Козырев. А мы спешим поделиться записью.

Что в докладе: встраивание типов, устройство мапов и возможные протечки, кастомные ошибки, разбор интерфейсов и грамотная обработка багов. И всё это — в компании одного очаровательного кота.

P.S. если у вас есть вопросы, которые не обсудили в Q&A-сессии, пишите их в комментариях.

#avitoteam #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15🏆43
Вырасти до мидл-бэкендера за полгода — не мечта, цель на Avito Backend Bootcamp

Вам это подойдёт, если…
1️⃣ готовы работать 40 часов в неделю;
2️⃣ программируете на Golang и знаете паттерны;
3️⃣ можете писать сервисы REST и CRUD и решать простые задачи на Leetcode;
4️⃣ знаете базу по SQL.

Чтобы попасть на буткемп, вам предстоит пройти несколько этапов отбора — проверим ваши знания и мотивацию. Будет сложно, но интересно.

Заявки принимаем до 6 августа — присоединяйтесь.

#backend_avitotech #avitostart
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26🤩5🥴4🏆4❤‍🔥2
Устройство Service Mesh на масштабе 2 000 + сервисов и > 1 000 000 RPS — про это стоит услышать в докладе Игоря Балюка на Стачке

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

Встретимся в Петербурге 🚀

#avitoteam #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥107
This media is not supported in your browser
VIEW IN TELEGRAM
Avito Go Drinkup #1
5 ноября | 18:15 мск

Приглашаем backend и Go-разработчиков в ДК Рассвет. Выкрутим нетворкинг на максимум 🔥

В неформальной и уютной обстановке обсудим актуальное, поделимся кейсами, раздадим советы и соберём инсайтов. Ну и выпьем, конечно, чего-нибудь вкусненького.

Участие бесплатное, но регистрация обязательна.

До встречи на дринкапе! 🚀

#backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25104❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Заменит ли Rust Go? 🔍

Приходите обсудить 5 ноября на Avito Go Drinkup #1.
Соберёмся за круглыми столами, поговорим про актуальное из бэкенда и понетворкаем за напитками.

🔥 Места ещё есть, успейте зарегистрироваться.

#backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤‍🔥10👍62
This media is not supported in your browser
VIEW IN TELEGRAM
Avito Go Drinkup #1 уже через несколько часов. Регистрируем гостей с 18:15 до 19:00. Пожалуйста, не забудьте паспорт! ☑️

Организовали круглые столы по микросервисной архитектуре, ORM в Go, перспективах Rust и другим актуальным бэкенд-темам.

Разносим вкусное, разливаем ещё вкуснее и ждём в ДК Рассвет.

#backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥5👍4
А вот и фотографии с Avito Go Drinkup #1 подъехали 🔥

Ловите, ищите себя и коллег в нашем альбоме в ВК — вдруг там ваша новая аватарка?

#backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
29👍10🔥10👎2
Увидимся на HighLoad++?

⚡️ Мы везём восемь докладов — о них подробнее рассказали в карточках. А еще крутое пространство AvitoTech и, самое главное, наших инженеров, с которыми можно понетворкать.

Также у нас будет демо AvitoPlato. Обязательно приходите потестить и увидеть, как он ускоряет разработку. Пакуем мерч и ждём вас в гости ❤️

P.S. Кстати, в этом году будет бесплатная трансляция докладов из зала Конгресс-холл (а у нас там два доклада!). Нужно только зарегистрироваться.

#avitoteam #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
26👍12🔥73
🚀 Команда DevCrowd поделилась итогами большого исследования среди Go-разработчиков. Они опросили 560 инженеров и узнали:

➡️ какие сервисы чаще всего пишут на Go;
➡️ какие технологии используют и скиллы хотят прокачать;
➡️ где узнают о важных обновлениях и кейсах.

А также выяснили, какие компании разработчики считают самыми привлекательными для работы. В этом вопросе оценивали команды по 17 критериям. Среди которых была команда, dev-культура, продукт и сами задачи. И Авито выбрали 60,5% инженеров!

Спасибо всем, кто отметил нас! Это вдохновляет ❤️

Посмотреть все результаты исследования можно тут

#avitoteam #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
23🔥12👍91
Зачем мы пошли в разработку своих решений на базе 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