Как стать автором
Обновить
118.15
Рейтинг
Sportmaster Lab
Рассказываем о том, как мы делаем «Спортмастер»
Сначала показывать

Электронные ценники— мертворожденный продукт или реальный инструмент?

Блог компании Sportmaster Lab Интерфейсы *Разработка под e-commerce *

Про электронные ценники ЭЦ (в английской аббревиатуре ESL – electronic shelf labels) для розничных магазинов пишут и говорят уже с начала 2000-х годов. За четверть века технология удешевилась, усовершенствовалась и сейчас это зрелое решение, которое предлагают несколько поставщиков на рынке.

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

Новости

Баг с псионическими сигнатурами в Java

Блог компании Sportmaster Lab Информационная безопасность *Oracle *Java *
Перевод
В классическом научно-фантастическом сериале BBC Доктор Кто часто используется следующий сюжетный приём: Доктору удаётся избежать неприятностей, показав удостоверение личности, которое на самом деле совершенно пустое. Разумеется, удостоверение сделано из специальной «психобумаги», заставляющей смотрящего на неё человека видеть то, что удобно для Доктора: пропуск, ордер или что-то ещё.


Оказывается, некоторые новые релизы Java тоже были подвержены подобному трюку в реализации широко используемых сигнатур ECDSA. Если запустить одну из уязвимых версий, то нападающий легко сможет подделать некоторые типы сертификатов SSL и handshake (что позволяет вмешиваться в обмен данными и модифицировать их), подписанные JWT, декларации SAML или id-токены OIDC и даже сообщения аутентификации WebAuthn. И для всего этого достаточно цифрового аналога чистого листа бумаги.
Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 3.3K
Комментарии 1

Тестирование продукта RuScanner: как заставить отладчик Android работать во благо тестирования

Блог компании Sportmaster Lab Разработка под Android *Разработка под e-commerce *Тестирование мобильных приложений *

Всем привет, меня зовут Дарья Чернышева, я инженер по обеспечению качества команды RuScanner.

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

Подробнее про продукт

RuScanner (RS) — приложение для сканирования маркированных товаров и коробов, в которые эти товары упаковываются. Товары сканируются посредством считывания специальной этикетки КИЗ (CIL), а короба — LPN, зашифрованных в штрихкоды. 

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 1.2K
Комментарии 1

1000 и 1 нюанс. UX-проектирование и тестирование сложного функционала или почему не нужно спешить делать дизайн

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

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

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

Меня зовут Андрей Кононов, я UX-эксперт Sportmaster Lab, а под катом — наш путь, советы и чеклист из 7 пунктов для тех, кто тоже занимается UX-тестированием.

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

Жил на свете добрый Jooq – как подружиться с хранимками в Oracle

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

Приветствую!

Меня зовут Артём, я back-end разработчик на продукте WFM (Workforce Management). В компании наш продукт помогает в развитии процессов розничной сети, одна из основных наших задач — это построение рабочего графика для персонала розничного магазина.

В данной статье я хотел бы познакомить вас (в очередной раз, так как на хабре уже есть несколько статей, посвященных этой библиотеке) с Jooq и показать, как можно легко работать с хранимыми процедурами Oracle. Будет немного вводной части, а затем посмотрим примеры.

Почти в каждом продукте, скорее всего, есть база данных. В нашем случае это РСУБД Oracle, большая часть логики содержится внутри в виде хранимых процедур. Удобство взаимодействия с базой всегда было достаточно важной и щепетильной задачей для любого бэкендера, особенно, если речь идет о взаимодействии с хранимками, которые выдают и принимают "сложные" plsql-типы. Конвертация plsql-типа в java-тип — задачка не самая приятная, мягко говоря, и удобных инструментов в этом деле не так уж много.

Давайте кратко вспомним некоторые популярные подходы к взаимодействию с РСУБД, какими достоинствами и недостатками они обладают.

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

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

Блог компании Sportmaster Lab Научно-популярное Здоровье


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

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

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

  1. Улучшение работы мозга и памяти.
  2. Улучшение и защита мыслительных процессов.
  3. Повышение концентрации.
  4. Уменьшение стресса, депрессии и беспокойства.
  5. Улучшение качества сна.


Физические упражнения несут в себе физиологические преимущества как для тела, так и для мозга. Упражнения укрепляют память и улучшают качество мыслительных процессов – как прямо, так и косвенно.
Читать дальше →
Всего голосов 35: ↑30 и ↓5 +25
Просмотры 15K
Комментарии 65

Как мы СМ 3.0 запускали

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

Привет, меня зовут Виктор, я руководитель продукта сайта Спортмастер, точнее — его новой версии. Я работаю в компании с 2019 года и пришёл на проект системным аналитиком. В то время проект только стартовал. Мы выбрали архитектуру нового приложения, технологии, тактику тестирования, а также собрали команду разработки.  

На старт

Через полгода после старта работ выяснилось, что дизайны не соответствуют текущим реалиям, так что разработку заморозили на полгода. В это время команда не скучала, развивалась и реализовала небольшой проект — Web-приложение для управления электронными подарочными картами. И вот появились дизайны, появились концепция и большой файлик в Excel с примерно 800 строками. Каждая строка — это фича, которую надо реализовать на сайте. Фичи были как маленькие (отображать баннер и другой блок на сайте), так и большие (реализовать корзину).

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

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

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

Блог компании Sportmaster Lab Программирование *Совершенный код *Карьера в IT-индустрии
Перевод

За последние несколько лет, в процессе работы и общения со множеством разработчиков, я заметила часто повторяющийся паттерн. Он меня сильно беспокоил и я продолжала о нём думать и говорить, пытаться найти понимание или даже оправдание ему.

Почему ты выбрал такой подход к решению?

  • Не знаю. Прочитал в какой-то статье.
  • Не знаю. Скопипастил его из X.
  • Не знаю. Такой же подход я использовал в предыдущем проекте.
  • Не знаю. Кто-то мне посоветовал.

Этот паттерн можно назвать "потреблением вместо творчества". Потреблением без сомнений и вопросов. Потреблением, потому что можно спрятаться за чьим-то авторитетом.

Я видела разработчиков, берущих решение других людей как должное. Без малейших раздумий о выбранном подходе, не заморачиваясь анализом. Да, конечно, когда Дэн Абрамов говорит мне, как правильно использовать React, или в документации написано, что это единственный способ применения API, то с этим нужно согласиться. Тем не менее, когда вы используете какой-то технический контент без хотя бы доли скептицизма, то вы всё равно сможете продвинуться в своей карьере, но есть вероятность, что это вам помешает.
Читать дальше →
Всего голосов 36: ↑28 и ↓8 +20
Просмотры 9.3K
Комментарии 13

Системный подход в хобби: бесплатный тренер, или как за 500 рублей научиться катать на сноуборде

Блог компании Sportmaster Lab Управление проектами *Читальный зал Здоровье

Пять дней в неделю, по 8 часов с перерывом на обед мы занимаемся своей работой. Безусловно, у многих этот график другой. Шесть дней в неделю, семь, по десять, по двенадцать, по четырнадцать часов. Мы пилим, шьем, пишем, строим, проектируем, систематизируем в поте лица и, порой, до изнеможения. И где же мы получаем отдушину от такой напряженной деятельности, в чем состоит наш досуг?

Вы тоже заметили, да? Хобби как-то не очень популярно, менее 20% опрошенных рискуют сменить позу звезды на диване ради любимого занятия. В чем же причина такого нежелания предаваться этому виду времяпрепровождения? По данным того же исследования ВЦИОМ…

Читать далее
Всего голосов 19: ↑16 и ↓3 +13
Просмотры 3.6K
Комментарии 15

Из могилы в IT

Блог компании Sportmaster Lab Карьера в IT-индустрии Читальный зал

— Дима, посмотри-ка кандидата в твою команду АМТ, — сказал мне наш HR Александр.

— Саркофагов Вадим, ведущий специалист по функциональному тестированию…

Я ещё раз перечитал фамилию: “Сар-ко-фа-гов”. В памяти заворочались почти забытые события, будто кто-то включил в моей голове один из фильмов про Индиану Джонса. Меня перебросило в далёкий и, как принято говорить, невозвратный 2007 год…

Читать далее
Всего голосов 24: ↑19 и ↓5 +14
Просмотры 5.9K
Комментарии 12

Как я влюбился в UX и бросил маркетинг

Блог компании Sportmaster Lab Интернет-маркетинг Карьера в IT-индустрии

Привет, меня зовут Андрей Кононов, сейчас я работаю аналитиком-проектировщиком в «Спортмастере», а до этого много лет проработал маркетологом. В этом посте расскажу, как открыл для себя сферу UI/UX и почему в найме оказалось удобнее, чем на фрилансе.

Итак, по порядку.

Маркетолог-многорук без вдохновения и перспектив

Лето. Очередной рабочий день в офисе на позиции интернет-маркетолога. Официально я был руководителем отдела маркетинга, а на самом деле работал один на две компании и всё делал сам. Постоянно мониторил результаты таргетинга в фейсбуке, зарывался в таблицах для корректировки директа. Будем откровенны — мне это не нравилось. 

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

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

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

Блог компании Sportmaster Lab Управление проектами *Agile *

Всем привет! Меня зовут Владимир Тутынин, я методолог продуктового подхода и сегодня расскажу о своем методе планирования. Вы увидите, какие шаги я выполняю и какими инструментами пользуюсь для достижения результата.

Нам понадобятся две программы:

1.      Evernote – это система заметок, которые хранятся в блокнотах и помечаются метками. Очень похожа на Confluence.

2.      Trello – это доска задач с определенными правилами, на которой мы отображаем движение задачи по этапам. 

Представим, что наше движение к достижению цели – это движение ракеты. Сначала мы находимся на высоте 0 метров, далее 10 000м, через минуту 20 000м, далее 30 000м и 40 000м. Эти отметки мы будем использовать как ориентиры и начнем наш маршрут в «космос». 

Формирование меток

Заходим в Evernote и создаем 4 метки так, как показано на рисунке. Этими метками мы будем ориентироваться в пространстве заметок. В скобках после названия метки показано количество заметок, имеющих такую метку. Например, у меня есть 36 заметок с меткой «20.000м Цели».

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

Зачем вам может понадобиться собственный DNS-сервер?

Блог компании Sportmaster Lab Информационная безопасность *Сетевые технологии *DNS *
Перевод

Одна из сложностей в понимании DNS заключается в его децентрализованности. Существуют тысячи (а может, сотни тысяч?) авторитетных серверов имён и по крайней мере 10 миллионов резолверов. На них работает множество разного ПО! Из-за того, что на разных серверах выполняется своё ПО, в работе DNS присутствует большая несогласованность, что может вызывать кучу раздражающих проблем.

Но вместо того, чтобы обсуждать проблемы, я хочу разобраться, почему децентрализация DNS — это хорошо?
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 11K
Комментарии 3

Самый простой (и неожиданный) алгоритм сортировки?

Блог компании Sportmaster Lab Программирование *Алгоритмы *
Перевод

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

1. Алгоритм


Большинству из нас хорошо известны такие простые алгоритмы сортировки, как сортировка пузырьком. По крайней мере, нам так кажется. Оказывались ли вы когда-нибудь в ситуации, когда вам нужно записать псевдокод сортировки пузырьком, и вы осознавали, что он не так прост, как кажется, и с первого раза правильно написать его не удаётся? Нужно внимательно следить за тем, чтобы индексы циклов начинались и заканчивались нужными значениями и не выходили за границы, а также правильно обрабатывать флаговые переменные. Разве не было бы здорово иметь простой алгоритм без всей этой возни? Ниже представлен такой алгоритм, сортирующий массив A из n элементов в неубывающем порядке. Для простоты доказательства массив начинается с 1, то есть имеет элементы A[1],..., A[n].

Алгоритм 1 ICan’tBelieveItCanSort(A[1..n]):

for i = 1 to n do
  for j = 1 to n do
    if A[i] < A[j] then
      swap A[i] and A[j]

Вот, собственно, и всё. Он просто обходит в цикле каждую пару значений (i, j) стандартным способом из двойного цикла for, выполняет сравнение и обмен значениями. Разве можно придумать что-то ещё более простое? Возможно первой реакцией увидевшего этот алгоритм будет что-то типа «это не может быть верно» или «знак неравенства направлен в другую сторону, да и индексы цикла указаны неверно». Но нет, он действительно правильно сортирует в возрастающем порядке.
Читать дальше →
Всего голосов 53: ↑40 и ↓13 +27
Просмотры 23K
Комментарии 39

Как скрестить Коня и Трепетную лань

Блог компании Sportmaster Lab Программирование *Оболочки *Разработка под Linux *Разработка под Windows *

«Бить (Bash) или не бить», - спрашивал один датский принц. Вот и у меня возник аналогичный вопрос, когда у нас в компании появился сервер сборки Bamboo. Как можно в задании Bamboo, выполняющем скрипт Bash или Cmd, написать команды, одновременно понятные интерпретатору командной строки Windows и оболочки Linux?

У нас в компании в качестве скриптового языка планов Bamboo используется кроссплатформенный язык Python. Но для запуска скриптов в Windows и Linux используется разный код.

Команды, понятные Linux, будут обработаны с ошибкой в Windows и наоборот. Что делать в этой ситуации?

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.6K
Комментарии 16

Как мы тестируем Rest API в SM 2.0 с помощью Postman: сценарии, запросы, переменные окружения и немного автотестов

Блог компании Sportmaster Lab Тестирование IT-систем *JavaScript *Тестирование веб-сервисов *

Всем привет! Сегодня я расскажу о том, как мы тестируем Rest API в SM 2.0 с помощью инструмента Postman.



И сделаю это на примере реальной задачи — посмотрим сценарий пользователя (как оформляется заказ у нас на сайте), посмотрим, как это работает все изнутри, пару слов скажу о REST-запросах, расскажу про Postman. Далее мы перейдём в сам инструмент, посмотрим окружение, интерфейс, далее разберём исходные данные и приступим к решению самой задачи, и в конце немного расскажу про автотесты.

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

Как работает создание и управление маркетинговыми кампаниями Спортмастера и причём здесь Oracle

Блог компании Sportmaster Lab Oracle *Разработка под e-commerce *Управление e-commerce *
✏️ Технотекст 2021

Приветствую! Меня зовут Михаил, я разработчик Oracle в ClubPro (Клубная программа, программа лояльности Спортмастера). В команде разработки моё основное направление связано с развитием Campaign Management. 

Campaign Management (далее для краткости Campaign) предназначен для создания и управления многошаговыми маркетинговыми кампаниями. Другие задачи, которые решает Campaign — формирование омниканальных предложений клиенту, начисление бонусов в Клубной программе, верстка и создание email-рассылок. 

В этой статье я сделал основной упор на то, как кампании работают в СУБД Oracle и какие технологии Oracle мы используем. Вначале предлагаю краткий обзор того, как создаются кампании и какой путь проходят от брифа до запуска. 

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

«Невозможный» параллельный алгоритм неотрицательной суммы

Блог компании Sportmaster Lab Программирование *Java *SQL *Параллельное программирование *
✏️ Технотекст 2021

Рецепт параллельных вычислений Fork/Join или Map/Reduce:
- разбить задачу на куски;
- посчитать куски по-отдельности;
- склеить вместе.

Неотрицательная сумма (a, b) -> max(0, a + b) неассоциативна и результат зависит от порядка склейки. Она сломает Fork/Join и результат будет некорректен. Магией моноида починить на Java, SQL и Haskell за 5 минут, но

сломать мозг
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 8.4K
Комментарии 33

Резервирование резервирования. Как я наш интернет труба шатал

Блог компании Sportmaster Lab Администрирование доменных имен *Сетевые технологии *Сетевое оборудование
Syn-Ack Хабр! Меня зовут Сергей Минаев, я руководитель направления администрирования веб-сервисов в компании «Спортмастер».

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



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

Данная статья — не более чем повествование и рассуждение о возможности инженерной мысли, заключенной в рисование котиков красными линиями. Все совпадения реальные, герои – не выдуманные, все происходило взаправду.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 4.7K
Комментарии 15

Как работать с Tanzu — опыт Sportmaster Lab

Блог компании Sportmaster Lab IT-инфраструктура *Виртуализация *DevOps *Kubernetes *
Tanzu от VMware — это набор полезных продуктов для тех, кто работает с микросервисами. В Sportmaster Lab мы тоже начали его использовать, и в этом посте расскажем, как именно. Помогут нам в этом Павел Бацев, старший администратор сервисов Спортмастера, и Алексей Гришутин, который отвечает за сети и сервисы. Поговорим про Tanzu, про общую архитектуру, отказоустойчивость, бэкапы и много другое.



Почему вы вообще решили использовать Kubernetes и как пришли к нему?

Павел

Было бы странно, если бы развитие микросервисной архитектуры прошло мимо Спортмастера, так что внедрение Kubernetes, да и других оркестраторов, мы активно рассматривали — количество сервисов увеличивается, монолит разрушается, микросервисы внедряются. В общем, современные проблемы требуют современных решений, так что мы пришли к Kubernetes именно как к достаточно популярному и зрелому решению на сегодня.

Ваши коллеги уже умели с ним работать, или приходилось дополнительно их обучать?


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

Почему вы стали смотреть в сторону именно коммерческого решения? Ведь много опенсорса уже есть для Kubernetes, бесплатного. Какие плюсы вы для себя увидели в коммерческой версии?

Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 1.9K
Комментарии 0

Информация

Дата основания
Местоположение
Россия
Сайт
www.sportmaster.ru
Численность
1 001–5 000 человек
Дата регистрации