Если вы хотите запустить интеграционные тесты на своем сайте, у вас есть три варианта: Poltergeist, Selenium и новое секретное оружие — Ferrum.
Новости
Как готовить корпоративную систему управления документацией: рецепт, основные ингредиенты и приправы
Здравствуйте!
В данной статье я хочу рассказать о том, как мы решали стандартные вопросы нестандартным способом. Для начала немного расскажу о себе. Последние 12 лет, или всю свою "рабочую" жизнь, занимаюсь развитием и сопровождением информационных систем. За этот период поменял должности от специалиста технической поддержки интернет-провайдера до руководителя крупного подразделения в гос-it. Накопленный опыт позволил составить портрет типичного пользователя и типичной информационной системы, а также процессов, окружающих ее жизненный цикл. Однажды меня пригласили в проект по созданию новой информационной системы, направленной на ведение внутренней документации компании. И вот что из этого вышло. Будет много букв.
Разработка Rails приложений с использованием Hotwire (Введение)
Если вы разрабатываете SPA приложения на Ruby on Rails, вы, скорее всего, используете какой-нибудь классный JS-фреймворк для быстрого обновления пользовательского интерфейса без перезагрузки страницы. И без JS фреймворка на фронтенде действительно мало что можно сделать, это своего рода стандарт в наши дни. Пока в Rails не появился Hotwire. С Hotwire вы можете получить быстрое и отзывчивое веб-приложение, но без написания тонны Javascript кода. Звучит здорово, но что такое Hotwire?
12 Способов Отладки и Диагностики FirmWare
В этом тексте перечислены основные способы отлаживать и диагностировать проекты на микроконтроллерах. Для аналогии буду каждому методу отладки метафорично приводить в соответствие аналогию из медицины
3CX StartUP — новый способ заработка партнеров
Здравствуйте!
В этой статье мы расскажем о нашем новом продукте, вернее, сервисе, который в ближайшее время откроет новый источник заработка для партнеров 3CX.
Сейчас на рынке систем связи для бизнеса возникла ситуация, когда небольшим компаниям на старте нужна предельно простая коммуникационная платформа, поддерживающая как обычные вызовы, так и сообщения, причем из разных мессенджеров. Конечно, 3CX уже давно предлагается в облаке, однако на рынке есть достаточно облачных АТС, реализованных как сервис “под ключ”. И эти системы конкурируют с 3CX, особенно в сегменте малого бизнеса.
Преимущество сервисов телефонии “под ключ” прежде всего в том, что для настройки телефонии не нужно привлекать квалифицированного IT-специалиста. А для запуска серверной 3CX все-таки нужно. Для малого бизнеса стоимость этих работ может быть избыточна. Кроме того, компании нужно заказать хостинг для 3CX или настроить собственный сервер. Ну а затем разобраться с подключением SIP-транков и IP-телефонов. В принципе, все это несложно для айтишника с опытом, но требует некоторого времени, и не очень понятно менеджменту компании. Еще один момент, из-за которого возникает недопонимание - модель лицензирования. Да, для системного администратора в крупном, динамичном, бизнесе лицензирование по одновременным вызовам - оптимальный вариант. Но небольшим компаниям легче понять лицензирование по пользователям (сотрудникам).
Почему следует отказаться от BPMN
Любой процесс, в том числе бизнес-процесс, всегда представляет собой непрерывную последовательность смены состояний определенной системы.
Бизнес процесс описывает смену состояний бизнес-системы.
Бизнес-система – это логическая система, элементы которой связаны между собой отношением причинно-следственной связи, реализуемой через функции.
Функции причинной связи являются свойствами бизнес-системы.
Люди – члены организации, реализующей бизнес-процесс, составляют управляющую систему по отношению к бизнес-системе.
Управляющая система, состоящая из людей, является физической системой, и ее нельзя смешивать с бизнес-системой, которая является логической.
В BPMN отношение причинности подменяется отношением временной последовательности, а функции подменяются физической характеристикой работы, выполняемой участниками управляющей системы, что является логической ошибкой, поэтому с помощью BPMN нельзя смоделировать свойства бизнес-системы и переходы между состояниями.
Программный комплекс – это логическая система.
С помощью свойств регистров и функций программного комплекса можно смоделировать отношения причинной связи, существующие между элементами бизнес-системы.
Для проектирования программного комплекса необходимо построить информационную модель бизнес-системы.
BPMN не позволяет построить информационную модель системы, а лишь создает правдоподобную на первый взгляд имитацию модели.
Использование BPMN в проектировании программных комплексов ведет к многочисленным логическим ошибкам, увеличению затраченного времени и ресурсов на создание программного комплекса.
Вместо BPMN и других графических нотаций бизнес-процессов для моделирования бизнес-систем лучше пользоваться такими понятиями как: информационный элемент, информационная совокупность, класс, атрибут, состояние, условие, функция.
Что такое гибридный смарт-контракт?
Гибридный смарт-контракт — это приложение, состоящее из двух частей:
1) Смарт-контракт — код, который работает исключительно на блокчейне
2) Децентрализованная сеть(и) оракулов — безопасные сервисы вне блокчейн, поддерживающие смарт-контракт.
Эти два компонента беспрепятственно и безопасно взаимодействуют друг с другом, образуя единое гибридное приложение смарт-контракта. В результате код на блокчейне дополняется множеством уникальных и важных способов, открывая множество новых вариантов использования, которые были бы невозможны только с помощью кода на блокчейн из-за технических, юридических или финансовых ограничений.
Важно отметить, что DON по-прежнему обеспечивают очень высокий уровень устойчивости к взлому и надежности, соответствующий гарантиям, предоставляемым смарт-контрактом, но они делают это в изолированной среде вне блокчейн с использованием множества различных подходов к безопасности.
Обработка изображений с помощью библиотеки Python Pillow
Данный туториал является переводом статьи, написанной Stephen Grupetta. Все изображения и коды скопированы без изменений. В конце вы найдете примечания относительно данной информации, а также ссылку на github с работающим кодом. Если код, приведенный автором не запускается, переходите в примечания и, возможно, сможете найти решение вашей ошибки.
Apache Superset. Первый взгляд на BI инструмент
В последнее время изучая вакансии на сайтах по поиску работы, все чаще стал отмечать, что помимо платных инструментов BI от кандидатов требуется знание еще бесплатных платформ. Мой предыдущий опыт работы по построению графической отчетности был связан исключительно с коммерческими продуктами, поэтому я решил выделить время на ознакомление с альтернативными решениями. Выбор Superset был случайным, так как я обратил внимание на него лишь потому, что он входит в экосистему Apache. Сразу хочу оговориться, что в данной заметке не будет сравнения Superset с платными инструментами. Такое сопоставление функционала просто некорректно из-за разных “весовых категорий”. Также я не буду выделять плюсы и минусы решения по сравнению с бесплатными аналогами, так как это очень дискуссионный вопрос. Неизбежно найдутся адепты того или иного продукта, которые будут доказывать ошибочность моих суждений. Поэтому я построил публикацию в форме простого описания “нюансов”, которые я выделил для себя, начав знакомство с Superset. Читатели же сами смогут сделать свои выводы.
Электронный пантограф Тима
Это вторая часть серии, посвящённой сборке инструментов на основе датчика Холла. Если первую часть вы не читали, то лучше будет начать с неё: Электронный циркуль Тима. В этом проекте я буду использовать уже не один, а два датчика 49E, каждый с парой магнитов, по тому же принципу, что и при сборке циркуля.
Spring Test Containers как бины
TestContainers это отличный инструмент, позволяющий тестировать свой код в prod-like окружении.
Однако трудности возникают когда появляется потребность провести сложное интеграционное тестирование используя несколько таких контейнеров, например, базы + очереди, нескольких очередей и т.д.
В этой статье мы разберём как подружить несколько контейнеров, особенно когда один контейнер использует такие настройки, которые генерирует второй контейнер во время своего старта.
Достигнем этого при помощи кастомизации тестового контекста + всеми любимого BeanFactoryBostProcessor'а.
Как я готовился и сдавал p3express
Всем привет! Меня зовут Артур и вот уже более трёх лет я жонглирую ролями Аналитика и Менеджера проектов. Мне посчастливилось стартовать в этой позиции в одной из самых близких мне сфер - переводы, а уже далее медленно, но верно я пробирался до IT сектора.
Со школьной поры я не был самым целеустремлённым падаваном, но как только мне удавалось найти что-то, что меня цепляло, то я в это достаточно быстро и глубоко нырял. Первым таким таргетом был английский язык, следом за ним были другие иностранные языки, а когда дело дошло до профессиональной сферы, то в бой пошли современные фреймворки и методологии.
И тут я расскажу немного подробнее о том как я изучал и готовился к сертификации по одному из таких фреймворков.
Интерпретация summary из statsmodels для линейной регрессии
Узнал я о линейной регрессии после того, как встретил деревья, нейронные сети. Когда мы с другом повторно изобретали велосипед, обучая с нуля word2vec и использовали логистическую регрессию с векторами из обученной модели для задачи NER – я активно кричал о том, что линейная регрессия – прошлый век, никому она уже совсем не нужна.
Да, проблема была в том, что я совсем не разобрался в вопросе и полез в бой. Но практику в универе нужно было как-то закрывать.
После семестра мат. статистики ко мне пришло прозрение.
Использование цвета в терминале
Я пишу небольшие скрипты для работы в программах-оболочках «Windows PowerShell» версии 5.1 и «PowerShell» версии 7 в операционной системе «Windows 10». Иногда тянет подсветить текстовый вывод в консоль разными цветами. В этой статье я хочу рассказать о паре грабель, на которые можно при этом наступить.
Поиск открытого API сайта или Ускоряем парсинг в 10 раз
Поиск открытого API сайта или Ускоряем парсинг в 10 раз
Цель статьи — описать алгоритм действий поиска открытого API сайта.
Целевая аудитория статьи — программисты, которым интересен парсинг и анализ уязвимостей сайтов.
В статье рассмотрим пример поиска API сайта edadeal.ru, познакомимся с протоколом google protobuf и сравним скорость различных подходов парсинга
Основы атак на Active Directory
По мере роста организации за счет увеличения числа сотрудников, необходимых для поддержки повседневных бизнес-функций, также увеличивается количество устройств, подключенных к сети организации. Несмотря на то, что организация небольшая, в сети очень мало пользователей и компьютеров, и не всегда требуется выделенная ИТ-команда. Самое главное, поскольку в небольшой компании очень мало пользователей, ИТ-специалист может легко создать локальную учетную запись пользователя в каждой системе для каждого сотрудника. Однако по мере увеличения количества пользователей и устройств до средних или крупных организаций создание локальных учетных записей для каждого пользователя на устройстве становится неэффективным.
Что-то пошло не так…
Google Play предлагает отпраздновать вместе с ним 10-ти летие, чтож…
1С Миссия невыполнима. Общие реквизиты разделители против временных таблиц
Механизм общих реквизитов разделителей 1С создает излишнюю\негативную нагрузку на структуру базы данных, но еще больше проблем доставляет при использовании временных таблиц.
.Net Microservices The Hardcore Way: туториал от инженеров Microsoft, получаем PROD опыт
Для тех кто хочет погрузиться в проектирование .Net микросервисов, Kubernetes, Azure и Azure DevOps процессы.
SwiftUI. Есть ли жизнь без NavigationView или пару слов о координаторе
В далекие – далекие времена, когда iOS была совсем маленькой, разработчики, гордо именуемые iOS-девелоперами, задумались о кастомизации навигационного стека. Не то что навигационный стек был плох – он отлично вписывался в картину мира Apple, но вот навигационная панель часто была «бельмом в глазу» для пользователей и дизайнеров. Поэтому разработчики применяли простой трюк – скрывали панель в приложении, а вместо нее показывали свою собственную панель, со своим собственным дизайном интерфейса, управляющие элементы которого были привязаны все к тем же методам push и pop доступных им из коробки.
Со временем, даже Apple поняли, что так дальше жить нельзя, выпустив iOS 7... Сколько негатива вылилось на головы разработчиков... Но те кто научился кастомизировать панель навигации, выбрались из тех мрачных времен весьма достойно.