Как стать автором
Обновить
Сначала показывать

ПОТРАЧЕНО–2. Как тестировать локализацию переводов, чтобы потом не было стыдно

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров874

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

Читать далее

Полезные ссылки

Восстанавливаем старые авто — спасаем машину от гибели, а себя от рутины

Время на прочтение8 мин
Количество просмотров9.4K
Всего голосов 31: ↑27 и ↓4+34
Комментарии76

Рогейн: как бег по лесу может стать вашим новым увлечением

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров4K
Всего голосов 22: ↑20 и ↓2+24
Комментарии46

Искусство баланса: как совместить работу и хобби

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров986
Всего голосов 7: ↑6 и ↓1+7
Комментарии0

Как заставить TS работать на вас

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров5.8K

Привет! Меня зовут Дмитрий, и я уже много лет работаю с TypeScript. За это время я был частью разных команд с разным уровнем владения этим языком, в том числе тех, кто только готовился перевести проект с JavaScript. И нередко я замечал, что разработчики воспринимают TypeScript не как инструмент, упрощающий работу, а как рутинную обязанность, которая лишь замедляет процесс. В этой статье я расскажу, как сделать TypeScript своим союзником и заставить его работать на вас, а не против.

Читать далее

Интеграционные решения на примере продукта «Цифровая карта магазина»

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров359

Всем привет!

Меня зовут Алексей, я старший аналитик команды «Цифровая карта магазина». Сегодня я хочу рассказать про различные варианты интеграции с внешними системами, какие подходы и технологии мы использовали при их реализации и что из этого вышло.

О продукте «Цифровая карта магазина»

Наш продукт – это цифровой двойник розничного магазина, предназначенный для визуализации и управления расстановкой торгового оборудования, презентационными поверхностями на торговом оборудовании, размещения различных товарных объектов на презентационных поверхностях.

Читать далее

От Kotlin до кассовых чеков: как выглядит Java-разработка в SM Lab

Время на прочтение6 мин
Количество просмотров1.9K

Когда видишь компанию со стороны, одни вещи понимаешь, а другие остаются секретом. О том, что SM Lab отвечает за IT-решения в группе компаний «Спортмастер», можно догадаться уже по названию и логотипу. Но, например, сколько разработчиков заняты этими решениями? Какие именно у них проекты? Это куда менее очевидно.

Мы проводим конференции по разным IT-направлениям, на них неоднократно выступали спикеры из SM Lab, и некоторые вещи можно понять по их докладам. Например, на Mobius рассказывали про «Генерацию этикеток для термопринтеров на основе языка разметки ZPL», а на Heisenbug помогали другим с «Первыми шагами в нагрузке».

А на этой неделе SM Lab примет участие в нашей Java-конференции JPoint, и я решил, что сейчас самое время задать вопросы о Java-разработке сотрудникам самой компании. Публикую результат, в котором соединены вместе ответы нескольких разных людей.

Читать далее

«Продуйте пыль с разъёма»: хитрости техподдержки

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров9.7K

Продуйте пыль с разъёма


Я раскрою вам один из трюков отдела поддержки продукта. Иногда вы общаетесь по телефону или в чате с кем-то, и подозреваете, что проблема может быть лишь в том, что он забыл подключить кабель или засунул его не в тот порт. Раньше такое легко могло произойти с разъёмами PS/2, подходящими и к клавиатуре, и к мыши, а сейчас — с сетевыми кабелями, которые подходят и к upstream-, и к downstream-портам маршрутизатора.

Трюк вот в чём: не спрашивайте «Вы уверены, что подключили всё правильно?» Если вы сделаете это, то собеседник оскорбится и возмущённо бросит: «Разумеется! Я что, похож на идиота?», ничего при этом не проверив.

Вместо этого скажите: «Иногда разъём запыляется и соединение ослабевает. Можете отключить разъём, выдуть из него пыль и снова подключить его?»
Читать дальше →

Путь Product Lead’а: от найма до успешной адаптации

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров424

Привет!

Я Ростислав Кудыбин, и я уже больше полугода работаю в SM Lab на позиции Product Lead (PL). Мой продукт — «Шлюз заказов и платежей», он отвечает за создание корзин и их оплату. В этой статье я расскажу о том, кто такой Product Lead, какие задачи он решает, а также поделюсь своим опытом трудоустройства и адаптации в компании. С каждым годом роль лидера продукта в IT расширяется, и я надеюсь, что мой опыт будет полезен тем, кто строит карьеру или ищет новые возможности.

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

К моменту поиска новой работы я чётко понимал, чем хочу заниматься дальше. Мне хотелось расти как лидер продукта, приносить реальную пользу бизнесу и клиентам, при этом сохраняя возможность глубоко погружаться в технические аспекты и влиять на функциональную архитектуру и развитие продукта. Именно такие возможности я нашёл в SM Lab на позиции Product Lead.

Читать далее

Тестирование БД в легаси-проекте: повышение качества кода и стабильности системы в «Цифровой карте магазина»

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров872


В этой статье я хотел бы поделиться с вами моим опытом написания юнит-тестов для базы данных (БД) в рамках легаси-проекта. Я выбрал формат ретроспективы, чтобы показать, как все начиналось, к чему мы пришли и какой путь был пройден в разработке юнит-тестов для проекта «Цифровая карта магазина». Возможно, статья будет полезна начинающим разработчикам баз данных или тем, кто хочет начать писать юнит-тесты для Oracle, но не знает, с чего начать.

Читать далее

Пирамида ценностей сотрудника. Зачем она на 1-1? Часть 2

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров955

Всем привет! Меня зовут Александр, я являюсь куратором центра компетенции по тестированию, в компании SMLab. Сегодня я хотел продолжить  с вами говорить о встречах 1-1 и пирамиде ценностей.

Читать далее

Оценка срока и трудозатрат на реализацию задач с помощью Монте-Карло

Уровень сложностиСложный
Время на прочтение5 мин
Количество просмотров6.7K

Методов оценки задач с точки зрения трудозатрат и сроков реализации очень много.

Scrum poker, T-shirt, Метод аналогий, Три Амиго ...

Почему в моей команде ни один из этих методов не используется и как мы пришли к точности планирования сроков и трудозатрат 80-90%.

Читать далее

Пирамида ценностей сотрудника. Зачем она на 1-1? Часть 1

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров9.9K

Всем привет! Меня зовут Александр, я являюсь куратором центра компетенции по тестированию, в компании SMLab. Сегодня я хочу с вами поговорить о такой вещи как пирамида ценностей сотрудника. Зачем она нужна руководителям и как ее применять на one-to-one встречах. Материала получилось много, публиковать буду в 2-х частях.

В первой части поговорим с вами о  встречах 1-1 и  пирамиде ценностей.

Читать далее

Обходим BitLocker и вытягиваем из памяти ключи в Windows 11

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров15K
В этой статье я покажу, как можно обойти шифрование BitLocker в Windows 11 (версия 24H2) и извлечь из памяти ключи шифрования тома (full volume encryption key, FVEK) при помощи моего инструмента Memory-Dump-UEFI.

Краткая справка


Если у нападающего есть физический доступ к устройству, то он потенциально может получить доступ, резко перезапустив компьютер и выполнив дамп ОЗУ из недавно выполнявшихся экземпляров Windows. Дамп памяти можно проанализировать, чтобы найти конфиденциальную информацию, например, ключи FVEK. Эта методика не работает гарантированно, потому что после отключения питания содержимое ОЗУ быстро деградирует.


Существует множество методик замедления этой деградации памяти, например, физическое охлаждение ОЗУ или использование внешних источников питания с целью поддержания подачи энергии. Для своего демо я закоротил контакты сброса на материнской плате устройства, что заставляет систему резко отключаться без потери питания.

Ещё одна потенциальная проблема заключается в secure boot — стандарте безопасности, который ограничивает то, что может выполняться при запуске системы. Эта защита имеет собственные ограничения, и ещё уже обходили при помощи shim и множества других способов, которые для нашего демо несущественны.
Читать дальше →

Теория большого пентеста

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3K

Привет! Меня зовут Сергей Домнин, со мной моя коллега Анастасия Есина. Мы руководители направлений по информационной безопасности в SM Lab. В этой статье мы расскажем о таком методе оценки защищенности, как тестирование на проникновение, или пентест.

Немного печальной статистики

Начнем с определения понятия «уровень защищенности». 

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

Читать далее

MongoDB: магия вне Хогвартса в IT

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.2K

Привет, Хабр!

Меня зовут Алена Метенева, я работаю старшим инженером по обеспечению качества в компании SM Lab в проекте «Кассы». Я тестирую бэкенд и интеграции и там, где это возможно, автоматизирую тесты на Java. Сегодня я хочу рассказать вам о том, как MongoDB помогает мне с этим процессом.

Что такое MongoDb

Думаю, многие работали с MongoDB (Монга) и знают, что это нереляционная СУБД, которая использует для хранения данных JSON-структуру: вместо таблиц и строк, как в реляционных базах данных, в MongoDB есть коллекции (набор документов, эквивалент таблицы реляционной базы данных) и документы (внутри коллекции они могут отличаться друг от друга размером, содержанием и количеством полей), которые состоят из пар «ключ–значение».

Для чего Монга тестировщику 

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

Что я имею в виду?

Представьте, что вы тестируете интеграцию с другой системой. Если все работает стабильно, то пройти позитивные сценарии будет проще всего. А если вы хотите протестировать кейс, в котором смежная система выдает ошибку 503 (Service Unavailable) – это будет уже сложнее. Хорошо, если вы управляете обеими системами и можете просто перезагрузить одно приложение и попытаться достучаться до него через второе. А если система не ваша? В таком случае принято использовать моки. Но есть и третий вариант: если ваше приложение для подключения к другому берет ссылку из MongoDB, то эту ссылку можно просто подменить, добавив в нее лишние символы, чтобы получить ту самую ошибку 503 или 404 (Not Found), например.

Читать далее

Меломан в мире фэнтези, или как я нашел свое хобби, играя в видеоигры

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.1K

Dia daoibh, обитатели Хабра! Меня зовут Алексей Рубис, в SM Lab я работаю системным аналитиком на продукте ProductGate, где мы занимаемся поставкой данных о каталоге товаров (карточки и категории товаров, поиск и фильтрация по каталогу и др.) нашим фронт-офисам. Но сегодня мы будем листать не каталоги со спорттоварами, а страницы моей музыкальной истории длиной более 15 лет, а также окунемся в закулисье участника ирландской фолк-группы.

Начало музыкального пути

Мой отец был заядлым меломаном (мне в наследство досталась огромная коллекция винила) – это повлияло и на мои музыкальные предпочтения: я слушал абсолютно разную музыку. Конечно, мне очень нравился классический рок, heavy metal; в старших классах я, как любой подросток, даже хотел стать участником heavy metal группы. Несмотря на это желание, у меня уже появился подсознательный интерес к средневековой музыке, играющей на фоне в моих любимых видеоиграх в фэнтезийном сеттинге. Также в начале 00-х переживал второй бум «Властелин колец» Толкина (в связи с выходом одноименной трилогии фильмов) и набирал популярность «Гарри Поттер». Окруженный образами из видеоигр, фильмов и книг, в один прекрасный день я понял: я попал домой. Мне захотелось прочувствовать эту атмосферу уже в реальности, и я стал искать пути реализации своей мечты. Музыка из фэнтези была больше всего похожа на кельтскую и, углубившись в изучение музыкального наследия Британских островов, я пришел к ирландскому традиционному фолку.

Так начался мой тернистый музыкальный путь.

Читать далее

Использование полиморфных табличных функций в Oracle

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров1.8K

Привет! Меня зовут Зураб Диаконашвили, я разработчик в компании SM Lab. Сегодня поговорим об использовании полиморфных табличных функций в Oracle и рассмотрим их работу на примерах.

При работе с Oracle используются SQL-запросы – они помогают управлять базами данных, представленными в виде таблиц. Мы получили задачу на динамическое добавление полей в стационарный набор полей сущности. Для этого мы решили попробовать PTF-функцию (пользовательскую табличную функцию, которая вызывается в предложении FROM) и сравнить результат её работы с обычным SQL PIVOT и JavaScript.

Полиморфные табличные функции (PTF) являются частью стандарта SQL: 2016. В Oracle они представлены в версии 18c.

Что необходимо знать при работе с PTF:

Читать далее

«База» по метрикам в Prometheus

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров15K

Привет, Хабр! Меня зовут Глеб Типсин, я являюсь ведущим разработчиком продукта «Системы персонализации и геймификации» в SM Lab.

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

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

Читать далее

Проектировочная документация: практический опыт и проверенные шаблоны

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров3.9K

Привет! Меня зовут Павел Астахов, я работаю в департаменте системного анализа SM Lab. Сегодня расскажу про проектировочную документацию и её стандартизацию в нашей компании.

Причины внедрения стандартизации

Причина 1. Сотрудники

Департамент системного анализа появился в 2020 году: на тот момент нас было 50 человек в 20 командах; к 2024 году мы сильно разрослись и нас стало уже 260 системных аналитиков, которые трудились в 85 командах. Рост и увеличение масштаба департамента выявили проблемы, которые ранее не были видны и постепенно стали выходить на первый план.

Читать далее

Путь барабанщика: как увлечение стало частью жизни

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.3K

Привет, Хабр!

Меня зовут Сергей Кусков, я фуллстэк-разработчик в команде Сервиса рекомендаций SM Lab. И сегодня я хочу поделиться своим главным увлечением — игрой на ударной установке. Расскажу, как я к нему пришел, и на каких этапах набивал шишки. 

Читать далее

Как предоставлять и получать обратную связь: 2 способа, которые знаем и забываем

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.9K

Привет! На связи Елена Платковская. В SM Lab, которая входит в «Спортмастер», занимаюсь внедрением и оптимизацией ИТ-процессов. Строю, ломаю, чиню процессы и процедуры, по которым работает большое количество команд. Например, вместе с коллегами мы придумываем как адаптировать сложную методологию SAFe к нашим реалиям. По ней команды приоритизируются, планируют скоуп работ и в целом работают, чтобы вовремя приносить ценность бизнесу.

Я уже рассказывала о том, как  с помощью комьюнити Level up Club мы в отделе выравниваемся по базовому уровню матрицы компетенций. Одна из первых тем, которую разобрали на такой встрече, касалась обратной связи: как ее предоставлять коллегам и как воспринимать, а еще что с ней делать после получения. Спойлер: иногда ничего.

Расскажу о том, как прошла эта встреча.

Читать далее

Долгосрочная стабильность vs. карьерная мобильность

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.2K

Всем привет! Меня зовут Борис Мошнин. Я работаю в компании SM Lab на позиции ведущего инженера качества. Сегодня мы поговорим про пути карьерного развития.

Почему я решил поговорить на эту тему

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

Заглянем в статистику для объективности. 

Читать далее
1
23 ...

Информация

Сайт
см-лаб.рф
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Алина Айсина