Обновить
14
0
Косинцев Артём@Lantris

Инженер-программист

Отправить сообщение

Ошибки, которые не случились: C++ и compile‑time проверка SQL-запросов

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели2.9K

В этой статье мы посмотрим, как можно реализовать полную compile‑time валидацию SQL‑запросов на основе схемы базы данных, встраиваемой прямо в код. Без магии, без рантайма, без сторонних тулов. Только стандартный C++ и ваша структура БД. Валидация таблиц, столбцов, типов аргументов и их количества — всё на compile‑time.

Представьте, если бы компилятор сам указывал «такой таблицы нет», «несуществующий столбец», «несовместимые типы» — до запуска программы. Такой подход полностью устраняет «сюрпризы» во время исполнения и исключает класс ошибок, связанных с генерацией SQL во время работы программы. Ваша программа даже не соберётся.

Читать далее

Корутины в C++20: архитектура и практическое применение

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели6.4K

Корутины в C++20 открывают новые возможности для асинхронного программирования, но они также могут привести к ошибкам, связанным с управлением памятью и синхронизацией. Здесь о том, какие проблемы могут возникнуть и чего ожидать от будущих обновлений корутин в C++.

Читать далее

Senders/Receivers в C++26: от теории к практике

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели4.2K

Каждому C++-разработчику приходится решать задачи асинхронности — от сетевых запросов до фоновых вычислений. В этой статье вы увидите, как P2300-модель Senders/Receivers в C++26 расширяет возможности std::async/std::future и позволяет строить ясные, декларативные конвейеры (then, when_all, upon_error и др.).

Читать далее

RAII 2.0: RAII как архитектурный инструмент в C++

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели3.5K

Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы?

В этой статье я хочу поговорить о том, как RAII можно использовать для контроля жизненного цикла асинхронных операций, транзакций или подписок, гарантируя их корректное завершение или откат до прежнего состояния.

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность