Skip to content

Latest commit

 

History

History
429 lines (376 loc) · 59.6 KB

File metadata and controls

429 lines (376 loc) · 59.6 KB

Glossary of Terms

This glossary defines key terms and acronyms used throughout the Full Stack Learning Hub. Definitions focus on what the term is, why it matters, and how it is used in practice.

A

B

C

  • Callback: A function passed into another function to be called later, often after an asynchronous event completes. Callbacks are common in event handling and in older async code. See also: Asynchronous JavaScript Guide, JavaScript Functions Guide, JavaScript Basics Cheat Sheet
  • Cache (Caching): Temporary storage for data that is expensive to compute or fetch. Caching speeds up responses but requires careful invalidation to avoid stale data. See also: Modern Fullstack Guide
  • CI/CD (Continuous Integration/Continuous Deployment): Automation that builds, tests, and ships code changes quickly and safely. CI runs tests on every change, while CD automates releases. See also: CI/CD Pipeline Guide
  • CLI (Command Line Interface): A text-based interface used to run commands, pass flags, and automate tasks. CLIs are ideal for scripting and repeatable workflows. See also: Python CLI Applications Guide, Interactive CLI ORM Project Guide
  • Context Manager: A Python construct that ensures resource cleanup happens automatically, even when exceptions occur. Context managers use the with statement and implement __enter__ and __exit__ methods, making them essential for file I/O, database connections, and locks. See also: Advanced Python Cheat Sheet, Error Handling Cheat Sheet
  • Client-Side: Code that runs in the user's browser, handling interactivity and local state. It depends on server APIs for data but controls UI behavior. See also: JavaScript Basics Cheat Sheet, DOM Manipulation Guide, React Basics Guide
  • Component: A reusable unit of UI that encapsulates structure, styling, and behavior. In React, components receive props and return JSX. See also: React Basics Guide, Modern React Ecommerce Guide
  • Controlled Component: A form element whose value is driven by React state rather than the DOM. The component receives its current value via props and notifies changes via callbacks, enabling real-time validation and conditional logic. See also: React Basics Guide, React to Fullstack Track
  • Container: A lightweight, isolated runtime that packages an app with its dependencies. Containers improve portability and consistency between dev and production. See also: Docker and Containerization Guide
  • Cookie: A small key-value store in the browser that is sent with HTTP requests. Cookies are commonly used for sessions and can be secured with HttpOnly, Secure, and SameSite flags. See also: API Authentication Guide
  • CORS (Cross-Origin Resource Sharing): A browser security policy that controls which origins may access a resource. Servers enable CORS with headers to allow trusted domains. See also: Flask Advanced Features Guide, API Authentication Guide
  • Cross Axis: In CSS Flexbox, the axis perpendicular to the main axis. When flex-direction is row, the cross axis runs vertically. Controlled by align-items, align-self, and align-content properties. See also: CSS Flexbox Complete Guide
  • CRUD (Create, Read, Update, Delete): The four basic operations for persistent data. Many APIs and database workflows are organized around CRUD patterns. See also: SQLAlchemy CRUD Guide, Flask REST API Development Guide
  • CSS (Cascading Style Sheets): The language used to style HTML, including layout, typography, and responsive behavior. CSS works by applying rules that cascade based on specificity. See also: CSS Cheat Sheet, CSS Layout Guide, Bootstrap Cheat Sheet
  • Closest(): A JavaScript DOM method that searches up the element tree to find the nearest ancestor matching a selector. Essential for event delegation patterns when you need to find parent elements regardless of which child element was clicked. See also: DOM Manipulation Guide, JavaScript Basics Cheat Sheet
  • CSRF (Cross-Site Request Forgery): An attack where a malicious site causes a browser to perform unwanted actions on another site. CSRF protection uses tokens and strict cookie settings. See also: API Authentication Guide

D

E

F

  • File I/O (Input/Output): Reading from or writing to files on disk. File I/O is often asynchronous in modern runtimes to keep apps responsive. See also: File Operations Cheat Sheet
  • Fetch API: A modern JavaScript interface for making HTTP requests that returns Promises. It replaces older XMLHttpRequest with cleaner syntax, supports async/await, and provides fine-grained control over requests and responses. See also: JavaScript Fetch API Guide, Frontend Fundamentals Workbook
  • flush() (SQLAlchemy): A Session method that sends pending changes to the database without committing the transaction. Unlike commit(), flush() keeps the transaction open and makes auto-generated IDs available (like primary keys, timestamps) for use within the same transaction. Critical for multi-step operations where you need database-generated values before the final commit. Always follow flush() with commit() eventually, and handle exceptions to rollback properly. See also: SQLAlchemy Advanced Patterns Guide, SQLAlchemy CRUD Guide
  • Focus-visible (:focus-visible): A CSS pseudo-class that applies styles when an element receives keyboard-like focus indication. It improves accessibility by showing focus rings for keyboard users without always showing them for mouse clicks. See also: CSS Pseudo-Selectors Guide, CSS Cheat Sheet
  • Foreign Key: A database column that references a primary key in another table. Foreign keys enforce relationships and data integrity. See also: SQL DDL Guide, SQL and SQLAlchemy Cheat Sheet
  • Flex-direction: A CSS Flexbox property that defines the main axis direction. Values are row (default, left to right), row-reverse, column (top to bottom), and column-reverse, determining how flex items flow in the container. See also: CSS Flexbox Complete Guide
  • Flex-wrap: A CSS Flexbox property that controls whether flex items stay on one line or wrap to multiple lines. Values are nowrap (default, items shrink to fit), wrap (items wrap to new lines), and wrap-reverse (wrap in reverse order). See also: CSS Flexbox Complete Guide
  • Flexbox: A one-dimensional CSS layout system for arranging items in a row or column. Flexbox uses main axis (justify-content) and cross axis (align-items) alignment, flex-direction to control flow, and flex-wrap for responsive layouts. See also: CSS Flexbox Complete Guide, CSS Layout Guide, CSS Cheat Sheet
  • Fr Unit: A fractional unit in CSS Grid that distributes available space proportionally. 1fr takes one fraction of remaining space, making grids flexible and responsive without fixed pixel widths. See also: CSS Grid Advanced Guide
  • Framework: A platform that provides structure and reusable components to speed development. Frameworks standardize patterns so teams can build consistently. See also: Flask REST API Development Guide, React Basics Guide, Modern Fullstack Guide
  • Frontend: The client-side of an application that users interact with. It includes HTML for structure, CSS for styling, and JavaScript for interactivity. See also: React Basics Guide, Modern React Ecommerce Guide, DOM Manipulation Guide, Portfolio Web Development Guide, React Starter Code
  • Function: A reusable block of code that performs a specific task. Functions improve readability and allow logic to be tested in isolation. See also: JavaScript Functions Guide, Python Basics Cheat Sheet, Functional Programming Cheat Sheet
  • Functional Programming: A paradigm focused on pure functions, immutability, and composition. It reduces side effects and can make code easier to test. See also: Functional Programming Cheat Sheet

G

  • Gap: A CSS property that sets spacing between flex or grid items. Replaces margin-based spacing with cleaner syntax. Works in both Flexbox (gap between items) and Grid (row-gap and column-gap combined). See also: CSS Flexbox Complete Guide, CSS Grid Advanced Guide
  • Generator: A function that yields values lazily as you iterate. Generators are memory-efficient for large or infinite sequences. Advanced patterns include generator pipelines, yield from for delegation, and generator expressions for concise iteration. See also: Advanced Python Cheat Sheet, Iterators and Generators Cheat Sheet
  • Git: A distributed version control system that tracks changes and enables collaboration. It supports branching and merging so teams can work in parallel. See also: CI/CD Pipeline Guide, Library API Production Workflow Guide
  • GitHub: A hosting platform for Git repositories with tools for issues, pull requests, and CI integration. It is commonly used for collaboration and code review. See also: CI/CD Pipeline Guide
  • GraphQL: A query language and runtime that lets clients request exactly the data they need. It reduces over-fetching and enables flexible client-driven queries. See also: GraphQL Integration Guide
  • GraphQL Schema: The type system that defines available objects, fields, and operations. It acts as a contract between clients and the API. See also: GraphQL Integration Guide
  • GraphQL Resolver: A function that supplies the data for a schema field. Resolvers often fetch from databases or other APIs and should be optimized to avoid N+1 queries. See also: GraphQL Integration Guide
  • Grid (CSS Grid): A two-dimensional CSS layout system for creating complex layouts with rows and columns. Grid uses template areas for semantic layouts, supports item spanning, and enables responsive reconfiguration with media queries. See also: CSS Grid Advanced Guide, CSS Layout Guide
  • Grid Template Areas: A CSS Grid feature that lets you name regions of a layout and visualize structure in code. Template areas make layouts semantic and easy to reconfigure responsively. See also: CSS Grid Advanced Guide

H

I

  • IDE (Integrated Development Environment): A software tool that provides code editing, debugging, and project management in one place. IDEs speed up development with autocomplete and refactors. See also: Python CLI Applications Guide
  • Idempotency: An operation that can be repeated without changing the result after the first success. This matters for safe retries and webhook processing. See also: Building AI Ready APIs Guide
  • Inheritance: An OOP concept where a class derives properties and methods from another class. It promotes reuse but should be balanced with composition. See also: OOP Cheat Sheet, Python Basics Cheat Sheet
  • Integration Test: A test that checks multiple components working together (for example, API routes with a real database). It catches issues that unit tests miss. See also: Python API Testing Guide, Testing and Debugging Cheat Sheet
  • IP Address: A unique numeric identifier assigned to devices on a network. It enables routing so devices can find and communicate with each other.
  • Iterator: An object that yields items one at a time, enabling lazy traversal of data. In Python, iterators implement __iter__ and __next__. Iterators provide memory-efficient iteration over large datasets and enable custom iteration protocols. See also: Advanced Python Cheat Sheet, Iterators and Generators Cheat Sheet

J

  • JavaScript: A high-level programming language used for interactive web interfaces and server-side development with Node.js. It supports asynchronous I/O and event-driven design. See also: JavaScript Basics Cheat Sheet, JavaScript Objects Arrays Cheat Sheet, JavaScript Functions Guide, JavaScript Workshops Guide, DOM Manipulation Guide
  • JSON (JavaScript Object Notation): A lightweight data format that is easy to read and parse. It is the default payload format for most web APIs. See also: APIs and Requests Cheat Sheet, JavaScript Objects Arrays Cheat Sheet
  • JSON.stringify(): A JavaScript method that converts objects to JSON strings for storage or transmission. Required when saving objects to LocalStorage or sending data in HTTP requests. See also: JavaScript LocalStorage Guide, JavaScript Fetch API Guide
  • JSON.parse(): A JavaScript method that converts JSON strings back into objects. Used to deserialize data from LocalStorage or API responses. See also: JavaScript LocalStorage Guide, JavaScript Fetch API Guide
  • JSX: A syntax extension for JavaScript that lets you write UI markup inside code. JSX is compiled into function calls (for example, React elements). See also: React Basics Guide
  • Justify-content: A CSS Flexbox property that controls alignment along the main axis. Values include flex-start, flex-end, center, space-between (equal space between items), space-around (equal space around items), and space-evenly (equal space between and around items). See also: CSS Flexbox Complete Guide, CSS Layout Guide
  • Join Conditions (SQLAlchemy): Explicit conditions that specify how tables are related in a relationship. In self-referential many-to-many relationships, primaryjoin defines how to join from the parent table to the association table, while secondaryjoin defines how to join from the association table to the related records. Required when SQLAlchemy cannot automatically determine the relationship direction (e.g., follower vs following in a social network). See also: SQLAlchemy Relationships Guide, SQLAlchemy Advanced Patterns Guide
  • JWT (JSON Web Token): A compact, URL-safe token used for authentication and claims. JWTs are signed to prevent tampering and often stored in headers or cookies. Modern JWT implementations use the Bearer token scheme with decorators for route protection, include standard claims (exp, iat, sub), and follow security best practices like short expiration times and HTTPS-only transmission. See also: API Authentication Guide, OAuth2 and Token Management Guide

K

L

  • Library: A collection of reusable code that solves common problems. Libraries give you building blocks without enforcing a full structure like frameworks. See also: Standard Library Essentials Cheat Sheet
  • Lifting State Up: A React pattern where shared state is moved to the closest common ancestor of components that need it. State flows down as props, and changes flow up via callback functions, maintaining a single source of truth. See also: React Basics Guide, React Context State Management Guide
  • Linked List: A linear data structure made of nodes that point to the next node. It makes insertions easy but does not support fast random access. See also: Linked Lists and Custom Data Structures Guide, Data Structures Cheat Sheet
  • Linux: An open-source operating system widely used in servers and development. Many production deployments and containers run on Linux. See also: Docker and Containerization Guide
  • Load Balancing: Distributing network traffic across multiple servers to improve performance and reliability. It helps avoid single points of failure. See also: Library API Advanced Architecture Guide
  • LocalStorage: A browser API for storing key-value pairs persistently across page reloads and browser sessions. Data is stored as strings (use JSON.stringify/parse for objects), has 5-10MB limit per domain, and persists until explicitly deleted. See also: JavaScript LocalStorage Guide, JavaScript Fetch API Guide
  • Logging: Recording runtime events so systems can be monitored and debugged. Structured logs are easier to search and analyze. See also: Testing and Debugging Cheat Sheet
  • Learning Progression: A structured approach to learning that sequences topics from foundational to advanced, ensuring prerequisite knowledge is built before tackling complex subjects. In this repo, the Learning Progression Guide provides a 9-stage path from web foundations through production deployment. See also: Learning Progression Guide, Python Practice to Projects Path

M

N

  • Network Error: A failure to reach the server or establish a connection, distinct from HTTP errors. Fetch API throws network errors for connection failures, DNS issues, or CORS blocks, which must be caught separately from HTTP status code errors. See also: JavaScript Fetch API Guide
  • Node.js: A JavaScript runtime built on the V8 engine that runs JS on the server. It is popular for APIs, tooling, and real-time apps. See also: Modern Fullstack Guide
  • NoSQL: A category of databases that use non-relational models such as documents or key-value stores. They scale well for certain workloads but trade off strict relational features. See also: SQL and SQLAlchemy Cheat Sheet
  • NPM (Node Package Manager): The default package manager for Node.js. It installs and manages dependencies for JavaScript projects. See also: React Starter Code, Modern Fullstack Guide

O

P

Q

R

S

  • Schema: The structure of data, such as database tables or API response shapes. Schemas act as contracts so systems agree on data formats. See also: SQLAlchemy CRUD Guide, SQL DDL Guide, Library API Flask Patterns Guide, Schema Examples
  • Schema Validation: Checking data against a defined shape before using it. Validation prevents invalid input from reaching business logic or the database. See also: API Authentication Guide
  • Server: A machine or program that provides resources or services to clients. Servers handle requests, run business logic, and talk to databases. See also: Flask REST API Development Guide, Library API Production Workflow Guide
  • Serialization: Converting data structures or objects into a format that can be stored or transmitted, then reconstructed later. In JavaScript, JSON.stringify() serializes objects to strings for LocalStorage or HTTP requests. See also: JavaScript LocalStorage Guide, JavaScript Fetch API Guide
  • Server-Side: Code that runs on the server rather than the browser. It can access databases and secrets and is trusted to enforce business rules. See also: Modern Fullstack Guide
  • Session: Server- or client-stored data that persists between requests, often used for login state. Sessions are commonly tracked with cookies or tokens. See also: API Authentication Guide
  • SetTimeout/SetInterval: JavaScript timing functions for delayed or repeated code execution. setTimeout runs code once after a delay, setInterval runs code repeatedly at fixed intervals. Both return timer IDs that can be cleared with clearTimeout/clearInterval. See also: JavaScript Basics Cheat Sheet, DOM Manipulation Guide
  • SessionStorage: A browser API for storing key-value pairs that persist only until the browser tab is closed. Unlike LocalStorage, data is cleared when the tab/window closes, making it suitable for temporary session data. See also: JavaScript LocalStorage Guide
  • SQL (Structured Query Language): The standard language for querying and manipulating relational databases. SQL is used for reads, writes, and schema changes. See also: SQL and SQLAlchemy Cheat Sheet, SQL DDL Guide, SQL Advanced Queries Guide
  • SQLAlchemy: A Python toolkit and ORM that provides both SQL expression building and object mapping. It balances low-level SQL control with high-level productivity. Advanced patterns include session.flush() for mid-transaction ID access, association objects for many-to-many relationships with metadata, and primaryjoin/secondaryjoin for self-referential relationships. See also: SQL and SQLAlchemy Cheat Sheet, SQLAlchemy CRUD Guide, SQLAlchemy Relationships Guide, SQLAlchemy Advanced Patterns Guide, ORM Models
  • Specificity (CSS): The scoring system browsers use to decide which CSS rule wins when multiple selectors match the same element. Selectors like IDs carry more weight than classes or elements; pseudo-classes increase specificity, while :where() contributes zero specificity. See also: CSS Pseudo-Selectors Guide, CSS Cheat Sheet, CSS Layout Guide
  • Stacking Context: A three-dimensional conceptualization of HTML elements along an imaginary z-axis. Created by positioned elements with z-index values, transforms, opacity, or other CSS properties. Parent-child relationships within stacking contexts affect element layering. See also: CSS Cheat Sheet, CSS Flexbox Complete Guide
  • State: Data that represents the current condition of an application or component. Managing state correctly is key to predictable UI behavior. See also: React Basics Guide, Modern React Ecommerce Guide
  • Static Site Generation (SSG): Pre-rendering pages at build time so they can be served as static files. SSG is fast and cache-friendly for content that changes infrequently. See also: Modern Fullstack Guide
  • Status Code: A three-digit number in HTTP responses indicating the result of a request. Common codes include 200 (success), 404 (not found), 500 (server error). Fetch API does not throw errors for non-2xx status codes, requiring manual checking with response.ok. See also: JavaScript Fetch API Guide, APIs and Requests Cheat Sheet

T

  • TDD (Test-Driven Development): A workflow where you write a failing test first, then write code to pass it, then refactor. It encourages small, verifiable steps. See also: Testing and Debugging Cheat Sheet, Python API Testing Guide, Test Examples
  • Type Hints: Python annotations that specify expected types for function parameters and return values. Type hints enable static type checkers like mypy to catch type errors before runtime, improve IDE autocomplete, and serve as documentation. See also: Advanced Python Cheat Sheet, Python Basics Cheat Sheet
  • Token: A credential string that represents authentication or authorization claims. Tokens are often short-lived and sent in headers or cookies. See also: OAuth2 and Token Management Guide
  • Transaction: A group of database operations that must all succeed or all fail. Transactions protect data consistency during complex updates. See also: SQLAlchemy Advanced Patterns Guide
  • TypeScript: A typed superset of JavaScript that adds static typing. It helps catch errors early and improves IDE support. See also: Modern Fullstack Guide

U

V

W

  • Webhook: An HTTP callback triggered by an event, such as a payment or form submission. Webhooks let systems notify each other in near real time. See also: Building AI Ready APIs Guide
  • Webpack: A module bundler that builds dependency graphs and produces optimized assets. It handles JavaScript, CSS, images, and more via loaders. See also: Modern Fullstack Guide, React Starter Code
  • WebSocket: A protocol that provides full-duplex communication over a single TCP connection. WebSockets enable real-time features like chat and live dashboards. See also: Real Time Web Guide

X

  • XML (eXtensible Markup Language): A markup language for structured documents and data exchange. It is more verbose than JSON but still used in legacy systems. See also: APIs and Requests Cheat Sheet

Y

Z

  • Z-index: A CSS property that controls the stacking order of positioned elements (non-static position values). Higher z-index values appear in front of lower values. Only works on positioned elements and is affected by stacking contexts. See also: CSS Cheat Sheet, CSS Flexbox Complete Guide
  • Zero-Day: A software vulnerability that is unknown to defenders at the time of discovery. Zero-days are high risk because no patch exists yet.

Back to Main