Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Как мы делали клубную программу Спортмастера

Блог компании Sportmaster Lab Разработка веб-сайтов *Разработка под e-commerce *
Если вы чаще раза в год ходите в наши магазины за спорттоварами или одеждой, скорее всего, у вас есть наша клубная карта (синяя, серебряная или золотая). Меня зовут Максим, я заместитель директора департамента разработки, внедрения и сопровождения ПО, и в этом посте мы с коллегами расскажем про становление клубной программы Спортмастера, про коллекцию собранных нами в процессе граблей и про то, чем наша клубная программа отличается от привычных скидочных карт других торговых сетей.



Тогда


На дворе стоял 2004-й год. Что было — клубная программа у Спортмастера и доллар по 27 рублей. Чего не было — нормального интернета на местах и стабильных каналов связи у магазинов.

В те годы мы сами написали систему лояльности, которая могла нормально вести учёт бонусных баллов каждого пользователя. Но так как магазинов у нас уже тогда было много, в отличие от мощностей для обработки данных, вся наша база данных бонусов умещалась в одном файле, который просто рассылался по магазинам и обслуживался локально, а изменения за день возвращались обратно. Кстати, именно это стало первопричиной того, что бонусы можно тратить только на следующий день после покупки, а не требования бизнеса и обеспечение возврата клиентов — в течение суток всё это просто не успевало обновиться и пересчитаться как следует.
Читать дальше →
Всего голосов 49: ↑44 и ↓5 +39
Просмотры 16K
Комментарии 60

Как мы делаем Спортмастер

Блог компании Sportmaster Lab Разработка под e-commerce *
Всем привет! Уверен, многие из вас когда-нибудь покупали майку, мяч, кроссовки, ну или какой-нибудь другой спортивный инвентарь в наших магазинах, но мало кто знает, что из себя представляет Спортмастер с технической точки зрения.


Немного Спортмастера образца 2003 года с сайта web.archive.org

Меня зовут Дмитрий, я старший java-разработчик в компании Спортмастер, и сегодня я хотел бы рассказать о нашем интернет-магазине, о том, какой путь он проделал, чтобы стать тем, каким вы его знаете сейчас: с чего мы начинали, как развивались, что получилось, а что нет, о проблемах сегодня, и о планах на будущее. Интересно? Добро пожаловать под кат!
Читать дальше →
Всего голосов 43: ↑31 и ↓12 +19
Просмотры 11K
Комментарии 31

По следам Highload++ Siberia 2019 — 8 задач по Oracle

Блог компании Sportmaster Lab Oracle *SQL *Администрирование баз данных *
Привет!

24-25 июня в Новосибирске прошла конференция Highload++ Siberia 2019. Наши ребята тоже там были докладом «Контейнерные базы Oracle (CDB/PDB) и их практическое использование для разработки ПО», мы выложим текстовую версию немного позже. Было круто, спасибо olegbunin за организацию, а также всем, кто пришёл.


В этом посте мы хотели бы поделиться с вами задачами, которые были на нашем стенде, чтобы вы могли проверить свои знания в Oracle. Под катом — 8 задач, варианты ответов и объяснение.
Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Просмотры 5.1K
Комментарии 3

Unit-тесты в СУБД — как мы делаем это в Спортмастере, часть первая

Блог компании Sportmaster Lab Тестирование IT-систем *Администрирование баз данных *Тестирование веб-сервисов *
Привет, Хабр!

Меня зовут Максим Пономаренко и я — разработчик в Спортмастере. Имею 10-летний опыт работы в IT-сфере. Начинал карьеру в в области ручного тестирования, затем переключился на разработку баз данных. Последние 4 года, аккумулируя знания, полученные в тестировании и разработке, занимаюсь автоматизацией тестирования на уровне СУБД.

В команде Спортмастера я состою чуть более года и на одном из крупных проектов занимаюсь разработкой автоматизированного тестирования. В апреле мы с ребятами из Sportmaster Lab выступали на конференции в Краснодаре, мой доклад назывался «Unit-тесты в СУБД», и сейчас хочу поделиться им с вами. Текста будет много, поэтому я решил разбить доклад на два поста. В первом мы поговорим об автотестах и тестировании в общем, а во втором я подробнее остановлюсь на нашей системе unit-тестирования и результатах ее применения.



Вначале немного скучной теории. Что такое автоматическое тестирование? Это тестирование, которое проводится программными средствами, и в современном IT оно все чаще и чаще используется при разработке ПО. Связано это с тем, что компании растут, растут их информационные системы и соответственно растет и количество функционала, которое надо тестировать. Проводить ручное тестирование становится всё накладнее и накладнее.
Читать дальше →
Всего голосов 31: ↑27 и ↓4 +23
Просмотры 9.8K
Комментарии 11

Unit-тесты в СУБД — как мы делаем это в Спортмастере, часть вторая

Блог компании Sportmaster Lab Тестирование IT-систем *Администрирование баз данных *Тестирование веб-сервисов *
Первая часть — здесь.



Представьте ситуацию. Перед вами стоит задача разработки нового функционала. У вас есть наработки от ваших предшественников. Если предположить, что вы никаких моральных обязательств не имеете, то как бы вы поступили?

Чаще всего все старые наработки подвергаются забвению и всё начинается сначала. В чужом коде копаться никто не любит, а при наличии времени почему бы не заняться созданием собственной системы? Это типичный подход, и он во многом правильный. Но в своём проекте мы поступили не так. В основу будущей системы автоматического тестирования мы заложили наработки по unit-тестам на utPLSQL от предшественников, а затем пошли работать в нескольких параллельных направлениях.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 4.5K
Комментарии 5

Edition-Based Redefinition: можно ли в production?

Блог компании Sportmaster Lab Высокая производительность *Oracle *Проектирование и рефакторинг *Администрирование баз данных *
Привет! Меня зовут Антонина, я Oracle-разработчик IT-подразделения «Sportmaster Lab». Работаю тут всего два года, но благодаря дружной команде, сплоченному коллективу, системе наставничества, корпоративному обучению, накопилась та самая критическая масса, когда хочется не просто потреблять знания, но и поделиться своим опытом.



Итак, Edition-Based Redefinition. Почему у нас вообще возникла такая необходимость в изучении данной технологии, причем здесь термин «высокая доступность» и как Edition-Based Redefinition поможет нам как Oracle-разработчикам экономить время?

Что предложено в качестве решения корпорацией Oracle? Что же творится на задворках при применении данной технологии, с какими проблемами мы столкнулись… В общем, вопросов много. Ответить на них я постараюсь в двух постах по теме, и первый из них — уже под катом.
Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Просмотры 2.4K
Комментарии 6

Edition-Based Redefinition. Часть 2

Блог компании Sportmaster Lab Высокая производительность *Oracle *Проектирование и рефакторинг *Администрирование баз данных *
Привет! Как и обещала в предыдущем посте про Edition-Based Redefinition — вот вторая часть.



Итак, с чем мы работаем? Наш основной production сервер — это Oracle 12С, Enterprise Edition. И, что важно отметить, на нем работает несколько десятков приложений одновременно. Почему мы заостряем на этом внимание? Технология относительно новая, она не совсем хорошо обкатана. И было бы нелогичным переводить на нее сразу какие-то критичные системы. Поэтому для себя решили, что будем потихоньку идти от менее критичных систем к более критичным. Соответственно, следующая проблема, которую нам необходимо было понять: как работать c технологией EBR и как организовать интеграцию в той ситуации, когда у нас одна схема версионирована, а другая — нет. В 12 версии Oracle, как оказалось, можно создавать неверсионные объекты, неверсионированные пакеты, неверсионированные представления в версионированной схеме для организации той самой интеграции.
Читать дальше →
Всего голосов 19: ↑17 и ↓2 +15
Просмотры 944
Комментарии 0

Денормализация баз данных ERP-систем и ее влияние на развитие ПО: открываем таверну на Тортуге

Блог компании Sportmaster Lab SQL *Администрирование баз данных *ERP-системы *Data Engineering *
Привет! Меня зовут Андрей Семенов, я старший аналитик в Спортмастер. В этом посте я хочу поднять вопрос денормализации баз данных ERP-систем. Мы рассмотрим общие условия, а также конкретный пример — скажем, это будет прекрасная таверна-монополист для пиратов и моряков. В которой пиратов и моряков надо обслуживать по-разному, ибо представления о прекрасном и потребительские паттерны у этих добрых господ существенно отличаются.

Как сделать так, чтобы все были довольны? Как не сойти с ума, проектируя и поддерживая такую систему? Что делать, если в таверну начинают приходить не только привычные пираты и моряки?



Всё под катом. Но пойдем по порядку.
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 3.1K
Комментарии 1

Как справиться с декомпозицией задач и не перестараться

Блог компании Sportmaster Lab Анализ и проектирование систем *Управление разработкой *Управление проектами *
Всем привет!

Меня зовут Виктор, я системный аналитик в компании «Спортмастер». И сегодня я хотел бы поговорить о декомпозиции задач и передачи их в разработку. Любой объект состоит из частей, будь это автомобиль или программный продукт. И чтобы собрать любой из этих объектов в единое целое из составных частей, потребуется время. Иногда — даже очень много времени. Особенно, если перед этим вы не просто разобрали основную часть, а решили докопаться до сути на атомарном уровне.


Где же та грань между адекватной постановкой задач и тотального хаоса? Поделюсь примером того, как к нам в «Спортмастере» периодически поступают задачи в разработку от бизнеса.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 9.6K
Комментарии 10

Мониторим Спортмастер — как и чем

Блог компании Sportmaster Lab Open source *Системное администрирование *IT-инфраструктура *
О создании системы мониторинга мы задумались на этапе формирования продуктовых команд. Стало понятно, что наше дело — эксплуатация — в эти команды никак не попадает. Почему так?

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



Наша же команда, в свою очередь, работает с системами, которые очень сильно интегрированы между собой: между ними множество связей, это весьма большая инфраструктура. И от всех этих систем (которых у нас, к слову, огромное количество), зависит работа интернет-магазина.

Вот и получается, что наш отдел не относится ни к одной команде, а находится немного в стороне. Во всей этой истории наша задача — понимать в комплексе, как работают информационные системы, их функциональность, интеграции, ПО, сеть, железо, и как все это связано между собой.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 6.2K
Комментарии 17

Что помогло нам быстро перестроиться на онлайн-торговлю в новых условиях

Блог компании Sportmaster Lab IT-инфраструктура *Разработка под e-commerce *Тестирование веб-сервисов *Микросервисы *

Привет!

Меня зовут Михаил, я заместитель директора по ИТ в компании «Спортмастер». Я хочу поделиться историей о том, как мы справились с трудностями, возникшими во время пандемии.

В первые дни новых реалий привычный формат офлайн-торговли «Спортмастера» замер, и нагрузка на наш онлайн-канал, в первую очередь в части доставки на адрес клиенту, возросла в 10 раз. За несколько недель мы трансформировали гигантский по объему офлайн-бизнес в онлайн, адаптировали сервис под потребности наших клиентов.

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

Читать далее
Всего голосов 20: ↑17 и ↓3 +14
Просмотры 2.7K
Комментарии 1

От кровавого энтерпрайза к командной работе

Блог компании Sportmaster Lab Управление разработкой *Управление персоналом *DevOps *

Меня зовут Сергей Минаев, я руководитель направления  администрирования веб-сервисов в компании «Спортмастер». Моя группа занимается разворачиванием и поддержкой всего, что связано с вебом и мобилкой. 

Большинство систем мы пишем сами, но в то же время мы иногда используем и коммерческий софт. В целом можно сказать, что мы стараемся работать «модно-молодежно»: у нас есть автоматизация на Ansible (именно автоматизация, а не деплой), у нас есть CI/CD на Bamboo + Bitbucket. Есть оркестрация на Mesos, от него мы постепенно переходим к Kubernetes.

Есть и заявки - это не только взаимодействие с другими отделами, но и взаимодействие разработки-эксплуатации. Поэтому мы смотрим в сторону GitOps.

Наши проблемы

Одна из самых тяжелых проблем - это взаимодействие на уровне “перекидывания через забор”: всё, я работу свою сделал, я закончил, а работает система или нет, это уже не так важно. Перестроить такое восприятие достаточно сложно, мы пытаемся исправлять ситуацию, но дается это нелегко.

Из предыдущего вытекает еще одна проблема — это подход «У меня локально все работает, если у коллег в деве/проде не запустилось — это их проблемы, пускай сами разбираются». Подобная проблема есть, наверное, практически у всех. Как мы стараемся ее решать: по максимуму переносить окружения на единую платформу, в нашем случае Kubernetes с динамическими окружениями. 

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 4.4K
Комментарии 10

Ускоряем доставку изменений в классический windows-монолит

Блог компании Sportmaster Lab Разработка веб-сайтов *Анализ и проектирование систем *DevOps *
Добрый день, коллеги! Позвольте представиться — меня зовут Павел Бацев, я администратор сервисов в ГК Спортмастер. В системном администрирование – 8 лет, второй год занимаюсь изучением и внедрением devops-практик.

Сегодня я предлагаю рассмотреть вам кейс, который, прежде всего, будет интересен администраторам и инженерам с парком windows-хостов и монолитными системами.

Под катом: некоторые особенности работы конвейера доставки, работающего с использованием windows-агентов bamboo; проблемы, возникающие при использовании dsc и jea-сессий powershell в домене с устаревшим уровнем леса, и варианты их решения; способ внедрения автоматического ui-тестирования без задействования профессиональных тестировщиков.

Итак, рассмотрим, исходные данные:

Имеем бизнес-критичную информационную систему, которая интегрирована с системой внутреннего документооборота, системой заявок в «Службу горячей линии», 1С.

На момент получения системы в поддержку у нас не было стратегии по релизам, поэтому все операции, связанные с обновлением той или иной компоненты, выполнялись в мануальном режиме, зоны ответственности были размазаны, не было организовано четкой, взаимодополняющей работы между командами разработки, администрирования и аналитики (как представителя бизнеса).
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 1.7K
Комментарии 1

10 марта — бесплатный онлайн-митап SM lab analyst day

Блог компании Sportmaster Lab Анализ и проектирование систем *Аналитика мобильных приложений *Карьера в IT-индустрии Конференции
Привет! В среду, 10 марта, мы проведем митап, посвященный работе системных аналитиков и не только. В программе 4 доклада от наших спикеров, начинаем в 18.30 МСК. Главное — зарегистрируйтесь заранее, потому что ссылку на митап мы пришлём за час до начала.

Программа митапа


  • Работа в Спортмастере на примере проекта «Новый интернет-магазин»
  • Практический кейс замещения аналитиками роли «Тестировщик»
  • Как мы пришли к Figma или зачем учиться готовить вкусно
  • Ходим с разработчиками налево! Или Как уменьшить потери на пробелах в бизнес-постановках

А теперь подробнее.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 436
Комментарии 0

Как мы делали SM Lab Analyst Day — первый митап по системной аналитике в Sportmaster Lab (+ видео всех докладов)

Блог компании Sportmaster Lab Анализ и проектирование систем *Аналитика мобильных приложений *Конференции Дизайн

Всем привет. Меня зовут Капранов Кирилл, я — руководитель направления системного анализа в компании Sportmaster Lab. 10 марта 2021 года мы с коллегами сделали первый митап по системному анализу, и я хочу поделиться с вами тем, как это было.

Что первым приходит в голову, когда слышишь фразу: "работаю в Спортмастере"? Уверен, у 90% людей промелькнет в голове: "Хм, наверное, продаёт кроссовки". Почему именно эти стереотипы?

Всё просто: в прошлом компания "Спортмастер" делала упор на развитие розничной сети, создание собственного производства, налаживание сети поставок, и, хотя ИТ в этом играло большую роль, знали об этом только внутри компании.

С каждым годом развивающая роль ИТ увеличивалась, но существующая структура компании не позволяла покрывать потребности бизнеса, и в компании началась цифровая трансформация. Внутри цифровой трансформации мы проделали и продолжаем делать большую работу, подробнее можно почитать тут и тут. Мне бы хотелось выделить 2 значимые вехи трансформации:

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 1.3K
Комментарии 3