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

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

QPluginLoader: основы динамической загрузки плагинов

Введение Плагин — это код, скомпилированный отдельно от основного приложения и загружаемый в него во время выполнения, а не на этапе компоновки. Это позволяет расширять функциональность приложения без…

Алгоритмы

Итоговый мини-проект: применение алгоритмов для оптимизации реального Qt-приложения

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

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

Шаблоны (templates) в C++ для начинающих: от функции до класса

Введение Шаблоны — это механизм обобщённого программирования в C++, позволяющий писать код, работающий с разными типами без дублирования. Вместо того чтобы писать отдельную функцию maxInt, maxDouble, maxString, можно…

CUDA

CUDA Unified Memory: упрощённое управление памятью CPU/GPU

Введение Традиционная модель CUDA требует явного управления двумя отдельными областями памяти — host (CPU) и device (GPU) — с явным копированием данных между ними. Unified Memory (управляемая память)…

Arduino

Итоговый мини-проект: умная панель доступа и журналирования событий (RFID + RTC + LCD + зуммер)

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

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

Статические vs динамические плагины в Qt: когда что выбрать

Введение Qt поддерживает два принципиально разных режима использования плагинов: динамические (классический случай — отдельные библиотеки, загружаемые в рантайме через QPluginLoader, разобранный в предыдущих статьях) и статические (плагин компилируется…

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

Концепты (concepts) в C++20: ограничение шаблонных параметров

Введение Одна из главных болей шаблонного программирования в C++ — нечитаемые сообщения об ошибках, когда шаблон используется с неподходящим типом. До C++20 единственным способом ограничить допустимые типы и…

QML

Тестирование QML-кода: Qt Quick Test на практике

Введение Логика, написанная непосредственно в QML и JavaScript (привязки свойств, обработчики событий, кастомные компоненты), нуждается в тестировании не меньше, чем код на C++, но QTest напрямую не предназначен…