Blog
-
gRPC Complete Guide | Protocol Buffers· Service Definitions
Build high-performance APIs with gRPC: Protocol Buffers, service definitions, Unary/Streaming RPC, Node.js and Go examples, errors, auth, and deployment.
-
PostgreSQL vs MySQL: Schema, Transactions, Queries &
PostgreSQL vs MySQL compared for schema flexibility, ACID, SQL features, replication, and ops—plus Node.js–friendly criteria to pick the right RDBMS.
-
React useMemo and useCallback: When They Pay Off
useMemo and useCallback in React: reference stability and expensive work — when to use them, how to avoid premature optimization, and how to verify.
-
Rust String vs str (&str) | Ownership· Slices
Compare Rust String and str: heap vs slice, borrowing vs ownership, function signatures, conversions, and common lifetime mistakes.
-
Core Web Vitals Optimization Checklist | LCP
Improve LCP with resource priority and images, stabilize CLS with dimensions and fonts, and reduce INP by shrinking main-thread work—field data.
-
C++ Copy Algorithms: std::copy, copy_if, copy_n,
Copy and move ranges safely in C++ with std::copy, copy_if, copy_n, copy_backward, and remove_copy. Hand-written copy loops work,
-
C++ Partition Algorithms: partition, stable_partition &
Split ranges with std::partition and stable_partition; find boundaries with partition_point and is_partitioned.
-
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.
-
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.
-
C++ Virtual Functions and vtables: How Dynamic Binding Works
How C++ virtual functions work under the hood: vtables, vptrs, static vs dynamic binding, override and final, pure virtual, object slicing.