All posts
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
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
AUTH_USER_MODEL must be decided at project start — AbstractUser vs AbstractBaseUser, the email-login pattern, and the permission/group system.
Docker Advanced #4: SBOM and Signing — The Entry to Supply Chain Security
Make a machine-readable bill of materials (SBOM) of what is in this image, and verify who built it with a cosign signature. The supply chain security toolkit that became standard after the xz incident.
K8s Intermediate #1: StatefulSet / DaemonSet / Job / CronJob — Controllers Beyond Deployment
The [Deployment](/en/posts/k8s-basics-4) from K8s Basics #4 sits on a stateless model — multiple identical Pods that come back the same way when they die. But databases that need identity and disks, agents that need exactly one per node, migrations that should run once, daily backups — none of these fit Deployment. This post covers the four controllers that fill those gaps in one pass: StatefulSet, DaemonSet, Job, CronJob.
Modern Python Intermediate #6: Pattern matching in depth
The next step from basics match-case — class patterns and __match_args__, sequence/mapping patterns, captures and guards, plus anti-patterns.
RHEL Intermediate #6: Job Scheduling — cron, systemd timer, at
Four tools for running time-based tasks in RHEL 9, from an operational perspective. Traditional cron and user crontab, anacron that catches up missed jobs when the machine was off, at for one-shot scheduling, and systemd timer as the modern replacement for cron — with a guide on which tool to use in which situation.
TypeScript + React in Practice #1: Getting Started and Setup
Why use TypeScript with React, plus building a React + TS project with Vite and adding types to your first component — all in one go.
Angular Intermediate #3: RxJS Basics — Observable and Operators
The core concepts of RxJS, Angular's standard async toolkit. The shape of Observable, the operators you'll reach for most often, Subject and BehaviorSubject, and how it all relates to signals.
AWS Intermediate #4: RDS — managed DB, backups, parameter groups
AWS's managed relational database, RDS. Comparison vs DB-on-EC2, automated backups and snapshots and PITR, Multi-AZ, parameter / option groups, and how to handle minor vs major upgrades operationally.
Django Intermediate #3: Signals and Middleware
Events outside the model flow — Signals — and Middleware that crosses the request/response pipeline. Where to use these two powerful but trap-laden tools, and how to use them sparingly.
Docker Advanced #3: Image Security — non-root, distroless, Trivy Scans
A practical toolkit for container security. Dropping to a non-root USER, read-only root with tmpfs, dropping capabilities, narrowing the attack surface with distroless, scanning known CVEs with Trivy/Grype, and linting Dockerfiles with hadolint.