Web Concepts

API

An API is a set of rules that lets different software applications talk to each other.

CDN

A CDN is a network of servers distributed worldwide that caches and delivers content from locations geographically close to users.

CORS

CORS is a browser security mechanism that controls which websites can make requests to your API.

DNS

DNS is the internet's phone book — it translates human-readable domain names (google.com) into IP addresses (142.250.80.46) that computers use to find each other.

DOM

The DOM is a tree-structured representation of an HTML document that JavaScript can read and modify.

GraphQL

GraphQL is a query language for APIs that lets clients request exactly the data they need in a single request.

gRPC

gRPC is a high-performance RPC framework by Google that uses Protocol Buffers for serialization and HTTP/2 for transport.

HTTP

HTTP is the protocol that powers the web.

Hydration

Hydration is the process where JavaScript attaches event handlers and interactivity to server-rendered HTML.

Jamstack

Jamstack is a web architecture pattern where sites are pre-rendered at build time (SSG), served from a CDN, and enhanced with JavaScript and APIs.

JWT

A JWT is a compact, self-contained token used for authentication and information exchange.

PWA

A PWA is a web application that uses modern browser APIs to deliver app-like experiences — offline support, push notifications, and home screen installation — without requiring app store distribution..

REST API

A REST API is an architectural style for building web APIs using standard HTTP methods (GET, POST, PUT, DELETE) and URLs to represent resources.

SPA

A SPA is a web application that loads a single HTML page and dynamically updates content using JavaScript, without full page reloads.

SSG

SSG builds all HTML pages at compile time rather than on each request.

SSR

SSR is a technique where the server generates the full HTML for a page on each request, rather than sending an empty page for JavaScript to fill in.

Web Components

Web Components are a set of browser-native APIs (Custom Elements, Shadow DOM, HTML Templates) that let you create reusable, encapsulated UI components without a framework like React or Vue..

Web Vitals

Core Web Vitals are Google's metrics for measuring user experience on websites: LCP (loading speed), INP (interactivity), and CLS (visual stability).

Webhook

A webhook is an HTTP callback that automatically sends data to your server when an event occurs in another system.

WebSocket

WebSocket is a communication protocol that provides full-duplex, persistent connections between client and server.

AI & Machine Learning

AI Agent

An AI agent is a system that uses an LLM to autonomously plan, reason, and take actions to accomplish goals.

Attention Mechanism

The attention mechanism lets neural networks focus on the most relevant parts of input data when producing each output element.

ChatGPT

ChatGPT is an AI chatbot by OpenAI that uses large language models (GPT-4, GPT-4o) to generate human-like text responses.

Computer Vision

Computer vision is the field of AI that enables machines to interpret and understand visual data — images and videos.

Deep Learning

Deep learning is a subset of machine learning that uses neural networks with many layers (hence 'deep') to learn complex patterns from large amounts of data.

Diffusion Model

A diffusion model is a type of generative AI that creates images by learning to reverse a noise-addition process.

Embeddings

Embeddings are numerical representations (vectors) that capture the meaning of text, images, or other data.

Fine-Tuning

Fine-tuning takes a pre-trained AI model and further trains it on your specific dataset to customize its behavior.

Function Calling

Function calling lets LLMs invoke external functions or APIs based on conversation context.

Generative AI

Generative AI refers to AI systems that create new content — text, images, code, music, and video — rather than just analyzing or classifying existing data.

Hallucination

An AI hallucination occurs when a language model generates information that sounds confident and plausible but is factually incorrect or entirely fabricated.

Inference

Inference is the process of running a trained AI model to make predictions or generate outputs on new data.

LLM

An LLM is a neural network trained on massive text datasets to understand and generate human language.

Machine Learning

Machine learning is a branch of AI where systems learn patterns from data instead of being explicitly programmed.

MCP

MCP (Model Context Protocol) is an open standard by Anthropic that lets AI agents connect to external tools, data sources, and services through a unified protocol.

Model Training

Model training is the process of teaching a machine learning model to make accurate predictions by feeding it data and adjusting its internal parameters (weights) to minimize errors.

Neural Network

A neural network is a computing system inspired by the human brain, consisting of layers of interconnected nodes (neurons) that process data.

NLP

NLP is the field of AI focused on enabling computers to understand, interpret, and generate human language.

Prompt Engineering

Prompt engineering is the practice of crafting inputs to LLMs to get better outputs.

RAG

RAG is a technique that enhances LLM responses by retrieving relevant documents from your data before generating an answer.

Reinforcement Learning

Reinforcement learning is a type of machine learning where an agent learns by interacting with an environment, receiving rewards for good actions and penalties for bad ones.

Token

In AI and NLP, a token is a chunk of text that a language model processes as a single unit.

Transformer

The Transformer is the neural network architecture behind GPT, BERT, Claude, and virtually every modern LLM.

Vector Database

A vector database stores and searches high-dimensional vectors (embeddings) generated by AI models.

Vibe Coding

Vibe coding is a development style where you describe what you want in natural language and let an AI coding assistant (Cursor, Claude Code, GitHub Copilot) write the actual code.

DevOps & Cloud

Blue-Green Deployment

Blue-green deployment runs two identical production environments: Blue (current) and Green (new version).

Canary Deployment

Canary deployment gradually shifts production traffic from the old version to the new version — starting with a small percentage (1-5%) and increasing as confidence grows.

Chaos Engineering

Chaos engineering deliberately introduces failures into production systems to test resilience.

CI/CD

CI/CD automates the process of testing and deploying code.

Cloud Native

Cloud native is an approach to building applications that fully exploits cloud computing advantages — containers, microservices, serverless functions, and managed services.

Container

A container is a lightweight, standalone package that includes everything needed to run a piece of software — code, runtime, libraries, and system tools.

Container Orchestration

Container orchestration automates the deployment, scaling, networking, and management of containerized applications across multiple servers.

DevOps

DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to shorten the development lifecycle and deliver high-quality software continuously.

Edge Computing

Edge computing processes data closer to users — at CDN edge locations, IoT devices, or regional data centers — rather than in a central cloud.

GitOps

GitOps uses Git as the single source of truth for both application code and infrastructure configuration.

Infrastructure as Code

Infrastructure as Code (IaC) is managing cloud infrastructure through configuration files rather than manual setup.

Load Balancer

A load balancer distributes incoming network traffic across multiple servers to ensure no single server gets overwhelmed.

Monorepo

A monorepo is a single Git repository containing multiple projects, packages, or services that may be independently deployed.

Observability

Observability is the ability to understand a system's internal state from its external outputs — logs, metrics, and traces.

Reverse Proxy

A reverse proxy sits between clients and backend servers, forwarding requests to the appropriate server and returning the response.

Serverless

Serverless computing lets you run code without managing servers.

Service Mesh

A service mesh is an infrastructure layer that manages service-to-service communication in microservices architectures.

SRE

SRE is a discipline that applies software engineering principles to infrastructure and operations.

Twelve-Factor App

The Twelve-Factor App is a methodology for building modern, cloud-native applications that are portable, scalable, and maintainable.

YAML

YAML is a human-readable data serialization format used extensively in DevOps for configuration files.

Programming Languages

C

C is one of the oldest and most influential programming languages, created in 1972.

C++

C++ is a high-performance, statically typed programming language used for systems programming, game engines, embedded systems, and performance-critical applications.

Dart

Dart is a client-optimized programming language created by Google, primarily used with the Flutter framework for building cross-platform mobile, web, and desktop apps from a single codebase.

Go

Go (Golang) is a statically typed, compiled language designed at Google for simplicity, fast compilation, and built-in concurrency.

Java

Java is a statically typed, object-oriented programming language that runs on the Java Virtual Machine (JVM).

JavaScript

JavaScript is the programming language of the web.

Kotlin

Kotlin is a modern, concise programming language that runs on the JVM and is Google's preferred language for Android development.

PHP

PHP is a server-side scripting language that powers over 75% of websites, including WordPress, Facebook (originally), and Wikipedia.

Python

Python is a high-level, interpreted programming language known for its readable syntax and vast ecosystem.

R

R is a programming language designed specifically for statistical computing and data visualization.

Ruby

Ruby is a dynamic, object-oriented language designed for developer happiness.

Rust

Rust is a systems programming language that guarantees memory safety without a garbage collector.

Scala

Scala combines object-oriented and functional programming on the JVM.

Swift

Swift is Apple's modern programming language for iOS, macOS, watchOS, and tvOS development.

TypeScript

TypeScript is JavaScript with static types.

Frameworks & Tools

Angular

Angular is a full-featured, opinionated framework by Google for building large-scale web applications.

Astro

Astro is a web framework for building content-focused websites (blogs, docs, marketing sites) with zero JavaScript by default.

Bun

Bun is a fast, all-in-one JavaScript runtime that includes a package manager, bundler, test runner, and transpiler.

Django

Django is Python's 'batteries-included' web framework.

Docker

Docker is a platform for building, running, and distributing containerized applications.

Drizzle ORM

Drizzle is a TypeScript ORM that feels like writing SQL with full type safety.

Express.js

Express.js is the most popular Node.js web framework.

FastAPI

FastAPI is a modern Python web framework for building APIs.

Flask

Flask is a lightweight Python web microframework that gives you the basics (routing, templates, sessions) and lets you choose everything else.

Flutter

Flutter is Google's open-source toolkit for building natively compiled applications for mobile (iOS and Android), web, and desktop from a single Dart codebase.

Git

Git is the distributed version control system used by virtually every software project.

htmx

htmx lets you build dynamic web interfaces using HTML attributes instead of JavaScript.

Jest

Jest is a JavaScript testing framework by Meta that focuses on simplicity.

Kubernetes

Kubernetes (K8s) is an open-source system for automating the deployment, scaling, and management of containerized applications.

Laravel

Laravel is the most popular PHP framework, known for elegant syntax, powerful ORM (Eloquent), and a rich ecosystem.

Next.js

Next.js is a full-stack React framework by Vercel that adds server-side rendering, static generation, API routes, and file-based routing to React.

Node.js

Node.js is a JavaScript runtime that lets you run JavaScript outside the browser — on servers, command lines, and IoT devices.

npm

npm is the default package manager for Node.js and the world's largest software registry with over 2 million packages.

Playwright

Playwright is a browser automation and end-to-end testing framework by Microsoft.

Prisma

Prisma is a TypeScript-first ORM that generates a type-safe database client from your schema.

React

React is a JavaScript library for building user interfaces, created by Meta (Facebook).

React Native

React Native lets you build native mobile apps for iOS and Android using React and JavaScript.

Spring Boot

Spring Boot is the dominant Java web framework for building production-ready applications.

Storybook

Storybook is a tool for building and testing UI components in isolation.

Svelte

Svelte is a UI framework that compiles components into efficient vanilla JavaScript at build time, eliminating the need for a virtual DOM or runtime framework.

Tailwind CSS

Tailwind CSS is a utility-first CSS framework that lets you build designs by composing small, single-purpose CSS classes directly in your HTML.

Terraform

Terraform is an infrastructure-as-code tool that lets you define cloud resources (servers, databases, networks) in declarative configuration files.

Vite

Vite is a next-generation frontend build tool that provides instant hot module replacement and fast production builds.

Vue

Vue.js is a progressive JavaScript framework for building user interfaces.

Webpack

Webpack is a module bundler that transforms JavaScript, CSS, images, and other assets into optimized bundles for the browser.

Data & Databases

ACID

ACID stands for Atomicity, Consistency, Isolation, and Durability — four properties that guarantee database transactions are processed reliably.

Caching

Caching stores frequently accessed data in fast storage (memory) to avoid expensive recomputation or database queries.

CAP Theorem

The CAP theorem states that a distributed database can guarantee only two of three properties: Consistency (every read gets the latest write), Availability (every request gets a response), and Partition tolerance (the system works despite network failures).

Data Modeling

Data modeling is the process of designing how data is structured, stored, and related in a database.

Data Pipeline

A data pipeline is an automated system that moves and transforms data from sources to destinations on a schedule or in real time.

Database Indexing

A database index is a data structure (usually a B-tree) that speeds up data retrieval by creating a quick lookup path to rows.

Database Normalization

Database normalization organizes relational database tables to reduce data redundancy and prevent anomalies.

Database Replication

Database replication copies data from a primary database to one or more replicas in real time.

ETL

ETL (Extract, Transform, Load) is the process of pulling data from source systems, transforming it into a usable format, and loading it into a data warehouse or database.

Eventual Consistency

Eventual consistency is a model where distributed database replicas may temporarily serve stale data but will converge to the same state given enough time.

Firebase

Firebase is Google's app development platform providing a real-time NoSQL database (Firestore), authentication, hosting, cloud functions, analytics, and push notifications.

Message Queue

A message queue is middleware that enables asynchronous communication between services.

MongoDB

MongoDB is a document database that stores data as flexible JSON-like documents (BSON).

NoSQL

NoSQL (Not Only SQL) databases store data without the rigid table structure of relational databases.

ORM

An ORM (Object-Relational Mapping) maps database tables to programming language objects, letting you query and manipulate data using your language instead of raw SQL.

PostgreSQL

PostgreSQL (Postgres) is the most advanced open-source relational database.

Redis

Redis is an in-memory data store used for caching, session management, real-time leaderboards, message queues, and pub/sub messaging.

Sharding

Sharding splits a database into smaller pieces (shards) distributed across multiple servers.

SQL

SQL (Structured Query Language) is the standard language for managing and querying relational databases.

Supabase

Supabase is an open-source Firebase alternative built on PostgreSQL.

Security & Auth

API Key

An API key is a unique string that identifies and authenticates an application making API requests.

Authentication

Authentication verifies who a user is — confirming their identity through credentials like passwords, biometrics, or tokens.

Authorization

Authorization determines what an authenticated user is allowed to do — which resources they can access and what actions they can perform.

Content Security Policy

Content Security Policy (CSP) is an HTTP header that tells browsers which resources (scripts, styles, images) are allowed to load on your page.

CSRF

CSRF (Cross-Site Request Forgery) tricks a user's browser into making unwanted requests to a site where they're already authenticated.

Encryption

Encryption transforms readable data (plaintext) into unreadable data (ciphertext) using an algorithm and a key.

Hashing

Hashing converts data of any size into a fixed-length string (hash/digest) using a one-way function.

HTTPS

HTTPS (HTTP Secure) is HTTP encrypted with TLS.

OAuth

OAuth 2.0 is an authorization framework that lets users grant third-party applications limited access to their accounts without sharing passwords.

Passkeys

Passkeys are a passwordless authentication method built on WebAuthn/FIDO2 standards.

Penetration Testing

Penetration testing (pentesting) is authorized simulated attacks on systems to find security vulnerabilities before real attackers do.

Rate Limiting

Rate limiting controls how many requests a client can make to an API within a time window.

RBAC

RBAC (Role-Based Access Control) assigns permissions to roles, then assigns roles to users.

Session Management

Session management tracks a user's authenticated state across multiple HTTP requests.

SQL Injection

SQL injection inserts malicious SQL into application queries through user input.

SSL/TLS

TLS (Transport Layer Security, successor to SSL) encrypts data between a client and server, preventing eavesdropping and tampering.

SSO

Single Sign-On (SSO) lets users authenticate once and access multiple applications without logging in again.

Two-Factor Authentication

Two-factor authentication (2FA) requires two different types of proof to verify identity: something you know (password) and something you have (phone, hardware key) or something you are (fingerprint).

XSS

XSS (Cross-Site Scripting) injects malicious JavaScript into web pages viewed by other users.

Zero Trust

Zero Trust is a security model that assumes no user, device, or network is trusted by default — even inside the corporate firewall.

Software Architecture

API Gateway

An API gateway is a single entry point that sits in front of multiple backend services.

Circuit Breaker

The circuit breaker pattern prevents cascading failures in distributed systems.

Clean Architecture

Clean Architecture organizes code in concentric layers where dependencies point inward: Entities (business rules) → Use Cases (application logic) → Adapters (controllers, gateways) → Frameworks (web, database).

Clean Code

Clean code is code that is easy to read, understand, modify, and test.

CQRS

CQRS separates read and write operations into different models.

Dependency Injection

Dependency injection (DI) provides objects with their dependencies from the outside instead of creating them internally.

Design Patterns

Design patterns are reusable solutions to common software design problems.

Domain-Driven Design

Domain-Driven Design (DDD) is an approach to software design that focuses on modeling the business domain accurately.

Event Sourcing

Event sourcing stores every state change as an immutable event instead of storing current state.

Event-Driven Architecture

Event-driven architecture structures systems around the production, detection, and reaction to events.

Functional Programming

Functional programming (FP) organizes code around pure functions and immutable data.

Hexagonal Architecture

Hexagonal Architecture (also called Ports & Adapters) isolates business logic from external concerns.

Microservices

Microservices architecture structures an application as a collection of small, independent services that communicate over APIs.

Middleware

Middleware is code that runs between receiving a request and sending a response, forming a processing pipeline.

Monolith

A monolithic architecture is a single, unified application where all components — UI, business logic, data access — are part of one codebase and deploy as one unit.

OOP

Object-Oriented Programming (OOP) organizes code around objects — data structures that combine state (fields/properties) and behavior (methods).

Pub/Sub

Publish-Subscribe (pub/sub) is a messaging pattern where publishers send messages to topics (not specific receivers) and subscribers receive messages from topics they're interested in.

Saga Pattern

The Saga pattern manages distributed transactions across multiple microservices.

SOLID Principles

SOLID is five OOP design principles that make software maintainable, flexible, and scalable.

State Management

State management handles how application data (state) is stored, updated, and shared across components.

Mobile Development

CS Fundamentals

Agile

Agile is a software development methodology that delivers work in short iterations (sprints), embraces changing requirements, and values collaboration over documentation.

Algorithm

An algorithm is a step-by-step procedure for solving a problem or accomplishing a task.

Big O Notation

Big O notation describes how an algorithm's time or space requirements grow as input size increases.

Binary Search

Binary search finds an element in a sorted array by repeatedly halving the search space.

Binary Tree

A binary tree is a tree where each node has at most two children (left and right).

Blockchain

A blockchain is a distributed, immutable ledger where data is stored in linked blocks.

Data Structure

A data structure is a way of organizing and storing data for efficient access and modification.

Dynamic Programming

Dynamic programming (DP) solves complex problems by breaking them into overlapping subproblems and storing their solutions to avoid redundant computation.

Graph Algorithm

Graph algorithms solve problems on data modeled as nodes (vertices) connected by edges.

Hash Table

A hash table maps keys to values using a hash function that converts keys to array indices.

Idempotency

An operation is idempotent if performing it multiple times produces the same result as performing it once.

Linked List

A linked list stores elements as nodes where each node points to the next.

Recursion

Recursion is when a function calls itself to solve a problem by breaking it into smaller subproblems.

Scrum

Scrum is an agile framework for managing software development with defined roles, events, and artifacts.

Sorting Algorithm

Sorting algorithms arrange elements in order (ascending, descending, or by a key).

Stack & Queue

A stack is LIFO (Last In, First Out): the last item added is the first removed — like a stack of plates.

TDD

Test-Driven Development writes tests before writing the code they test.

Tree

A tree is a hierarchical data structure with a root node and child nodes forming parent-child relationships.

Version Control

Version control tracks changes to code over time, enabling collaboration, history, branching, and reverting.

Web3

Web3 refers to a decentralized internet built on blockchain technology, where users own their data and digital assets.