Как стать автором
Обновить

Компания STM Labs временно не ведёт блог на Хабре

Сначала показывать

Как мы успешно внедрили Единую Биометрическую Систему во Flutter-приложение

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

Всем привет! Меня зовут Вадим, я старший разработчик по направлению Flutter в компании STM Labs. В этой статье я хочу поделиться нашим опытом внедрения единой биометрической системы в приложение, написанное на Flutter.

Читать далее

REDIS: такой простой и такой сложный

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

Меня зовут Андрей Комягин, я СТО компании STM Labs. Мы занимаемся разработкой очень больших распределённых высоконагруженных систем для различных отраслей и в своей работе широко используем open-source решения, в том числе СУБД Redis. Недавно я подробно рассказывал об этой системе на конференции Saint HighLoad++, а теперь с удовольствием поделюсь основной информацией с читателями Хабра. Итак, поехали.

Читать далее

Перенос данных из Oracle в PostgreSQL быстро и без потерь: как мы используем для этого Airflow и NiFi

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

С необходимостью переноса данных из Oracle столкнулись многие российские компании: в июле 2022 года корпорация, создавшая этот продукт, ушла с российского рынка из-за санкций, как и множество других зарубежных IT-компаний. У пользователей из нашей страны больше нет поддержки вендора, а значит со временем система может перестать корректно работать.

Система хранения Oracle была очень популярна в России: данные в ней хранили и обрабатывали даже компании из государственного сектора. И всем нам предстояло быстро решить, куда и каким образом перенести огромные объёмы ценной информации, ничего не потеряв в процессе переноса.

Читать далее

Аналитик vs. презентация задачи. Изучаем профессионально-деформационные диалекты коллег

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

Привет =) На связи снова Анастасия-аналитик из команды STM Labs со своей любимой темой «мягких» навыков. В статье про собеседования (первая часть тут, вторая тут) я сравнила аналитика с переводчиком с бизнесового языка на разработческий. Или наоборот.

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

Читать далее

Собеседования аналитиков: кого, куда, как и почему (и чтобы что!). Часть 2

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

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

В конце добавила секцию с бонусными рубриками — советами и наблюдениями для тех, кто проводит собеседования или приходит на них как кандидат =)

Читать далее

Истории

Квест по синхронизации аналитического и оперативного хранилищ в реальном времени без потерь на сотнях терабайт данных

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

Я работаю в компании STM Labs, где мы строим большие высоконагруженные системы класса Big Data. Эта статья написана по мотивам моего выступления на конференции Saint Highload 2023. Хочу рассказать вам увлекательную историю про то, как мы искали лучшее решение по синхронизации аналитического и оперативного хранилищ в реальном времени. Нам важно было сделать это без потерь, потому что на кону стояли сотни и более терабайт данных.

Сразу обозначу, чего в этой статье не будет:

• Я не буду подробно говорить о типах СУБД и их различиях.
• Я не буду делать обзор аналитических СУБД. Тут каждый выбирает сам.
• Я не буду подробно останавливаться на архитектуре, отказоустойчивости и масштабировании СУБД MongoDB.
• Я не буду делать обзор отличий OLAP и OLTP.
• Я не буду делать обзор и сравнение реализаций CDC в различных СУБД.

Читать далее

Собеседования аналитиков: кого, куда, как и почему

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

Про собеседования, аналитиков и не только, на различных IT и не очень ресурсах написано достаточно много. Но ведь это не повод не рассказать, как они происходят у нас — вдруг что-то новое для читателя да и проскользнет? =)

Читать далее

Импортозамещение в телекоме: система обработки больших данных, которая превосходит зарубежные продукты

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

Сегодня речь пойдет о mediation-системах — системах обработки больших данных класса OSS/BSS (Operations / Business Support System). Они получают данные из разнородных источников, обрабатывают в зависимости от требований и передают в нужном формате в другие системы-потребители. Чаще всего их применяют в телеком-сфере: они собирают информацию об абонентском трафике, который условно можно разделить на две группы: голосовой и передача данных (интернет), преобразуют, а затем отправляют в биллинговую систему для выставления счетов. Поэтому такие системы называют предбиллинговыми.

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

Читать далее

Как вывести миллиарды ключей из ScyllaDB

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

Мечтал ли я когда-либо ворочать миллиардами? Честно признаюсь, да. И нельзя сказать, что Вселенная меня не услышала. Вот только я никак не имел в виду миллиарды записей в базе данных...

Ранее я уже писал о нашем опыте использования ScyllaDB в качестве архивного хранилища. Разумеется, исследования и открытия, связанные с новой базой данных, для нас на этом не закончились... Создавая архив для данных, вероятность обращения к которым близка к нулю, мы, конечно, допускали, что время от времени клиенты будут просить вернуть данные обратно в оперативное хранилище. Но запрос на извлечение из архива сразу всех записей стал для нас неожиданностью. Хорошо ещё, что клиента интересовал только ключ записи, а не вся запись целиком. Тем не менее достать 10 млрд. ключей из ScyllaDB за приемлемое время звучало как челлендж. Ну надо так надо.

Читать далее

Чем отличаются приложения для хранения чеков: разбираем шесть лучших

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

Мы в STM Labs разработали ПроЧек — лучшее (конечно же, по нашему мнению) приложение для хранения и анализа чеков. ПроЧек все делает сам: автоматически загружает чеки, сортирует покупки с помощью ИИ и строит отчеты. А мы продолжаем его развивать и дополнять функциями.

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

Читать далее

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

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

Как системный аналитик может улучшить юзабилити проекта. Разбираем простые, но неприятные недоработки на примере китайских систем для поступления в ВУЗы.

Читать далее

Как не надо участвовать в командных хакатонах. Рефлексия дубль 2, блеск и нищета поражения

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

Совсем недавно наша аналитик рассказывала о том, как выиграть хакатон, сохранив моральное и физическоездоровье.

За пару дней до выхода статьи эта же аналитик подговорила наших ребят участвовать в командном хакатоне. Результат не самый приятный — 38 место из 60. Однако, этот опыт, как и любой другой, не прошел даром (а еще был очень веселым).

В этой статье каждый участник команды поделится своим опытом и персональной рефлексией. Ну и лулзами, пойманными в процессе.

Читать далее

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

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

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

Читать далее

Как не надо участвовать в хакатонах для системных аналитиков. Рефлексия после победы

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

Раньше аналитиков звали разве что на хакатоны в составе команд. Но относительно недавно — наконец-то — стали появляться специализированные контесты и хакатоны для системных аналитиков. С 2021 года я ввязывалась в целых три: в первом заняла третье место, во втором седьмое, а в последнем — первое.

В статье расскажу, как этим летом прошел хакатон Sovcombank Challenge 2022. И порефлексирую, как не надо участвовать в соревнованиях.

Читать далее

Ближайшие события

Как выжить под нагрузкой, имея 100 ТБ в нешардированной MongoDB

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

Сегодня у нас — экшен, основанный на реальных событиях. Будем переобуваться в воздухе и на лету менять архитектуру высоконагруженной системы.

Действие разворачивается на базе очень большой track & trace системы класса big data. В ней давно откладывали переход на шардированную архитектуру хранилища. Поэтому главному герою предстоит справиться справиться со злом, пробудившимся в системе под нагрузкой: деградацией производительности, полкой по блокировкам и алертами о перегрузке.

В конце — как обычно, хэппи-энд. Наш герой бесстрашно меняет архитектуру решения на лету без downtime (DT) и обеспечивает штатную работу системы. Зло повержено, а отважный инженер купается в овациях!

Статья написана по мотивам доклада на конференции Saint Highload++ 2022. Если не хотите читать — можно посмотреть видео-версию выступления.

Читать далее

Командировка в Европу в 2022: увидеть Вену и вернуться

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

Привет, я Никита. Вообще я инженер интеграции. Но, похоже, судьба мне быть тревел-блогером. 

В начале прошлого лета я пять недель работал в Конго. Как результат — статья «Как айтишнику выжить в Африке». Почитайте, там несколько лайфхаков, как вернуться живым. 

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

Читать далее

И целого проекта мало — как системному аналитику собрать побольше опыта и не сойти с ума

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

Предположим, вы в системных аналитиках недавно, например, на позиции джуна. Вы уже представляете, в чем заключается работа, и планируете развиваться в этой сфере. Еще с вами багаж общих IT-знаний, умение гуглить и/или грамотный ментор.Через какое-то время вы осваиваетесь в изначальном проекте. Но системная аналитика, как оказалось, штука очень интересная. Поэтому вы начинаете искать, во что бы еще вляпаться — в своей статье говорю про развитие soft skills. Случаи, когда базовых hard skills нет совсем, здесь не рассматриваются.

Короче, как жить и набраться опыта аналитику, когда почти научился жить и еще не сошел с ума!

Читать далее

Ускоряем сериализацию JSON в Python с orjson и Rust

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

Немного контекста о том, как возникло это исследование...
В один из тех летних дней, когда на улице стояла ясная, солнечная, жаркая погода, когда стрижи быстро пролетали за окном, распространяя веселые звуки, мы закончили очередную задачу по проекту (в нашем проекте используется Python). Задача заключалась в получении различными способами (очередь, сервисы, файловая система и т.д.) входящих документов (JSON формат), обработке этих документов и сохранении обработанных документов обратно в JSON формате в архивную базу данных. Завершив кодирование и юнит тесты, мы выкатили решение на одно из тестовых окружений и стали ждать результатов. По функциональности решение работало отменно, но, оценив скорость работы решения, я задался вопросом, а можно ли его ускорить?

Читать далее

ScyllaDB: приручение «лающей» базы данных

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

Критериям выбора архивного хранилища она соответствовала идеально. Оптимизированная под запись, легко масштабируемая, совместимая с привычной уже Cassandra, только в разы быстрее… Имя же её — Сцилла (греч. Σκύλλα — «лающая») — напоминая о мифологическом чудовище, рисовало в воображении картины молниеносного поглощения гигантских объемов данных. Сложно было устоять и не попробовать.

Читать далее

Сага о моделировании бизнес-процессов на базе конечного автомата (fsm)

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

Про конечные автоматы (finite state machine, fsm) много кто слышал, но используют их явно в реальных проектах редко. Чаще встречаются конструкции, которые поведением напоминают КА, но ими не являются.
Почему же автоматы обходят стороной и/или изобретают велосипеды, превращая код в спагетти?
По-моему, тут дело в стереотипе: мол, автоматы — это что-то сложное из теоретической математики и к реальной жизни не относится. А применять их можно только в лексических анализаторах или еще чем-нибудь специфичном.


На самом деле, область применения КА куда шире и понятнее. Давайте разберем на примере автоматизации процессов в любимом кровавом enterprise.


Читать дальше →
1