Как кастомизировать UI артефакты для Selenide + Selenoid + Allure (with TestOPS) |
Распространённая связка из JUnit5, Selenide и Allure для UI-автотестов работает стабильно и надёжно. Но до момента, пока тестов становится много, их длина увеличивается, а итоговые видеофайлы по результатам тестом превышают час. Главный инженер-тестировщик Группы «Иннотех» Александр Кочергин нашёл способ укрощения инструментария.
Читать далееhttps://habr.com/ru/post/696140/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696140
|
Метки: allure автотесты qa автотестирование kotlin тестирование мобильных приложений тестирование веб-сервисов qa automation selenide qa testing junit5 блог компании иннотех |
Как мы ведем требования к ПО: формализация |
Есть разные подходы к ведению требований к ПО: одни пишут полноценные сценарии использования, другие выбирают пользовательские истории, а третьи — вообще избегают формализации требований, считая это пустой тратой времени.
Но я так не считаю. Формализация — большой и важный этап разработки требований. В статье об этом расскажу: как происходит ведение требований у нас, какие этапы мы проходим, каких правил придерживаемся и что будет, если отклоняться от правил. Если вы системный или бизнес-аналитик, владелец продукта или просто работаете с требованиями к программному обеспечению, то эта статья для вас.
Читать далееhttps://habr.com/ru/post/694864/?utm_source=habrahabr&utm_medium=rss&utm_campaign=694864
Какие доклады будут на DotNext 2022 Autumn |
Как снизить вероятность ошибок в коде? Что нового в .NET и C#? Как правильно работать со статистикой при замерах производительности? Как научить ребёнка программировать?
Эти вопросы выглядят совершенно разношёрстными. Но у них есть общее: все они получат ответы на ближайшем DotNext. Программа конференции составлена, и мы представляем её Хабру.
А сам DotNext начнётся уже на следующей неделе. Дни 3-4 ноября будут полностью онлайновыми, а вот 20 ноября — на выбор участников: в Москве пройдёт офлайн-часть, но при желании и к ней можно будет подключиться удалённо.
Читать далееhttps://habr.com/ru/post/695884/?utm_source=habrahabr&utm_medium=rss&utm_campaign=695884
|
Метки: Блог компании JUG Ru Group .NET C# Конференции DotNext архитектура internals best practices |
Чистая архитектура, или проектируя клиента RuBackup |
Здесь описан путь, которым мы шли, проблемы, с которыми столкнулись, и обзор наших решений. Здесь не пересказ книги дяди Боба, и мы полагаем, что вы знакомы с трудом Роберта Мартина “Чистая архитектура. Искусство разработки программного обеспечения”. Это скорее интерпретация с различными дополнениями в контексте разработки нашего клиентского приложения.
Хочу рассказать о том, как мы избавились от дублирования кода, повысили тестируемость и отвязали UI. Почему мы сделали такой выбор, как разделили функционал и что нам это дало. Помимо этого хотелось бы показать, что отхождение от правил бывает уместным.
Читать статьюhttps://habr.com/ru/post/696074/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696074
|
Метки: Блог компании ГК «Астра» Проектирование и рефакторинг проектирование архитектура приложений чистая архитектура паттерны |
А можно мне радиоуправляемый самосвал, но только чтоб настоящий? Да запросто |
Повозиться пришлось изрядно, но зато теперь «Норникель» стал первым в России обладателем беспилотных самосвалов, поднимающих полезные ископаемые с глубины 850 метров.
Меня зовут Андрей Дышлюк, я руководитель проектной команды по внедрению системы Sandvik AutoMine на нескольких автономных шахтных самосвалах, работающих на руднике «Скалистый». В этой статье расскажу, почему мы выбрали именно AutoMine, как строили сеть, ставили лазерные барьеры, обкатывали маршруты в часы пересменки и заставили технику работать безопаснее и дольше.
Читать далееhttps://habr.com/ru/post/696134/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696134
|
Метки: Блог компании «Норникель» Транспорт автономная техника беспилотный автомобиль горная добыча норникель норникель спутник |
Полезные плагины VS Code для разработки кроссплатформенных приложений с использованием React Native и Flutter |
Каждый разработчик кроссплатформенных приложений с использованием фреймворков React Native и Flutter выбирает наиболее удобный для себя редактор кода. Я — один из таких разработчиков. Меня зовут Александр Дудукало, я куратор направления “Веб-разработка” в Skillbox. Лично я предпочитаю Microsoft Visual Studio Code (VS Code), и сегодня предлагаю разобраться в его преимуществах.
Читать далееhttps://habr.com/ru/post/696128/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696128
|
Метки: Блог компании Skillbox Программирование Flutter React Native VS Code |
[Перевод] 5 бизнес-процессов в повседной работе менеджера продукта, которые можно автоматизировать готовыми no-code-решениями |
Как использовать no-code-инструменты автоматизации, чтобы сделать рутинные задачи по управлению продуктом более эффективными?
No-code инструменты автоматизации рабочего процесса — это крупный бизнес, который за последние несколько лет превратился в многомиллиардную индустрию. Но, несмотря на впечатляющий рост этого сектора, многие крупные компании до сих пор недостаточно используют no-code-инструменты в своих практиках, в отличии проворных стартапов и индивидуальных предпринимателей, которые с их помощь оптимизируют свой рабочий процесс по полной.
Читать далееhttps://habr.com/ru/post/696118/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696118
|
Метки: Блог компании OTUS управление продуктом hadi product management no-code решения оптимизация бизнес-процессов |
Создаём асинхронный Fluent API |
Недавно я захотел сделать более удобный способ взаимодействия с кое-каким классом в одном из модулей приложения. Тогда-то я вспомнил про Fluent API, который в моём случае очень хорошо подходил.
Я нашёл кучу объяснений и примеров кода для реализации Fluent API, однако я не мог найти внятных объяснений, как реализовать в этом же Fluent API асинхронные методы, аки делает это какой-нибудь Linq. Библиотеки используют какую-то эльфийскую магию, но я нашёл драйвер MongoDB, на исходном коде которого я и разбирался, как реализовать асинхронный Fluent API.
Для тех, кто не знаком с темой Fluent API, прошу к прочтению.
Читать далееhttps://habr.com/ru/post/695966/?utm_source=habrahabr&utm_medium=rss&utm_campaign=695966
|
Метки: API C# ООП Параллельное программирование csharp fluent api fluent interfaces fluent validation api design asynchronous |
[Перевод] Что такое web3? Похоже на очередной кризис самоопределения родом из Кремниевой долины |
Несмотря на то, что web3 еще толком не существует, он уже успел всколыхнуть умы большого числа людей.
В Кремниевой долине сейчас только и разговоров, что о web3. Знатоки технологий спорят о нем в социальных сетях. А инвесторы только за прошлый год влили в стартапы, предполагающие использование web3, около 30 миллиардов долларов. Талантливые инженеры снимаются с насиженных мест в крупных компаниях вроде Facebook, чтобы пораньше вступить в игру.
Сама идея о том, что в интернете есть новые, невиданные рубежи, заставляет людей платить миллионы долларов за цифровые токены с изображением мультяшных обезьян.
Но пока что web3 — не более чем назойливое словечко, спешащее, скорее, всех запутать, а не прояснить ситуацию. Web3 вызывает нечто сродни кризису идентичности в технологической сфере — а его последствия расхлебывать придется нам всем.
Читать далееhttps://habr.com/ru/post/696114/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696114
|
Метки: Блог компании ITGLOBAL.COM Децентрализованные сети IT-компании блокчейн web3 web 3.0 |
Информационная безопасность в промышленности и энергетике. Что с ней не так? |
Привет! Я Дмитрий Даренский, руководитель практики промышленной кибербезопасности в Positive Technologies. Уже более 15 лет я занимаюсь построением технологических сетей и систем связи, а также помогаю создавать комплексные системы безопасности для промышленных предприятий. В этой статье я расскажу о современных подходах к информационной безопасности и недопустимых событиях в электроэнергетике. Возможно, вы удивитесь, но подобные инциденты уже случались. Например, в 2019 году в Венесуэле резкий сброс мощности в энергосистеме привел к тому, что 80% страны осталось без света на пять суток, а каскадное отключение электросетей в Индии годом позже затронуло транспортную инфраструктуру страны, вызвав значительные нарушения в работе систем управления поездами и дорожным движением.
Подробнееhttps://habr.com/ru/post/694976/?utm_source=habrahabr&utm_medium=rss&utm_campaign=694976
Как мы баг в PVS-Studio искали или 278 Гигабайтов логов |
Предлагаем вашему вниманию интересную историю о поиске бага внутри анализатора PVS-Studio. Да, мы тоже допускаем ошибки, но мы готовы засучить рукава и залезть в самую глубину "кроличьей норы".

Наш коллега уже рассказывал про нашу техническую поддержку. Но всегда интересно послушать какие-то истории, и они у нас есть.
Если хочется программистской жести, то можете сразу переходить к следующему разделу. Если же хочется в целом познакомиться, как мы работаем, то продолжайте читать :). Также вы можете посмотреть юмористический доклад о поддержке С++ программистов.
Читать дальше →https://habr.com/ru/post/696108/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696108
|
Метки: Блог компании PVS-Studio C++ с++ pvs pvs-studio static analysis статический анализ анализ кода баги поддержка support |
Как воспитать шахматную чемпионку, работая программистом во Владимире |
Помните, два года назад по миру с большим успехом прошел сериал «Ход королевы» о девочке-вундеркинде, которая обыгрывала в шахматы именитых мастеров? Оказалось, что среди детей наших сотрудников тоже есть талантливая шахматистка, которая, как и героиня упомянутого сериала, для своего юного возраста добилась удивительных спортивных высот.
Сергей Преображенский — тимлид Мегаплана, работает удаленно из Владимира в нашем московском офисе. Летом этого года было десятилетие, как он с нами. За это время у него выросла дочь-шахматистка, к своим одиннадцати годам чемпионка Европы и мира по быстрым шахматам. А еще она замечательный и жизнерадостный ребенок, который мечтает об австралийской овчарке, но из-за частых разъездов семья пока не может ее завести.
Читать далееhttps://habr.com/ru/post/696026/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696026
|
Метки: Удалённая работа воспитание детей шахматы хобби таланты талантливые школьники папа программист |
Можно ли измерить эффективность работы Scrum-мастера? |
Можно сказать, что на данный момент самый распространенный подход в гибкой адаптивной разработке продуктов - Scrum. Одна из ролей в Scrum - собственно Scrum-мастер. Роль, в зоне ответственности лежит обучение команды, правильная настройка процессов в команде, выявление и устранение препятствий в работе.
Если руководство и команда не обладают опытом в работе по Scrum, можно ли понять вообще, чем на практике должен заниматься Scrum-мастер, эффективно ли он выполняет свою работу?
https://habr.com/ru/post/696104/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696104
|
Метки: Управление проектами agile scrum scrum-мастер |
Что учесть при разработке интеграций информационных систем |
Невозможно представить современную информационную систему (далее – ИС), которая бы стояла особняком, и не была бы интегрирована с другими. Особенно, если мы говорим о корпоративных или государственных данных. Вопросу интеграций посвящены целые книги, такие как «Шаблоны интеграции корпоративных приложений» Грегора Хопа. Некоторые издания пытаются рассматривать не только технические, но и организационные вопросы интеграции (например, «Предметно-ориентированное проектирование (DDD)» Эрика Эванса). Между тем, современный уровень технологий и высокий уровень компетентности разработчиков очень сильно снижает технические риски, выставляя на первый план организационные. В этой статье мы рассмотрим интеграции информационных систем именно с точки зрения организационных рисков.
Читать далееhttps://habr.com/ru/post/696102/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696102
|
Метки: Блог компании Юнидата Анализ и проектирование систем Big Data Управление разработкой Юнидата mdm mdm-система интеграция данных интеграция |
[Перевод] Информационная безопасность и глупость: необычные примеры |
А давайте поговорим на тему глупости в сфере информационной безопасности? Я сталкивался с историями, от которых волосы шевелились абсолютно во всех местах. Наиболее яркими поделюсь с вами, а в комментариях надеюсь увидеть забавные примеры из вашей жизни ;).
Читать далееhttps://habr.com/ru/post/696078/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696078
|
Метки: Блог компании Cloud4Y Информационная безопасность Читальный зал безопасность пароли глупость |
Как улучшить английский в документации |
Я (@makushevkm) работаю техническим писателем в компании Documentat. Иногда я дорабатываю уже существующие документы или спецификации к API на английском. Как правило, такие документы написаны русскоязычными разработчиками, которые неплохо владеют английским. И всё же они часто допускают характерные грамматические, пунктуационные и стилистические ошибки.
Корень этих ошибок один — разные языковые механизмы. Нам бывает легко запутаться в употреблении временных форм, порядке слов или непонятно зачем придуманных артиклях.
Поэтому в этой статье я постарался не просто дать рекомендации о том, как можно избежать распространённых ошибок, но и подсветить те отличительные черты английского языка, которые к этим ошибкам приводят.
Читать далееhttps://habr.com/ru/post/696094/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696094
|
Метки: Изучение языков Подготовка технической документации документация английский английский язык деловая переписка |
Курс по Ruby+Rails. Часть 5. Паттерн MVC |
MVC — это главный архитектурный принцип, вокруг которого строится не только Ruby on Rails, но и любой другой фреймворк, работающий со сложными структурами данных и их отображением. Этот архитектурный паттерн появился довольно давно, на заре объектно-ориентированного программирования, но он не сразу был принят веб-программистами.
Довольно долго они работали с данными и веб-страницами в общей куче. Каждая веб-страница содержала код множества операций, которые рисовали нужный пользовательский интерфейс. Разделение обязанностей между элементами приложения отдавалась на усмотрение программиста без строгой фиксации каких-либо паттернов или стандартов. Однако с течением времени разработчики перешли к более удобной работе — с моделями и с паттерном MVC как стандартом де-факто.
Давайте подробнее разберёмся во взаимодействиях и рассмотрим каждый элемент в отдельности.
Читать далееhttps://habr.com/ru/post/695880/?utm_source=habrahabr&utm_medium=rss&utm_campaign=695880
|
Метки: Блог компании Evrone ruby ruby on rails курсы программирования обучение ruby mvc шаблон проектирования |
Можно ли снизить затраты на ремонт вагонов? |
Как мы в ПГК контролируем ремонт вагонов с помощью IT-технологий.
В прошлом году мы писали об одной из частей проекта «Цифровой вагон». Он нацелен на улучшение процесса ремонтов вагонов – снижение их количества и стоимости. Меня зовут Надежда Костякова, я — техлид продукта в ПГК и расскажу, как он развивается, а также о проблемах, с которыми мы столкнулись в процессе, и способах их решения.
Читать далееhttps://habr.com/ru/post/695834/?utm_source=habrahabr&utm_medium=rss&utm_campaign=695834
|
Метки: Блог компании Первая грузовая компания (ПГК) Управление продуктом транспорт логистика оптимизация анализ данных управление проектами |
Алгоритмы для веб-разработчиков простыми словами (часть 3) |
Здравствуйте, друзья!
Мы продолжаем разбирать максимально простым языком алгоритмы и структуры данных на JavaScript. Тема нашей сегодняшней статьи — рекурсия. Для многих разработчиков рекурсия кажется чем-то очень сложным и непонятным, но не переживайте, не так страшен черт, как его малюют.
И сегодня мы узнаем, как устроена рекурсия, а также разберем алгоритм сортировки массива под названием Quick Sort или, как еще его называют, быстрая сортировка Хоара. Как вы уже догадались, этот алгоритм рекурсивный.
Если вы еще не читали нашу первую статью (про алгоритмы поиска и Big O нотацию), то можете найти ее здесь.
Ссылку на вторую статью (про алгоритмы сортировки и оценку сложности алгоритмов по скорости и памяти) вы можете найти здесь.
А сейчас давайте перейдем к теме статьи.
Рекурсия
Рекурсия, если максимально упростить, это вызов функцией самой себя. Этот приём программирования можно использовать, когда есть возможность разбить задачу на несколько более простых подзадач. И, написав решение этой задачи в функции и вызывая ее рекурсивно, мы можем все эти задачи итеративно решить.
Давайте взглянем на простой пример.
Читать далееhttps://habr.com/ru/post/696054/?utm_source=habrahabr&utm_medium=rss&utm_campaign=696054
|
Метки: Блог компании АО «ГНИВЦ» javascript алгоритмы рекурсия |
Pastilda. Независимое Beta тестирование |
Решил купить себе Pastild(у). Это аппаратный хранитель паролей и одновременно USB Flash(ка). Также понравилась возможность съёмной SD карты. Идея аппаратного менеджера паролей, который не требует отдельного USB просто великолепная!
Какие же впечатления от использования Пастильды (User experience)?
Читать далееhttps://habr.com/ru/post/694970/?utm_source=habrahabr&utm_medium=rss&utm_campaign=694970
|
Метки: Open source Программирование микроконтроллеров pastilda firmware opensourse |