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

Классификация текстовых сообщений в 1С с помощью Yandex CatBoost

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

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

Читать далее

Как Factorio соблазнила Кремниевую долину (и меня)

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

Персонаж игры Factorio, разработанной чешской компанией Wube Software, совершил аварийную посадку на чужую планету. Его задача — построить ракету для побега. Для этого ему потребуется единолично воссоздать промышленную революцию, от разбивания камней для создания грубых каменных печей до перегонки нефти в ракетное топливо. Играя однажды, я установил насос на побережье озера, чтобы подавать воду на свой бетонный завод, и тут до меня дошло, что я много часов не пил воду в реальном мире. У меня болела голова, но я не хотел вставать из-за компьютера. Мне хотелось решить проблему щелчком мыши, как я делаю это в игре, проложив несколько метров трубопровода от кухонного крана к моей сгорбившейся фигуре (и, возможно, ещё несколько метров от моего тела до туалета).

Раньше меня увлекали многие игры, но лишь некоторые полностью подавляли мою волю, моё ощущение времени, да и все остальные зоны мозга, не занимающиеся строительством фабрики. Однако по стандартам Factorio я всё равно остаюсь обычным нубом. Два моих друга однажды устроили 24-часовую игровую сессию лишь с одним трёхчасовым перерывом на сон. Серьёзные игроки очень часто не выходят из игры в течение многих тысяч часов.

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Всем привет!

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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


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

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

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

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

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

Привет!

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

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

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

Читать далее

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

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


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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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


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


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

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

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

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

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

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

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

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

Читать далее

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

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

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

Меня зовут Алена Метенева, я работаю старшим инженером по обеспечению качества в компании 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.9K

Привет! Меня зовут Зураб Диаконашвили, я разработчик в компании 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 мин
Количество просмотров4K

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

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

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

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

Читать далее

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

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

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

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

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

Информация

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