Pull to refresh

Technotext

Понимаем с полуслова: как работает поиск товаров в СберМаркете

Reading time7 min
Views3.8K

Всем привет! Меня зовут Аня Власова. Я работаю ML-инженером в команде Поиска СберМаркета. В этой статье я расскажу, как устроены наши процессы: с момента, когда пользователь вводит запрос, до получения поисковой выдачи. Если вы разрабатываете поиск или просто интересуетесь темой, то наверняка сможете найти интересные инсайты для своей работы.

Коротко о том, что вас ждет:

- Зоны ответственности команды Поиска;

- Как мы отбираем кандидатов для отображения их в поисковой выдаче;

- Финальное ранжирование товаров ml моделью.

7 из 10 товаров в СберМаркете добавляются в корзину именно из Поиска, так что даже маленькие изменения в наших продуктах оказывают большой и видимый эффект на бизнес. Именно поэтому мы уделяем много внимания постоянному улучшению наших решений и уже добились хороших результатов. Надеюсь, что вы почерпнете что-то новое из нашего кейса и сможете применить это в своей работе. Поехали!

Читать далее

Как автоматизировать построение архитектурных схем в большой микросервисной системе

Level of difficultyMedium
Reading time8 min
Views21K

Если у вас есть большая система, состоящая из множества микросервисов, то вы наверняка задавались вопросом: «Что сделать, чтобы архитектурная схема всей системы была всегда на 100% актуальной?».

Обычно, в компаниях есть свои практики формирования архитектурных схем и ведения документации, что частично решает поставленный вопрос. Но проблема такова, что часто схемы со временем начинают расходиться с реальностью: новые интеграции добавляются, а старые — уходят, а актуализация схем вручную происходит не всегда своевременно.

Чтобы решить проблему мы автоматизировали отрисовку схем опираясь на метаданные IT-систем. Мы создали отдельный микросервис, который этим занимается и назвали его «Architect». О том как это происходит и как работает Architect я расскажу в этой статье, а также дам несколько советов, которые помогут внедрить то же самое у вас в компании.

Читать далее

Как использовать ресурсы Kubernetes по максимуму для работы с Go-приложениями

Reading time12 min
Views11K

Привет! Меня зовут Антон Жуков, я руковожу группой разработки в Сбермаркете. В профессии я уже более 12 лет, с Golang работаю с 2016 года, а с Kubernetes — с 2018 года.

В этой статье расскажу об основах Kubernetes, возможных проблемах и решениях, а также о том, как грамотно использовать ресурсы этой платформы, чтобы выжать максимум из Go-приложений. Кроме того, в конце статьи я опишу кейс настройки GOMAXPROCS на примере нашего приложения и расскажу, как нам удалось повысить его производительность на 20-50%.

Читать далее

Как работать в кайф. How to от тестировщицы, которая вынесла уроки после выгорания

Reading time10 min
Views25K

Думаю, многие помнят чувство первой влюбленности. Ты ни на шаг не можешь отойти от предмета своего обожания, постоянно хочется «больше» и кажется, что это навсегда. Оказывается, влюбиться можно не только в человека, но и в работу. Сначала ты будешь тонуть в его/её  ̶г̶л̶а̶з̶а̶х̶  Jira-бордах, а закончится всё тем, что ты (вдруг) сгорел. Для полных ощущений мне захотелось пройти ещё и медные трубы, поэтому делюсь своей историей с вами. 

Привет! Меня зовут Татьяна Дерягина, я Mobile QA в СберМаркете. Эта история про то, как мне понадобилось выгореть до углей, чтобы понять, что ворк-лайф бэланс необходим. Причём не только, чтобы не остаться совсем без лайф, но и чтобы делать свою любимую ворк хорошо и с удовольствием.

В процессе восстановления я перечитала кучу литературы о том, как выстроить здоровые отношения с работой и хочу поделиться этим знанием с теми, кто сейчас переживает фазу влюблённости и вот-вот собирается набрать нагрузки по самые уши. Расскажу, к каким мыслям пришла после прочтения книг и просмотра видео про выгорание в совокупности с личным опытом. В конце статьи прилагаю материалы по теме. Поехали!

Читать далее

Как мы научили ML-модель выбирать товары для акций в СберМаркете и увеличили ROI скидок в 8 раз

Reading time7 min
Views5.9K

Всем привет! На связи Никита Губин, менеджер продуктов машинного обучения в СберМаркете. Моя команда занимается внедрением ML-решений в маркетинге. И сегодня хочу рассказать, как нам удалось в 8 раз увеличить ROI одного регулярного промо, которое вы можете увидеть в нашем приложении ежедневно.

Статья будет полезна: 

Продактам и менеджерам по маркетингу. Разберем конкретный кейс, эффект от которого мы получаем уже более 6 месяцев. Можно забирать на инсайты и гипотезы ?

Лидам и инженерам машинного обучения. Расскажу про конкретные алгоритмы при помощи которых получили высокий импакт.

Поехали!

Читать далее

Эффектно и эффективно. 6 инструментов для анимации в React Native

Level of difficultyMedium
Reading time11 min
Views5.7K

Всем привет! Меня зовут Евгений Прокопьев, я мобильный разработчик в СберМаркете. Более пяти лет я работаю с React Native и моя любовь — это красивые анимации. В этой статье я хочу рассказать, с помощью каких инструментов можно добиваться качественных анимаций на React Native. Начну с Animated и Reanimated, посмотрим, как они работают внутри. Затем расскажу, что можно делать с библиотеками SVG, Lotte, OpenGL и Skia. Поехали!

Читать далее

Путешествие в царство легаси. Как маленькая задача привела к большому рефакторингу

Level of difficultyEasy
Reading time9 min
Views6.8K

Привет! Меня зовут Артем Коньков, я frontend-разработчик в СберМаркете. А еще, я тот человек, который в фильмах ужасов спускается в темный подвал вопреки инстинкту самосохранения. Во-первых, потому что это интересно, а во-вторых — кто-то же должен это делать!

Это история о том, как мое любопытство превратило небольшую задачу в настоящий квест длиной в 5 спринтов. Надеюсь, мой пример поможет вам меньше бояться подобных задач, и даст мотивацию копать глубже. А в конце статьи я расскажу, как правильно закреплять результаты, чтобы такая масштабная работа не была проделана впустую. Но сначала немножко контекста.

Читать далее

Как использовать науку, чтобы меньше стрессовать в IT

Reading time8 min
Views6.7K

Привет! Меня зовут Олег Федоткин, и я руковожу IT-платформой в СберМаркете. А ещё я соведущий подкаста «Для tech и этих» и веду телеграмм-канал «Инженер и менеджер» о том, как балансировать между этими профессиями. Хочу поговорить о том, как работает стресс и как с ним бороться с научной точки зрения. Поделюсь примерами, как мы боремся со стрессом в СберМаркете. К вашим услугам — информация из научпопа и статей с ResearchGate, а еще мои личные советы.

Читать далее

Трудности перевода. Как научить микросервисы общаться и не ссориться

Level of difficultyMedium
Reading time10 min
Views6.6K

Привет! Меня зовут Саша Сусиков. Я проверяю клавиатуры на прочность около 10 лет из  них последние 2 года с помощью Go. Сейчас я участвую в разработке платформы СберМаркета, где создаю инструменты, которые упрощают жизнь разработчикам. Эта статья для тех, кому предстоит настроить процесс взаимодействия сервисов в компании и вы ищете, как не наломать дров.

Читать далее

Kafka за 20 минут. Ментальная модель и как с ней работать

Level of difficultyMedium
Reading time19 min
Views184K

Привет! Меня зовут Глеб Гончаров, и я руковожу подгруппой ИТ-инфраструктуры в СберМаркете. В работе мы широко используем Kafka как шину данных для микросервисов и не раз убедились на практике, что к инструменту важно подобрать правильный подход. Об этом сегодня и поговорим в двух частях — сначала обсудим основы, а в конце статьи будет ссылка на практические задания.

Читать далее

Figma to Frontend: как мы автоматически синхронизируем дизайн и код

Level of difficultyMedium
Reading time7 min
Views28K

Меня зовут Анастасия Кабалкина, я Head of design в VK Tech. В этой статье расскажу, как мы синхронизировали треть нашей дизайн-системы за счет автоматической генерации дизайн-токенов и компонентов.

Читать далее

Почему мы ошибаемся при первоначальной оценке фич?

Level of difficultyEasy
Reading time8 min
Views9.9K

Так бывает, что в проектах, в которых я участвую, первоначальная оценка разработки проекта расходится с реальными сроками. И кажется, что уже всё сделали: внедрили скрам, планирование, ежедневные летучки, грумминг, внутри команды наладили коммуникацию, но всё равно раз за разом сроки разработки отодвигаются

И возникает закономерный вопрос — да что не так-то?

Читать далее

Релиз Oculus Quest 3: тоньше, мощнее, с новыми джойстиками. Смотрим, что получилось и сравниваем с Pico 4

Level of difficultyEasy
Reading time7 min
Views85K

Сегодня (28 сентября) открыт предзаказ новых очков виртуальной реальности Oculus Quest 3, релиз которых назначен на 10-ое октября. Сделаю небольшой обзор шлема, выскажу своё мнение о нём, сравню с предыдущим шлемом Quest 2 и Pico 4.

Сам я активно пользуюсь Oculus Quest 2 уже пару лет и если сравнивать их с третьей версией, то забегая впёрёд скажу, что новый шлем выглядит просто потрясающе!

Читать далее

Монолог про отказоустойчивость микросервисных приложений, или Что может пойти не так?

Level of difficultyEasy
Reading time20 min
Views9.7K

Давным-давно я работал в одной компании, где всё хостилось на одном-единственном сервере. Как это обычно бывает, в субботу вечером сгорел блок питания, и я, отдыхая в это время на природе, сидя в лодке, через телефон, при помощи консоли, пытался перенести сервер на другой хост. 

Как вы уже поняли, мы поговорим об отказоустойчивости.

Читать далее

Про микросервисы на примерах

Level of difficultyEasy
Reading time5 min
Views24K

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

И так, эта статья не для разработчиков и опытных архитекторов, а для аналитиков, которые хотят понять, а что же такое микросервисы на самом деле. Пример здесь максимально простой и не претендует на хороший стиль написания кода, чтобы его запустить не нужно обладать вообще никаким ИТ‑бэкграундом и не нужно настраивать никакие IDE.

Приступим?

Единая нейросетевая модель кредитного скоринга

Level of difficultyMedium
Reading time7 min
Views10K

Сейчас в Альфа-Банке при построении моделей используется множество различных источников данных. Мы в Лаборатории машинного обучения уже несколько лет применяем нейронные сети на последовательностях для решения задачи кредитного скоринга и построили модели на данных карточных транзакций, транзакций расчетного счета и кредитных историй. Повышение качества в задаче кредитного скоринга позволяет банку выдавать большее количество кредитов при неизменном уровне риска, что напрямую влияет на его прибыль.

Моделей становится больше. Возникает вопрос: почему бы нам не смешивать модели не на уровне их предсказаний, а на некотором более низком уровне? Эта идея приводит нас к новому способу смешивания - построению единой нейросетевой модели, работающей со всеми источниками последовательных данных и учитывающей их взаимное влияние друг на друга. В этой статье мы расскажем, как нам удалось разработать такую модель и каких результатов она позволяет добиться в задаче кредитного скоринга.

Читать далее

ПЛК Mitsubishi: как разобрать сетевой протокол и найти уязвимости в устройстве без использования прошивки

Level of difficultyMedium
Reading time24 min
Views6K

Нас окружают умные устройства. Внутри каждого — микросхемы и прошивки с программным кодом, который содержит уязвимости. Представьте, что в руки исследователя безопасности попадает устройство с недокументированным сетевым протоколом. Возникают задачи: разобрать протокол, научиться общаться с устройством и найти слабые места — уязвимости. Для исследования нужна прошивка. Но что делать, если прошивку невозможно достать?

В статье я расскажу об опыте исследования ПЛК FX5U компании Mitsubishi без использования прошивки. Поделюсь, как собирал информацию и восстанавливал протокол на основе: документации родственных протоколов, утилиты производителя, симулятора ПЛК, кодов ошибок, полного перебора и собственных наработок. Покажу, что знание протокола - сила, и как это помогло нам с коллегами выявить 15 уязвимостей, среди которых CVE-2022-25161 и CVE-2022-25162. Опишу, как работают две эти уязвимости и как они влияют на технологические процессы, на примере демонстрационных стендов.

Читать

Визуализация статистики о том, что и так все знают

Level of difficultyEasy
Reading time7 min
Views16K

Привет, Хабр! Меня зовут Тагир, я занимаюсь аналитикой игровых механик. Недавно я наткнулся на статью, в которой визуализировали жизни тысяч людей с точностью до минуты — люди отмечали, на что они тратят свое время в течение дня, а автор агрегрировал эти данные и сделал визуализацию, разбив активности по категориям. 

Я переложил эту логику на банковские транзакции, чтобы посмотреть, на что люди тратят свои деньги в определенный момент времени, и получил статистику, о которой все и так вроде бы знают. На обед люди ходят в ближайшее кафе и заправляют машину, после работы — в супермаркет, а на выходных — отдыхают в увеселительных заведениях. Но визуализировав эти данные, увидел, что выглядит это весьма залипательно.

Читать далее

Разбираемся в REST assured как новичок и не только

Level of difficultyEasy
Reading time12 min
Views51K

Привет, меня зовут Александр Беляков, я инженер по тестированию Альфа-Банка. В 2021 году пришёл в IT из медицины и четыре месяца стажировался в Альфа-банке. Хотел бы рассказать о внедрении автотестов REST API с JSON-schema на проекте, на котором я стажировался с нуля и без опыта: с чего начать, как подготовиться, что необходимо знать и как быть с ошибками. Статья будет полезна начинающим тестировщикам, как я, которые только хотят начать работать в тестировании. Но и начинающим лидам я скромно рекомендую уделить статье время. У вас уже достаточно опыта и вы всё знаете, но, возможно, не помните, каково это ничего не знать.

Читать далее

Быть или не быть тимлидом – вот в чём вопрос

Level of difficultyEasy
Reading time7 min
Views5.6K

Есть стереотип, что по достижении определенного скила нужно продвигаться в тимлиды. Я тоже поверил в него: поделюсь историей, как попробовал управлять командой и какие выводы сделал о развитии своей карьеры.

Те, кто собираются в тимлиды, поймут, какие подводные камни могут ждать. Тех, кто уже у руля, приглашаю к дискуссии в комментарии. Ну, а HR смогут взглянуть со стороны на сотрудника и его ощущения.

Читать далее