Docker Tutorial #2: How to Install Docker (Desktop + Engine)

Before you can run any containers, you need to install Docker. This tutorial covers every installation option: Docker Desktop for macOS and Windows, and Docker Engine for Linux servers. Last updated: June 2026. Docker pricing and features change frequently. Always check docker.com/pricing for the latest information. Docker Desktop vs Docker Engine There are two main ways to run Docker: Docker Desktop is a GUI application for macOS and Windows. It includes Docker Engine, Docker CLI, Docker Compose, built-in Kubernetes, and a visual dashboard. It is the easiest way to get started. ...

June 18, 2026 · 5 min

Docker Tutorial #1: What is Docker? Containers vs VMs Explained

Docker is the most popular containerization tool in the world. According to the 2025 Stack Overflow Developer Survey, Docker is one of the most widely used tools among professional developers, with usage continuing to grow year-over-year. But what is Docker? And how is it different from a virtual machine? In this tutorial, you will learn what Docker is, how containers work, and why developers use Docker for everything from local development to production deployments. ...

June 17, 2026 · 6 min

How DNS Actually Works — From Domain Name to IP Address

Every time you type a web address and press Enter, a hidden lookup runs before the page even starts loading. Your computer does not know where the website lives. It only knows its name. This post explains exactly how DNS turns that name into a number your computer can connect to. In simple steps. The Problem: Names vs Numbers Every device on the internet is reached by an IP address — a number like 142.250.72.196. Routers move traffic using these numbers, not words. ...

June 17, 2026 · 4 min

DevTools Capstone: Building and Deploying a Full-Stack App with Git, Docker, and SQL

This is the final article in the DevTools series. In the previous 17 articles, you learned Git, Docker, and SQL separately. Now you will use all three together to build and deploy a real project. We will build a simple task management API with a PostgreSQL database. You will set up a Git repository with feature branches, write the API, Dockerize everything, add a CI/CD pipeline with GitHub Actions, and deploy it to a server. ...

June 16, 2026 · 15 min

SQL Tutorial #7: PostgreSQL Setup — A Real Database for Real Projects

You have been practicing with SQLite. It is great for learning. But for real projects, you need a real database. PostgreSQL (often called “Postgres”) is the most popular open-source relational database. It is used by companies of all sizes, from startups to enterprises. In this article, you will set it up, connect to it, and learn its unique features. In the previous article, you learned about indexes and performance. Now you will put everything together with a production-ready database. ...

June 16, 2026 · 12 min

SQL Tutorial #6: Indexes and Performance — Making Queries Fast

Your queries work. But they are slow. A simple SELECT takes seconds instead of milliseconds. On a table with millions of rows, it could take minutes. The fix is almost always the same: add an index. In the previous article, you learned about window functions. Now you will learn how to make all your queries run fast. What Is an Index? Think of a book’s index at the back. If you want to find “window functions” in a 500-page book, you have two options: ...

June 16, 2026 · 10 min

SQL Tutorial #5: Window Functions — Analytics Without GROUP BY

GROUP BY is great for summaries. But it collapses your rows. You get one row per group. What if you want the summary and the individual rows at the same time? That is what window functions do. They calculate across rows without removing any of them. In the previous article, you learned about aggregation and subqueries. Window functions are the next level. What Are Window Functions? A window function performs a calculation across a set of rows that are related to the current row. This set of rows is called a window. ...

June 15, 2026 · 11 min

SQL Tutorial #4: Aggregation and Subqueries — Summarizing Data

You know how to get individual rows. But what if you need answers like “How many books did we sell?” or “What is the average book price?” That is where aggregation comes in. In the previous article, you learned how to combine tables with JOINs. Now you will learn how to summarize data across many rows into a single answer. Aggregate Functions Aggregate functions take many rows and return a single value. ...

June 15, 2026 · 10 min

SQL Tutorial #3: JOINs — Combining Data from Multiple Tables

So far, you have worked with one table at a time. But real databases have many tables, and the interesting answers come from combining them. In the previous article, you learned how to add and modify data. Now you will learn how to pull data from multiple tables at once using JOINs. Why Tables Are Related In our bookstore database, we have separate tables for books and authors. Why not put everything in one table? ...

June 15, 2026 · 12 min

How HTTPS Actually Works — The TLS Handshake, Explained Simply

Every time you see the padlock in your browser, two computers perform a secret handshake. They agree on a secret key — without ever sending that key across the internet. And your browser checks that the server really is who it claims to be. This post explains exactly how that works: HTTPS, the TLS handshake, keys, and certificates. In simple steps. The Problem: Plain HTTP Is Readable HTTP sends everything as plain text. Your password, your messages, your card number — all of it. ...

June 14, 2026 · 5 min