Blog
-
Asio Deadlock Debugging: Async Callbacks, Locks, and Strands
Hidden deadlocks in Boost.Asio: mutex + condition_variable with async completion, lock ordering, and fixes with strands, std::lock, and thread dumps.
-
C++ Query Optimization Guide | Index Selection· Plans
C++ query optimization: index selection, EXPLAIN plans, statistics, cost models, and production patterns [#49-3].
-
C++ Advanced Profiling Guide | perf· gprof
When your multithreaded C++ game server burns 60% CPU and you cannot find the bottleneck: perf, gprof, Valgrind, VTune, Tracy, flame graphs, cache misses.
-
C++ vcpkg Basics: Complete Guide | Install· Manifest
Hands-on C++ vcpkg primer: install, Manifest mode, triplets, versioning, custom overlay ports, CMake toolchain, and common errors—reproducible builds.
-
C++ Conan Basics — Install, conanfile, Profiles, CMake
Conan 2.x for C++: install, conanfile.txt/py, profiles, remotes, CMake toolchain, package basics, errors, CI, and reproducible builds.
-
C++ Build Systems Compared: CMake, Meson, Bazel, Makefile,
Practical comparison of C++ build systems: CMake, Meson, Bazel, and Makefile, plus vcpkg vs Conan—trade-offs, errors, migration, and CI patterns.
-
C++ static Members: Static Data, Static Functions,
Class static members shared by all instances: declaration vs definition, ODR, thread safety, singletons, factories, and C++17 inline static in headers.
-
C++ map vs unordered_map: When to Use Each and How They Work
Master C++ std::map and std::unordered_map: ordered vs hash-based lookup, iterator invalidation, operator[] pitfalls, custom keys, erase-while-iterate, ...
-
C++ this Pointer: Chaining, const Methods, Lambdas, and CRTP
The implicit this pointer in non-static member functions: disambiguation, method chaining, self-assignment checks, lambda captures.
-
C++ Value Initialization | Empty {} and ()
Value initialization uses empty () or {}. Scalars become zero-like; classes call the default constructor.