Мы создаём сервис на Go для выкупа мобильных телефонов 📱
Илья Сергунин, веб-инженер продуктовой команды, в этой статье рассказал, как ребята настроили репозиторий через менеджер транзакций.
Он понадобился нам, чтобы не привязываться к одной БД и переключаться между базами с минимальным количеством изменений в коде сценариев.
Это вторичная выгода, первичная — не нужно писать рутинный код, в котором можно допустить ошибки.
Всё остальное — в статье🗂
#backend_avitotech #статья_avitotech #habr_avitotech
Илья Сергунин, веб-инженер продуктовой команды, в этой статье рассказал, как ребята настроили репозиторий через менеджер транзакций.
Он понадобился нам, чтобы не привязываться к одной БД и переключаться между базами с минимальным количеством изменений в коде сценариев.
Это вторичная выгода, первичная — не нужно писать рутинный код, в котором можно допустить ошибки.
Всё остальное — в статье
#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
🔥14❤4👍4
Как устроены мапы в языке Go?
Как создается мапа, рассчитываются бакеты, производится эвакуация элементов?
Написали подробный туториал с ответами на все эти вопросы и делимся на Хабре🗂
Заходите научиться или обновить знания⭐️
#backend_avitotech #статья_avitotech #habr_avitotech
Как создается мапа, рассчитываются бакеты, производится эвакуация элементов?
Написали подробный туториал с ответами на все эти вопросы и делимся на Хабре
Заходите научиться или обновить знания
#backend_avitotech #статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤8⚡3
Сериализация данных сегодня используется во многих приложениях.
Это процесс преобразования информации в формат, при котором её будет одинаково просто передать между разными системами и на разных языках программирования.
Дмитрий Королёв, наш бэкендер, взял данные в трёх разных объёмах и затестил в разных форматах. Смотрите результаты тестов в статье Димы, это поможет выбрать формат под свой проект💻
А про наиболее популярные форматы сериализации рассказали в карточках⬆️
#backend_avitotech #статья_avitotech #habr_avitotech
Это процесс преобразования информации в формат, при котором её будет одинаково просто передать между разными системами и на разных языках программирования.
Дмитрий Королёв, наш бэкендер, взял данные в трёх разных объёмах и затестил в разных форматах. Смотрите результаты тестов в статье Димы, это поможет выбрать формат под свой проект
А про наиболее популярные форматы сериализации рассказали в карточках
#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
👍9❤3👎1
Что делать, когда для всех драйверов библиотеки Go не подходит единый модуль?
Можно использовать теги сборки, но это только если версии языка драйверов соответствуют версии в go.mod. И это не наш случай.
Илья Сергунин, Senior Software Engineer продуктовой команды, разделил библиотеку на отдельные модули в одном репозитории и получил +100 к удобству локальной разработки. Подробности процесса и исходный код мультимодульного монорепозитория - в хабрастатье Ильи🗂
#backend_avitotech #статья_avitotech #habr_avitotech
Можно использовать теги сборки, но это только если версии языка драйверов соответствуют версии в go.mod. И это не наш случай.
Илья Сергунин, Senior Software Engineer продуктовой команды, разделил библиотеку на отдельные модули в одном репозитории и получил +100 к удобству локальной разработки. Подробности процесса и исходный код мультимодульного монорепозитория - в хабрастатье Ильи
#backend_avitotech #статья_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18⚡3❤3👍2
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
Каждый раз, когда кто-то запускает мобильные тесты с помощью 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
Сергей Ларионенко подготовил выступление об эволюции распределённого пайплайна трейсинга и связанных с ним недостатках opentelemetry. В докладе будет про проблемы с performance и с протоколом передачи данных, несовместимость модулей и backpressure.
Не пропустите на Saint HighLoad++.
#avitoteam #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Наши спикеры Павел Игнатов и Игорь Солкин расскажут, как мы применяем подход 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
Что будет ещё?
Вас ждут дискуссии об актуальных трендах рынка, демо-станции с технопродуктами, знакомство с вертикалями Авито (Недвижимость, Авто, Работа, Товары и Услуги), а также зона отдыха. И, конечно, афтерпати :)
Не забудьте зарегистрироваться
До встречи! 🌟
начало поста
Количество постов о надвигающейся конференции увеличено!
#avitoalldaylong
Всё состоится 20 июля в Центре событий РБК на Космодамианской набережной 🚀
К докладам:
О спикере: Павел — ведущий разработчик в платформенной команде Авито, занимается бэкенд-разработкой больше 15 лет.
#backend_avitotech
О спикере: Михаил — старший бэкенд-разработчик. В Авито с 2022 года занимается проектированием и разработкой бэкенда платформы Bricks, которая отвечает за управление разметкой клиентских интерфейсов.
О спикерах: Галина — 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
С докладом о типичных ошибках при разработке на Go выступил наш бэкенд-инженер и автор одноимённого канала Олег Козырев. А мы спешим поделиться записью.
Что в докладе: встраивание типов, устройство мапов и возможные протечки, кастомные ошибки, разбор интерфейсов и грамотная обработка багов. И всё это — в компании одного очаровательного кота.
P.S. если у вас есть вопросы, которые не обсудили в Q&A-сессии, пишите их в комментариях.
#avitoteam #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15🏆4❤3
Вырасти до мидл-бэкендера за полгода — не мечта, цель на Avito Backend Bootcamp ✨
Вам это подойдёт, если…
1️⃣ готовы работать 40 часов в неделю;
2️⃣ программируете на Golang и знаете паттерны;
3️⃣ можете писать сервисы REST и CRUD и решать простые задачи на Leetcode;
4️⃣ знаете базу по SQL.
Чтобы попасть на буткемп, вам предстоит пройти несколько этапов отбора — проверим ваши знания и мотивацию. Будет сложно, но интересно.
Заявки принимаем до 6 августа — присоединяйтесь.
#backend_avitotech #avitostart
Вам это подойдёт, если…
Чтобы попасть на буткемп, вам предстоит пройти несколько этапов отбора — проверим ваши знания и мотивацию. Будет сложно, но интересно.
Заявки принимаем до 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
Игорь, старший бэкенд-инженер команды Платформы, покажет наш путь от реализации собственного Service Mesh до введения опенсорс-решения. А ещё расскажет про тонкости и трудности, с которыми команда столкнулась при внедрении этих решений.
Встретимся в Петербурге
#avitoteam #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤7
This media is not supported in your browser
VIEW IN TELEGRAM
Avito Go Drinkup #1
5 ноября | 18:15 мск
Приглашаем backend и Go-разработчиков в ДК Рассвет. Выкрутим нетворкинг на максимум🔥
В неформальной и уютной обстановке обсудим актуальное, поделимся кейсами, раздадим советы и соберём инсайтов. Ну и выпьем, конечно, чего-нибудь вкусненького.
Участие бесплатное, но регистрация обязательна.
До встречи на дринкапе!🚀
#backend_avitotech
5 ноября | 18:15 мск
Приглашаем backend и Go-разработчиков в ДК Рассвет. Выкрутим нетворкинг на максимум
В неформальной и уютной обстановке обсудим актуальное, поделимся кейсами, раздадим советы и соберём инсайтов. Ну и выпьем, конечно, чего-нибудь вкусненького.
Участие бесплатное, но регистрация обязательна.
До встречи на дринкапе!
#backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25❤10⚡4❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Заменит ли Rust Go? 🔍
Приходите обсудить 5 ноября на Avito Go Drinkup #1.
Соберёмся за круглыми столами, поговорим про актуальное из бэкенда и понетворкаем за напитками.
🔥 Места ещё есть, успейте зарегистрироваться.
#backend_avitotech
Приходите обсудить 5 ноября на Avito Go Drinkup #1.
Соберёмся за круглыми столами, поговорим про актуальное из бэкенда и понетворкаем за напитками.
#backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤🔥10👍6⚡2
This media is not supported in your browser
VIEW IN TELEGRAM
Avito Go Drinkup #1 уже через несколько часов. Регистрируем гостей с 18:15 до 19:00. Пожалуйста, не забудьте паспорт! ☑️
Организовали круглые столы по микросервисной архитектуре, ORM в Go, перспективах Rust и другим актуальным бэкенд-темам.
Разносим вкусное, разливаем ещё вкуснее и ждём в ДК Рассвет.
#backend_avitotech
Организовали круглые столы по микросервисной архитектуре, ORM в Go, перспективах Rust и другим актуальным бэкенд-темам.
Разносим вкусное, разливаем ещё вкуснее и ждём в ДК Рассвет.
#backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥5👍4
А вот и фотографии с Avito Go Drinkup #1 подъехали 🔥
Ловите, ищите себя и коллег в нашем альбоме в ВК — вдруг там ваша новая аватарка?
#backend_avitotech
Ловите, ищите себя и коллег в нашем альбоме в ВК — вдруг там ваша новая аватарка?
#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
Также у нас будет демо 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🔥7⚡3
А также выяснили, какие компании разработчики считают самыми привлекательными для работы. В этом вопросе оценивали команды по 17 критериям. Среди которых была команда, dev-культура, продукт и сами задачи. И Авито выбрали 60,5% инженеров!
Спасибо всем, кто отметил нас! Это вдохновляет
Посмотреть все результаты исследования можно тут
#avitoteam #backend_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23🔥12👍9⚡1
Зачем мы пошли в разработку своих решений на базе 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