Boot.dev Blog
Python Default Parameters: How They Work
by Lane Wagner - Boot.dev co-founder and backend engineer
In Python you can specify a default value for a function parameter. It's useful when a function has parameters that are "optional." You can specify a default value in case the caller doesn't provide one.
Python / vs //: Floor Division Explained
by Lane Wagner - Boot.dev co-founder and backend engineer
Python's // operator divides and rounds down, so -7 // 3 is -3. See how floor division differs from / and when to use each.
Python Bitwise AND and OR Operators
by Lane Wagner - Boot.dev co-founder and backend engineer
Bitwise operators are similar to logical operators, but instead of operating on boolean values, they apply the same logic to all the bits in a value by column. The two operators covered here are & (AND) and | (OR).
How Hard Is It to Learn to Code? A Realistic Guide and What to Expect in 2026
by Maya Chen - Computer science and programming educator at Boot.dev
How hard is it to learn to code? Learn what makes coding challenging, how long it takes, which languages are easiest, and how to make the process easier.
How to Learn to Code in 2026: A Step-by-Step Guide
by Lane Wagner - Boot.dev co-founder and backend engineer
Learn to code in 2026 with a realistic, step-by-step roadmap: pick one language, follow a structured path, build real projects, and practice daily until you're job-ready.
SQL CREATE TABLE: How to Create and Alter Tables
by Boot.dev Team - Programming course authors and video producers
The SQL CREATE TABLE statement defines a table, its columns, and the data each column should hold. It can also enforce rules such as required values and unique identifiers.
SQL Indexes: How to Speed Up Database Queries
by Boot.dev Team - Programming course authors and video producers
A query that slows down as its table grows may be scanning far more rows than it returns. SQL indexes give the database a faster route to matching rows, often letting it jump to a small set instead of inspecting the whole table.
SQL Constraints: PRIMARY KEY, FOREIGN KEY, UNIQUE, and NOT NULL
by Boot.dev Team - Programming course authors and video producers
SQL constraints prevent invalid data from entering a database. PRIMARY KEY, FOREIGN KEY, UNIQUE, and NOT NULL identify rows, preserve relationships, reject duplicates, and require values.
SQL Subqueries With Examples
by Boot.dev Team - Programming course authors and video producers
Sometimes one query needs the result of another. A SQL subquery nests that inner query inside another SQL statement so its value or result set can filter, calculate, or select data.
SQL Aggregate Functions: COUNT, SUM, AVG, MIN, and MAX
by Boot.dev Team - Programming course authors and video producers
SQL aggregate functions calculate one result from a set of rows. An aggregate query can return an order count, total revenue, average payment, lowest price, or highest score. The five you'll use most are COUNT, SUM, AVG, MIN, and MAX. GROUP BY, HAVING, and NULL values control what they calculate.
SQL CRUD: Create, Read, Update, and Delete Data
by Boot.dev Team - Programming course authors and video producers
SQL CRUD is the set of operations you use to create, read, update, and delete data in a relational database. In SQL, those operations usually map to INSERT, SELECT, UPDATE, and DELETE.
SQL ORDER BY and LIMIT
by Boot.dev Team - Programming course authors and video producers
SQL's ORDER BY clause sorts query results, and LIMIT caps how many rows the database returns. Together, they answer questions like "Which five products cost the most?" Sort direction and tie-breakers determine the order; without ORDER BY, LIMIT doesn't define which rows you'll get.
SQL LIKE Operator
by Boot.dev Team - Programming course authors and video producers
The SQL LIKE operator filters text using a simple pattern. Use it when you know part of a value but not the whole thing: a name that starts with Al, an email address that ends with a company domain, or a product name that contains banana. Its two wildcards, % and , stand in for unknown characters. Case sensitivity depends on the database.
What Is SQL?
by Boot.dev Team - Programming course authors and video producers
SQL (Structured Query Language) is the standard language for working with relational databases. You use it to define tables, read data, insert records, update records, and delete records. It's everywhere in backend development and data analysis because it handles repeatable queries over large datasets without spreadsheet busywork.
SQL Joins: INNER, LEFT, RIGHT, and FULL JOIN
by Boot.dev Team - Programming course authors and video producers
Relational data is often split across tables, but applications need it brought back together. SQL joins combine those rows: an INNER JOIN keeps matches, a LEFT JOIN or RIGHT JOIN preserves one side, and a FULL JOIN preserves both.
SQL SELECT Statement
by Boot.dev Team - Programming course authors and video producers
The SQL SELECT statement reads data from a database. Every read query begins by describing the result you want: stored columns, calculated values, or a combination of both. At its simplest, SELECT name FROM users; returns the name column from every row in users. Real queries can select several columns, rename them with aliases, remove duplicate results, and combine SELECT with clauses that filter, group, sort, or limit rows. This guide starts with the basic syntax, then explains wildcards, expressions, DISTINCT, clause order, and the mistakes that most often make a query fail or return a surprising result.
SQL WHERE Clause
by Boot.dev Team - Programming course authors and video producers
The SQL WHERE clause filters out rows that don't meet a condition. It lets a SELECT return specific records and keeps an UPDATE or DELETE from touching rows it shouldn't. You can build its conditions with comparisons, NULL checks, AND, OR, IN, and BETWEEN.
Database Normalization: 1NF, 2NF, and 3NF
by Boot.dev Team - Programming course authors and video producers
Database normalization gives each fact in a relational database one reliable home. It reduces duplicate data and prevents rows from contradicting each other. The first three normal forms, 1NF, 2NF, and 3NF, provide a practical way to find those problems.
The Boot.dev Beat. July 2026
by Lane Wagner - Boot.dev co-founder and backend engineer
In June we made a lot of updates to what's inside existing Boot.dev content. You can now work through the Linux course in a real in-browser shell, take multi-question quizzes, format your code with one click, and use OpenRouter on our AI-dependent courses.
Symlinks in Linux: How to Create and Use Them
by Boot.dev Team - Programming course authors and video producers
A symlink lets one file live at two paths: the real one, and a lightweight pointer that forwards to it. It's one of those Linux features you can ignore for years, then suddenly use every day once you've seen what it's for (dotfiles, versioned tool installs, and log directories, to name a few). Here's what symlinks are, how to create them with ln -s, and how they differ from copies.
Linux File Permissions Explained: chmod, chown, and sudo
by Boot.dev Team - Programming course authors and video producers
In a Unix-like operating system, permissions control who can do what to which files and directories. If you've ever run a script only to be slapped with permission denied, or typed sudo because the internet told you to, this is the missing context. In this article you'll learn how the rwx permission model works, how to change permissions with chmod, how to change ownership with chown, and when you should (and shouldn't) reach for sudo.
How to Kill a Process in Linux: top, kill, and Signals
by Boot.dev Team - Programming course authors and video producers
Every program running on your machine is a process, and sooner or later one of them will misbehave: a script stuck in an infinite loop, a command chewing through all your RAM, a program that just won't respond. In this post you'll learn how to see what's running with top, how to interrupt a program with [[Ctrl]]+[[C]], and how to escalate to the kill command (and the dreaded kill -9) when a process refuses to die.
The PATH Environment Variable in Linux, Explained
by Boot.dev Team - Programming course authors and video producers
Sooner or later, every developer installs a program, types its name into the terminal, and gets hit with an error: command not found. Usually, the culprit is the PATH environment variable: the list of directories your shell searches when you try to run a command. To understand your PATH (and how to fix it when it breaks), it helps to understand how programs run on Linux in the first place. So that's where we'll start: compiled vs interpreted programs, executables, shebangs, and environment variables. Then we'll dig into the PATH itself and how to change it.
Stdin, Stdout, and Stderr: Linux I/O Streams Explained
by Boot.dev Team - Programming course authors and video producers
Programs running in a shell have a standard way of talking to you and to each other: three data streams called stdin, stdout, and stderr. Combine those streams with flags, positional arguments, and exit codes, and you can chain simple commands together into incredibly powerful automations using redirection and pipes.
Man Pages in Linux: How to Actually Read Them
by Boot.dev Team - Programming course authors and video producers
Every command line tool you'll ever use ships with a built-in instruction manual, and most developers never read it. The man command puts the full documentation for ls, grep, cp, and hundreds of other programs one keystroke away, right in your terminal. Here's how man pages work, and how to actually find what you're looking for inside one.
