← All topics
⚙️

Systems Fundamentals

How computers actually work underneath the abstractions.

11 posts · Engineering

  1. 1

    The Big Picture: Why Systems Fundamentals Are Durable

    Welcome. Before we touch a single database or network protocol, let's answer the most important question: why learn this stuff at all, and why will it still be…

  2. 2

    How a Computer Runs Your Program: CPU, Memory, Processes & Threads

    You write code in a language like Python, Java, or JavaScript. But a computer's brain — the CPU (Central Processing Unit, the chip that does all the…

  3. 3

    Concurrency & Parallelism: Doing Many Things at Once

    Modern programs rarely do just one thing at a time. A web server answers thousands of users at once.

  4. 4

    Databases I — Relational Databases, SQL & ACID

    Almost every serious application needs to store data — orders, users, payments, messages — and get it back later, correctly, even when many people use the app…

  5. 5

    Databases II — How Databases Store & Find Data Fast (Indexes, B-Trees, LSM)

    In the last section you learned what a database is . Now we open the hood and look at the most important question of all: when you ask a database for one row…

  6. 6

    Databases III — Scaling Up: Replication, Partitioning & NoSQL

    So far you have used one database on one server. For most apps, that is fine. But as an app grows, one server eventually struggles.

  7. 7

    Networking I — How Data Travels: IP, TCP/UDP, DNS

    Every distributed app is just programs on different machines talking to each other over a network.

  8. 8

    Networking II — The Web Stack: HTTP, TLS, Load Balancing & Caching

    In the last networking section we covered the lower-level pipes of the internet: IP addresses, TCP, UDP, and DNS. Those are the roads and the addressing system.

  9. 9

    Distributed Systems — Many Computers Working as One

    A distributed system is a group of separate computers that work together over a network (the wires and wireless links that carry data between machines) so…

  10. 10

    Data Engineering — Moving & Shaping Data at Scale

    So far in this guide you have learned where data lives (databases), how to run software across many machines (distributed systems), and how bytes travel…

  11. 11

    Putting It Together — Designing a Real System & Trade-offs

    This is the capstone section. Until now you have learned five separate topics: databases (where data lives), caching (keeping copies of data close by for…