All posts

TypeScript + React in Practice #5: Context and generic components
3 min read

TypeScript + React in Practice #5: Context and generic components

Type-argument patterns for createContext, a safe useContext helper, and how to build reusable List/Select-like components with generic components.

Angular Intermediate #7: Testing — TestBed and Component Tests
10 min read

Angular Intermediate #7: Testing — TestBed and Component Tests

Verifying Services and components with Angular's standard test environment, TestBed, plus mock injection, the HttpTestingController pattern, and ComponentHarness.

AWS Advanced #1: ECS and Fargate — Container Deployment
13 min read

AWS Advanced #1: ECS and Fargate — Container Deployment

ECS and where it fits (vs EKS), the four pieces (Cluster / Service / Task / Task Definition), EC2 launch type vs Fargate, hooking up ALB / VPC, and your first container deployment — how to put a container on AWS, end to end.

Django Intermediate #7: Testing — Django TestCase, fixtures, pytest-django
8 min read

Django Intermediate #7: Testing — Django TestCase, fixtures, pytest-django

TestCase and Client, fixtures vs factory_boy, the fixture model of pytest-django — Django ecosystem testing tools, all in one place.

Docker in Practice #1: Containerizing FastAPI — uv, Multi-stage, non-root
8 min read

Docker in Practice #1: Containerizing FastAPI — uv, Multi-stage, non-root

First post of the practice series. Containerizing the most common scenario — a FastAPI app. Slim base on uv, multi-stage to separate build from runtime deps, a non-root user, and HEALTHCHECK — in a shape that goes straight to production.

K8s Intermediate #4: resources.requests / limits — Pod Resource Requests and Limits
17 min read

K8s Intermediate #4: resources.requests / limits — Pod Resource Requests and Limits

[#3](/en/posts/k8s-intermediate-3) covered the path of external traffic into the cluster. This post moves the viewpoint back inside the Pod — the model of how a container requests and is limited on CPU and memory. `resources.requests` is what the scheduler sees when picking a node; `resources.limits` is the runtime cap kubelet enforces. This post walks through the separation of the two, QoS classes (Guaranteed / Burstable / BestEffort), the difference between CPU throttling and OOMKilled, JVM/Go runtime cgroup awareness, and the pattern of setting namespace defaults via `LimitRange` — all in one cycle.

Modern Python Advanced #2: Descriptors and __set_name__
3 min read

Modern Python Advanced #2: Descriptors and __set_name__

How property works — the __get__/__set__ protocol and data/non-data descriptors, and clean validation fields with __set_name__.

RHEL Intermediate #7: Intro to Containers — Podman/Buildah/Skopeo
11 min read

RHEL Intermediate #7: Intro to Containers — Podman/Buildah/Skopeo

RHEL 9's container standard is Podman. This post looks at how it uses nearly the same commands as Docker while running without a daemon, defaulting to rootless mode, and integrating naturally with systemd — all from an operational perspective. Also covered: building images with Buildah and moving them between registries with Skopeo.

TypeScript + React in Practice #4: Typing events and forms
3 min read

TypeScript + React in Practice #4: Typing events and forms

What types to use for React event objects and how to type controlled/uncontrolled forms in TypeScript — with practical patterns.

Angular Intermediate #6: Guards and Resolvers
9 min read

Angular Intermediate #6: Guards and Resolvers

Angular's Guards and Resolvers — tools that intercept the flow before a route is entered. Function-based canActivate, canMatch, canDeactivate, plus Resolvers that pre-fetch data.

AWS Intermediate #7: CloudFront for static site delivery
10 min read

AWS Intermediate #7: CloudFront for static site delivery

AWS's global CDN, CloudFront. The Origin / Behavior / Cache Policy flow, the S3 + CloudFront static-hosting pattern, how OAC fronts S3 safely, and the operational side of invalidations.

Django Intermediate #6: Static/Media Operations and Storage Backends
8 min read

Django Intermediate #6: Static/Media Operations and Storage Backends

The difference between STATIC_* and MEDIA_*, the meaning of collectstatic, and storage backends like S3/WhiteNoise — the place where development crosses over to production.