Популярные статьи

Заметки по языку с и с++

Умные указатели в Qt-коде: когда QSharedPointer, а когда std::shared_ptr

Введение В проектах на Qt разработчик неизбежно сталкивается с выбором: использовать собственные умные указатели Qt (QSharedPointer, QScopedPointer, QPointer) или указатели стандартной библиотеки (std::shared_ptr, std::unique_ptr, std::weak_ptr). Исторически Qt появился…

CUDA

Интеграция CUDA-буферов с QImage/QPixmap для GPU-обработки изображений в Qt

Введение При построении Qt-приложений с GPU-ускоренной обработкой изображений (фильтры, свёртки, цветокоррекция) возникает задача эффективной передачи данных между CUDA-буферами на GPU и Qt-классами для отображения, такими как QImage. В…

DevOps

Автоматический запуск тестов в CI

Введение Основной цикл статей про тестирование и тема CI/CD соединяются здесь напрямую — автоматический запуск тестов при каждом изменении кода — одна из главных практических ценностей CI, превращающая…

DevOps

Статический анализ кода в CI: clang-tidy, cppcheck

Введение Тесты проверяют поведение кода во время выполнения — статический анализ исследует исходный код без его реального запуска, выявляя потенциальные ошибки, проблемы стиля, и небезопасные паттерны через анализ…

Система плагинов

Метаданные плагинов через JSON (Q_PLUGIN_METADATA) и поиск по ним

Введение Помимо самого IID интерфейса, плагин может нести произвольные дополнительные метаданные — версию, автора, список поддерживаемых форматов файлов, требования к окружению — через JSON-блок, встроенный непосредственно в Q_PLUGIN_METADATA.…

Готовые методы реализаций

Готовая реализация Singleton в Qt-стиле (потокобезопасный вариант)

Введение Singleton — один из самых обсуждаемых паттернов в программировании: его легко реализовать неправильно, и он часто подвергается критике за создание скрытых глобальных зависимостей. Тем не менее, для…

JSON

Валидация JSON по схеме (JSON Schema) в C++/Qt-проекте

Введение Когда приложение принимает JSON-данные из внешнего источника — REST API, конфигурационный файл, сообщение от другого сервиса — нужно убедиться, что структура данных соответствует ожиданиям, прежде чем пытаться…

Система плагинов

Hot-reload плагинов во время работы приложения

Введение Во время разработки плагина перезапуск всего основного приложения после каждого изменения кода плагина замедляет цикл разработки. Hot-reload — возможность выгрузить старую версию плагина и загрузить новую, пересобранную…