https://www.gravatar.com/avatar/485df9434f4908b5f6fab0750c113972?s=240&d=mp

Han

Docker Tutorial Part 1: Basics

This is part of my Docker Basics series — introductory guides to help you get started with Docker, learn key concepts, and build your skills step by step. Part 1: Understanding Container Part 2: Basic Commands Part 3: Dockerfile Part 4: Networks Docker Fundamentals (Part 1) Software systems frequently exhibit environment-dependent behavior: dependency versions drift, filesystem paths diverge, and minor operating-system differences produce major failures. Containerization addresses this by packaging an application together with its runtime dependencies so that a single artifact executes consistently across development laptops, continuous-integration pipelines, and production clusters.

Docker Tutorial Part 2: Basic Commands

This is part of my Docker Basics series — introductory guides to help you get started with Docker, learn key concepts, and build your skills step by step. Part 1: Understanding Container Part 2: Basic Commands Part 3: Dockerfile Part 4: Networks Common Commands This is a no-frills cheat sheet for the Docker commands you’ll reach for most of the time, with tiny runnable examples you can copy/paste. The most common commands you can use are the following:

Docker Tutorial Part 3: Dockerfile

This is part of my Docker Basics series — introductory guides to help you get started with Docker, learn key concepts, and build your skills step by step. Part 1: Understanding Container Part 2: Basic Commands Part 3: Dockerfile Part 4: Networks Basic Commands A Dockerfile is essentially a text file with a predetermined structure that contains a set of instructions for building a Docker image. The instructions in the Dockerfile specify what base image to start with (for example, Ubuntu 20.

Docker Tutorial Part 4: Networks

This is part of my Docker Basics series — introductory guides to help you get started with Docker, learn key concepts, and build your skills step by step. Part 1: Understanding Container Part 2: Basic Commands Part 3: Dockerfile Part 4: Networks Docker Networking Docker offers four built-in network drivers: none, bridge, host, and overlay. Bridge (default): Creates an isolated, software-defined network. Containers on the same bridge get private IPs and can communicate with each other, while anything outside can’t reach them unless you explicitly publish ports.

Agentic AI with Pydantic-AI Part 1.

Introduction AI has already changed how we interact with technology. The real shift is happening now with agents: AI systems that can reason, make decisions, and take action. Unlike a chatbot that passively replies, an agent can break down complex tasks, call APIs or databases, use tools, and deliver structured results. This is what makes the idea of Agentic AI so powerful — it’s not just about conversation, it’s about problem-solving with initiative.

Clean Validation with Pydantic v2

📝 Update (2025-08): This post was originally published in April 2024 and has been updated to reflect changes in Pydantic v2, including the new field validator, model validator, and Annotated-based validation patterns. Also, this post now includes a new section on using Pydantic with MongoDB. Python’s dynamic typing system is indeed convenient, allowing you to create variables without explicitly declaring their types. While this flexibility can streamline development, it can also introduce unexpected behavior, particularly when handling data from external sources like APIs or user input.