All posts
Angular in Practice #6: Testing and Deployment — Wrapping the Track
The final post of the practice series. We fill the dashboard with tests, package it with Docker, deploy it to Cloudflare Pages, and run a full CI/CD cycle with GitHub Actions. Then we look back across all 27 posts of the Angular track.
AWS Certified Cloud Practitioner (CLF-C02) #8 Domain 4 Billing and Support — Pricing Models, Support Plans, TCO
The final CLF-C02 domain — Billing, Pricing, and Support (12%). The weight is small, but the question patterns are formulaic, so this is a domain you can take near-full marks on. We cover the four EC2 pricing models (On-Demand, Reserved, Savings Plans, Spot), the free tier, AWS Pricing Calculator and TCO Calculator, Cost Explorer, AWS Budgets, Cost and Usage Report, Consolidated Billing, the four Support Plan tiers (Basic, Developer, Business, Enterprise), and the check coverage of Trusted Advisor.
Django DRF #6: Testing and Deployment — Docker, gunicorn, nginx
Integration tests with APITestCase / APIClient / pytest-django / factory_boy, plus production deployment via Docker multi-stage + gunicorn + nginx + docker-compose.
K8s Practice #4: CI/CD Pipeline — GitHub Actions / ECR / ArgoCD
The `myshop-api` built in [#3](/en/posts/k8s-practice-3) still relies on manual steps whenever a new version is released. This post automates that process. GitHub Actions pushes container images to AWS ECR via OIDC without static keys, auto-commits Helm values in the manifest repo so the ArgoCD covered in [Advanced #6](/en/posts/k8s-advanced-6) can detect the change and sync to the cluster, and keeps PR approval gates, dev/prod branching, and canary deployment in one flow.
Python Testing #2 Fixtures: Injecting Setup and Teardown
How to inject test setup code with @pytest.fixture — yield teardown, scope trade-offs, sharing via conftest.py, and built-in fixtures like tmp_path.
RHEL in Practice #6 Wrapping Up the Track: A Reference Architecture
The final post of the RHEL in Practice track. We tie together the nginx web server, PostgreSQL, Podman containers, Cockpit/PCP monitoring, and Ansible automation covered across posts #1 through #5 into a single reference architecture, drawing the full picture of running one small web service on a single box. We also walk through an operations checklist covering persistence, SELinux, firewalld, backups, logging, permissions, and time sync, plus the learning path that leads on to the RHCSA and RHCE certifications.
Why a Site Suddenly Goes Down — Domains, DNS, and Certificates
This post explains, without any code, what domains, DNS, and SSL certificates are and why a site stops when they expire. It covers how typing an address reaches a site, and what happens when you miss a renewal, at a non-developer's level.
Angular in Practice #5: Charts and Data Tables
A dashboard is, in the end, about visualization. We build a data table with sorting, pagination, and search using Angular Material's MatTable, and draw sales and category charts with ng2-charts — turning our dashboard into a screen that actually "shows" something.
AWS Certified Cloud Practitioner (CLF-C02) #7 Domain 3-2 Core Services — Networking and Databases
The second half of Domain 3. Networking (VPC, subnets, Route 53, CloudFront, the four ELB types, VPN, Direct Connect, Global Accelerator), databases (RDS, Aurora, DynamoDB, ElastiCache, Redshift, DocumentDB, Neptune), and ops/management services (CloudWatch, CloudTrail, Trusted Advisor, Systems Manager, CloudFormation). The volume looks heavy, but it compresses into a single workload-to-service mapping table. #8 picks up with Domain 4, Billing and Support.
AWS in Practice #6: Cost Optimization and Dashboards — Wrapping Up the Track
Cost Explorer analysis, Savings Plans / Spot / Graviton, Right Sizing, tag enforcement and cost classification, the FinOps angle — and the wrap-up of 27 posts of AWS track converging into one system.
Django DRF #5: OpenAPI Docs — drf-spectacular
Auto-generate the OpenAPI 3.x schema / Swagger UI / ReDoc for a DRF API with drf-spectacular, and precisely specify responses, errors, and auth via decorators.
K8s Practice #3: DB Integration — RDS / Secrets Manager / External Secrets / Connection Pool
The `myshop-api` exposed in [#2](/en/posts/k8s-practice-2) is still an empty shell with no data store. This post organizes the flow of bringing up RDS PostgreSQL with Terraform, storing the master secret in AWS Secrets Manager, auto-syncing it into a K8s Secret with External Secrets Operator, accessing AWS without static credentials via IRSA, and adding PgBouncer as a connection pool. It also covers automating schema migration as a Job.