All posts

TypeScript + React in Practice #3: Typing hooks
4 min read

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
6 min read

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
10 min read

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)
10 min read

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
7 min read

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
8 min read

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
18 min read

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)
3 min read

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
3 min read

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.

Angular Intermediate #4: Component Lifecycle Hooks
8 min read

Angular Intermediate #4: Component Lifecycle Hooks

How an Angular component is born and torn down, and the lifecycle hooks where you can step in. ngOnInit, ngOnChanges, DestroyRef, and effect() in the Signals era.

AWS Intermediate #5: Route 53 — domains and DNS
9 min read

AWS Intermediate #5: Route 53 — domains and DNS

AWS's managed DNS, Route 53. Domain registration and Hosted Zones, the difference between A / AAAA / CNAME / Alias records, and Simple / Failover / Latency / Geolocation routing policies.

Django Intermediate #4: Users/Permissions — custom user model, permission, group
7 min read

Django Intermediate #4: Users/Permissions — custom user model, permission, group

AUTH_USER_MODEL must be decided at project start — AbstractUser vs AbstractBaseUser, the email-login pattern, and the permission/group system.