Glossary

This is the complete list of abbreviations and short technical terms that appear across the SEBook, tutorials, and blog posts. The same definitions are surfaced inline as <abbr> tooltips when an abbreviation is used in body text — hover over (or focus) any abbreviation on the site to see its expansion.

Showing all 100 terms.

  • ABC

    Abstract Base Class

    A class that defines a shared interface or contract but is not meant to be instantiated directly. In Python, ABCs are commonly created with the abc module and abstractmethod decorators.

  • ACID

    Atomicity, Consistency, Isolation, Durability

    A set of properties that database transactions are expected to satisfy. Atomicity means a transaction either completes fully or has no effect; Consistency means the database moves between valid states; Isolation means concurrent transactions don't interfere; Durability means committed changes survive crashes.

  • AI

    Artificial Intelligence

    Software techniques that make systems perform tasks associated with human intelligence, such as classification, planning, natural-language processing, or code generation.

  • API

    Application Programming Interface

    A contract that lets one piece of software call another. APIs hide implementation details and expose a stable surface — function names, parameter types, and return values — that callers can depend on.

  • AST

    Abstract Syntax Tree

    A tree representation of source code structure used by compilers, interpreters, linters, refactoring tools, and code-analysis systems.

  • CAP

    Consistency, Availability, Partition tolerance

    A theorem about distributed systems that says when a network partition occurs, a system must choose between returning only consistent, up-to-date data and remaining available for every request.

  • CD

    Continuous Delivery (or Continuous Deployment)

    The practice of keeping software in a state where it can be released at any time. Continuous Deployment goes one step further and actually releases every change automatically once it passes the pipeline.

  • CI

    Continuous Integration

    The practice of merging every developer's work into a shared mainline frequently — usually several times a day — and running automated tests on each merge to catch integration problems early.

  • CLI

    Command-Line Interface

    A text-based interface where users type commands instead of clicking graphical controls. Shells, Git, package managers, and many developer tools expose CLIs.

  • CPU

    Central Processing Unit

    The processor that executes machine instructions. CPU speed and workload shape performance for compute-heavy programs.

  • CRUD

    Create, Read, Update, Delete

    The four basic operations on persistent storage. Most data-driven applications expose some form of CRUD interface for the entities they manage.

  • CSRF

    Cross-Site Request Forgery

    A web security vulnerability in which an attacker tricks a logged-in user's browser into sending an unwanted request to a site they're authenticated with. CSRF tokens and SameSite cookies are common defenses.

  • CSS

    Cascading Style Sheets

    The language used to describe the presentation (colors, layout, typography) of HTML documents.

  • CSV

    Comma-Separated Values

    A plain-text tabular data format where each record is a line and fields are separated by commas. CSV is common for imports, exports, spreadsheets, and simple data pipelines.

  • DBMS

    Database Management System

    Software that stores, queries, indexes, and protects persistent data. A DBMS handles concerns such as transactions, concurrency, durability, and query planning.

  • DI

    Dependency Injection

    A design technique where collaborators are provided to an object from the outside instead of being constructed internally. DI makes code easier to test and swap because dependencies are explicit.

  • DIP

    Dependency Inversion Principle

    The SOLID principle that high-level policy should depend on abstractions, not concrete low-level details. The abstractions should be shaped by the high-level module's needs.

  • DNS

    Domain Name System

    The distributed naming system that translates human-readable domain names, such as example.com, into IP addresses that network devices can route to.

  • DOM

    Document Object Model

    The in-memory tree representation of an HTML or XML document that scripts manipulate. Browser DOM APIs let JavaScript add, remove, and modify nodes.

  • FIFO

    First In, First Out

    An ordering policy where the item that has waited the longest is processed first, as in a queue.

  • FTP

    File Transfer Protocol

    An application-layer protocol for transferring files between hosts. Modern systems often prefer SSH-based or HTTPS-based transfer mechanisms for encrypted workflows.

  • GC

    Garbage Collection

    Automatic memory management that reclaims objects no longer reachable by a program, reducing manual allocation errors at the cost of runtime overhead.

  • GUI

    Graphical User Interface

    A visual interface made of windows, buttons, menus, icons, and other graphical controls. GUIs contrast with command-line interfaces.

  • GoF

    Gang of Four

    The four authors of the 1994 book "Design Patterns" — Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides — and, by extension, the catalog of 23 object-oriented design patterns the book described.

  • gRPC

    gRPC Remote Procedure Calls

    A high-performance remote procedure call framework commonly used for service-to-service communication. gRPC typically uses Protocol Buffers and HTTP/2.

  • HTML

    HyperText Markup Language

    The markup language used to structure web pages. HTML elements describe meaning (heading, paragraph, list, link); CSS describes presentation; JavaScript describes behaviour.

  • HTTP

    HyperText Transfer Protocol

    The application-layer protocol the web is built on. Clients send request messages (with a method like GET or POST and a URL); servers respond with status codes and bodies.

  • HTTPS

    HyperText Transfer Protocol Secure

    HTTP protected by TLS encryption. HTTPS is the default for public web pages and is essential when credentials, personal data, or private messages cross a network.

  • I/O

    Input/Output

    Communication between a program and the outside world, such as reading files, writing terminal output, sending network requests, or receiving user input.

  • ID

    Identifier

    A value used to distinguish one object, record, user, process, or resource from another.

  • IDE

    Integrated Development Environment

    A programming environment that combines editing, running, debugging, navigation, and project tooling into one application.

  • INVEST

    Independent, Negotiable, Valuable, Estimable, Small, Testable

    A checklist for evaluating whether a user story is small enough, clear enough, and useful enough for an Agile team to discuss, estimate, implement, and test.

  • IP

    Internet Protocol

    The network-layer protocol responsible for addressing and routing packets between machines across interconnected networks.

  • IPv4

    Internet Protocol version 4

    The older 32-bit version of IP, commonly written as four decimal octets such as 192.168.1.42.

  • IPv6

    Internet Protocol version 6

    The newer 128-bit version of IP, designed to provide vastly more address space than IPv4.

  • ISP

    Interface Segregation Principle or Internet Service Provider

    In design-principle content, ISP usually means Interface Segregation Principle, where clients should not depend on methods they do not use. In networking content, ISP can mean Internet Service Provider.

  • JIT

    Just-In-Time

    A compilation strategy that turns code into machine code while a program is running, often using runtime information to optimize hot paths.

  • JS

    JavaScript

    The programming language used by browsers and Node.js to add behavior to web pages, build applications, and run server-side JavaScript programs.

  • JSON

    JavaScript Object Notation

    A lightweight, text-based data interchange format with a JavaScript-derived syntax. JSON is used widely for configuration files and HTTP payloads.

  • JSX

    JavaScript XML

    A JavaScript syntax extension used by React to write HTML-like markup inside JavaScript. JSX is compiled into ordinary JavaScript calls.

  • JVM

    Java Virtual Machine

    The runtime that loads Java bytecode, manages memory, and executes Java programs across different operating systems.

  • JWT

    JSON Web Token

    A compact, signed token format used for authentication and information exchange. A JWT is three Base64url-encoded segments — header, payload, and signature — separated by dots.

  • LIFO

    Last In, First Out

    An ordering policy where the most recently added item is processed first, as in a stack.

  • LLM

    Large Language Model

    A machine-learning model trained on large text and code corpora to predict and generate language, answer questions, summarize, translate, and assist with programming tasks.

  • LSP

    Liskov Substitution Principle

    The SOLID principle that objects of a subtype should be usable anywhere the supertype is expected without breaking the program's promised behavior.

  • MVC

    Model-View-Controller

    A user-interface architecture that separates the data and business rules (the Model), the presentation (the View), and the input handling and orchestration (the Controller).

  • NAT

    Network Address Translation

    A networking technique that rewrites IP address or port information as packets pass through a router or firewall, often allowing many private devices to share one public address.

  • NFC

    Near Field Communication

    A short-range wireless communication technology often used for tap-to-pay, access badges, device pairing, and physical tags that trigger digital actions.

  • NoSQL

    Not Only SQL

    A family of non-relational database systems, such as document, key-value, wide-column, and graph stores, often chosen for flexible schemas or horizontal scale.

  • OAuth

    Open Authorization

    An authorization framework that lets a user grant a third-party application limited access to their resources on another service, without sharing their password.

  • OCP

    Open/Closed Principle

    The SOLID principle that software entities should be open for extension but closed for modification, so new variants can be added without editing stable existing code.

  • OOP

    Object-Oriented Programming

    A programming paradigm built around objects — bundles of state and behaviour — interacting through method calls. Inheritance, encapsulation, and polymorphism are its three classical pillars.

  • ORM

    Object-Relational Mapping

    A technique that translates between objects in code and rows in a relational database. ORMs let developers manipulate persistent data using language-native types instead of writing SQL by hand.

  • OS

    Operating System

    System software that manages hardware, files, memory, processes, networking, and device access for applications.

  • PDF

    Portable Document Format

    A file format for preserving document layout across devices, printers, and operating systems.

  • PID

    Process Identifier

    A numeric identifier assigned by an operating system to a running process.

  • POP

    Post Office Protocol

    An application-layer protocol used by email clients to retrieve messages from a mail server.

  • POSIX

    Portable Operating System Interface

    A family of standards for Unix-like operating system interfaces, including shell behavior, filesystem conventions, and system APIs.

  • PR

    Pull Request

    A request to merge a branch of code into another branch — usually a long-lived integration branch like main or master. Pull requests are the unit of code review on GitHub, GitLab, and similar platforms.

  • PVM

    Python Virtual Machine

    The runtime model that executes Python bytecode after source code has been compiled by the Python interpreter.

  • QR

    Quick Response

    A two-dimensional barcode format that can encode text such as a URL, identifier, or short instruction for scanning by a camera.

  • RAII

    Resource Acquisition Is Initialization

    A resource-management idiom, common in C++, where acquiring a resource is tied to object lifetime and cleanup happens automatically when the object is destroyed.

  • RAM

    Random Access Memory

    Fast, temporary memory used by running programs to store data and instructions while the computer is powered on.

  • RDBMS

    Relational Database Management System

    A DBMS based on relational tables, schemas, keys, and SQL queries.

  • REST

    Representational State Transfer

    An architectural style for distributed hypermedia systems. REST APIs expose resources at predictable URLs and use HTTP methods (GET, POST, PUT, DELETE) for the standard operations on them.

  • RGB

    Red, Green, Blue

    A color model that represents colors as combinations of red, green, and blue light, commonly used for screens and CSS colors.

  • RPC

    Remote Procedure Call

    A communication style where code invokes a procedure on another process or machine as if it were a local function call.

  • RegEx

    Regular Expression

    A pattern language for matching, validating, searching, or transforming text.

  • SDK

    Software Development Kit

    A collection of tools, libraries, documentation, and sample code that helps developers build applications for a specific platform or against a specific service.

  • SEO

    Search Engine Optimization

    The practice of making web content easier for search engines to discover, understand, and rank.

  • SHA

    Secure Hash Algorithm

    A family of cryptographic hash algorithms. Git commonly refers to object identifiers as SHAs because commit and object names are derived from secure hashes.

  • SMS

    Short Message Service

    The text-message protocol used by mobile networks for short messages, often integrated into software through notification APIs.

  • SMTP

    Simple Mail Transfer Protocol

    An application-layer protocol used to send and relay email between mail servers.

  • SOLID

    Single-responsibility, Open-closed, Liskov substitution, Interface segregation, Dependency inversion

    An acronym for five object-oriented design principles popularised by Robert C. Martin. The principles guide how to keep classes small, loosely coupled, and easy to change.

  • SPA

    Single Page Application

    A web application that loads one HTML shell and updates the interface client-side as users navigate, instead of requesting a full new page for every view.

  • SQL

    Structured Query Language

    The standard language for querying and modifying data in relational databases. SQL statements include SELECT (read), INSERT (create), UPDATE (modify), and DELETE (remove).

  • SRP

    Single Responsibility Principle

    The SOLID principle that a class or module should have one reason to change, usually framed as serving one cohesive actor or concern.

  • SSH

    Secure Shell

    A cryptographic protocol for securely operating network services over an unsecured network. Most commonly used for remote command-line login and file transfer.

  • SSL

    Secure Sockets Layer

    The older cryptographic protocol family that preceded TLS. The term still appears colloquially in phrases such as SSL certificates, though modern HTTPS uses TLS.

  • SSR

    Server-Side Rendering

    A web rendering approach where the server sends already-rendered HTML for a page, improving initial load and search indexing for many content-heavy sites.

  • SUT

    System Under Test

    The component or system whose behavior a test is exercising. Test doubles often replace collaborators around the SUT.

  • SoC

    Separation of Concerns

    A design principle that separates a system into distinct parts, each responsible for a different concern, so changes and reasoning stay localized.

  • TCP

    Transmission Control Protocol

    A transport-layer protocol that provides reliable, ordered, byte-stream communication between two hosts. HTTP, SSH, and most other application protocols run on top of TCP.

  • TDD

    Test-Driven Development

    A development workflow in which the developer writes a failing test first, then writes the smallest amount of code that makes the test pass, then refactors. The cycle repeats one tiny step at a time.

  • TLS

    Transport Layer Security

    A cryptographic protocol that provides authenticated, encrypted communication between two parties over a network. HTTPS is HTTP carried over TLS.

  • TTL

    Time To Live

    A limit on how long data should be considered valid or how far a network packet may travel. In DNS, TTL controls how long resolvers can cache an answer.

  • UDP

    User Datagram Protocol

    A transport-layer protocol that provides connectionless, unreliable, message-oriented communication. Used where low latency matters more than guaranteed delivery — for example, real-time video, games, and DNS lookups.

  • UI

    User Interface

    The part of a system a user sees and operates — buttons, text fields, layouts, the keyboard and pointer behaviour. Distinct from User Experience (UX), which covers the full journey including non-visual flow and content.

  • UID

    Unique Identifier

    An identifier intended to be unique within a particular system, table, dataset, or namespace.

  • UML

    Unified Modeling Language

    A standardised graphical notation for modelling object-oriented software. UML defines a family of diagram types — class, sequence, state, activity, use case — that depict different views of a system.

  • URL

    Uniform Resource Locator

    The address of a resource on the web. A URL identifies the protocol (https), the host (example.com), an optional path (/page), and optional query parameters and fragment.

  • UX

    User Experience

    The full experience a user has with a product — discovery, learning, regular use, recovery from errors. UI is one part of UX.

  • V8

    V8 JavaScript engine

    Google's JavaScript engine used by Chrome and Node.js. It compiles and runs JavaScript, including just-in-time optimization.

  • VM

    Virtual Machine

    A software execution environment that abstracts an underlying machine or runtime, such as the JVM for Java bytecode or the Python virtual machine for Python bytecode.

  • WIP

    Work In Progress

    A label for unfinished work, often used for temporary commits, draft branches, or pull requests that are not ready for review.

  • XML

    Extensible Markup Language

    A text-based markup format with explicit tags. XML is more verbose than JSON but supports schemas, namespaces, and mixed content; it is still common in configuration files and document formats.

  • XP

    Extreme Programming

    A lightweight Agile methodology emphasising short iterations, pair programming, test-driven development, and continuous integration.

  • XSS

    Cross-Site Scripting

    A web security vulnerability in which an attacker injects JavaScript into a page that other users will load. XSS lets the attacker run code in the victim's browser session.

  • YAML

    YAML Ain't Markup Language

    A human-readable data serialisation format using indentation for structure. YAML is widely used for configuration files; this very file is YAML.

  • ZIP

    ZIP archive format

    A compressed archive file format commonly used to bundle one or more files into a single downloadable file.