Бинго разработчика: ставь лайк зачеркивай, если было
В выходные не работаем, но развлекаемся, поэтому предлагаем вам сыграть в бинго разработчика! Правила — простые:
сохраняйте/делайте скрин картинки из поста;
отмечайте клеточки с вашей разработческой жизой;
скидывайте в комментарии итог. Или можете просто писать в комментах то, что хотели бы зачеркнуть в этом бинго, ваши варианты особенно приветствуются)
Ждем того, кто соберет все ачивки!
А как закончите с бинго — в нашем TG‑канале есть еще одна занимательная игра с кубиком и картами инженерного таро, которые предскажут ваше будущее! Переходите по ссылке и развлекайтесь, на канал тоже подписывайтесь, там часто бывает всякое интересное.
Привет, Хабр! Меня зовут Станислав Егоркин, я инженер юнита IaaS департамента разработки Infrastructure в AvitoTech.
Недавно я рассказывал о новых подходах, которые мы использовали при создании дашбордов для диагностики. С тех пор дашборды такого типа обрели еще большую популярность, и мы решили выложить пример их реализации в галерею дашбордов Grafana.
За основу я взял наш дашборд Node Status, который показывал в предыдущей статье. Напомню, он служит для того, чтобы быстро понять, все ли в порядке с нодой в Kubernetes-кластере. В своей основе она содержит множество небольших панелек, которые единообразно подсвечиваются при возникновении аномалий: оранжевый значит «обрати внимание», красный - явно что-то не так. При необходимости по клику можно получить расширенную информацию по каждой метрике.
Я очистил наш внутренний вариант от специфики. Это позволяет использовать дашборд в любых окружениях, в которых развернуты нужные экспортеры:
node-exporter (лейбл «node» должен содержать имя Kubernetes-ноды);
kube-state-metrics;
node-problem-detector (опционально).
Несмотря на то, что все панельки должны в этом случае работать «из коробки», сам дашборд все же следует воспринимать как конструктор. У каждой инфраструктуры есть специфика, и вы можете легко отразить ее, опираясь на то, как реализованы уже имеющиеся панели.
Я полагаю, что ценность Node Status для комьюнити состоит не в том, какие именно метрики на ней собраны, а в том, на каких принципах она основана. Эти принципы зарекомендовали себя у нас, и вероятно будут также полезны и вам.
Если вы у вас возникнут сложности при использовании дашборда или предложения по его улучшению, пожалуйста, оставляйте свои комментарии!
Ответ на этот вопрос знает Виктор Раев — технический руководитель юнита в Авито и гость нового выпуска подкаста «Мы обречены». Витя рассказывает про ключевые ценности Авито, а главное: про то, какое отражение они находят в повседневной жизни разработчиков.
Подробнее о манифесте Авито можно почитать здесь, а чтобы лучше познакомиться с внутренними принципами компании — приглашаем послушать Витю с 23 минуты.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Одним февральским вечером в московском офисе Авито мы узнали, что под хорошее вино и вкусную еду разговоры про управление командой, процессы найма и привычную рутину тимлидов сразу преображаются.
Чтобы почувствовать атмосферу того вечера, кликайте на видео.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Как пройти путь от разработчика до директора нескольких кластеров?
Об этом расскажет гость нового выпуска шоу «AviTalk» — Игорь Гранщиков, руководитель разработки вертикали Авито Недвижимость. Игорь воспроизводит в подробностях весь свой карьерный трек от обучения и первой работы до руководящих позиций.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Гость нового выпуска подкаста «Android Broadcast» — Александр Бильчук, руководитель юнита мобильной архитектуры Авито. В беседе с Кириллом Розовым Саша делится особенностями работы отдела мобильной архитектуры:
как ставятся задачи и требования к их выполнению?
как оценить пользу архитектурных решений?
как влияют Jetpack Compose, SwiftUI, AI на архитектуру?
как вообще прийти к роли мобильного архитектора?
Ответы на эти и другие вопросы вы найдете в видео.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Рассказывает Николай Губин, бэкенд-инженер в Авито. Avito Fallback — это механизм, позволяющий пользователям в какой-то степени продолжать пользоваться сервисом, даже если упал production. Коля говорит про эволюцию проекта и его технические особенности, а также про проблемы, которые возникают при работе, и то, как их лечить.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Как сближаются инженеры и в чем скрытая польза неформальных сообществ?
Николай Губин, бэкенд-инженер в Авито, точно знает ответ на этот вопрос. В выпуске подкаста «Мы обречены» Коля рассказывает, как неформальные сообщества помогают выстраивать коммуникации внутри компании, сближают инженеров и ускоряют решение рабочих задач.
Подробнее о том, как это работает на примерах, в видео с 13:50.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
В новом выпуске НЕмитапа — проекта, где наши инженеры рассказывают про инструменты и подходы — Ваня Нещадин, техлид команды Bridge, делится опытом, как в Авито обрабатывают 5 миллионов трейсов в сутки.
Из видео вы узнаете:
зачем вообще обрабатывать такой объем трейсов;
с чего начинали, какой была архитектура сервиса;
graceful degradation (GD): что это, как найти и устранить GD;
уровни критичности сценариев и сервисов.
Также Ваня рассказывает, какие возникли трудности при работе с графовой базой данных Neo4j и как с ними справились.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Как внедрить ML Autotasking в отделе продаж и что из этого выйдет
Рома Захаров, руководитель аналитики юнита ML Autotasking в коммерческом департаменте Авито, делится опытом, как использовать аплифт от касания менеджера для ранжирования его задач. Почему это влияет на рост эффективности работы и какие проблемы могут возникнуть при создании MVP? Из доклада вы узнаете про:
аплифт как наиболее правильную метрику эффективности менеджера;
автоматизацию выбора клиентов, с которыми будет взаимодействовать менеджер;
механику сбора датасета для обучения модели — почему это было непросто;
сравнение ранжирования клиентов моделью против бейзлайнового алгоритма;
сложности, возникшие при внедрении модели.
А здесь ссылка для тех, кто привык смотреть на YouTube.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Случился релиз новой версии языка Go: 1.24. Разбираем основные нововведения и используем улучшенные инструменты по максимуму.
В новом выпуске avito.code Павел Агалецкий, техлид и бэкенд-разработчик Авито, рассказывает о самых топовых фичах, а также делится их особенностями, благодаря которым писать код станет еще проще.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Что меняется, когда у тебя появляется команда, и как с этим работать?
Нередко молодые лиды сталкиваются с проблемами на новой позиции: расти хотят не все и не всегда, команда не может принести сверхрезультаты уже завтра, а экспертное мнение лидера иногда душит. Но не все так страшно!
О том, как выбираться из подобных дилемм, рассказывает Галя Ширанкова, руководитель продукта в Авито. Из ее доклада вы узнаете:
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Как избавиться от всех костылей? Достаточно всего лишь одной функции...
Если считаете, что это кликбейт — настоятельно рекомендуем посмотреть доклад Марата Зимнурова, техлида Авито. В своем выступлении Марат раскрывает все подробности функционального программирования:
что это такое — функциональное программирование — на практике?
какие методы оттуда уже проникли в повседневную разработку?
какие конкретные недостатки существуют для применения такого способа, в том числе в JavaScript?
В примерах — детальный разбор, как написать веб-приложения и бэкенды, используя практики функционального программирования.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Финальный выпуск нашего открытого курса по JavaScript посвящен классам — инструменту, способному упростить работу с кодом. В завершающем уроке веб-разработчик Василий Новиков подробно разбирает:
что такое классы и как они работают;
что делать, чтобы получить объект из класса;
что включает в себя механизм поднятия в случае class declaration и в случае function declaration.
Больше информации о сериях, а также полезных материалах к ним можно найти на сайте курса JS. Делитесь в комментариях впечатлениями о курсе, а также идеями для будущих проектов.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Новый блок нашего открытого курса по JavaScript посвящен инструментам конструирования объектов. В этом выпуске веб-разработчик Василий Новиков рассказывает и показывает:
что из себя представляют фабрики объектов;
что включает в себя свойство prototype в функции;
что получается при использовании new с функцией-конструктором.
Больше информации о сериях, а также полезных материалах к ним можно найти на сайте курса JS.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Этой теме посвящен 13 выпуск нашего открытого курса по JavaScript. В нём веб-разработчик Василий Новиков рассказывает о:
дескрипторах свойств и их трёх флагах;
классическом методе класса-конструктора;
методе Object.create и опасностях Monkey Patching.
Больше информации о сериях, а также полезных материалах к ним можно найти на сайте курса JS.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Это новый предпраздничный выпуск нашего подкаста «Свободный слот». Обсуждаем Новый год глазами инженера: фича фризы и декабрьский стресс, дежурства в праздники и возвращение к рабочей рутине после перезагрузки.
Полный джингл беллс!
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Трогай, это на Новый год: восемь принципов разработки в Авито
Всем предновогодний привет! Приготовили для вас подарок — вместе с инженерами собрали наиболее актуальные принципы, которыми мы руководствуемся в Авито. Взяли их из Плейбука — это у нас такой свод правил, методов, шагов и сценариев, по которым команда разрабатывает свои продукты и сервисы.
Так вот, принципы эти легко адаптировать под ваши рабочие задачи, а некоторые и вовсе можно использовать в ситуациях, не связанных с разработкой. Забирайте то, что понравилось, улучшайте разработку и инженерную культуру вместе с нами.
С наступающим Новым годом! Делайте крутые продукты и фичи — надеемся, что наш Плейбук вам в этом поможет. И не забывайте балансировать между трудом и отдыхом!
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Масштабирование под давлением — возможность или вызов?
На этот вопрос в подробностях отвечает бэкенд-инженер и руководитель команды разработки монетизационных продуктов Авито Дмитрий Телепнев. Из его рассказа вы узнаете:
как обеспечить рост монетизации по модели cost-per-action;
как масштабировать CPA от MVP до 1млн RPM;
как подойти к планированию и обеспечить прагматичный подход к исправлению вкупе с продуктовыми инициативами.
Переходите по ссылке, чтобы ничего не упустить.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.
Объектно-ориентированное программирование и его реализация в JavaScript
Именно так звучит тема нового выпуска нашего открытого курса по JavaScript. В 12 серии вместе с веб-разработчиком Василием Новиковым разберёмся:
что такое объектно-ориентированное программирование (ООП) и его функции;
как реализовывать ООП на конкретном примере;
как применять метод проверки getPrototypeOf.
Больше информации о сериях, а также полезных материалах к ним можно найти на сайте курса JS.
Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.