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

Как реализовать методы скроллов через Appium для Android-приложений

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

Привет, меня зовут Сергей и я SDET-специалист в IT-компании SimbirSoft. В своей практике мне приходится тестировать как веб-, так и мобильные приложения на Android. Особенность тестирования мобилок в том, что шаги автотеста нужно максимально приблизить к действиям пользователя. О чем это я? Да все о том же — на смартфонах не кликают, а тапают; не закрывают по крестику модалки, а свайпают. Это как на флоте, эти все словечки понятны только тем, кто драил гальюн или бакланил из камбуза хлеб. 

В этой статье рассмотрим несколько методов скроллов класса TouchAction инструмента Appium, которые позволяют скроллить до нужного элемента или проверить свайп модального окна. И несмотря на то, что в новой версии Appium используются методы executeScript(), класс TouchAction все еще актуален. Поэтому я рекомендую к прочтению эту статью, в первую очередь, тем, кто использует в своих проектах Appium.

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

Как использовать менеджер состояний NgRx для Angular-проектов

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

Всем привет! Меня зовут Ильмир, я frontend-разработчик SimbirSoft. Это моя первая статья, в которой я хотел бы разобрать тему менеджера состояний в Angular.

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

Тестирование процессов BPMN-схемы Camunda в изоляции

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

Нотации BPMN (Buisness Process Model and Notation) все чаще используются для описания бизнес-процессов какой-либо предметной области реального бизнеса. В результате получается нечто среднее между блок-схемой и функциональной схемой, в которой есть:

элементы, описывающие некоторую функциональность бизнеса,

связи между элементами.

Такую схему можно реализовать в программном коде. И отсюда вытекает вопрос — как же проверить, что ПО корректно работает с составленной бизнес-моделью, когда программный код уже написан.

Привет! Я Мария, SDET-специалист IT-компании SimbirSoft. В этой статье я хочу поделиться успешным опытом тестирования процесса на основе BPMN-схемы Camunda.

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

Рецензия на книгу «100 ошибок в Go и как их избежать» Тейва Харшани

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

Привет! Меня зовут Макс, я Go-разработчик в IT-компании SimbirSoft. Хочу поделиться своим отзывом на книгу «100 ошибок в Go и как их избежать» Тейва Харшани. Книга заинтересовала меня тем, что автор фокусирует свое внимание на ошибках, как распространенных, так и более редких.

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

Что нам даёт понимание спецификации языка ECMA Script? Разбираем стандарт ECMA262

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

Привет, Хабр! Меня зовут Александр, я frontend-разработчик SimbirSoft. Я 7 лет занимаюсь разработкой, и могу утверждать, что в процессе получения опыта работа специалиста становится все более творческой. Мы не просто стремимся заставить ПО работать нужным заказчику образом, а стараемся сделать все его части элегантными, производительными и легко поддерживаемыми. 

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

Я расскажу о сообществе, которое занято развитием нашего языка JavaScript. В первую очередь это организация ECMA International, которая разрабатывает стандарт языка ECMA Script, диалектом которого является JavaScript.

Мы разберем основные движки, реализующие стандарт ECMA Script, его ключевые разделы, опишем содержание на примере фичи. Рассмотрим, для чего изучать стандарт и как его дополнить, внеся свой вклад в сообщество разработчиков.

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

Favicon и где они обитают

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

Привет! Меня зовут Анна, я JS-разработчик в компании SimbirSoft. Сегодня расскажу об интересном кейсе на одном из наших проектов, а именно, речь пойдет об отображении favicon сторонних сайтов в нашем приложении. 

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

Как извлечь данные из Linux с помощью C++ и Qt. На примере приложения с прогнозом погоды

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

Привет, Хабр! Меня зовут Михаил, я backend-разработчик в SimbirSoft. Хочу поделиться с вами опытом получения различной информации в ОС Linux для использования в своих целях.

Представьте, что нам нужно написать приложение «Погода», которое берёт из сети температуру, влажность и прочие параметры и отображает для пользователя. Было бы неплохо, чтобы оно само определяло, где мы находимся. Но как это сделать? Легко!

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

- навигационные данные (долготу, широту, высоту);

- сведения о сетевом соединении (название, тип, уровень сигнала Wi-Fi);

- заряд батареи;

- информацию о хранилище (сколько занято/сколько всего).                                                                  

Стек используемых технологий – C++ в связке с библиотекой Qt (5.12). Задача казалась довольно простой. Но первое впечатление очень часто обманчиво. Особенно в тех случаях, когда вам не приходилось решать подобные задачи. Но обо всём по порядку. Рассмотрим вывод разных видов информации.

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

Рецензия на книгу «Идеальный тестировщик» Кристин Джеквони

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

Всем привет! Меня зовут Екатерина и я QA-специалист в компании SimbirSoft. Я уже 7 лет занимаюсь обеспечением качества IT-продуктов, и за это время прочитала множество книг и пособий. Многим книгам по QA уже много лет, а новинки появляются достаточно редко. В январе 2024 года на русском языке вышел «Идеальный тестировщик» Кристин Джеквони — поэтому я сразу обратила внимание на эту книгу. Поделюсь с вами своей оценкой и выводами — что в ней есть полезного и чего не хватило.

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

Быстрее, выше, сильнее в распознавании речи: SpeechKit, SaluteSpeech или SpeechFlow?

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

Меня зовут Екатерина, я IT-архитектор в ML-команде SimbirSoft, специализируюсь на темах по обработке естественного языка. Сегодня мы обсудим особенности решения задач распознавания речи. Проверим наши предположения на собственных аудиоданных, которые будем переводить из акустического сигнала в текст тремя передовыми коммерческими системами: Yandex SpeechKit, SaluteSpeech от Сбера и SpeechFlow от Bluepulse. Статья будет полезна тем, кто интересуется тенденциями развития машинного обучения или хочет присмотреться к возможностям и уязвимым местам существующих решений для их внедрения в бизнес-приложения.

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

5 стадий принятия: как протестировать плагин на разных версиях браузера

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

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

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

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

Почему комментарии в коде — базовый инструмент, упрощающий поддержку и развитие проекта

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

Привет, Хабр! На связи C#-разработчик компании SimbirSoft Георгий. В этой статье поговорим о том, как с помощью комментариев кода можно ускорить погружение новых разработчиков в проект, упростить написание документации и найти общий язык с коллегами-разработчиками.

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

Читать далее
Всего голосов 10: ↑7 и ↓3+6
Комментарии67

11 ИИ-инструментов, которые ускоряют создание IT-продуктов на всех этапах разработки

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

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

Согласно исследованиям, глобальный рынок ИИ в IT-индустрии вырастет до $271,9 млрд к 2028 году, демонстрируя среднегодовой темп роста 27,1%. Это связано с растущим спросом на автоматизацию бизнес-процессов, повышение эффективности и инновации.

ИИ внедряется для оптимизации бизнес-процессов и улучшения производительности. Он способен выполнять монотонные задачи быстрее и точнее, чем человек. Анализ больших объемов данных и выявление закономерностей помогает компаниям принимать более обоснованные решения.

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

Возможности С++: от стандартных алгоритмов до диапазонов (Ranges)

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

Привет, Хабр! Меня зовут Николай, я разработчик С++ в SimbirSoft. В предыдущей статье мы с вами рассмотрели применение стандартных алгоритмов в повседневном коде и их преимущества над обычными циклами. В продолжение этой темы мне хотелось бы рассказать о недостатках стандартных алгоритмов и способах их решения с помощью библиотеки Ranges. Практические примеры я разбил на три части: в первой показаны обычные циклы, во второй — вариант написания с помощью алгоритмов (но не всегда можно это сделать), в третьей – с использованием Ranges. Этот материал будет полезен тем разработчикам, которые хотят применять новые стандарты и подходы у себя на проектах.

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

Создавай и упрощай: оптимизируем Android-приложение с видеоконтентом

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

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

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

Меня зовут Рустам и я Android‑разработчик в компании SimbirSoft. Рекомендую свою статью тем, кто сталкивается с видеоконтентом на проектах, и кому хотелось бы оптимизировать свою работу с ним. Я рассказал о таких методах на примере стандартных инструментов из библиотеки ExoPlayer, поэтому у middle‑разработчиков и выше не должно возникнуть трудностей.

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

Глубокое погружение в CancellationToken: эффективное управление отменой в .NET

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

Привет, Хабр! Меня зовут Давид, я C#-разработчик в SimbirSoft. В современном программировании эффективное управление ресурсами и контроль за выполнением задач становятся ключевыми аспектами для создания надежных и масштабируемых приложений. В C# одним из важнейших инструментов в для достижения этих целей является механизм Cancellation Token. Эта концепция позволяет разработчикам изящно и безопасно управлять долгосрочными или ресурсоемкими операциями, обеспечивая возможность их отмены по требованию.

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

Читать далее
Всего голосов 13: ↑7 и ↓6+3
Комментарии10

Квест на Node.js — борьба с утечкой памяти. От диагностики до решения

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

Всем привет! Меня зовут Артём и я backend-разработчик компании SimbirSoft. На протяжении восьми лет я работаю на Node.js. Сегодня хочу поделиться опытом поиска утечек памяти при gRPC-вызовах в Node.js + Nest.js. В частности, речь пойдет об отладке утечки памяти при взаимодействии между микросервисами. Статья будет полезна backend-разработчикам, которые работают с Node.js и gRPC.

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

Одной из задач, которую ставил перед нами клиент,  был поиск и устранение утечки памяти при работе микросервисов. Задача была открыта уже давно, но не было четкого понимания, как ее решать. Судя по описанию, было несколько API, при вызове которых отделы DevOps и QA наблюдали сильный рост памяти при мониторинге системы и тестировании соответственно. В дополнении к REST API присутствовали gRPC-методы.

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

NLP, Catboost и тематическое моделирование: создаем модель для прогнозирования цен с использованием новостей

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

Привет, Хабр! Меня зовут Иван, я Data Science специалист SimbirSoft. Я расскажу, как на одном из проектов мы занимались прогнозированием на месяц вперед с помощью методов NLP, Catboost и тематического моделирования на новостном потоке.

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

К нам обратился заказчик, который занимается продажами удобрений. Ему необходимо было протестировать различные подходы к прогнозированию цен на удобрения. Нашей задачей стало построить бейзлайн-модель и оценить, насколько перспективен подход с использованием новостей. Заказчик хотел, чтобы мы оценили предсказательную силу именно новостей, поэтому мы не использовали признаки из самого временного ряда цен (лаги/сезонность/тренд) и признаки, связанные с рынком.

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

Prompt-engineering: чем полезен SDET-специалистам, или Как оставаться востребованным на рынке в эпоху ИИ

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

Нейросети и искусственный интеллект (далее ИИ) развиваются стремительными темпами, и у многих SDET-специалистов появляются опасения о потере работы. И действительно, список задач, которые уже сегодня может выполнить чат-бот, впечатляет.

Подготовка тестовых данных занимает много времени? ИИ сгенерирует для ваших тестов данные любой сложности и в любых форматах.

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

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

Учитывая перечисленное, может ли ИИ заменить человека в профессии или снизить востребованность SDET-специалистов на рынке? 

Привет! Меня зовут Дария, я SDET-специалист в компании SimbirSoft и недавно задалась этим вопросом. Как известно, лучший способ познакомиться с новыми технологиями и инструментами — «потрогать их руками», чем я и занялась.

В этой статье хочу поделиться результатом своего исследования. 

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

Оптимизация Go: как повысить скорость и эффективность кода

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

Привет, Хабр! Меня зовут Макс, я Go-разработчик в компании SimbirSoft. Язык Go (Golang) стремительно набирает популярность, он всё чаще внедряется в существующие программные решения, а также встречается в стеке новых проектов. Высокая производительность и скорость работы – его главные преимущества, поэтому для реализации бизнес-задач он подходит как нельзя кстати. Go легко поддерживается и отлично годится для создания MVP, из-за чего востребованность в нём растёт.

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

Мы начинаем!

Go ⏩
Всего голосов 11: ↑10 и ↓1+9
Комментарии8

Почему JOOQ — идеальный инструмент для работы с БД при интеграционном тестировании API

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

Привет! Меня зовут Евгений, я SDET-специалист в SimbirSoft. Хочу поделиться примером того, как я автоматизировал тестирование API, заменив встроенные JDBC-средства на JOOQ. И расскажу, почему считаю это лучшим решением.

Все началось с того, что передо мной поставили задачу автоматизировать тестирование API с проверкой данных в БД. Так как проект только начинался, а я один отвечал за эту часть работы, то надо было сделать всё с нуля. Мне хотелось сделать все идеально (удобно, понятно, масштабируемо, с удобной поддержкой кода). Получилось все, кроме одного — масштабирование сверки данных из БД. Об этом и пойдет речь. А в конце вы найдете ссылку на исходный код.

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

Информация

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