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

Применяем стандартные алгоритмы в C++. Семь примеров

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

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

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

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

Прежде чем перейти к примерам, необходимо отметить основное преимущество алгоритмов: они позволяют упростить код и повысить читаемость (или самодокументирование, которое позволяет на основании названия алгоритма понять, что делается), обобщить код. Начиная с C++17, алгоритмы могут выполняться параллельно, реализация алгоритма может быть жестко с оптимизирована компилятором по сравнением с обычным кодом.

Читать далее

Быстрый старт, или Как ускорить запуск iOS-приложений

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

Всем привет! Меня зовут Фируза, я iOS-разработчик в компании SimbirSoft. В этой статье мы попробуем разобраться, как ускорить запуск приложения, а именно:

что происходит от момента нажатия на иконку приложения до представления возможности пользователю взаимодействовать с UI;

как собрать актуальные метрики скорости запуска и отзывчивости приложения; 

какие тактики применить, чтобы ускорить старт и отзывчивость запуска.

Статья будет полезна для iOS-разработчиков любого уровня, желающих улучшить производительность своих приложений.

Ускориться ?

Как использовать ChatGPT для разработки и учебы. Четыре сценария

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

Привет, Хабр! В 2023 году искусственный интеллект (далее ИИ)  вышел на тот уровень популярности, когда о нем не говорил только ленивый. Все больше компаний активно начали обсуждать свои разработки в этой области, а такие модели как Midjourney, ChatGPT, Gemini (ex-Bard), Bixby и другие стали общедоступными.

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

Читать далее

Хватит маппить все руками, используй Mapster

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

Привет, Хабр! Меня зовут Георгий, я С#-разработчик в SimbirSoft. Хочу рассказать об опыте использования библиотеки Mapster: как он может упростить разработку, сэкономить силы и частично избавиться от рутины маппинга.

Данная статья подойдет и тем, кто только собирается открыть для себя мир автомаппинга, и тем, кто хочет найти для себя альтернативу используемой библиотеки. Для полного понимания, что тут будет происходить желательно обладать базовым пониманием C#, знать о существовании DI и подозревать, что рефлексия не так проста, как кажется.  Ну и LINQ с EF.Core, куда же без них (хотя про них достаточно просто когда-то слышать и примерно представлять, зачем они нужны).

Читать далее

Автоматизируем проверку содержимого PDF-файлов с помощью pdf-test

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

Многие сервисы в различных отраслях генерируют печатные формы счетов, отчётов и прочего в формате PDF. И, конечно, перед специалистами тестирования встаёт вопрос о проверке этих документов.

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

В этой статье мы познакомим вас с инструментом, который достаточно просто может закрыть потребность в проверке содержания PDF-файлов. Это инструмент с открытым исходным кодом — pdf-test. Он по сути является обёрткой pdfbox и позволяет из коробки использовать основные мэтчеры, не задумываясь о том, чтобы писать свои или о том, как именно парсить документ. Рассмотрим далее его применение на языке Java.

Читать далее

Истории

Спутник как IT-проект. Что нужно разработчику для создания и запуска своего кубсата

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

Привет, Хабр! Меня зовут Людмила, я SDET-специалист в компании SimbirSoft. Свои школьные и студенческие годы я провела в студенческом аэрокосмическом конструкторском бюро, занимаясь проектированием малых космических аппаратов и разработкой софта и алгоритмов для них. 

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

🚀 Три, два, один — пуск!

Step by step: интегрируем интерактивные 2D/3D-объекты в iOS-приложение

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

Привет, Хабр! Меня зовут Степан, я iOS-разработчик SimbirSoft.

В очередной раз открыв одно из ежедневных приложений, я обнаружил любопытную фичу: интерактивный 3D-элемент в виде звездочки. Казалось бы, ничего необычного, но это сделало взаимодействие с приложением немного приятнее. Так появилась идея для пет-проекта — нативно создать MVP интерактивного 3D-объекта.

Данная статья — step by step от интерактивных 2D-объектов к 3D. В конце статьи вы найдете ссылку на репозиторий.

Читать далее

Личный опыт: переход с Redux на Effector. И при чем тут DX

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

Frontend-разработка очень богата различными инструментами. Новые фреймворки и библиотеки выходят чуть ли не каждый день и, к сожалению, не все из них одинаково полезны или могут сделать ваш продукт лучше. Кроме того, они различаются по степени удобства именно для разработчика. Есть такое понятие DX – Developer eXperience – по аналогии с UX. Это то, насколько разработчику удобно, интуитивно понятно пользоваться определенным сервисом.

Меня зовут Аня, я frontend-специалист в компании SimbirSoft с опытом в разработке более трех лет. Уже успела поработать со многими инструментами, участвовала в проекте, где переносили огромное приложение на новые библиотеки, в том числе заменяли Redux на Effector. В этой статье хочу поделиться своими мыслями об этих стейтменеджерах с точки зрения DX. 

Да, их сравнивали много раз, но мой акцент будет на том, как писать код на Effector для привычных кейсов в Redux. Подчеркну, DX — это не про рациональные аргументы, а про комфорт, фэншуй и тому подобные вещи (вы же понимаете, о чем я, правда?…).

Забегая вперед, хочу сказать, что Effector мне понравился. И прежде всего своей простотой — да-да, один из наших любимых принципов KISS). И может быть, что я по поводу Effector испытываю ещё какую-то национальную гордость, потому что это разработка ребят из России.

Читать далее

Применение APDEX в нагрузочном тестировании

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

При автоматизации нагрузочных тестов специалисты рано или поздно приходят к мысли о том, как сравнивать результаты проводимых тестов. И не только сравнивать, но и демонстрировать результаты команде и бизнесу. Часто сравнение результатов нагрузочных тестов напоминает игру «найди 10 отличий» на почти одинаковых картинках. И если для специалистов в тестировании производительности это не проблема, то для коллег, не погруженных в теорию, это может стать таковой. Тут необходим какой-то простой и наглядный индикатор, который легко позволит определить — показатели стали лучше или хуже в процессе работы над проектом.

Меня зовут Олег, я инженер по исследованию производительности в SimbirSoft. Для обобщения результатов тестов я предлагаю рассмотреть использование индекса APDEX (Application Performance inDEX).

? Считаем APDEX

QA под капотом. Тестируем и настраиваем 1С-Битрикс

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

Привет, Хабр! Меня зовут Анастасия, я QA-специалист SimbirSoft и работаю на проектах с 1С-Битрикс. Не единожды я могла наблюдать, насколько эффективно бывает допустить QA-команду внутрь CMS, чтобы достичь бизнес-целей клиента. И на примере нескольких кейсов из разных проектов расскажу, как мы обеспечиваем качество на платформе 1С-Битрикс. Для тех, кто дочитает до конца, бонусом будет чек-лист для тестирования.

Вдохновил на этот рассказ один из проектов, где клиент доверился нашей команде и предоставил возможность настроить некоторые функции интернет-магазина для удобной работы пользователей с системой. QA-специалисты получили допуск в святая святых, backend — под этим мы подразумеваем работу в административной части и с базами данных, тестирование API. Такой подход готов поддержать не каждый бизнес, а между тем QA может создать удобные пользовательские сценарии и сделать тестирование более системным. А зачастую и сэкономить ресурсы для устранения критичных багов впоследствии.

Я рассмотрю детали работы QA-специалиста на примере настройки CMS 1С-Битрикс: Управление сайтом, приведу вводные данные, предполагаемый результат, инструменты, методологии и опыт, которые в этом помогут. А еще расскажу, как не упустить важные моменты в работе с коробочным решением от Битрикс.

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

Читать далее

Автоматизация импорта значений в типовые отчеты «1С: Бухгалтерия предприятия 3.0​»

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

Привет! Меня зовут Николай, я разработчик 1С в компании SimbirSoft. 

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

Кому будет полезно? 

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

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

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

Читать далее

Разрабатываем дизайн-концепцию IT-системы: этапы аналитики и дизайна

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

Привет, Хабр! Меня зовут Юлия, я старший аналитик-проектировщик компании SimbirSoft. Работаю в сфере IT более 10 лет, в моем портфолио создание более 20 IT-систем для различных проектов: флагмана металлургии, медицинского проекта (6 стран присутствия), автомобилестроительной компании, онлайн-кинотеатра, сервиса доставки еды, сервиса рекламных объявлений и многих других.

Эта статья будет интересна всем тем, кто так или иначе сталкивался с проектированием новых IT-систем или оптимизацией существующих с точки зрения аналитики и/или дизайна. 

Дизайн-концепция – это то, как будет выглядеть интерфейс будущей IT-системы. Она отражает не только дизайн, но и конструктивные особенности (основную функциональность для достижения бизнес-целей). При этом дизайн-концепция не требует тщательной проработки макетов для всех экранов. Достаточно отобразить основную парадигму проектирования интерфейсов, которая будет однозначно понятна заказчику и команде разработки. Как это сделать – будет подробно описано в данной статье.

Кто может выполнять проектирование дизайн-концепции? Любой IT-специалист, который владеет аналитическими и дизайн-инструментами, имеет опыт в проектировании IT-интерфейсов и обладает навыками для проведения UI/UX-исследований.

Читать далее

Как мы внедрили 40% smoke-тестов за 1,5 месяца на крупном промышленном приложении

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

Привет, Хабр! Меня зовут Владимир, я SDET-разработчик из компании SimbirSoft. Я расскажу о том, как мы с коллегами на одном проекте настроили автоматизацию 40% smoke-тестов — за полтора месяца и в два этапа. Опишу ход работы и основные возможности автоматизации на проекте. Клиент был крайне ограничен в сроках и планировал отдать часть наших задач команде собственных разработчиков, но в итоге все работы выполняли SDET-специалисты — я расскажу, почему это лучший вариант из возможных.

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

? Читать далее

Как перейти на микросервисы и выполнить миссию: решения на старте, работа с ТЗ и подводные камни

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

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

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

Читать далее ?

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

4 – 5 апреля
Геймтон «DatsCity»
Онлайн
8 апреля
Конференция TEAMLY WORK MANAGEMENT 2025
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

На что способен КриптоПро JCP? Туториал по валидации отсоединенной электронной подписи

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

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

Меня зовут Вадим, я Java-разработчик SimbirSoft. В этой статье я расскажу, как на одном из проектов мы реализовали возможность валидации электронной подписи с помощью КриптоПро JCP. Этот фреймворк оказался хорошей альтернативой КриптоПро SVS после того, как последний попал под санкции Microsoft. Впоследствии на других подобных проектах я убедился в том, что решение рабочее и наиболее подходящее под бизнес-цели заказчиков. Прежде всего это банки, нанимающие организации и другие юрлица, где ведется электронный документооборот.

Читать далее

9 алгоритмов сортировки и поиска для JS, о которых вас спросят на собеседовании

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

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

Меня зовут Илья, я frontend-разработчик SimbirSoft. Долгое время вопрос изучения алгоритмов был холиварным. Со я временем убедился, что ни одно современное собеседование в крупную компанию не обходится без вопросов про алгоритмы, и в последний год их всё больше.

Даже если ты frontend-разработчик и решаешь прикладные задачи, тебе в любом случае придётся знать алгоритмы хотя бы на базовом уровне. Но статей на русском с объяснением алгоритмов и тем, как их реализовать на JavaScript, крайне мало. Поэтому хочу поделиться некоторыми алгоритмами сортировки и поиска, и немного рассказать про структуры данных. Знание алгоритмов и структур данных поможет вам в оптимизации приложений.

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

Читать далее

Кулинарный гид по Vue.js: всё о props

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

Привет, Хабр! В этой статье разберемся, как frontend-разработчику готовить на «кухне» props. Выбирайте подходящий уровень сложности: джуны-поварята смогут лучше разобраться в работе и применении props на фреймворке Vue.js, а еще мы затронем тему валидации. Для мидлов и более опытных специалистов — настоящих шеф-поваров мы приготовили продвинутые кулинарные техники props, где можно освежить в памяти некоторые детали или решить проектную проблему, если замылился глаз. 

Props – от слова «properties» (здесь и дальше будем использовать слово «props») – это специальные атрибуты, используемые в экосистеме Vue для передачи данных в компоненты. Они являются частью системы реактивности, позволяют определять типы данных и проводить с ними валидацию.

По большей части мы будем покрывать основы передачи props. Поэтому статья будет актуальна как для Vue 2, так и для Vue 3, поскольку по части объявления props отличий мало. Но так как в Composition API и TypeScript все же они есть, то мы рассмотрим их тоже.

Если вы подходите под все эти условия, то добро пожаловать, мы начинаем наш кулинарный гайд! Bon appétit!

Читать далее

Система 1С:ERP: наводим «цифровой порядок» на складе

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

Для управления складскими помещениями бизнес все чаще использует специализированные инструменты автоматизации. Одним из них является система 1C: ERP. Она будет актуальна, если на предприятии имеется большое количество складских площадок, разнообразный ассортимент продукции и есть необходимость в автоматизации поддержания запасов.

Я 1С-аналитик IT-компании SimbirSoft Дарья, и в этой статье помогу разобраться, какие возможности по ведению склада может предоставить система 1С: ERP, и как это поможет вашей компании. Материал основан на проектном опыте и будет интересен и полезен тем, кто работает со складами и видит необходимость в автоматизации процессов.

Читать далее ?

Зачем нужна оценка зрелости бизнес-процессов при разработке системы

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

Привет! Меня зовут Анна, я ведущий аналитик ИТ-компании SimbirSoft. Недавно при обсуждении с потенциальным заказчиком встал вопрос, о том, что перед разработкой нужно провести анализ текущих бизнес-процессов компании. На что я получила вполне обоснованный вопрос, зачем анализировать работающий и прибыльный бизнес. Подумав, что с этим могут столкнуться и другие аналитики, я решила подготовить туториал, чтобы и вы могли объяснить своим руководителям или клиентам.

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

Читать далее ?

Создание внутреннего пакета компонентов React — проще, чем кажется

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

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

Я frontend-разработчик SimbirSoft Эллина, и в этой статье расскажу, как создать внутренний пакет компонентов в React с помощью инструмента сборки Rollup, а также как сделать его более качественным и удобным для использования. Материал будет полезен frontend-разработчикам уровней junior+ и middle.

Читать далее ?

Информация

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