FastAPI Day 1: FastAPI Exists Because WSGI Couldn’t Scale Modern APIs
Day 1: FastAPI Exists Because WSGI Couldn’t Scale Modern APIs You think FastAPI became popular because it is “fast.” That is not the real reason. FastAPI exists because the old Python web architecture was reaching its limits. To understand FastAPI, you first need to understand the problem it was trying to solve. Before FastAPI: The WSGI World For years, Python web applications were built using: Flask Django Pyramid Most of them relied on something called: ...
Python Day 1: Python Is Not Running Your Code (Execution Model Deep Dive)
You write Python. But Python is not executing your code the way you think. Today, you stop treating Python as magic. Today’s Goal By the end of today, you will: Understand how Python executes your code Learn what happens between .py to execution Build a mental model of the Python interpreter The Illusion You write: x = 10 y = x + 5 print(y) You assume: Python reads this line by line and runs it That assumption is wrong. ...
FastAPI Day 2: ASGI Changed Everything — Understanding Event Loops & Concurrent Requests
Day 2: ASGI Changed Everything — Understanding Event Loops & Concurrent Requests Most developers learn async backwards. They start with: async def hello(): without understanding: what problem async solves why event loops exist what concurrency actually means FastAPI only makes sense once you understand the engine underneath it. And that engine is ASGI. The Real Problem Was Never Speed This is the first mental model to fix. Async is not primarily about making your code execute faster. ...
Python Day 2: Variables Don't Store Values (Python Memory Model)
If you think x = 10 means “x stores 10”… you are already misunderstanding Python. Today, we fix that. Today’s Goal By the end of today, you will: Understand how Python stores data in memory Learn references vs values Understand mutability Avoid hidden bugs The Illusion You write: x = 10 y = x You think: x and y both store 10 Wrong. What Actually Happens Memory: [10] ← object x ─────┐ ├──→ [10] y ─────┘ Variables do not store values. They store references to objects. ...
Python Day 3: Your Data Structures Are Not What You Think (Lists, Tuples, Sets Internals)
You think a list is just a collection of items. It is not. It is a memory-managed structure with real trade-offs. Today, you stop using data structures blindly. Today’s Goal By the end of today, you will: Understand how lists, tuples, and sets work internally Learn time and space complexity Choose the right structure based on behavior and cost The Illusion data = [1, 2, 3] You think this stores values. Reality: [ ptr | ptr | ptr ] -> references to objects A list stores references, not values. ...
Python Day 4: Dictionaries Are Magic (Until They Aren’t) — Hashing & Collisions
You think dictionary lookup is always O(1). That’s only half the story. Today, you understand how dictionaries actually work. Today’s Goal By the end of today, you will: Understand how dictionaries store data Learn how hashing works Understand collisions and their impact Know when O(1) breaks down The Illusion user = { "name": "John", "age": 30 } You think: This is just key-value storage Reality: This is a highly optimized hash table Dictionary Internal Model key -> hash(key) -> index -> slot -> value Dictionary does NOT scan all keys. It jumps directly using hash. ...
Python Day 5: Your Function Calls Are Not Free — Call Stack & Execution Flow
You think calling a function is cheap. It isn’t. Every function call has a cost. Today, you understand what actually happens when Python executes functions. Today’s Goal By the end of today, you will: Understand how function calls work internally Learn what a call stack is Visualize execution flow Understand performance impact of function calls The Illusion def add(a, b): return a + b add(2, 3) You think: Python just jumps into the function Reality: ...
Python Day 6: Imports Are Not Just Includes — Module System & Execution
You think import just brings code into your file. It does much more than that. Today, you understand how Python loads, initializes, and caches modules. Today’s Goal By the end of today, you will: Understand how Python resolves imports Learn module execution model Understand import caching Avoid common import pitfalls The Illusion import math You think: Python just loads math Reality: Python searches, loads, compiles (if needed), executes, and caches the module ...
Python Day 7: Errors Are Not Failures — Exception Handling & Control Flow
You think errors stop your program. In Python, they are part of control flow. Today, you understand how Python handles errors under the hood. Today’s Goal By the end of today, you will: Understand how exceptions work internally Learn stack unwinding Use exceptions correctly (and not overuse them) Understand performance implications The Illusion x = int("abc") You think: Program crashes Reality: Python raises an exception object and unwinds the stack What Is an Exception? An exception is: ...
Python Day 8: Stop Creating Lists — Iterators & Generators (Lazy Execution)
You think Python processes everything immediately. It doesn’t. Python can be lazy. Today, you understand how iteration really works under the hood. Today’s Goal By the end of today, you will: Understand iterator protocol Learn how generators work internally See how lazy execution saves memory Avoid unnecessary allocations The Illusion for i in [1,2,3]: print(i) You think: Python loops over the list directly Reality: Python asks for an iterator and pulls values one by one ...