Pull to refresh
89
21

Пользователь

Send message

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

Level of difficultyMedium
Reading time6 min
Views3.7K

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

Читать 📚
Total votes 3: ↑3 and ↓0+5
Comments4

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

Level of difficultyMedium
Reading time4 min
Views974

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

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

Читать далее
Total votes 6: ↑5 and ↓1+6
Comments1

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

Level of difficultyMedium
Reading time7 min
Views2.5K

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

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

Читать далее
Total votes 10: ↑7 and ↓3+6
Comments67

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

Level of difficultyMedium
Reading time9 min
Views12K

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

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

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

Читать далее
Total votes 9: ↑5 and ↓4+4
Comments15

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

Level of difficultyMedium
Reading time10 min
Views6.3K

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

Читать далее
Total votes 6: ↑5 and ↓1+7
Comments6

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

Level of difficultyMedium
Reading time14 min
Views9.2K

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

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

Читать далее
Total votes 13: ↑7 and ↓6+3
Comments10

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

Level of difficultyMedium
Reading time15 min
Views4.3K

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

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

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

Читать далее
Total votes 18: ↑17 and ↓1+19
Comments1

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

Level of difficultyMedium
Reading time9 min
Views2.3K

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

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

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

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments3

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

Level of difficultyMedium
Reading time7 min
Views2K

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

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

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

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

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

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

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

Читать далее 🤖
Total votes 2: ↑1 and ↓10
Comments0

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

Level of difficultyMedium
Reading time9 min
Views6.3K

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

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

Мы начинаем!

Go ⏩
Total votes 11: ↑10 and ↓1+9
Comments8

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

Level of difficultyMedium
Reading time6 min
Views3.2K

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

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

Читать далее ?
Total votes 5: ↑4 and ↓1+3
Comments5

Как работать с MassTransit и RabbitMQ: реализуем RPC с Saga и без

Level of difficultyMedium
Reading time6 min
Views3.3K

Привет, Хабр! Меня зовут Евгений, я backend-разработчик SimbirSoft. В этой статье я разберу два варианта решения нетривиальной задачи создания RPC через брокер сообщений RabbitMQ и библиотеку MassTransit. Подробно разберём подключение MassTransit и работу с Saga. Тема будет полезна как для начинающих, так и опытных backend-разработчиков .NET.

🚌 Поехали!
Total votes 2: ↑2 and ↓0+4
Comments1

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

Level of difficultyMedium
Reading time29 min
Views7.5K

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

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

Читать далее
Total votes 10: ↑9 and ↓1+9
Comments7

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

Level of difficultyMedium
Reading time11 min
Views8.9K

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

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

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

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

Читать далее
Total votes 4: ↑3 and ↓1+4
Comments3

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

Level of difficultyMedium
Reading time24 min
Views3.5K

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

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

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

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

Читать далее 😎
Total votes 4: ↑4 and ↓0+5
Comments11

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

Level of difficultyMedium
Reading time20 min
Views15K

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

Погрузиться 👀
Total votes 15: ↑12 and ↓3+11
Comments5

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

Level of difficultyMedium
Reading time8 min
Views14K

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

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

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

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments11

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

Level of difficultyEasy
Reading time4 min
Views14K

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

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

Читать далее
Total votes 10: ↑7 and ↓3+6
Comments0

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

Level of difficultyMedium
Reading time13 min
Views21K

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

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

Читать далее
Total votes 8: ↑6 and ↓2+6
Comments24

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

Level of difficultyMedium
Reading time5 min
Views4.7K

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

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

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

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments1
1
23 ...

Information

Rating
333-rd
Location
Россия
Works in
Registered
Activity