Под рабами подразумевал ядра/сервера. Если правильно подсчитал, то в вашей задаче имели порядка 3.6Gb данных каждый час, последовательная обработка 1k сообщений на одном ядре занимает порядка 2-ух часов.
Решение IBM вполне себе оправдано, где найдешь на рынке труда 10 000 готовых сотрудников?
Все что касается IDE это все очень субъективно. Лично я GUI делаю в Eclipse CDT + Qt Designer, и лично для меня это намного удобней чем QtCreator. И знаю людей, для которых это удобно делать в Vim, Emacs, NetBeans, KDevelop, Code::Blocks.
Так, к примеру, работает утилита MIB Walk в составе Engineer's Toolset от SolarWinds, которая ту же «киску» с моего компьютера опрашивает 3,5 – 4 минуты
Из своего опыта разработчика систем мониторинга чую SNMPv1.
SNMPv1 появился в 1988 году, SNMPv2 в 1993. Устройств без SNMPv2/3 еще надо поискать.
Начиная с v2 появился GetBulkRequest(замена GetNext), с которым snmpbulkwalk работает на порядок быстрее snmpwalk.
Для этих целей есть QAbstractProxyModel.
В инженерных задачах обычно QAbstractItemModel является обёрткой вокруг структур данных/объектов из предметной области.
Если прокси-модель знает об этих структурах данных, то можно обойтись без перегонки данных через QVariant.
Если производительности не хватает, то можно в прокси-модель засунуть OpenMP
Может таблица, может идентификатор узла в списка или дерева.
А может это не идентификатор указывающий на ресурс, а некий объект. Принцип инкапсуляции и слоистая архитектура скрывают от меня эту информацию.
Из подобных примеров у нас есть std::lock_guard, который так же работает в RAII-стиле(забавно, там так же в пример приводят lock_guard).
Рано или поздно мы заметим, что большинство классов-обёрток незначительно отличаются друг от друга: как правило единственное отличие – это функция освобождения ресурса. Подобный подход провоцирует подверженное ошибкам повторное использование кода в стиле «копировать/вставить».
Логично параметризовать эту функцию, зачем копипастить?
С другой стороны, мы видим здесь отличную возможность для обобщения, которая подводит нас к следующему варианту – использованию умных указателей.
Что в имени тебе моем?(с) Пушкин А.С.
Берем сущность которая не является указателем, не имеет ничего с ним общего, и обобщаем до указателя. За что и поплатились:
Причина ошибки в приведённом примере – нарушение концепции NullablePointer типом Handle. Вкратце, модель концепции NullablePointer, должна являться объектом, поддерживающим семантику указателей, и в частности допускающим сравнение с nullptr. Наш Handle, определённый как синоним для int, не является таким объектом. Как следствие, мы не можем использовать std::unique_ptr, для вещей наподобие файловых дескрипторов POSIX или ресурсов OpenGL.
«создаем себе трудности и успешно их преодолеем»
Получили архитектурную ошибку.
Тогда пожалуйста правильно используйте термины. Понятие качество в том виде в каком представлено в вики можно увидеть у Роберта Гласса в «software conflict 2.0 The art and science of software engineering» и у Стива Макконнелла в «Code Complete».
Да, тестирование дает оценку надежности системы, но обеспечение качества это слишком объемная задача, что бы ее можно было выполнить исключительно путем тестирования.
Список показателей качества большой: понятность; полнота; краткость; портируемость; согласованность; сопровождаемость; тестируемость; удобство использования; надёжность; cтруктурированность; эффективность; безопасность. Не занимаемся ли мы изначально самообманом, считая что автоматезированное тестирование как-то повлияют на показатели качества?
Решение IBM вполне себе оправдано, где найдешь на рынке труда 10 000 готовых сотрудников?
Из своего опыта разработчика систем мониторинга чую SNMPv1.
SNMPv1 появился в 1988 году, SNMPv2 в 1993. Устройств без SNMPv2/3 еще надо поискать.
Начиная с v2 появился GetBulkRequest(замена GetNext), с которым snmpbulkwalk работает на порядок быстрее snmpwalk.
В инженерных задачах обычно QAbstractItemModel является обёрткой вокруг структур данных/объектов из предметной области.
Если прокси-модель знает об этих структурах данных, то можно обойтись без перегонки данных через QVariant.
Если производительности не хватает, то можно в прокси-модель засунуть OpenMP
А может это не идентификатор указывающий на ресурс, а некий объект. Принцип инкапсуляции и слоистая архитектура скрывают от меня эту информацию.
Из подобных примеров у нас есть std::lock_guard, который так же работает в RAII-стиле(забавно, там так же в пример приводят lock_guard).
Логично параметризовать эту функцию, зачем копипастить?
Что в имени тебе моем?(с) Пушкин А.С.
Берем сущность которая не является указателем, не имеет ничего с ним общего, и обобщаем до указателя. За что и поплатились:
«создаем себе трудности и успешно их преодолеем»
Получили архитектурную ошибку.
Есть слух, что купил ДМК Пресс
Аннотация к «Effective Modern C++» Скотта Майерса
Да, тестирование дает оценку надежности системы, но обеспечение качества это слишком объемная задача, что бы ее можно было выполнить исключительно путем тестирования.
обход был бы в порядке: bbb, aaa, а не в лексикографическом.
Парсер есть, но не всегда он удобен. Разработчики Boost.PropertyTree пошли на допущение:
Пишем SOAP-клиент на C++, используя gSOAP