Как стать автором
Обновить
103.54
SimbirSoft
Лидер в разработке современных ИТ-решений на заказ
Сначала показывать

Делаем ML-проект с нуля: на что обратить внимание управленцу

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

Хабр, привет! Меня зовут Дмитрий, я руководитель проектов ИТ-компании SimbirSoft. Задачи с использованием ML-технологий мы решаем уже более 10 лет, и такие проекты встречаются в разных отраслях – от медицины до ритейла и промышленности. В этой статье хочу поделиться своим опытом и рассказать, какие сложности и нюансы имеют ML-задачи и как эффективно с этим работать с точки зрения управленца.

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии2

Введение в микроразметку в Nuxt.js: как это работает

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

Привет, Хабр! Меня зовут Павел, я JS-разработчик SimbirSoft. За три года работы во фронтенде я убедился, что микроразметка необходима для оптимизации и улучшения UX на сайте, и считаю ее важным инструментом при разработке. В целом микроразметка феномен распространённый. Но что мы знаем об использовании Server-Side Rendering (SSR)? Разберёмся по порядку.

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

Спуфинг, боты и брутфорс. Как с помощью QA улучшить систему логирования и обеспечить безопасность на крупном сервисе

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

Привет, Хабр! Для любого сервиса главное — это клиент. Когда он уходит, становится очень больно. Вдвойне больнее, если сервисом пользуются боты вместо реальных людей. Но понять это бывает не так просто, особенно если боты — нейросети.

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

Забегая вперед — это были и разлогины пользователей, и запросы на восстановление доступа, брутфорс паролей, а главное — ботовая активность. А все вместе это влияло на общую доступность сервиса, и, соответственно, экономическую эффективность проекта. Поэтому было важно обнаружить и устранить корень проблемы, а не только последствия. Как это удалось и какие результаты мы получили? 

Материал будет полезен QA-специалистам, аналитикам, лидам и project-менеджерам.

? Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Feature Toggles и их применение. История одного проекта

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

Привет, Хабр! Представьте: вы – член большой команды среди десятка таких же команд на крупном и зрелом проекте. Казалось бы, все процессы уже выстроены, все масштабные разработки завершены и теперь остается только с наслаждением разрабатывать и дополнять проект новыми интересными фичами.

Гармония и красота.

Но откуда ни возьмись, появляется она – недоработанная масштабная функциональность, словно щупальцами оплетающая все базовые процессы сразу. Как монстр, затаившийся в пещере, она не давала покоя бизнесу вот уже 3 года, и успела  «сожрать» несколько команд разработки. И вот бизнес снова объявил охоту на монстра… а вы оказались в этом отряде самоубийц героев, призванных положить конец бесчинствам чудовища. 

Цели озвучены, задачи поставлены, команда в ужасе собрана. Но вот незадача, поле для сражений одно: либо ваша команда будет монстра рубить, либо остальные команды – семена сажать. И что же делать?

✍️ Итак, рассказываем
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Capacity команды продуктового проекта: как рассчитать и на что влияет

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

Более 5 лет мы развиваем бесплатное мобильное приложение для работы с товарами. Проект растет и стабильно приносит прибыль, на прод поставляются новые фичи. Но мы заметили, что ежемесячно команда не успевала выполнить 100% из запланированного пула работ. Каждый раз, как по замкнутому кругу, мы пытались ответить на вопрос: «Как так получилось и когда, что мы опять одну фичу не допилили?». Но все встало на свои места, когда мы внедрили процесс капасити в работу и прозрачность загрузки команды стала явной.

Я менеджер проектов в SimbirSoft Светлана, и в этой статье поделюсь опытом подсчета капасити команды и предложу свой вариант работающей формулы, опираясь на свой опыт.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии11

Postman как инструмент документации

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

Postman в основном известен в качестве мощного инструмента для тестирования API. Но он также может значительно облегчить жизнь новым членам команды, аналитикам и клиентам, которые интегрируются с вами.

В этой статье я, SDET-специалист SimbirSoft Дарья, проведу обзор функций, с помощью которых Postman может помочь каждой из этих групп. Покажу на небольших примерах, как превратить набор запросов в то, что не стыдно будет пошарить коллегам, взаимодействующим с вашим API, и упростит жизнь новоприбывшим членам команды. Эта статья будет полезна специалистам различных уровней как в ручном, так и в автотестировании, а также бизнес- и системным аналитикам, для которых Postman сможет быть полезным для работы с документацией. 

Примеры буду приводить на ставшем классикой тренажере для практики отправки REST-запросов Petstore Swagger. Это имитация онлайн-зоомагазина, где можно манипулировать информацией о питомцах пользователей, а также создавать заказы.

? Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии4

React + Redux/Effector: инструменты frontend-разработчика для создания интерфейса

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

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

🚀 Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии12

Когда метрики тестирования бесполезны

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

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

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

Рекомендуем материал опытным тестировщикам, тем, кто выполняет роль QA Lead в команде, а также единственным QA на проекте, и всем, кто хочет улучшить качество и производительность процессов тестирования.

? Настроить метрики
Всего голосов 4: ↑4 и ↓0+4
Комментарии12

1C-проекты и тестирование: взгляд QA-специалистов

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

Привет, Хабр! На связи QA-специалисты SimbirSoft Алена и Светлана. В компании мы тестируем проекты 1С в составе выделенной команды или на усилении команды заказчика. 

Сегодня платформа 8.3 компании 1С — популярный и востребованный продукт на рынке учетных систем СНГ, несмотря на различные мнения коллег по разработке. Комьюнити 1С расширяется, и материалов для изучения становится всё больше. Но наши коллеги часто ломают голову над тем, как подступиться к тестированию 1С:Предприятие и автоматизировать процесс.

1С это целая экосистема, которая имеет свои особенности и специфичные термины. Поэтому сегодня разберем виды, порядок, инструменты и особенности тестирования 1С, автоматизацию и подход к подготовке документации на примере одного из проектов. Если вы QA, AQA или SDET, и вам предстоит тестировать платформу 1С — эта статья для вас.

Погрузиться ?
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Как генерировать модели интерфейсов на основе спецификации на стороне frontend-приложений

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

На связи снова Архитектурный комитет компании SimbirSoft, и мы продолжаем наш цикл статей, посвященных Design API First. Ранее мы уже писали о том, что представляет собой этот подход, приводили пример спецификации для сервиса аутентификации и рассказывали, как мы интегрируем этот паттерн в наш конвейер разработки.

Сегодня мы немного отвлечемся от бэкенда и разберем автоматизацию одной из рутинных задач на стороне frontend-разработки. А именно описание моделей интерфейсов для взаимодействия фронта с беком, а также написание API-сервисов, в которых фиксируются endpoints, методы запросов и формат передачи данных (query-параметры, заголовки, тело).

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Из MS Azure в on-premise. Особенности одного «заземления» табулярной модели SSAS

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

Привет, Хабр! Меня зовут Николай, я DBA-разработчик SimbirSoft. В 2022 году многие мировые IT-гиганты дружно свернули свою деятельность и покинули старательно обустроенный под себя российский рынок. Клиенты быстро столкнулись с последствиями этих событий и вынуждены были искать альтернативные решения. Не будет преувеличением сказать, что наибольшему стрессу подвергались компании, использующие облачные решения. Стабильность их работы непосредственно зависела от провайдера в отношении обслуживания, обновлений и клиентской поддержки. Если провайдер прекращал  предоставлять качественные услуги, то это могло привести к значительным сбоям в работе клиента on-cloud сервиса. В интересах одного из них, пользователя Microsoft Azure Analysis Services (золотого стандарта современного IT), в течение почти 4-х месяцев наша небольшая проектная команда в срочном порядке решала задачу переноса критичной для бизнеса аналитической отчетности на привычный on-premise. 

Что нам необходимо было сделать: 

Подготовить новую инфраструктуру. 

Перенести, развернуть и адаптировать аналитическую модель.

Подтянуть данные из необходимых источников.

Перенести из MS Azure 15  бизнес-отчетов и запустить их в работу.

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии3

Полезные iOS-инструменты для дебаггинга

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

Привет! Меня зовут Альберт, я занимаюсь iOS-разработкой в компании SimbirSoft! Хочу поделиться инструментами для дебаггинга iOS-приложений, которые юзаю лично сам. Любой разработчик наверняка знает, что создание высококачественного приложения требует не только написания кода. Одна из важнейших составляющих достижения успеха в этом деле — эффективная отладка. К счастью, существует множество инструментов, которые помогут быстро и эффективно диагностировать, а также устранять проблемы. В этой статье мы подробно рассмотрим нативные и сторонние инструменты, доступные для отладки iOS-приложений, как использовать эти инструменты для диагностики и устранения распространенных проблем. Если интересно, тогда ныряйте под кат.

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

Как с помощью Amplitude мы стали лучше понимать пользователей продукта

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

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

Чтобы подтвердить или опровергнуть эту гипотезу, мы воспользовались Amplitude. Этот инструмент позволяет строить различные графики, просматривать и сегментировать профили пользователей и пользовательские пути, просматривать воронки и их обходные пути, проводить когортный анализ, получать данные в реальном времени и многое другое. После сбора и анализа метрик гипотеза подтвердилась, в результате в компании приняли решение реализовать несколько вариантов подтверждения личности, в том числе, расширить возможные варианты действий в системе при обычной регистрации (без подтверждения паспорта).

Привет! Меня зовут Екатерина, я QA-специалист компании SimbirSoft. В этой статье поделюсь опытом работы с системой продуктовой аналитики Amplitude для изучения поведения пользователей на сайте:
1. Какие проблемы можно решить, собирая метрики аналитики.
2. Интерфейс Amplitude и данные, которые можно извлечь из событий.
3. Проблемы, которые могут возникнуть при внедрении системы, и как мы их решили на проекте.

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

Читать далее
Рейтинг0
Комментарии0

Интеграция паттерна Design API First в конвейер разработки ПО: наш опыт

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

Всем привет! Продолжаем наш цикл статей о внедрении подхода Design API First на проектах нашей компании. Ранее мы рассмотрели использование этого подхода, описали плюсы и минусы, узнали, как на практике выглядит проектирование API на примере сервиса аутентификации. Сегодня расскажем о том, как мы встраиваем Design API First в наш конвейер разработки, подробно остановимся на инструментах, помогающих с технической точки зрения организовать этот процесс. Объясним, как реагировать на изменения требований и обеспечивать версионность, а также что использовать для мокирования данных. Рассмотрим различные варианты применения: для нового проекта, для существующего проекта (где изначально был Code First).

4 часть: Как генерировать модели интерфейсов на основе спецификации на стороне frontend-приложений

5 часть: Design API First. Кодогенерация Roslyn

Читать далее
Рейтинг0
Комментарии0

Приручаем Liquibase. Как скормить базе данных список из 10К офисов, чтобы потом не писать костыли?

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

Привет! Меня зовут Михаил, я Java Backend Developer в Simbirsoft. В этой статье хочу поделиться своим опытом создания миграций файлов с большим списком данных при помощи Liquibase. Cтолкнувшись с такой задачей на проекте, я был сильно удивлен тому, как мало материалов написано по этой теме, даже на английском. Поэтому описал то, что удалось собрать и проверить на собственном опыте.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии9

Автоматизированная работа с DevTools в Selenium 4

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

Специалисты QA- и SDET-направлений довольно часто используют DevTools браузера, поскольку в нем есть ряд инструментов, необходимых для отладки и тестирования веб-приложений.

Например, при интеграции REST API методов с интерфейсом приложения достаточно трудоемко читать информацию по запросам и ответам в DevTools после каждого действия, а также сопоставлять это с документацией. Этот кейс можно автоматизировать, например, с помощью сравнительно новой библиотеки DevTools Selenium 4 и инструментов, которые она предоставляет.

В этой статье я — SDET-специалист SimbirSoft Мария, — расскажу про функциональности DevTools, которые были актуальны на наших проектах.

Погрузиться
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Как мы внедряли Design API First. Показываем на примере сервиса аутентификации

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

Привет, Хабр! На связи Антон, руководитель Архитектурного комитета компании SimbirSoft. Вместе с моими коллегами в прошлой статье мы рассказали про особенности применения подхода Design API First. Сегодня покажем, как реализуется этот подход на практике на примере сервиса аутентификации пользователей.

Есть и продолжение, 3 часть: Интеграция паттерна Design API First в конвейер разработки ПО: наш опыт

4 часть: Как генерировать модели интерфейсов на основе спецификации на стороне frontend-приложений

5 часть: Design API First. Кодогенерация Roslyn

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии5

Design API First как паттерн проектирования контрактов межсервисного взаимодействия

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

За окном 2023 год, а среди разработчиков только и разговоров, что про микросервисы да API First. Несмотря на то, что эти темы не новы, похоже, что их актуальность даже набирает обороты.

Про микросервисы уже много написано и теоретического и практического. Есть у этого подхода и свои евангелисты (Microservice Architecture) :) В целом это тема достаточно холиварная, особенно при крайних точках зрения. Сегодня мы ее отложим, но обязательно вернемся в контексте темы этой статьи. Конечно, это будет не менее обсуждаемая история, посвященная методологии API First и программным интерфейсам (прежде всего, web, но не только) при проектировании и разработке современных информационных систем :)

Меня зовут Антон, я руководитель Архитектурного комитета в компании SimbirSoft. Мы используем подход API First для проектов самой разной направленности, где есть несколько команд разработки (как минимум Backend и Frontend), а также при высокой неопределенности на этапе реализации (быстроменяющиеся требования и цели, параллельные процессы проектирования и реализации, высокие запросы к TTM и так далее).

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

Этот материал открывает цикл статей, посвященных практическому внедрению методологии API First в разработку наших команд. Если быть точным, то мы отдаем предпочтение «младшему брату» API First, практикующему  проектирование (design), — известному как Design API First. Чтобы избежать путаницы, далее термин «API First» будет обозначать подход к разработке ПО, а термины «Design API First» и «Design First» – проектирование ПО в рамках подхода API First.

2 часть: Как мы внедряли Design API First. Показываем на примере сервиса аутентификации

3 часть: Интеграция паттерна Design API First в конвейер разработки ПО: наш опыт

4 часть: Как генерировать модели интерфейсов на основе спецификации на стороне frontend-приложений

5 часть: Design API First. Кодогенерация Roslyn

Читать далее
Всего голосов 4: ↑3 и ↓1+3
Комментарии4

Суперклей ABI, или Как применять C++ где угодно

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

Привет, Хабр! Меня зовут Михаил, я backend-разработчик в SimbirSoft. Время от времени я сталкиваюсь с понятием «двоичный», он же «бинарный» интерфейс приложений, или просто ABI (application binary interface). Все найденные мной материалы на эту тему были либо очень скудны, либо вели к многостраничным эпопеям, которые напоминали сборную солянку из описания, например, архитектуры процессора x86, сдобренную стандартом С++.

Но потом я наткнулся на перевод публикации Тита Винтерса в рабочей группе 21 (WG21) — комитета по стандартизации языка C++. В ней он поднимает вопрос поддержки обратной бинарной совместимости. Значит, вопрос актуальный — это и стало мотивацией для написания этой статьи. В ней я сфокусируюсь на примерах и практике использования С++ в других языках программирования. Материал будет полезен middle+ и senior-разработчикам, а также всем, кто хочет сделать гибкий, долгоживущий, легко настраиваемый под заказчика продукт.

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

Читать далее
Всего голосов 9: ↑8 и ↓1+8
Комментарии26

Когда неудачные решения в IT-проекте приводят к крутому пике: как не допустить катастрофы

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

Все счастливые семьи похожи друг на друга, каждая несчастливая семья несчастлива по-своему. «Анна Каренина» Л.Толстой.

Проведя сотни аудитов проектов в IT и расследуя десятки инцидентов, перефразируя классика, можно сказать: «Все проекты счастливы по-своему, а несчастны одинаково». Успех проекта — это уникальное сочетание параметров и людей. А несчастья приносят одни и те же проблемы или совокупность проблем, небольших упущений, которые в итоге приводят к пике. Об одном таком случае сегодня расскажу вам я — эксперт Службы качества SimbirSoft Юлия. 

Обычно мало кто реагирует на небольшие отступления от стандартов ведения проектов, соблюдения процессов: «Ничего же страшного не произойдет». Это чревато большими проблемами, когда специалисты не понимают риски, не осознают, зачем то или иное правило, договоренность, и что может произойти в итоге, если этого не делать. Потому что по сути процессы и правила гибкие (в лучших традициях agile :)) Но мелочи и, казалось бы, незначительные вещи на самом деле могут оказать серьезное влияние на весь проект. И привести к катастрофе...

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии20

Информация

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