Dev Fundamentals

Cross-cutting concepts every developer relies on: shells, files, networking, and data formats.

20 flashcards · select reveal or click a card to see details

shell beginner

Shell vs Terminal

The terminal is the window/app; the shell is the program inside it that interprets your commands (bash, zsh, fish).
shell beginner

Environment Variables

Key-value pairs that exist in your shell’s environment and are inherited by programs you run from it.
shell beginner

PATH

A colon-separated list of directories the shell searches when you type a command name.
shell beginner

Dotfiles

Hidden config files in your home directory that customize your shell, editors, and tools.
shell beginner

Home & Working Directory

~ expands to your home dir; . is current; .. is parent. The shell tracks a current working directory (cwd).
files beginner

File Permissions

Every file has read/write/execute bits for owner, group, and others, totaling 9 permission bits.
files beginner

Hidden Files

Files starting with . are hidden from ls by default, used for config and metadata.
files beginner

Absolute vs Relative Paths

Absolute paths start from /; relative paths start from your current working directory.
network beginner

localhost & Ports

localhost (127.0.0.1) is your own machine; ports identify which program receives the connection.
network beginner

HTTP Methods & Status Codes

HTTP verbs declare intent; status codes signal the result.
network beginner

curl Basics

The standard tool for making HTTP requests from the command line.
network beginner

SSH Keys

A key pair lets you authenticate to remote servers (and GitHub) without passwords.
data beginner

JSON

The standard data format for APIs and config: strings, numbers, booleans, null, arrays, objects.
data beginner

YAML

Human-friendly config format used heavily in DevOps tools (Docker Compose, Kubernetes, GitHub Actions).
data beginner

Text Encoding

How characters are stored as bytes. UTF-8 is the standard everywhere modern.
data beginner

Line Endings

Text files end lines differently across systems: Unix uses LF (\n), Windows uses CRLF (\r\n).
workflows intermediate

Set Up Environment Variables

Move secrets and per-machine config out of code and into env vars or a .env file. The standard pattern across every language.
workflows intermediate

Set Up SSH Keys for GitHub

Configure password-less authentication for git operations against GitHub. One-time setup that saves friction forever.
workflows intermediate

Find What's Running on a Port

A common debugging task: figuring out which process owns a port and freeing it.
workflows intermediate

Manage Tool Versions

Different projects often need different versions of Python, Node, etc. Version managers handle this without polluting your system.