All posts
Docker Advanced #6: Production Operations — graceful shutdown, healthcheck, restart
PID 1 signal handling, the precise SIGTERM graceful shutdown flow, where init and dumb-init fit, restart policies in depth, liveness vs. readiness — the small details that keep one container running steadily in production. The wrap-up of Docker Advanced.
K8s Intermediate #3: Ingress and Ingress Controller — The External Entry Point
[K8s Basics #5](/en/posts/k8s-basics-5) covered LoadBalancer as the standard external entry point, but when dozens of Services need external exposure, spinning up one cloud LoadBalancer per Service quickly inflates cost and management overhead. Routing by domain or path also can't be solved with a single LoadBalancer. This post follows the object that gathers that burden in one place — `Ingress` — and the Ingress Controller (nginx / Traefik / GKE Ingress / AWS ALB Controller) that turns those manifests into actual traffic, walking through the two-layer model, host/path-based routing, `pathType`, TLS termination, and `IngressClass` in one cycle.
Modern Python Advanced #1: Magic methods in depth and protocols
Every hook where Python objects integrate with language features — __call__, __getitem__, __hash__, __format__, __getattr__ — gathered in one place.
TypeScript + React in Practice #3: Typing hooks
How far to leave types to inference and when to be explicit for built-in hooks — useState, useReducer, useRef, useCallback, and useMemo.
Why You Stay Logged In — Cookies, Sessions, and Tokens
This post explains, without any code, why you stay logged in even as you move from page to page. Starting from the fact that the web doesn't remember you by default, it unpacks what cookies, sessions, and tokens each are.
Angular Intermediate #5: Standalone and Lazy Loading
Revisiting the dependency model of standalone components, then splitting routes lazily with loadComponent and loadChildren, plus build analysis and Preloading — all in one go.
AWS Intermediate #6: ALB / NLB and ACM (HTTPS)
AWS's managed load balancers — the differences between ALB, NLB, and GWLB; the Listener / Target Group / Health Check flow; and the operational pattern of issuing a cert with ACM and turning on HTTPS in one go.
Django Intermediate #5: Messages / Sessions / Cookies
Flash messages, sessions for state between requests, and the cookies beneath them — including security attributes like HttpOnly/Secure/SameSite, all in one place.
Docker Advanced #5: Resource Limits and cgroups
Container memory and CPU limits, diagnosing OOMKilled, how runtimes like the JVM and Node perceive container limits, and other isolation knobs like ulimit / pids. The exact behavior of limits running on cgroups v2.
K8s Intermediate #2: PV / PVC / StorageClass — The Persistent Data Model
Through [K8s Basics #6](/en/posts/k8s-basics-6) we pulled config and secrets out of the manifest into external objects, but one dimension remains — the data itself. The container filesystem disappears with the container, but DB data, user uploads, and metric time series have to outlive the Pod. This post fills that gap with the triangle of PersistentVolume, PersistentVolumeClaim, and StorageClass — static and dynamic provisioning, accessModes, reclaimPolicy, volumeBindingMode, and what StatefulSet's volumeClaimTemplates from [#1](/en/posts/k8s-intermediate-1) actually produces on top of all this.
Modern Python Intermediate #7: Async intro (asyncio)
Meaning of async/await, the event loop, asyncio.gather and TaskGroup, and mixing with sync code — a first step into asyncio in one place.
TypeScript + React in Practice #2: Typing props and children
How to define props types and how far to narrow them — optional props, union props, and children patterns. Real-world decisions you meet often.