Blog
-
Google Test for C++: From Setup to TEST, Fixtures, and CI
Complete C++ unit testing guide with Google Test: FetchContent and vcpkg setup, TEST and TEST_F, EXPECT vs ASSERT, parameterized tests, death tests, TDD...
-
C++ JSON Parsing: nlohmann/json, RapidJSON, Custom Types,
Parse REST APIs and config files in C++ safely: nlohmann/json vs RapidJSON, contains/value/at, to_json/from_json, parse_error and type_error.
-
C++20 Concepts | Making Template Error Messages Readable
C++20 Concepts: clearer errors than SFINAE/enable_if—standard concepts, requires clauses, overloads, and practical C++20 examples.
-
C++20 Coroutines — Complete Guide
C++20 coroutines from the ground up: co_yield generators, co_await async flow, promise_type, coroutine_handle, lifetimes, pitfalls, and production.
-
C++20 Modules — Complete Guide
C++20 modules: export/import, partitions, global fragments, GCC/Clang/MSVC, CMake 3.28+—parse once, reuse BMIs, faster builds than plain headers.
-
C++ Custom Ranges
C++ custom ranges: satisfy std::ranges::range with begin/end, iterators, adaptors, sentinels, view_interface, pitfalls, and production patterns.
-
C++ constexpr Functions and Variables: Compute at Compile
Master C++ constexpr: compile-time constants, constexpr functions, literal types, C++14/20 rules, if constexpr, consteval, lookup tables, and common.
-
Boost Libraries for C++: Asio, Filesystem, Regex, DateTime,
Complete Boost guide: Install with apt or vcpkg, use Boost.Asio for async I/O, Filesystem for portable paths, Regex for pattern matching, DateTime for c...
-
C++ std::chrono Guide — duration, time_point, Clocks &
Replace time() with std::chrono: duration, time_point, system_clock, steady_clock, duration_cast, benchmarks, timeouts, and log timestamps.
-
Boost.Asio Introduction: io_context, async_read,
Learn Asio async I/O for C++: io_context, async_read, async_write, async_accept, steady_timer, error_code handling, shared_ptr buffers, and strand basics.