Blog
-
Flask Basics | Get Started with the Python Web Framework
Learn Flask from scratch: routes, Jinja2 templates, forms, JSON APIs, and sessions.
-
C++ Init-Capture — C++14 , Move, and unique_ptr Patterns
C++11 capture vs C++14 init-capture ([x=expr]): move semantics, unique_ptr, async patterns, and common lifetime mistakes with lambdas.
-
C++ string vs string_view: Fast, Non-Owning String Handling
std::string vs std::string_view: avoid copies in read-only APIs, allocation costs, lifetime rules, substring performance, and null-termination caveats.
-
Nginx Reverse Proxy Configuration for Node.js | SSL
Nginx reverse proxy for Node.js: upstream blocks, proxy headers, TLS with Let’s Encrypt, WebSocket upgrades, rate limits, and trust proxy.
-
C++ Default Arguments | 'Default Arguments' Guide
Default arguments allow optional parameters in a single function signature.
-
C++ set/unordered_set | 'Duplicate Removal' Complete Guide
set·unordered_set performance comparison, multiset, custom comparator·hash, practical set operations, iterator invalidation guide.
-
C++ Value Categories | lvalue, prvalue, xvalue Explained
C++ value categories: glvalues, prvalues, xvalues, reference binding, overload resolution, RVO interaction, and perfect forwarding.
-
Multer Complete Guide | File Upload Middleware for Node.js
Complete Multer guide for handling file uploads in Express.
-
C++ Buffer Overflows: Causes, Safe APIs, and Security Impact
Buffer overflows in C and C++: strcpy, memcpy, stack and heap corruption, ASan, strncpy vs string, bounds checks, and secure coding patterns.
-
C++ override & final: Virtual Overrides, Devirtualization,
C++ override and final: catching signature mistakes, sealing classes and virtual functions, devirtualization and performance notes, and practical.