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

Мастерим многопоточность: техники и инструменты для Java-разработчиков. Часть 1

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

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

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

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

Какие бывают аналитики: 10 ролей и еще 3

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

Привет, Хабр! Меня зовут Николай, я аналитик компании Simbirsoft. Мне довелось участвовать во многих проектах, и на каждом из них заказчики понимали задачи и роль аналитика по-своему. Поэтому вопрос ролей аналитика на проекте —  мои личные кровь и пот боли: часто в одном лице хотят видеть и разработчика, и продвинутого тестировщика с пониманием процессов автотестирования, и многое-многое другое. Тем не менее, многие требования находят отражение в навыках и интересах аналитика, но эти требования ещё нужно правильно сформулировать при поиске.

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

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

Иными словами, типология ролей аналитиков призвана предотвратить расхождение интересов специалиста и клиента. Я нередко наблюдал ситуации, когда запросы клиентов не отражали полный список требований, ожидаемых от специалиста на самом деле. Например, при обсуждении выяснялось, что вместо системного аналитика для разработки ТЗ требовался аналитик 1С. Или от аналитика-джуниора по умолчанию ожидались навыки по разработке взаимодействия конкретных систем, довольно редких в отрасли. При этом я не беру в расчет обычные проблемы обычного системного аналитика, когда приходится погружаться в незнакомую предметную область или принимать дела в самом разгаре проекта. 

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

Как я написал свой первый классификатор эмоций

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

Всем привет! Немного о себе. Меня зовут Максим, я работаю специалистом по Machine Learning в компании SimbirSoft. Последние два года я углубленно изучал область машинного обучения и компьютерного зрения и сегодня с удовольствием поделюсь с вами опытом разработки личного пет-проекта.

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

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

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

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

«Ревизорро» в IT: тестируем суммаризацию текста в GigaChat и YandexGPT

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

После появления на рынке API для беседы с ChatGPT 3.5 каждый второй заказчик решения на основе машинного обучения (ML) хочет внедрить у себя ИИ, который может красиво и содержательно общаться на русском языке.

Меня зовут Екатерина, я IT-архитектор команды SimbirSoft, специалист по ML и поклонница всего, что связано с обработкой текстов на естественном языке (NLP). Сегодня будем разбираться в тонкостях решения одной из популярных на рынке задач – автоматического составления аннотаций. Для эксперимента мы использовали две GPT-подобных модели, «заточенных» на русский язык:  GigaChat и YandexGPT. Заявленный потенциал систем тестировали на текстах трёх жанров: научном, научно-популярном и художественном. Что из этого получилось, расскажем в статье.

Материал будет полезен тем, кто следит за тенденциями развития машинного обучения на рынке и в целом интересуется внедрением больших языковых моделей (LLM) в ML-проектах – для оценки их возможностей «из коробки».

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

Привычка быть SOLIDным разработчиком

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

Привет, Хабр! Меня зовут Грант, я уже 5 лет занимаюсь backend-разработкой в SimbirSoft, а с 2021 года возглавляю Backend-отдел компании в Краснодаре. В последние несколько лет неоднократно замечаю, что на входном интервью соискатели часто путают принципы разработки. Поэтому в этой статье решил разобрать, как проще их понимать, какие связи между ними прослеживаются, стоит ли учить все или что-то можно пропустить. А еще попробую раскрыть некоторые особенности, какие секреты скрывают популярные принципы разработки.

Погрузиться 👀
Всего голосов 15: ↑13 и ↓2+11
Комментарии5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ускориться 🚀
Всего голосов 7: ↑7 и ↓0+7
Комментарии5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

🚀 Три, два, один — пуск!
Всего голосов 12: ↑12 и ↓0+12
Комментарии9

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

🧮 Считаем APDEX
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Информация

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