Рубрика «Анализ и проектирование систем» - 142

Чистое и грязное тестовые окружения

Доброе время суток! В этом посте я бы хотел рассказать о тестовых окружениях, что такое чистое и грязное окружение, какие тесты в них выполняются и какие задачи достигаются. Если вы не равнодушны к этим вопросам, добро пожаловать под кат.
Читать полностью »

Введение

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

В этой статье я расскажу о следующем:

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

Читать полностью »

Сценарии интеграции с Apache Camel

Перетягивание «Верблюда» или интеграция средствами Camel. Часть 2
Сколько вы знаете шаблонов интеграции приложений(EIP)? Сколько из них вы можете использовать?

Симпатичный «верблюд» снова здесь, а значит, представляю вам продолжение серии статей об Apache Camel. В этой статье найдутся как самые необходимые, так и очень любопытные шаблоны интеграции. Расскажу о том, как они ложатся на нашу интеграцию.

Если вы знакомы с шаблонами, но решаете стоит ли связываться с «верблюдом», то наши примеры помогут разобраться. Если вам интересен путь от сценариев использования к реализации интеграции, то эта статья как раз об этом. Прошу под кат.
Читать полностью »

ФИАС или КЛАДР: выбираем справочник адресов
1 июля 2014 года произошло одно из самых значимых событий в истории государства Российского: с этого момента у нас в стране наконец появилась эталонная база адресов по всем, даже самым малым населённым пунктам! Имя этой базе — ФИАС. Собственно, сам по себе справочник ФИАС появился гораздо раньше, но именно 1 июля вступил в силу ФЗ 443, согласно которому все государственные и муниципальные структуры теперь должны опираться на него как на единственно верную базу адресов. Мы решили исследовать, стоит ли переходить на ФИАС, и с какими подводными камнями столкнутся те, кто решит это делать.

Прочитав статью, вы узнаете:

  • Чем отличается ФИАС от КЛАДР
  • Можно ли уже использовать ФИАС вместо КЛАДР
  • Стоит ли беспокоится о переходе на ФИАС тем, кто уже работает с КЛАДР
  • Решит ли ФИАС текущие проблемы с адресами
  • Что ждёт тех, кто только начинает использовать адресные справочники
  • Какие есть самые заметные и важные проблемы при работе с ФИАС и КЛАДР

Читать полностью »

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

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

Итак, что-же такого было разработано что мне захотелось создать собственную мини WebSCADA:

1. Корпорация OPC Foundation выпустила новый протокол OPC UA (ОРС Unified Architecture) взамен устаревшего OPC DA.
2. Появился протокол полнодуплесных соединений в Интернет — WebSocket.
Читать полностью »

image

Здравствуйте, читатели!

Прочитав здесь о сравнении смс-сервисов для рассылок, мы решили рассказать вам о своем опыте построении подобной системы, которая верой и правдой служит нам в i-Free несколько лет и постоянно дорабатывается и совершенствуется. Надеемся, наш опыт будет вам полезен. В общем, тем, кому интересно, прошу под кат.
Читать полностью »

Метапрограммирование (с примерами на JavaScript)Эта статья, еще одна попытка переосмысления метапрограммирования, которые я периодически предпринимаю. Идея каждый раз уточняется, но в этот раз удалось подобрать достаточно простых и понятных примеров, которые одновременно очень компактны и иллюстративны, имеют реальное полезное применение и не тянут за собой библиотек и зависимостей. В момент публикации я буду докладывать эту тему на ОдессаJS, поэтому, статью можно использовать, как место для вопросов и комментариев к докладу. Формат статьи дает возможность более полно изложить материал, чем в докладе, слушатели которого, не освобождаются от прочтения.

Популярное понимание метапрограммирования обычно очень размытое, и чаще всего, заканчивается такими вариантами:

  • Шаблоны и макросы, используемые при компиляции
  • Программа, которая изменяет саму себя
  • Программа, генерирующая другую программу

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

Читать полностью »

Эта статья — краткий пересказ невероятно интересного доклада Скотта Майерса для тех, у кого нет 70 минут на весь доклад, но есть 7 минут на основные тезисы.

Некоторые люди, которые не пишут на С++, а лишь слышали об этом языке, задаются вопросом: «Почему вообще кто-то пишет на C++?». Но есть люди, которые используют С++ каждый день, и вот эти люди задаются вопросом: «А действительно, почему я пишу на этом языке?».

Почему Ваза утонул, а С++ всё ещё на плавуНо ведь действительно, должна быть какая-то причина, по которой люди пишут программы на С++. Давайте вернемся в начало 90-ых, когда проходила стандартизация С++. Была предложена масса идей. Предложений было столько и они были настолько разные, что мне запомнилась цитата Джима Вальдо, который тогда работал в комитете по стандартизации: «Каждый, предлагающий добавить что-то в С++ должен приложить к заявке свою почку. Тогда никто не предложит больше двух идей, а к выбору этих двух он подойдёт невероятно ответственно.»

Язык, который был бы получен в результате принятия всех предложений, выходил слишком сложным и тогда Бьёрн Страуструп сказал «А помните Ваза?». Никто, кроме людей из Швеции, не понял о чём речь. Ваза был огромным боевым кораблём, построенным в Швеции в 1625 году. Основным принципом постройки корабля было «А почему бы нам не добавить сюда ещё и вот такую фичу?». Многие из идей исходили непосредственно от короля, в частности он лично утверждал размеры корабля. Также на Ваза по указаниям свыше требовалось нацепить огромное количество элементов украшения, резьбы, большое количество пушек и т.д. А королю ведь не откажешь. Итог был закономерным — из-за ошибок в конструировании Ваза затонул в первом же рейсе, едва выйдя из бухты.
Читать полностью »

Написано уже немало про обработку исключений в C#, написано хорошо и местами подробно, но я попытаюсь внести свою скромную лепту в этот вопрос. Данная статья является просто некой попыткой лучше осмыслить и систематизировать в рамках одной, пусть даже очень условной концепции возможные подходы к проблеме. Хорошая практика обработки исключений, на мой взгляд, освещена довольно скудно и не создает целостной завершенной картины, когда, как и где работать с исключительными ситуациями в коде.
Читать полностью »

На идею этой статьи меня натолкнула реклама на Youtube. В очередной раз, когда я включал ребёнку мультфильм «про мамонтёнка», Youtube решил порадовать нас перед этим самым мультфильмом рекламой какого-то кинофильма с кадрами убийств и насилия (16+). Данный подход хорошо тренирует скорость и реакцию родителей — нужно успеть нажать «Skip Ad», как только это становится возможным. В результате я, как потенциальный потребитель, не почувствовал всей прелести рекламируемого в ролике продукта — рекламная компания провалилась, рекламодатель терпит потенциальные убытки.
Попробуем совместно разобраться как современные технологии могут улучшить эту ситуацию. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js