Когда вы заказываете товары на сайте и в приложении, сервис доставки привозит их из магазинов «Магнит». Раньше для сборки заказов выбирался ближайший к покупателю магазин. Причём ближайший в буквальном смысле — по прямой. Это позволяло экономить на курьерах, но во всех магазинах разное количество сотрудников и ассортимент: где-то заказы собирали дольше, а где-то, из-за отсутствия определенных товаров, позиции в заказе меняли на аналоги. Поэтому мы решили поменять логику выбора магазинов, провели в нескольких городах пилотный проект и делимся первыми результатами.
Наш путь миграции on-prem аналитики в облако
В сентябре 2022 года в компании Магнит стартовал проект по переводу аналитики с он-прем железа в облако. Фактически компании пришлось выбирать как пути миграции, так и возможные инструменты работы. Было принято решение о миграции в облако Яндекс.
Цель нашей статьи – описать свое решение и те грабли, на которые мы наступили в процессе миграции.
Установка Sentry в Kubernetes, отловы exception на бекенде, в браузере, на Android
В этой статье поговорим о Sentry — инструменте для сбора exception, который помогает разработчикам быстро обнаруживать и устранять проблемы, сокращая время выхода новых релизов и повышая удовлетворенность пользователей.
Автоматизация рекламных кампаний - Audience TArgeting Service (ATAS)
В этой статье поделюсь нашим техническим опытом, расскажу о бизнес-задачах, успешно решаемых в Magnit Tech, проиллюстрирую подходы на одном из MLaaS проектов по таргетированию аудиторий.
На практике таргетирование может стать настоящим АТАСом для покупателей, перегруженных нерелевантными коммуникациями – но только не с нашим сервисом!
Далее расскажу, почему это так и детально поделюсь целями проекта и его технической реализацией от постановки задачи до боевого использования в проде.
Комбинаторы в ClickHouse
По мере работы приходилось часто сталкиваться с тем, что не все коллеги были знакомы с комбинаторами агрегатных функций в ClickHouse или же ограничивались использованием комбинатора -If. Это побудило меня написать статью. Надеюсь, она окажется для вас полезной.
Как мы исследовали кассы самообслуживания в «Магните»
В статье рассматриваются проблемы интерфейса и эргономики касс самообслуживания в сети «Магнит», необходимость разработки собственного ПО и результаты UX-исследований, направленные на улучшение покупательского опыта и эффективности. Материал раскрывает этапы проектирования и внедрения ПО для сложных систем, демонстрируя, как UX-оптимизация способствует значительному повышению операционной продуктивности и удовлетворённости пользователей.
Как мы строим команду аналитики в «Магнит Маркете»
В статье поделимся опытом создания и развития команды аналитики «Магнит Маркета», которая становится не только двигателем бизнеса, но и источником новых идей и проектов.
LLM и 1С: изучаем сервисы для автоматизации написания кода 1С
Мы решили пощупать рынок LLM в контексте 1С-разработки. Рассказываем, какие есть инструменты, как их можно использовать и к каким выводам мы пришли.
Разработка системы отчётности и BI: вопросы производительности
Мы в компании «Магнит» много лет строим и эксплуатируем корпоративное хранилище данных и занимаемся различными задачами, связанными с этим. В частности, разрабатываем инструмент для конечного пользователя — систему отчётности и BI.
В статье рассмотрим вопросы оптимизации производительности системы.
Безопасность на новом уровне: исследование Smallstep CA и его применение
Рассмотрим Smallstep CA — современное и инновационное решение для управления сертификатами. Оно может предложить несколько преимуществ по сравнению с OpenSSL.
Рецепты «приготовления» Hibernate, или решаем 5 проблем работы с фреймворком
Hibernate — очень мощный и функциональный ORM (Object-Relational Mapping) фреймворк. Он связывает базы данных с помощью объектно-ориентированных языков программирования. Однако многие, начиная с ним работать, натыкаются на проблемы производительности или отсутствия нужной функциональности. Многие из этих проблем появляются просто из-за того, что разработчики не умеют его «готовить».
В статье делимся рецептами работы с Hibernate и Spring Data JPA: они помогут решить многие проблемы, возникающими при использовании фреймворка.
Создаем свой диалект змеиного, или DSL на Python
Допустим, у нас есть некоторое исполнительное ядро и множество пользователей, владеющих Python на уровне «изучи его полностью за неделю», которые хотят решать задачи своей предметной области, с минимальными усилиями используя сервисы ядра. Мы, как разработчики ядра, хотим, с одной стороны, спрятать всё «грязное белье» за неким интерфейсом, с другой максимально упростить взаимодействие пользователей с ядром.
Как один из вариантов решения предлагаю посмотреть создание своего диалекта Python-скриптов, предназначенного для конкретной предметной области. Этакий DSL «для бедных», с синтаксисом Python, но со средой выполнения, заточенной под выполняемые задачи.
Как мы тестировали большие языковые модели для модерации отзывов
В приложении «Магнит: акции и доставка» можно оставлять отзывы на товары. Отзывы модерируются: мы публикуем те, которые считаем полезными для других покупателей, — они должны описывать потребительские свойства товара. Отклоняем все остальные: как правило, это жалобы на ценники, сервис в магазине, условия хранения либо просто нерелевантные тексты. Отзывы с жалобами обрабатывают службы поддержки и сервиса.
Рассказываем о том, как мы попробовали применять большие языковые модели, чтобы автоматизировать модерацию отзывов.
Как дисциплина управления мастер-данными влияет на продажи
Иногда это целая проблема — найти товар с редкими свойствами. Информация о товаре должна быть доступна для поиска, но в лучшем случае особые характеристики указываются в текстовом описании. Даже если для интересующего свойства сделали отдельное поле, то его заполняют левой задней пяткой без гарантий достоверности. В результате покупатель может плюнуть и уйти из магазина, так и не найдя то, что искал. А секрет прост: чтобы все получилось, нужно правильно приготовить мастер-данные.
Рассказываем, чем грамотно построенные процессы управления мастер-данными могут помочь продажам.
Кодогенерация токенов дизайн-системы для Android по Figma API
По мере развития проекта в целом и дизайн-системы в частности дизайн-токенов становится очень много. Для примера, у нас уже около четырёхсот иконок, больше двухсот цветов и перспектива внедрения нескольких тем в приложении. Что ещё, если не автоматизация, позволит держать в консистентности всю эту систему?
Рассказываю про наш тернистый путь к собственному генератору токенов дизайн-системы.
Что такое бизнес-требования и как с ними (не) бороться
Самые первые бизнес-требования были оставлены нашими предками в виде наскальной живописи, некоторые из которых добрались и до наших дней.
О том, как поменять подходы к написанию и пониманию бизнес-требований, чтобы результат от их реализации не был первобытным, расскажем в статье.
Наш путь в создании информационной системы проверок контрагентов || Laravel having no problems
Проверка потенциальных контрагентов на благонадёжность — неотъемлемая часть ведения бизнеса. Она нужна, чтобы эффективно управлять рисками, соблюдать должную осмотрительность, исключить репутационные риски и финансовые потери.
Мы создали систему, которая позволила оптимизировать работу по проверке контрагентов из открытых источников. Рассказываем, как она устроена.
Автоматическое обновление зависимостей в GitLab-проектах с помощью Renovate
Автоматическое обновление зависимостей становится все более важным аспектом в процессах непрерывной интеграции и непрерывной доставки (CI/CD) в сфере разработки программного обеспечения. В статье описана настройка автоматического обновления зависимостей в GitLab-проектах с помощью Renovate.
Путь исследователя цифровых продуктов в «Магните»: проблемы и решения
«Магнит» — это не только продукты съедобные, но и продукты цифровые: мобильные приложения, веб-сервисы. Команда пользовательского опыта старается делать их лучше: для этого есть исследователи, которые проводят исследования внутренних (для сотрудников) и внешних (для клиентов) продуктов, и CJE — эксперты по клиентскому опыту, которые строят карты клиентских путей на основе данных исследований и обратной связи.
Наша работа — находить и помогать решать проблемы пользователей. Но мы сами, в свою очередь, сталкиваемся с проблемами при выполнении этой задачи. Об этих проблемах и о том, как мы их решаем, расскажем в статье.
Эволюция BP-сервиса компании Магнит
Как на сервисе весом в 10 ТБайт ежедневно обрабатывать 1 Тбайт пользовательских данных и спать спокойно.
В статье описана эволюция системы управления процессами в компании «Магнит». Некоторые детали были упрощены для лаконичности и последовательности повествования, некоторые были изменены по соображениям безопасности. В любом случае, целью статьи является с одной стороны желание поделиться с сообществом техническим опытом, с другой — оставить ретроспективный взгляд на историю компании.