Рубрика «C++20»

С++20 и асинхронный ввод-вывод для обработки крашей приложения

Каждый уважающий себя C+±разработчик однажды делал что-то неприличное в продуктовом коде: разыменовывал нулевой указатель, лез в чужую память, делил на ноль и/или переполнял знаковое целое.

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

Читать полностью »

Доверьтесь компилятору: C++23 против трюков из 90-х - 1

Разработчики на C++ с самого начала изучают догмы о производительности: быстрый обратный квадратный корень, XOR‑обмен, Читать полностью »

Меня зовут Самир, мне 16 и я хотел бы поделиться с вами одним из моих текущих проектов: Veo ( https://github.com/SamirShef/veolang ). Veo это системный язык программирования. Я хочу использовать его для написания своих программ в будущем. А ещё я разрабатываю его потому что мне интересны комплияторы и потому что мне нечего делать.

Читать полностью »

Небольшая предыстория

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

Через пару месяцев я вернулся к этой части системы и обнаружил, что вместо адаптации существующего решения появился классический Ctrl+C → Ctrl+V. В качестве сообщений использовался огромный std::variant, который передавался между потоками через Читать полностью »

Привет!

В этой статье я расскажу об эволюции моего проекта — GroupModerBot, бота для модерации Telegram‑групп. Я покажу, как проект прошел путь от первой версии «всё в одном файле» до продуманной архитектуры с ООП, in‑memory кэшированием, безопасным выполнением команд и нестандартными алгоритмами наказаний пользователей.

Предыстория

Читать полностью »

userver 3.0 — большой релиз фреймворка для IO‑bound‑программ, переход на C++20 - 1

Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. После большого релиза 🐙 userverЧитать полностью »

Обзор вайб-кода

Обзор вайб-кода

Читать полностью »

Привет! Меня зовут Aloncie. Пока в моем окружении часто спорят о том, какой язык программирования учить первым, я решил не выбирать легких путей и закопаться в «кишки» системного программирования.

Мой проект Rwal — это CLI-утилита (с перспективой перехода на GUI) для управления обоями, которая должна одинаково хорошо чувствовать себя в разных окружениях: от KDE и GNOME до Windows. В этой статье я подробно разберу архитектуру проекта, работу с D-Bus, интеграцию со стандартами C++20 и то, как я организовал сборку.

Архитектура: Абстракция над рабочим столом

Читать полностью »

Компилятор C в compile-time - 1

Если кратко, то цель: компилятор некоторого подмножества языка Си на C++, который работает в compile-time. Компиляция будет происходить в кастомный байт-код для дальнейшего выполнения в ВМ уже в рантайме.

Читать полностью »

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

А в новом движке нужно обязательно сделать сеть, а чтобы вообще круто было - нужно сделать её сделать на основе корутин из C++ 20.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js