Blog Archives: Blog

Async and the Event Loop in Python: asyncio in Practice

Async and the Event Loop in Python: asyncio in Practice

Build a real async news aggregator step by step — fetching RSS feeds concurrently with aiohttp, the same code used in the Alfred open-source project. Each section adds one asyncio pattern: gather, TaskGroup, timeout, Semaphore, and format_news.

Continue Reading
Concurrency in Python: Threads, Processes, and the Event Loop

Concurrency in Python: Threads, Processes, and the Event Loop

Master Python concurrency: understand when to use threads, processes, or asyncio — and why the event loop became the backbone of modern high-throughput applications.

Continue Reading
Building a Database Layer in Python with SQLAlchemy ORM

Building a Database Layer in Python with SQLAlchemy ORM

Learn how to build a clean, transactional database layer in Python using SQLAlchemy ORM, a DatabaseSessionManager, DAO models, and the DAO vs DTO boundary inside a layered architecture.

Continue Reading
Building a Python CLI with Typer: The Modern Approach to the Command Pattern

Building a Python CLI with Typer: The Modern Approach to the Command Pattern

Typer brings Python type hints to CLI development — no decorators, no boilerplate, just annotated functions. See how it compares to argparse and Click on the same Task Manager CLI.

Continue Reading
Docker Image Best Practices

Docker Image Best Practices

A practical checklist for writing Dockerfiles that produce functional, lightweight, debuggable, and secure images — multi-stage builds, layer ordering, healthchecks, and more.

Continue Reading
Docker Security Best Practices

Docker Security Best Practices

Learn how to run Docker containers securely — non-root users, read-only filesystems, capability limits, secret management, and image vulnerability scanning.

Continue Reading
How Docker Compose Works

How Docker Compose Works

Learn how Docker Compose v2 works — define, build, and run multi-container applications with a single YAML file and a single command.

Continue Reading