Этот инструмент помогает следить за изменениями в папке и быстро дублировать изменённые файлы в резервное место
Что важно знать:
• Работает без сторонних библиотек;
• Копирует только изменённые файлы;
• Подходит для любых каталогов.
Простой способ защитить данные и иметь актуальную резервную копию
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4🔥3
Цветной вывод в консоли — яркие логи без библиотек!
Иногда нужно быстро подчеркнуть удачные и ошибочные ветки в логах. Достаточно встроенных ANSI-кодов — никаких внешних зависимостей!
Палитра базовых цветов (ANSI Escape)
Выводим сообщения разными цветами и не забываем сбрасывать стиль:
Работает на Linux / macOS «из коробки».
🔥 В Windows 10+ включите Virtual Terminal (
📣 C++ Ready | #практика
Иногда нужно быстро подчеркнуть удачные и ошибочные ветки в логах. Достаточно встроенных ANSI-кодов — никаких внешних зависимостей!
Палитра базовых цветов (ANSI Escape)
constexpr auto red = "\033[31m";
constexpr auto green = "\033[32m";
constexpr auto yellow = "\033[33m";
constexpr auto reset = "\033[0m";
// вернуть обычный цвет
Выводим сообщения разными цветами и не забываем сбрасывать стиль:
std::cout << green << "✔️ Всё прошло успешно" << reset << '\n';
std::cout << yellow << "… Загружаем данные" << reset << '\n';
std::cerr << red << "✖️ Ошибка подключения" << reset << '\n';
Работает на Linux / macOS «из коробки».
SetConsoleMode(h,ENABLE_VIRTUAL_TERMINAL_PROCESSING)) — и ANSI-краски будут доступны прямо в cmd / PowerShell.Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍4🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍7❤6👎3
❤5👍4🔥3
Сегодня покажу, как получать байты, задавать фиксированные размеры и передавать диапазоны в алгоритмы без лишних усилий.
Что важно знать:
• Байтный вид быстро;
• Фиксированная длина экономит;
• Легко сортировать напрямую.
Это продолжение прошлого гайда
— теперь
span раскроется на полную силу.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍6❤4
Асинхронное чтение файлов с std::async!
Иногда нужно загрузить сразу несколько больших файлов без блокировки основного потока — например, при подготовке ресурсов для приложения или анализа логов.
С
Вызовем чтение сразу двух файлов параллельно и дождёмся результата:
🔥 Таким образом вы распараллеливаете I/O-операции без явных потоков или сложных библиотек. Как только оба
📣 C++ Ready | #практика
Иногда нужно загрузить сразу несколько больших файлов без блокировки основного потока — например, при подготовке ресурсов для приложения или анализа логов.
С
std::async это делается парой строк и возвращающимся std::future.#include <fstream>
#include <future>
#include <string>
// Читает весь файл в строку
std::string readFile(const std::string& path) {
std::ifstream in(path);
return { std::istreambuf_iterator<char>(in), {} };
}
Вызовем чтение сразу двух файлов параллельно и дождёмся результата:
auto fut1 = std::async(std::launch::async, readFile, "config.json");
auto fut2 = std::async(std::launch::async, readFile, "data.log");
// Здесь можно выполнять другие задачи...
std::string config = fut1.get();
std::string logs = fut2.get();
🔥 Таким образом вы распараллеливаете I/O-операции без явных потоков или сложных библиотек. Как только оба
future будут готовы, вызов get() вернёт содержимое файлов.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤5🔥3
Позволяет мгновенно обновлять элементы и считать сумму на любом префиксе за логарифм времени.
Что важно знать:
• Хранит частичные куски;
• Обновляет несколько позиций;
• Быстро считает префиксы.
Дерево Фенвика удобно, просто реализуется и эффективно решает задачи с частыми обновлениями и запросами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤4👍4