Различные статьи по Qt и c++ 82

Различные статьи по Qt и c++

Базовое логирование: уровни, формат вывода, sinks (консоль, файл)

Введение С подключённым spdlog (статья 334) разберём основной рабочий процесс — уровни логирования, настройку формата сообщений, и несколько одновременных приёмников (sinks) вывода, позволяющих, например, писать подробные debug-сообщения в…

Различные статьи по Qt и c++

Ротация логов и асинхронное логирование с spdlog

Введение Простой файловый sink из статьи 335 будет расти неограниченно, что для долго работающего сервиса со временем создаёт файлы логов огромного размера. В статье разберём ротацию (автоматическое разбиение…

Различные статьи по Qt и c++

fmt: безопасное и быстрое форматирование строк вместо QString::arg/sprintf

Введение Помимо использования внутри spdlog, fmt можно применять самостоятельно как замену QString::arg()/sprintf в любом месте кода, где требуется построение форматированных строк — не только для логирования. В статье…

Различные статьи по Qt и c++

Интеграция spdlog с категориями логирования Qt (qDebug/qWarning -> spdlog)

Введение Для проекта, уже широко использующего qDebug()/qWarning()/категории логирования Qt (QLoggingCategory), полный переход на прямые вызовы spdlog во всём коде может быть слишком трудоёмким. В статье разберём промежуточное решение…

Различные статьи по Qt и c++

Структурированное логирование и кастомные форматтеры для собственных типов

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

Различные статьи по Qt и c++

Производительность: сравнение spdlog/fmt с qDebug и std::cout, советы по продакшен-конфигурации

Введение В заключительной статье цикла подведём практический итог — сравним производительность spdlog/fmt с qDebug()/std::cout на типичных сценариях, и соберём рекомендации по конфигурации логирования для production-окружения, основанные на темах,…

Различные статьи по Qt и c++

Хеширование: SHA-256/MD5 через QCryptographicHash, соль и медленные хеши для паролей (bcrypt/Argon2)

Введение Хеширование — основа множества задач: проверка целостности файлов, идентификация дублирующихся данных, и (с важными оговорками, разбираемыми ниже) хранение паролей. В статье разберём QCryptographicHash для общего хеширования и…

Различные статьи по Qt и c++

Симметричное шифрование: AES через OpenSSL EVP API в Qt-приложении

Введение Симметричное шифрование использует один и тот же ключ для шифрования и расшифровки данных — в статье разберём AES (Advanced Encryption Standard), наиболее распространённый современный алгоритм симметричного шифрования,…

Различные статьи по Qt и c++

Асимметричное шифрование: RSA, генерация ключей, шифрование/расшифровка

Введение Симметричное шифрование (статья 373) требует, чтобы обе стороны заранее владели одним и тем же секретным ключом — асимметричное шифрование решает проблему первоначального безопасного обмена этим ключом через…