Home Blog Reviews Best Picks Guides Tools Glossary Advertise Subscribe Free
Glossary

Programming & Software Engineering

967 terms in this category.

Abstract Base Class
ABC — cannot be instantiated, only subclassed. Defines interface.
Abstract Class
A class that cannot be instantiated directly, only subclassed. Defines a contract with abstract methods that subclasses
Abstract Factory
Creational pattern for creating families of related objects without specifying concrete classes.
Abstract Syntax
The logical structure of code independent of concrete syntax. ASTs represent abstract syntax.
Abstraction
The principle of hiding complexity and exposing only what's necessary. Classes, interfaces, and APIs are forms of abstra
Access Modifier
Keywords controlling visibility of class members. Public (anywhere), private (same class), protected (subclass). TypeScr
Accessor
A getter method returning the value of a private property. Part of encapsulation in OOP languages.
Accessor Method
Getter returning private field value. Encapsulation mechanism.
Accumulator
A variable collecting results through iteration. reduce() uses accumulator pattern.
ACL Pattern
Access Control List pattern — permissions attached to objects specifying allowed operations per user.
Active Record
ORM pattern where objects wrap database rows. Rails ActiveRecord. Combines data and behavior.
Actor Model
Concurrency model where actors communicate via messages with no shared state. Used in Erlang and Akka.
Adapter
Converts one interface to another. Wraps incompatible class to work with existing code.
Adapter Pattern
A design pattern wrapping an incompatible interface to make it compatible. Converts one interface into another that clie
Address Space
Range of memory addresses accessible to a process. Virtual address space isolated per process.
Address Space Layout Randomization
ASLR memory security technique randomizing locations.
Affine Type
Type used at most once. Rust ownership is affine. Enables memory safety without GC.
Agile
Iterative software development methodology valuing individuals, working software, collaboration, and responding to chang
Agile Manifesto
2001 principles: individuals, working software, collaboration, change.
Ahead-of-Time
AOT compilation before execution. Go, Rust compile AOT. Faster startup than JIT.
Ahead-of-Time Compilation
Compiling before execution. Faster startup than JIT.
Algebraic Data Type
Types composed via sum (union) and product (tuple). Rust enums and Haskell data types. Enables pattern matching.
Algorithm
A finite sequence of instructions to solve a problem. The foundation of all computing, from sorting data to content reco
Alias
Alternative name for a type, command, or resource. TypeScript type alias, bash alias.
Alignment
Memory alignment requirements for data types. Affects performance and correctness on hardware.
Allocator
Component managing memory allocation. malloc in C, jemalloc, mimalloc. Custom allocators for perf.
Alpha Testing
Internal testing before beta release. Found by developers and QA team.
Ambient Declaration
TypeScript declare for existing JS code. Provides types without implementation.
Amortized Analysis
Averaging operation cost over a sequence. Dynamic array append is O(1) amortized despite occasional O(n) resize.
AMQP
Advanced Message Queuing Protocol. RabbitMQ implements it.
Anagram
Words with same letters rearranged. Classic interview problem.
Annotation
Metadata attached to code elements. Java @Override, Python decorators, TypeScript decorators. Processed by compilers, fr
Anonymous Function
A function without a name, defined inline. Arrow functions (() => {}) in JS, lambdas in Python. Used for callbacks, even
Anti-Corruption Layer
DDD pattern isolating domain from external systems. Translates between models.
Anti-Pattern
A common but counterproductive programming practice. God class, spaghetti code, and premature optimization are anti-patt
AOP
Aspect-Oriented Programming — separating cross-cutting concerns (logging, caching) from business logic.
API
Application Programming Interface — a set of rules enabling communication between different software. REST and GraphQL A
API Client
Code library for consuming an API. Auto-generated from OpenAPI specs.
API Contract
Agreement on API interface: endpoints, types, behaviors. OpenAPI specification documents it.
API Rate Limit
Maximum API calls per time period. 429 status when exceeded. Token bucket algorithm.
API Version
Managing API changes. /v1/, /v2/. Semantic versioning for APIs.
APM
Application Performance Monitoring — tracking speed, errors, and dependencies in production. New Relic, Datadog.
Application Binary Interface
ABI defining binary interaction between components.
Application Layer
Highest network layer handling protocols. HTTP, FTP, SMTP, DNS.
Application Server
Server hosting application logic. Tomcat, Gunicorn, Puma. Between web server and DB.
Application State
Current data values of running application.
Arch Decision Record
ADR documenting architecture decisions. Context, decision, consequences.
Argument
A value passed to a function call. Different from parameter which is the variable in the function definition.
Argument Parsing
Processing command-line arguments. argparse (Python), commander (Node), clap (Rust).
Argument Unpacking
Expanding collection into function arguments.
Arithmetic Overflow
Calculation exceeding type maximum. Wraps around or throws. Security vulnerability.
Array
An ordered collection of elements accessed by index. Fixed-size in C/Java, dynamic in JavaScript/Python. O(1) access by
Array Buffer
Fixed-length binary data buffer in JavaScript. Foundation for typed arrays and WebGL data processing.
Array Destructuring
Extracting array elements to variables. const [a, b] = [1, 2]. Pattern matching.
Aspect
Cross-cutting concern in AOP. Logging, caching, auth applied across modules.
Aspect Ratio (Code)
Width to height ratio. 16:9, 4:3.
Assembler
Translates assembly language to machine code.
Assembly Language
Low-level language using mnemonics for CPU instructions. Architecture-specific. Used in kernels and drivers.
Assert
Statement verifying condition. assert(x > 0). Fails loudly. Testing and runtime checks.
Assertion
A statement verifying a condition is true during execution. Used in tests (expect/assert) and runtime checks. Fails loud
Assertion Library
Testing assertions. expect(x).toBe(5). Chai, Jest.
Assignment
Storing value in variable. let x = 5. Destructuring assignment. Compound: x += 5.
AST
Abstract Syntax Tree — a tree representation of source code structure. Compilers, linters, and formatters parse code int
Async Generator
A generator yielding Promises. async function* in JavaScript. Perfect for paginated APIs and streaming.
Async Iterator
An iterator that yields values asynchronously using for-await-of in JavaScript. Useful for streaming data, paginated API
Async Queue
A structure processing tasks sequentially with async operations. Prevents resource overwhelming.
Async/Await
Syntax for asynchronous code looking synchronous. await pauses until promise resolves.
Asynchronous
Operations that don't block execution while waiting for results. async/await in JavaScript, Promises, and event loops en
Atomic Design
Brad Frost's design methodology: atoms → molecules → organisms → templates → pages. Builds complex interfaces from simpl
Atomic Operation
An operation that completes entirely or not at all, with no intermediate state visible. Database transactions and concur
Atomic Type
Type with guaranteed atomic read/write. AtomicInteger, AtomicBool. Lock-free concurrency.
Autoboxing
Automatic primitive to wrapper conversion. Java int to Integer.
Autoload
Loading modules on first use. PHP autoloading, Ruby autoload. Reduces startup time.
Automatic Memory Management
Runtime handling allocation and deallocation. GC.
Availability
System accessible when needed. 99.99% = 52 min downtime/year.
AVL Tree
Self-balancing BST where subtree heights differ by at most 1. O(log n) operations guaranteed.
Awk
Text-processing language for extracting and transforming data in terminals. Powerful for log analysis.
Backend
The server-side part of software: business logic, database, authentication. Common languages: Node.js, Python, Go, Rust.
Backend as a Service
A platform providing ready-made backend: auth, database, storage, functions. Supabase, Firebase, and Appwrite eliminate
Backend for Frontend
BFF pattern — custom backend per frontend type.
Backoff Strategy
Retry with increasing delays: 1s, 2s, 4s. Exponential backoff with jitter prevents thundering herd.
Backpressure
A flow control mechanism where consumers signal producers to slow down. Prevents memory overflow in streams. Node.js str
Backtracking
Algorithm trying solutions, undoing on failure. Regex engine, sudoku solver.
Backward Compatibility
New version working with old data and interfaces.
Badge
Visual indicator showing status or count. Notification badges, CI status badges.
Bag
Unordered collection allowing duplicates. Multiset.
Bare Metal Programming
Programming directly on hardware without OS. Embedded systems, microcontrollers.
Base Case
The condition stopping recursion. Without it, recursion causes stack overflow.
Base Class
Class that other classes inherit from. Also called superclass or parent class.
Bash Script
Shell script automating system tasks. #!/bin/bash shebang. chmod +x to make executable.
Batch
Processing multiple items together. Batch inserts, batch API calls. More efficient.
Behavioral Pattern
Design patterns for object interaction. Observer, strategy, command, iterator.
Benchmark (Code)
Measuring code performance: execution time, memory, throughput. Vitest bench, pytest-benchmark.
Benchmark (Performance)
Standardized test measuring performance.
Benchmark Suite
Collection of benchmarks measuring different aspects of performance.
Best Practice
Recommended approach based on experience. Code reviews, testing, documentation.
Beta Testing
External testing before GA. Real users find issues. Public or closed beta.
BFS
Breadth-First Search — a graph/tree traversal exploring all neighbors before going deeper. Uses a queue. Finds shortest
Big Endian
Most significant byte first in memory. Network byte order.
Big O Notation
Mathematical notation describing algorithm complexity as a function of input size. O(1) is constant, O(n) is linear, O(n
Binary
Base-2 number system. 0 and 1. Foundation of computing. 8 bits = 1 byte.
Binary Protocol
Communication using binary format. gRPC, MessagePack. Smaller and faster than text.
Binary Search
An efficient algorithm finding elements in sorted arrays. Divides search space in half each step. O(log n) time complexi
Binary Tree
A tree where each node has at most two children. BST (Binary Search Tree) enables O(log n) search. Heaps, AVL trees, and
Binding
Associating name with value or reference. Variable binding, this binding, data binding.
Binding (Code)
Associating name with value. Variable, this, event binding.
Bit
Smallest data unit. 0 or 1. 8 bits = byte. Foundation of all digital data.
Bit Field
Data structure allocating specific bits to fields. Compact storage for flags in protocols and hardware.
Bit Manipulation
Operating directly on binary representations. Checking flags, setting permissions, and optimizing algorithms. Bitwise AN
Bit Masking
Using bitwise operations to extract or set specific bits. Permission flags.
Bitmask
Integer using individual bits as boolean flags.
Bitwise Operation
Operations on individual bits: AND (&), OR (|), XOR (^), NOT (~), shifts (<<, >>). Used in permissions, flags, cryptogra
Black Box Testing
Testing without knowledge of internal implementation. Input/output only.
Block
A group of statements. Delimited by {} in most languages. Creates scope for let/const.
Block Chain (Data)
Linked list of cryptographically signed data blocks.
Blockchain (Code)
Linked list of cryptographically signed blocks. Immutable append-only data structure.
Blocking I/O
I/O operations that halt execution until complete. A thread waits idle during disk reads or network calls. Non-blocking
Bloom Filter
Probabilistic set membership test. May say yes incorrectly, never no. Space efficient.
Blue-Green Deployment
Two identical environments. Deploy to inactive, switch. Instant rollback.
Boilerplate
Repetitive code needed to set up a project. Create React App, create-next-app, and templates reduce boilerplate at the s
Boolean
Data type with true/false values. Foundation of logic and conditions. Named after George Boole.
Boolean Expression
Expression evaluating to true or false.
Boolean Logic
AND, OR, NOT operations. Foundation of computing. Circuit design and conditionals.
Bootstrapping
Starting a system using a simpler version of itself. Compiler bootstrapping.
Borrow Checker
Rust compile-time system enforcing ownership rules. Prevents data races and dangling refs.
Bottleneck
The slowest component limiting system performance. Profiling identifies bottlenecks to optimize.
Bottom-Up
Building complex from simple components. Dynamic programming.
Boundary Testing
Testing at input edges: min, max, zero, empty, null. Catches off-by-one errors.
Bounded Context
DDD concept defining clear boundaries for a domain model. Each context has own language.
Branch
An independent line of development in Git. Allows working on features without affecting main code. Feature branches, rel
Branch (Code)
Code path chosen by condition. if/else branches.
Branch Prediction
CPU guessing next instruction path. Misprediction costs cycles. Affects performance.
Breadth-First Search
Level-by-level graph traversal using queue.
Breakpoint (Debug)
Marker pausing debugger. Set in IDE. Inspect variables and step through code.
Bridge (Pattern)
Decoupling abstraction from implementation.
Bridge Pattern
Decoupling abstraction from implementation so both vary independently. Separates what from how.
Broadcast (Code)
Sending message to all listeners simultaneously. Events, pub/sub.
Broker
Intermediary managing communication. Message broker, service broker.
Brownfield Project
Building on existing code or legacy systems. Opposite of greenfield. Most real-world projects.
Browser Automation
Controlling browser programmatically. Playwright, Puppeteer.
Brute Force Algorithm
Trying all possibilities. Simple but slow. O(n!) for permutations.
Bubble Sort
Simple O(n²) sorting. Compare adjacent, swap. Educational but never use in production.
Buffer
A temporary memory area holding data during transfer between systems. Node.js Buffer handles binary data. Ring buffers a
Buffer Underrun
Reading buffer faster than filled. Audio skips, data gaps.
Bug
An error or defect in code causing unexpected behavior. The term originated in 1947 when a moth was found in a relay of
Bug Report
Document describing a defect: steps to reproduce, expected vs actual behavior, environment info.
Build Artifact
Output of build process: binaries, Docker images, bundles. Stored in registries, versioned, immutable.
Build Automation
Automated compilation and packaging. CI/CD builds.
Build Number
Incrementing identifier for each build. Version tracking.
Build System
Tool automating compilation, testing, and packaging. Make, Gradle, Bazel, and Turborepo. Incremental builds only recompi
Builder
Creational pattern constructing complex objects step by step. Fluent API.
Builder Pattern
A design pattern constructing complex objects step by step. Separates construction from representation. Fluent API enabl
Built-in Type
Language-provided type. int, string, bool, float.
Bulk Insert
Inserting many records at once. Much faster than individual.
Bundle Size
Total JavaScript sent to browser. Smaller is faster.
Bundler
Tool combining modules into single output. webpack, Rollup, esbuild, Vite.
Burst
Temporary spike in activity. Burst capacity, burst writes.
Bus Factor
Number of team members whose absence would stall a project. Documentation increases bus factor.
Bytecode
Intermediate code between source and machine code. JVM bytecode (Java), WASM, and Python .pyc files. Portable across pla
C Language
Foundational systems language (1972). Manual memory, pointers. Linux kernel, Git, Redis written in C.
C++
Extension of C with OOP, templates, RAII. Systems programming. Unreal Engine, Chrome.
Cache Eviction
Removing items from full cache. LRU, LFU, FIFO.
Cache Hit
When requested data is found in cache. Opposite of cache miss. High hit rate means good performance.
Cache Hit Rate
Percentage of requests served from cache.
Cache Invalidation
Removing stale data from cache when the source changes. One of the two hard problems in CS. TTL, event-driven, and write
Cache Line
Smallest unit CPU transfers between cache and memory.
Cache Miss
Requested data not in cache. Requires slower fetch.
Cache Stampede
Many cache misses overwhelming backend simultaneously.
Call by Name
Evaluating argument expression each time accessed.
Call Graph
Graph of function calling relationships.
Call Stack
A stack data structure tracking function calls. Each call pushes a frame; returns pop it. Stack overflow occurs when too
Callback
A function passed as an argument to another function, executed when an operation completes. Fundamental pattern in async
Callback Hell
Deeply nested callbacks making code unreadable. Solved by Promises and async/await.
Camel Case
Naming convention: myVariableName. Standard in JavaScript. Pascal Case: MyClassName. Snake: my_variable.
Canary Deployment
Rolling out to small user percentage first. Detect issues before full rollout.
Canonical Form
Standard representation removing ambiguity.
Capacity Planning
Estimating resources for expected load. CPU, memory, storage projections based on growth.
Cardinality
Number of elements or unique values in set/column.
Cascading
Effects propagating through related elements. CSS cascade, database cascade delete.
Cascading Delete
Automatically deleting child records when parent deleted.
Case Statement
Switch case selecting code branch by value.
Cast
Explicitly converting between types. parseInt('42') in JS, (int)3.14 in C. May lose data.
Catch Block
Code handling exceptions from try block. try { } catch(e) { }. Handle errors meaningfully.
Catch-All
Handler matching all remaining cases. Default route.
CDN (Code)
Using CDN for package delivery. unpkg, jsdelivr, cdnjs. Script tags for libraries.
Ceiling Function
Rounding up to nearest integer. Math.ceil().
Chain
Linked sequence of operations. Method chaining, middleware chain, promise chain.
Chain (Pattern)
Linked sequence of processing steps.
Chain of Responsibility
Pattern where request passes through handler chain. Each processes or passes. Middleware chains.
Changelog
A file documenting notable changes for each version. Keep a Changelog format: Added, Changed, Deprecated, Removed, Fixed
Character Encoding
Mapping characters to bytes. UTF-8, ASCII.
Character Set
Defined collection of characters and codes. ASCII (128), Unicode (150K+). UTF-8 is universal.
Checked Exception
Exception that must be caught or declared. Java.
Checksum
Computed value verifying data integrity. MD5, SHA checksums detect corrupted downloads.
Child Process
Process created by another process. Fork, spawn.
Chunk
Portion of data processed together. Chunked transfer.
CI/CD
Continuous Integration/Continuous Deployment. Automated build, test, deploy pipeline.
Circuit Breaker
Pattern stopping calls to failing service. Open/closed/half-open states.
Circular Dependency
Module A depends on B, B depends on A. Causes initialization issues. Extract to third module.
Class
A blueprint for creating objects with shared properties and methods. Supports inheritance and encapsulation. ES6 classes
Class Diagram
UML diagram showing classes, attributes, methods, relationships.
Class Method
Method belonging to class, not instances. @classmethod in Python, static in Java.
Clean Architecture
Robert C. Martin's architecture with concentric layers. Entities at the center, use cases, adapters, and frameworks in o
Clean Build
Building from scratch without cached artifacts.
Clean Code
Well-written, readable, and maintainable code. Principles include descriptive names, small functions, and single respons
Clean Install
Installing from scratch removing previous versions. npm ci for clean node_modules.
Clear
Removing all elements from collection or display.
CLI
Command Line Interface — text-based interface for interacting with software. Terminal commands, shell scripts, and CLI t
CLI Tool
Command-line interface application. npm, git, docker. Built with oclif, commander.
Client SDK
Software development kit for API consumers.
Client-Server
Architecture where clients request services from servers. Web, mobile apps.
Clipboard
System area for temporary data storage. Cut, copy, paste operations.
Clock Drift
Time difference between clocks. Impacts distributed systems.
Clone
Creating a copy. git clone for repos, structuredClone() for JS objects. Shallow vs deep clone.
Closure
A function that retains access to variables from its outer scope even after the outer function returns. Fundamental in J
Closure (Detail)
Function capturing variables from outer scope.
Cloud Function
Serverless function triggered by events. AWS Lambda, Cloudflare Workers. Pay per invocation.
Cluster
Group of connected computers working together. Database, compute, or search clusters.
Coalescing
Combining multiple operations into one. Batch operations.
COBOL
1959 business language still running banking systems. ~220 billion lines in production.
Code Archive
Compressed code for distribution. .tar.gz, .zip.
Code Audit
Systematic code examination for quality and security.
Code Base
Complete source code of a project or organization.
Code Clone
Duplicated code in different locations. Clone detection.
Code Coverage
Percentage of code executed during tests. Line, branch, and function coverage. 80%+ is common target. Istanbul/nyc for J
Code Duplication
Same logic in multiple places. DRY violation.
Code Freeze
Period where no new changes allowed. Before releases or during incidents.
Code Generation
Automatically creating source code from specifications, schemas, or models. OpenAPI generates API clients, Prisma genera
Code Metrics
Quantitative measurements: cyclomatic complexity, LOC, coverage. SonarQube tracks metrics.
Code Path
Sequence of executed statements through program.
Code Point
Numeric value assigned to character in Unicode.
Code Review
The process of reviewing code by other developers before merge. Improves quality, shares knowledge, and reduces bugs. Pu
Code Signing
Digitally signing code to verify authenticity. macOS Gatekeeper, npm provenance.
Code Smell
An indicator of a potential problem in code: long functions, unclear names, duplication. Not a bug but suggests the need
Code Style
Consistent formatting conventions. Prettier, Black (Python). Team agreement.
Codebase
Complete collection of source code for a project. Monorepo or polyrepo.
Codegen
Automatically generating code from definitions. OpenAPI, Prisma, protobuf.
Codegen Tool
Tool generating code from specifications.
Coercion
Automatic type conversion by the language runtime. JavaScript coerces '5' + 3 to '53' (string). Source of bugs. TypeScri
Coercion (Detail)
Implicit type conversion by runtime. JS: '5' + 3 = '53'.
Cognitive Load
Mental effort to understand code. Reduce with simplicity.
Cohesion
How closely related a module's responsibilities are. High cohesion = module does one thing well.
Collaboration Tool
Software enabling team work. GitHub, Slack, Figma.
Collection
Data structure holding multiple elements. Arrays, lists, sets, maps. Each has specific performance.
Colocating
Keeping related code together. Tests next to source, styles next to components.
Column
Vertical data field in table or database.
Comma-Separated
Data delimited by commas. CSV format.
Command
An object encapsulating an action. CLI commands, CQRS commands, Redux actions.
Command Bus
Dispatching commands to appropriate handlers.
Command Pattern
A design pattern encapsulating a request as an object. Enables undo/redo, queuing, and logging operations. Each command
Command Queue
Queue of commands for sequential processing.
Comment
Text ignored by compiler. // single line, /* multi */. Good comments explain why, not what.
Commit
A snapshot of changes in Git. Each commit has a unique hash, descriptive message, and reference to the previous commit.
Compact
Reducing size by removing unused space.
Comparator
Function defining custom sort order. sort((a,b) => a.price - b.price). Returns negative/zero/positive.
Compare
Checking equality or ordering between values.
Compilation
Translating source to executable. AOT compiles before running; JIT compiles during execution.
Compile Error
Error caught during compilation. Type errors, syntax errors. Fix before running.
Compiler
A program that translates high-level source code into executable machine code. Examples: GCC (C/C++), rustc (Rust), java
Compiler Optimization
Automatic code improvement during compilation.
Compiler Warning
Non-fatal issue detected during compilation.
Completion Handler
Callback called when async operation finishes.
Complex Type
Non-primitive type: objects, arrays, classes. Passed by reference.
Component
Self-contained, reusable piece of UI or logic. React, Vue, Web Components. Props in, events out.
Component Test
Testing component with its dependencies.
Composite Pattern
Treating individual objects and compositions uniformly. Tree structures like file systems.
Composition
Building complex objects from simpler ones instead of inheritance. 'Has-a' vs 'is-a' relationship. Composition over inhe
Composition Root
Single location where dependencies are composed. Application entry point.
Compression
Reducing data size. Lossless (gzip) preserves all data. Lossy (JPEG) sacrifices some quality.
Compute
Processing power for calculations. Cloud compute, edge compute, serverless compute.
Compute Shader
GPU program for general computation. GPGPU.
Computed Property
Property derived from other data. Vue computed(), React useMemo(). Recalculates on dependency change.
Concatenation
Joining strings or arrays. 'hello' + ' world', [...arr1, ...arr2].
Concurrency
Execution of multiple tasks progressing at the same time. Threads, goroutines, and async/await are concurrency mechanism
Concurrency Control
Ensuring correct behavior with concurrent access. Optimistic (versions) and pessimistic (locks).
Condition Variable
Thread synchronization waiting for state change.
Conditional
Code executing based on condition. if/else, ternary, switch. Control flow.
Config File
File defining settings. .env, config.yaml, tsconfig.json. Externalize configuration from code.
Config Server
Centralized configuration management. Spring Cloud.
Configuration
Settings defining application behavior. Environment vars, config files, flags.
Confluent
Company behind Kafka. Managed streaming platform.
Connection
Established link between systems. Database connections, HTTP connections, WebSocket.
Connection Pool
Reusing pre-created connections. Database pools. Reduces creation overhead.
Consistency
All nodes showing same data. Strong (immediate), eventual (delayed). CAP theorem.
Consistency Model
Rules for distributed data visibility. Strong, eventual.
Console Application
Program running in terminal. No GUI. CLI tools, scripts, utilities.
Constant
A variable whose value cannot be changed after assignment. const in JavaScript (reference immutable), final in Java, let
Constant Folding
Compiler evaluating constant expressions at compile time.
Constant Time
O(1) operation. Hash table lookup, array access by index. Doesn't grow with input.
Constraint
Limitation or rule. Database constraints (unique, foreign key), type constraints.
Constraint Satisfaction
Finding values meeting all constraints.
Constructor
A special method called when creating an object. Initializes properties and state. constructor() in JS classes, __init__
Consumer
Component receiving and processing messages or events. Kafka consumers, queue subscribers.
Consumer Group
Set of consumers sharing message processing load.
Container
A software unit that packages code with all its dependencies. Docker is the standard. Lighter than VMs as they share the
Container (Code)
Abstraction holding elements. Array, list, map, set. Also: Docker container.
Content Hash
Hash of file content for cache invalidation.
Content Type
MIME type specifying data format. application/json, text/html. HTTP Content-Type header.
Context Switch
Overhead of switching between tasks. CPU saves/restores state. Mental context switching too.
Continuation
Representation of remaining computation. Continuation-passing style. Advanced control flow.
Continuation Passing
Style where result passed to callback. CPS.
Continuous Deployment
Automatically deploying every change that passes tests to production. Beyond CI/CD — no manual approval gate. Requires e
Continuous Integration
The practice of frequently integrating code into a shared repository with automated tests. CI catches bugs early. Tools:
Contract Testing
Verifying API providers and consumers agree on interface. Pact framework. Catches breaking changes.
Control Flow
Order of code execution. if/else, loops, switch/case alter flow. Sequential by default.
Controller
Component handling input and directing flow. MVC controller. API route handlers.
Convention Over Configuration
Sensible defaults reducing decisions. Rails and Next.js use conventions.
Conversion
Changing data from one type/format to another. Type casting, encoding, serialization.
Cookie
Small data stored by browser for a domain. Session IDs, preferences. HttpOnly for security.
Copy Constructor
Constructor creating object as copy of another. Deep vs shallow copy considerations.
Copy Elision
Compiler optimization avoiding unnecessary copies.
Copy Semantics
Rules for copying objects. C++ copy constructor.
Copy-on-Write
An optimization delaying data copying until modification. Both references share data until one writes. Used in fork(), G
Coroutine
A function that can suspend and resume execution. Python async/await, Kotlin coroutines, and Go goroutines. Enable coope
CORS
Cross-Origin Resource Sharing. HTTP headers allowing cross-origin requests.
Counter
Variable tracking count. Increment, decrement, reset.
Counting Semaphore
Semaphore allowing N concurrent accesses.
Coupling
The degree of dependency between software modules. Low coupling (loose coupling) is desirable — allows changing one modu
CPU Bound
Task limited by CPU speed. Image processing, compression. Use worker threads.
CQRS
Command Query Responsibility Segregation — separating read and write models. Different data stores optimized for each. C
Crash
Unexpected program termination. Unhandled exception, segfault. Crash reports aid debugging.
Critical Path (Code)
Longest execution path determining minimum time.
Cron Job
Scheduled Unix task. Cron syntax: */5 * * * * runs every 5 min. crontab manages schedules.
Cross-Compilation
Compiling code on one platform to run on another. Building ARM binaries on x86, or iOS apps on Mac. Go and Rust have exc
Cross-Cutting Concern
Functionality spanning multiple modules. Logging, auth.
Cross-Reference
Link between related data or documentation.
CRUD
Create, Read, Update, Delete — the four basic data persistence operations. Most web applications are essentially CRUD ov
Cryptographic Hash
One-way hash for security. SHA-256, BLAKE3. Irreversible.
Cryptographic Protocol
Rules for secure communication. TLS, SSH.
CSS Preprocessor
Language extending CSS. SASS, Less, Stylus. Variables, nesting, mixins.
CSV
Comma-Separated Values — plain text tabular data. Universal exchange format. Papaparse parses in JS.
CUDA Core
NVIDIA GPU processing unit for parallel computation.
Current Directory
The active directory in terminal. pwd shows it. Relative paths resolve from here.
Currying
Transforming a function with multiple arguments into a sequence of functions each taking one. add(1,2) becomes add(1)(2)
Cursor
Pointer to position in data. Database cursor for iterating results. Pagination cursor.
Custom Allocator
User-defined memory allocation strategy.
Custom Error
Application-specific error type. class NotFoundError extends Error. Meaningful error handling.
Custom Hook
Reusable React function with stateful logic. Prefix use: useLocalStorage, useDebounce.
Custom Iterator
User-defined sequential access implementation.
Cyclomatic Complexity
Code complexity measuring decision paths.
Daemon
A background process running without user interaction. System daemons (cron, sshd), Docker daemon (dockerd). Named after
Data Access Object
DAO pattern encapsulating data source operations.
Data Binding
Synchronizing data between model and view. One-way (React) or two-way (Vue v-model).
Data Class
A class primarily holding data with minimal behavior. Python @dataclass, Kotlin data class, TypeScript interfaces. Auto-
Data Container
Object holding structured data for transfer.
Data Contract
Agreement on data format between components.
Data Definition Language
DDL SQL creating schema. CREATE TABLE.
Data Encapsulation
Hiding data behind methods. Private fields.
Data Flow
How data moves through application. Unidirectional (React) or bidirectional. Redux enforces unidirectional.
Data Format
Structure for data representation. JSON, XML, YAML.
Data Integrity
Maintaining accuracy and consistency of data.
Data Loader
Component batching and caching data fetches.
Data Mapper
ORM pattern separating domain from persistence.
Data Object
Object primarily holding data. DTO, record, struct.
Data Partition
Dividing data across storage locations.
Data Serialization
Converting objects for storage. JSON, protobuf.
Data Source
Origin of data. Database, API, file, stream.
Data Store
System storing data. Database, cache, file system.
Data Structure
An organized way to store and access data efficiently. Arrays, linked lists, trees, graphs, hash tables, stacks, and que
Data Transfer Object
DTO — object carrying data between processes. No business logic, just fields.
Data Type
Classification of variable values. Primitive (number, string) and complex (object, array).
Data Validation
Verifying data meets rules and constraints.
Database
An organized system for storing and querying data. Relational (PostgreSQL, MySQL) use tables; NoSQL (MongoDB, Redis) use
Database Connection
Link between application and database. Connection string. Pool for efficiency.
Database Driver
Library connecting application to specific database.
Database Index
Structure speeding up queries. B-tree, hash. CREATE INDEX. Trade-off with writes.
Database Lock
Preventing concurrent data modification.
Database Migration
Scripts changing schema over time. Prisma migrate, Flyway. Version-controlled, reversible.
Database Pool
Reusing pre-created database connections.
Database Schema
Structure definition. Tables, columns, relationships.
Database Transaction
Atomic unit of database operations. ACID.
Date Format
Standard date representation. ISO 8601, locale-specific.
Date Library
Library for date operations. date-fns, Day.js, Luxon. Native Date is limited.
DDD Aggregate
Cluster of domain objects as a unit. Has root entity. Consistency boundary in DDD.
Dead Code
Code that can never be executed or whose result is never used. Tree shaking removes dead code from bundles. Increases ma
Dead Letter Queue
Queue storing messages that couldn't be processed. SQS, RabbitMQ support DLQ.
Deadlock
A state where two or more processes wait for each other indefinitely, unable to proceed. Occurs when locks are acquired
Deadlock Detection
Identifying circular wait conditions.
Debounce (Code)
A programming technique delaying function execution until a pause in calls. Implemented with timers. Commonly used for s
Debug
The process of finding and fixing bugs in code. Debuggers, console.log, breakpoints, and stack traces are essential tool
Debug Logging
Verbose output for troubleshooting issues.
Debugger
Tool for stepping through code execution.
Debugging
Finding and fixing code defects. Debuggers, console.log, breakpoints.
Decimal Precision
Exact arithmetic for financial calculations. 0.1+0.2≠0.3 in floats. Use BigDecimal or integer cents.
Decision Tree (Code)
Nested conditions selecting outcomes.
Declarative Programming
Specifying what, not how. SQL, HTML, CSS.
Decorator
A pattern that adds behavior to functions or classes without modifying them. Python @decorators, TypeScript decorators,
Decorator Pattern
Adding behavior to object without modifying class. Wrapping objects.
Decoupling
Reducing dependencies between components. Interfaces, events, message queues.
Deep Copy
Creating a completely independent copy of an object and all nested objects. structuredClone() in JS, copy.deepcopy() in
Deep Learning
Neural networks with many layers. Image recognition, NLP, generative AI.
Default Case
Handler when no other conditions match.
Default Export
Module primary export. One per file. Imported without braces.
Default Parameter
Function parameter with pre-assigned value. function greet(name='World'). Simplifies calls.
Default Value
Value used when none provided.
Defensive Programming
Anticipating failures in code. Validation, null checks, error handling.
Definition
Declaration providing implementation details.
Delay
Waiting specified time before proceeding.
Delegation
Object forwarding request to another object. Composition alternative to inheritance.
Delete Operation
Removing data from storage.
Delta
Difference between two values or states.
Denormalization
Adding redundant data for read performance. Reduces joins. NoSQL often denormalized.
Dependency
External code a project relies on. Managed by package managers (npm, pip, cargo). Direct vs transitive dependencies. Loc
Dependency Graph
Directed graph showing module dependencies. Package managers resolve these graphs.
Dependency Hell
Version conflicts between dependencies requiring incompatible versions. Lock files mitigate.
Dependency Injection
A pattern where dependencies are passed to an object instead of created internally. Facilitates testing and reduces coup
Deploy
The process of making an application available to users. Can be manual or automated (CD). Platforms: Vercel, AWS, Railwa
Deployment
Releasing software to production. Manual, automated, blue-green, canary.
Deployment Environment
Target system for running code. Dev, staging, prod.
Deployment Pipeline
Automated path from commit to production. Build → test → staging → production.
Deprecation
Marking code as outdated and discouraged. Warns developers to migrate before removal. @deprecated annotation, console wa
Depth-First Search
Traversal exploring deep before backtracking.
Derived Class
Class inheriting from base class. Subclass.
Deserialization
Converting stored format back to object.
Design Document
Written description of planned implementation.
Design Pattern
Reusable solution to common problems. Gang of Four: creational, structural, behavioral.
Design Patterns
Reusable solutions to common software problems. The Gang of Four defined 23 patterns: Singleton, Factory, Observer, Stra
Design Review
Evaluating proposed design before implementation.
Design System
Reusable components and guidelines. Shadcn/ui, Material UI, Ant Design.
Design Token
Named value storing design decisions: colors, spacing, typography. Figma tokens export to CSS.
Desktop Application
Software running locally on computer. Electron, Tauri, native.
Destructuring
Extracting values from objects or arrays into variables. const {name, age} = user in JS. Python tuple unpacking. Cleaner
Deterministic
A process always producing the same output for the same input. Builds, tests, and deployments should be deterministic. N
Dev Container
Containerized development environment. VS Code Dev Containers. Consistent setup.
Dev Environment
Local setup for development work.
Developer Experience
DX — how easy and enjoyable tools are. Good DX: fast, documented, intuitive.
Development Server
Local server with hot reload, error overlays. Vite dev server starts in milliseconds.
DevOps
Culture and practices uniting development and operations. CI/CD, infrastructure as code, and continuous monitoring accel
DFS
Depth-First Search — a graph/tree traversal exploring as deep as possible before backtracking. Uses a stack. Application
Diagram
Visual representation of system/process. UML, ERD, sequence, architecture diagrams.
Dictionary
Key-value data structure. Python dict, JS Object/Map. O(1) average lookup.
Diff
Difference between two file versions. git diff shows changes. Code review displays diffs.
Diff Algorithm
Computing differences between data. Myers diff.
Digest
Fixed-size output of hash function.
Dijkstra Algorithm
Shortest path in weighted graph. O(V log V).
Directed Acyclic Graph
DAG — graph with directed edges, no cycles. Git commits, task schedulers.
Directive
Instruction to compiler/framework. Angular directives, Vue directives, pragma.
Directory
Folder organizing files. Hierarchical file system.
Dirty Read
Reading uncommitted transaction data. Isolation levels prevent. Leads to inconsistency.
Disk I/O
Reading/writing to storage. SSD IOPS >> HDD. Database performance often I/O limited.
Dispatch
Routing operation to handler. Dynamic dispatch.
Dispose
Releasing resources. IDisposable in C#.
Distributed Lock
Lock across multiple nodes. Redis Redlock, etcd leases. Prevents concurrent modification.
Distributed System
System spanning multiple machines. Challenges: partitions, consistency, latency. CAP theorem.
Divide and Conquer
Solving by splitting into subproblems.
DNS Resolver
Client looking up domain name to IP address.
Docker
Containerization platform that packages applications into portable containers. Docker Compose orchestrates multi-contain
Docker Compose
Defining multi-container apps in YAML. Services, networks, volumes. docker compose up.
Docker Image
Immutable template for containers. Layered filesystem. Built from Dockerfile.
Docstring
Documentation embedded in source code. Python triple-quote strings, JSDoc comments, Javadoc. Generates API documentation
Documentation
Written material explaining code, APIs, systems. README, API docs, ADRs, tutorials.
Domain
Area of knowledge or activity. Domain model, domain logic, domain events.
Domain Event
Event representing business significance. OrderPlaced, PaymentProcessed. Event-driven architecture.
Domain Logic
Business rules and operations.
Domain Model
Conceptual model of business domain. Entities, value objects, aggregates.
Domain Service
Service containing business logic not belonging to entity.
Domain-Driven Design
An approach centering design on the business domain. Bounded contexts, aggregates, entities, and value objects model bus
Dotenv
Loading environment variables from .env file. dotenv library. Development convenience.
Double
64-bit floating-point number. IEEE 754 standard. Precision issues affect financial calculations.
Double-Ended Queue
Deque — add/remove from both ends.
Downtime
Period service is unavailable. Planned (maintenance) or unplanned (outage). SLAs define limits.
Driver
Software enabling hardware communication.
DRY Principle
Don't Repeat Yourself — single representation for each piece of knowledge.
Dry Run
Executing without making changes. terraform plan, git --dry-run. Preview effects safely.
Dry Run (Code)
Executing without making actual changes.
DSL
Domain-Specific Language — a language designed for a specific domain. SQL for databases, CSS for styling, Terraform HCL
DTO Pattern
Data Transfer Object — carrying data between layers without business logic.
Duck Typing
Type system where an object's suitability is determined by its methods, not its class. If it walks like a duck and quack
Dunder Method
Python double-underscore methods (__init__, __str__). Define operator behavior. Magic methods.
Duplicate Code
Same code in multiple places. DRY violation. Extract to shared function.
Duplicate Detection
Finding identical records in data.
Durability
Data surviving system failures. ACID D.
Dynamic Array
Array automatically resizing. ArrayList, vector.
Dynamic Configuration
Changing settings without restart.
Dynamic Dispatch
Runtime method selection. Virtual methods in C++. Enables polymorphism.
Dynamic Import
Loading modules on demand. import('./module.js') returns Promise. Enables code splitting.
Dynamic Link Library
DLL shared code loaded at runtime. .so, .dylib.
Dynamic Programming
An optimization technique solving complex problems by breaking them into overlapping subproblems. Memoization (top-down)
Dynamic Proxy
Proxy created at runtime. Java InvocationHandler.
Dynamic SQL
SQL constructed at runtime. Risk of injection.
Dynamic Typing
Types checked at runtime. Python, JavaScript, Ruby. Flexible but late error catching.
Eager Evaluation
Computing values immediately. Opposite of lazy. Default in most languages.
Eager Loading
Loading all related data upfront in one query. Prevents N+1 query problem. Prisma include, SQLAlchemy joinedload. Opposi
Early Return
Exiting function early for invalid state.
Echo
Outputting received input. Echo server, shell echo.
Edge Case
An input or scenario at the extreme boundary of expected behavior. Empty arrays, null values, max integers. Good testing
Effectful
Operation with side effects. I/O, network, mutation.
Elastic Search
Distributed search and analytics engine. Full-text search, log analysis. Based on Lucene.
Embedded Database
Database within application. SQLite, RocksDB.
Embedded System
Computer within larger device. Microcontrollers in appliances, cars, medical devices.
Emit
Publishing event or signal. Vue $emit, Node.js EventEmitter.emit(), Socket.io emit.
Empty Collection
Collection with zero elements. [], {}.
Empty String
String with length zero. '' or "".
Emulation
Mimicking one system on another. Game emulators, hardware emulation, QEMU.
Enable
Activating feature or setting.
Encapsulation
An OOP principle of hiding internal details and exposing only a public interface. Private, protected, and public control
Encoding
Converting data from one format to another. UTF-8 encodes text, Base64 encodes binary, URL encoding handles special char
End of Life
EOL — software stops receiving updates. Node.js, Python have EOL schedules. Migrate before.
End-to-End
Complete flow from start to finish.
End-to-End Test
Tests the complete application from the user's perspective. Simulates clicks, forms, and navigation. Playwright, Cypress
Endpoint (API)
Specific URL path for API access. GET /api/users. Each handles specific operations.
Engine
Core component providing fundamental functionality. V8 JS engine, Unreal game engine.
Enterprise Software
Large-scale business applications. ERP, CRM. Complex requirements.
Entity
Object with unique identity persisting over time. DDD entities have IDs and lifecycle.
Entity Framework
Microsoft ORM for .NET applications.
Entry
Single item in collection or data store.
Entry Point
File/function where execution begins. main() in C, index.js in Node.js.
Enum
A type with a fixed set of named constants. TypeScript enum, Python Enum, Rust enum (algebraic types). Prevents invalid
Enumerable
Object that can be iterated over.
Environment Setup
Configuring development environment.
Environment Variable
A key-value pair configured outside the application. Database URLs, API keys, and feature flags. .env files for developm
Ephemeral
Short-lived, temporary. Ephemeral containers, storage.
Equality Check
Comparing values. == vs === in JavaScript.
Equatable
Implementing equality comparison. Equatable protocol.
Error Boundary
React component catching child errors. Displays fallback UI instead of crash.
Error Boundary (Detail)
React fallback UI for component tree errors.
Error Chain
Linking errors showing root cause chain.
Error Correction
Detecting and fixing data errors. ECC memory.
Error Handling
Strategies for managing failures: try/catch, Result types, error boundaries. Good error handling provides useful message
Error Handling (Detail)
Strategies for managing failures gracefully.
Error Message
Human-readable description of what went wrong. Include what, why, and fix suggestion.
Error Propagation
Passing errors up the call stack.
Error State
Application state indicating something went wrong.
Escape Hatch
Mechanism bypassing abstractions when needed.
Eval
Executing string as code. Security risk. Avoid.
Evaluate
Computing the value of an expression. Interpreter evaluates code.
Event (Code)
Occurrence that triggers response. Click, timer, message.
Event Aggregator
Centralizing event publish/subscribe.
Event Bus
Communication channel for publish/receive without direct references. Decouples components.
Event Handler
Function responding to specific events. onClick, onSubmit in React. Connects actions to logic.
Event Loop
The mechanism that handles async operations in JavaScript. Checks the call stack, processes microtasks (Promises), then
Event Queue
Queue of events awaiting processing. JS event loop processes queue. Message queues distributed.
Event Sourcing
Storing state changes as a sequence of events instead of current state. Enables audit trail, time travel, and event repl
Event Store
Database of events for event sourcing.
Event Stream
Continuous ordered event sequence. Kafka topics, CDC, WebSocket streams.
Event-Driven
An architecture where flow is determined by events (user actions, messages, data changes). Node.js, Apache Kafka, and AW
Event-Driven Architecture
System where events trigger actions. Loose coupling, scalability.
Event-Driven Programming
Flow determined by events.
Eventual Consistency
Data becoming consistent over time, not immediately.
Exception
An error condition disrupting normal program flow. Thrown and caught with try/catch. Checked (Java) vs unchecked excepti
Exception Handling
Mechanism for runtime errors. try/catch/finally, error boundaries. Graceful recovery.
Exception Safety
Guaranteeing state consistency when exceptions occur.
Executable
File that can be run as program. .exe, ELF binaries, shell scripts with +x.
Execute
Running code or command.
Execution Context
Environment where code runs: scope, variables, this value. JS creates per function.
Execution Plan
Database strategy for query execution. EXPLAIN.
Executor
Component running submitted tasks.
Exit Code
Numeric value from process: 0 success, non-zero failure. CI fails on non-zero.
Expansion
Increasing capacity or capabilities.
Experiment
Testing hypothesis with controlled conditions.
Exponential Backoff
Retry doubling wait: 1s, 2s, 4s, 8s. With jitter for thundering herd. Standard for retries.
Export
Making code available to other modules. export default in JS, pub in Rust.
Export Default
Module's single primary export.
Express.js
Popular Node.js web framework. Middleware, routing. Minimalist, unopinionated.
Expression
Code producing value. 1 + 2, fn(), a && b.
Extension
Addition to existing software. Browser extensions, VS Code extensions. Plugin architecture.
Extension Method
Adding methods to existing types without modifying them. Kotlin and C# extension functions, Swift extensions. Enhances r
External API
Third-party API consumed by application.
Extract
Pulling data from source. ETL extraction phase.
Extreme Programming
XP agile method. Pair programming, TDD.
Facade (Code)
Simplified interface to complex system.
Facade Pattern
Simplified interface to complex subsystem. Hides complexity behind clean API.
Facility
Service or utility supporting main functionality.
Factory
Object or function creating other objects.
Factory Method
Creating objects through method instead of constructor. Subclasses decide type.
Factory Pattern
A design pattern that creates objects without specifying exact classes. Factory methods and abstract factories decouple
Fail Fast
Report errors immediately rather than continuing. Easier debugging. Assertions support this.
Fail-Safe
System defaulting to safe state on failure.
Fallback
Alternative when primary fails. CSS fallback fonts, error boundary UIs. Graceful degradation.
Fan-Out
One operation triggering multiple downstream operations.
FastAPI
Python web framework with auto-docs. Type hints, async. High performance.
Feature Branch
Git branch for single feature. Created from main, merged via PR. Short-lived best.
Feature Extraction (Code)
Deriving useful features from raw data.
Feature Flag (Code)
Boolean toggling feature availability.
Feature Toggle
Enable/disable features without deployment. LaunchDarkly, Unleash. Trunk-based development.
Feedback Loop
Cycle where output influences next input. CI results inform changes. Short loops improve speed.
Fence
Memory barrier ensuring operation ordering.
FFI
Foreign Function Interface — calling code written in one language from another. Python ctypes, Node.js N-API, Rust FFI.
Fibonacci Sequence
Sequence where each number is sum of two preceding. 0,1,1,2,3,5,8...
FIFO
First-In-First-Out ordering. Queues.
FIFO Queue
First-In-First-Out queue. SQS, RabbitMQ. Messages processed in order.
File Descriptor
Integer identifying open file in Unix. stdin=0, stdout=1, stderr=2.
File Handle
Reference to open file for I/O operations.
File Lock
Preventing concurrent file access.
File Path
Location of file in filesystem hierarchy.
File System
Software organizing files on storage. ext4, APFS, NTFS. Hierarchical with directories.
File Writer
Component writing data to file.
Filler
Placeholder content. Lorem ipsum, skeleton data.
Filter
Selecting elements matching condition. array.filter(x => x > 5). SQL WHERE, grep.
Final
Cannot be overridden or extended. Java final.
Finally Block
Code always executing after try/catch. Cleanup: closing files, releasing resources.
Finite Automaton
Machine with states and transitions. Regex.
Finite State Machine
A computational model with a finite number of states and transitions. Used in parsers, UI state (loading/error/success),
First-Class Function
Functions treated as values — assigned to variables, passed as arguments, and returned from functions. JavaScript, Pytho
Fixed Point
Exact decimal without floating-point errors.
Flag
A boolean variable controlling program behavior. Feature flags toggle features on/off. Command-line flags configure CLI
Flask
Python micro web framework. Simple, extensible. REST APIs and web apps.
Flat
Converting nested structure to single level.
Flattening
Converting nested structure to single level. Array flat(), object flattening.
Floating Point
Approximate decimal representation. IEEE 754.
Floor Function
Rounding down to nearest integer. Math.floor().
Flow Control
Managing execution order and data flow.
Fluent Interface
An API design using method chaining for readable code. query.where('age > 18').orderBy('name').limit(10). jQuery, Prisma
Flush
Writing buffered data to destination immediately.
Fold
Reducing collection to single value. reduce().
For Loop
Iteration construct. for(let i=0; i<n; i++). for...of for iterables.
Foreign Key
Database column referencing another table's primary key.
Fork
Creating a copy of a repository or process. GitHub forks copy repos for contribution. Unix fork() creates child processe
Format
Arranging data for display or storage.
Format String
String with placeholders for values. f-strings Python, template literals JS.
Formatter
Tool auto-formatting code. Prettier (JS), Black (Python), gofmt (Go).
Forward Declaration
Declaring before defining. C header prototypes.
Forward Proxy
Client-side intermediary for outgoing requests.
FOSS
Free and Open Source Software. Linux, Firefox, PostgreSQL. MIT, GPL, Apache licenses.
Fragment (Code)
Partial piece. URL fragment, GraphQL fragment.
Fragmentation
Data scattered across non-contiguous storage. GC and defragmentation address it.
Framework
A reusable software structure providing base functionality. React and Vue for frontend, Express and Django for backend,
Free Function
Function not attached to any object or class.
Freeze
Making object immutable. Object.freeze().
Front Controller
Single entry point handling all requests.
Frontend
The visual interface users interact with. Built with HTML, CSS, and JavaScript. Modern frameworks: React, Vue, Svelte, A
Frozen Object
Object that cannot be modified. Object.freeze() in JS. For configuration constants.
Full Stack
A developer who works on both frontend and backend. Masters everything from user interfaces to servers, databases, and d
Full-Text Search
Searching entire document content. Elastic.
Function Composition
Combining functions. f(g(x)). pipe, compose.
Function Overloading
Multiple functions same name, different params. TypeScript overloads, Java method overloading.
Function Pointer
Variable storing function reference. C function pointers.
Function Scope
Variables accessible only within declaring function. var in JS is function-scoped.
Function Signature
Name, parameters, return type defining function.
Functional Component
React component as function returning JSX. Hooks add state. Modern React standard.
Functional Programming
A paradigm based on pure functions, immutability, and composition. No side effects. Haskell, Elixir, and Clojure are fun
Futex
Fast userspace mutex. Linux synchronization.
Future
Object representing eventual result. Similar to Promise.
Fuzzing
Testing with random/malformed input to find crashes. AFL, cargo fuzz. Discovers edge cases.
Garbage
Unreachable memory ready for collection.
Garbage Collection
Automatic memory management that reclaims unused memory. Java, Go, and JavaScript use GC. Rust uses ownership instead. G
Garbage Collection (Detail)
Automatic memory reclamation by runtime.
Garbage Collector
Automatic memory reclamation. JVM GC, V8 GC. Mark-and-sweep, generational.
Garbage In Garbage Out
GIGO — the principle that flawed input produces flawed output. Applies to software, data analysis, and ML models. Input
Gateway
Entry point to system. API gateways route requests, payment gateways process transactions.
Generator
A function yielding multiple values lazily, one at a time. function* in JS, yield in Python. Memory-efficient for large
Generic Type
Type with parameters. Array<T>, Option<T>.
Generics
Type parameters allowing code to work with multiple types safely. Array<T> in TypeScript, Vec<T> in Rust, List<E> in Jav
Git
A distributed version control system created by Linus Torvalds. Tracks changes, creates branches, and enables collaborat
Git Bisect
Finding bug-introducing commit via binary search. Mark good/bad, Git narrows down.
Git Branch
Independent development line. Feature branches, main, develop.
Git Cherry-Pick
Applying specific commit to different branch.
Git Clone
Copying remote repository locally.
Git Commit
Snapshot of changes. SHA hash identifies. Message describes changes.
Git Conflict
Competing changes needing manual resolution.
Git Diff
Showing differences between commits or files.
Git Flow
Branching model. feature, develop, release, main.
Git History
Chronological commit record.
Git Hook
Scripts triggered by Git events. pre-commit for linting, pre-push for tests. Husky manages.
Git Init
Creating new Git repository.
Git Log
Viewing commit history.
Git Merge
Combining branch changes. Merge commit or fast-forward. Resolve conflicts.
Git Pull
Fetching and merging remote changes.
Git Push
Uploading local commits to remote.
Git Rebase
Replaying commits on another branch. Linear history. Interactive rebase squashes commits.
Git Remote
Link to remote repository. origin, upstream.
Git Reset
Undoing commits. Soft, mixed, hard reset.
Git Stash
Temporarily saving uncommitted changes. git stash saves, pop restores.
Git Submodule
Repository nested inside another repository.
Git Tag
Named reference to commit. v1.0.0 marks releases. Triggers CI release pipelines.
GitHub
A Git-based code hosting platform. Pull requests, issues, Actions CI/CD, Copilot AI. The world's largest open-source cod
GitHub Actions
CI/CD platform. YAML workflows. Marketplace actions. Free for public repos.
GitHub Copilot
AI pair programmer suggesting code.
GitLab
DevOps platform. Git hosting, CI/CD, monitoring. Self-hosted or cloud.
Glob Pattern
A wildcard pattern for matching file paths. *.js matches all JS files, src/**/*.ts matches all TS files recursively. Use
Global State
State accessible from anywhere in the application. Redux store, React Context, and Zustand manage global state. Overuse
Global Variable
Variable accessible from anywhere. Creates coupling, hinders testing. Minimize globals.
Go
Google's language designed for simplicity and concurrency. Goroutines make concurrent programming easy. Fast compilation
Go Language
Google's language. Simplicity, concurrency via goroutines. Single binary.
Go Routine
Go lightweight concurrent function execution.
Golden Path
Recommended standard approach. Convention.
Goroutine
Go's lightweight concurrent function. Cheaper than OS threads — millions can run simultaneously. Communicate via channel
Graceful Shutdown
Cleaning up before exit. Finish requests, close connections, flush logs. SIGTERM handlers.
Grafana Dashboard
Visualization panel for metrics and logs.
Graph
A data structure with nodes (vertices) connected by edges. Directed or undirected, weighted or unweighted. Used in socia
Graph (Data)
Nodes connected by edges. Directed or undirected.
Graph Algorithm
Operating on graphs. BFS, DFS, Dijkstra.
Graph Database
Database storing nodes and edges. Neo4j, Amazon Neptune. Social networks, fraud detection.
GraphQL API
A query language for APIs created by Facebook. The client specifies exactly what data it needs, avoiding over-fetching a
GraphQL Mutation
Write operation in GraphQL.
GraphQL Query
Read operation in GraphQL.
GraphQL Schema
Type system defining API. Types, queries, mutations, subscriptions.
Greedy Algorithm
Choosing locally optimal at each step.
Greenfield Project
New project without legacy constraints. Complete technology freedom. Rare in enterprise.
Grep
Unix text search tool. grep pattern file. Regular expressions. Essential for debugging.
Group By
Aggregating data by category. SQL GROUP BY.
Guard Clause
Early return for invalid conditions. Flattens nesting. if (!x) return. Improves readability.
Gzip
Lossless compression. HTTP responses 60-80% smaller. Content-Encoding header.
gzip
Lossless compression reducing HTTP response size 60-80%.
Handle
Reference to system-managed resource. File handles, DB connections. Must be properly closed.
Handler
Function processing specific request/event type. HTTP handlers, error handlers.
Happy Path
Default scenario when everything works. Test happy path first, then edge cases.
Hash Code
Numeric value computed from object for hash tables.
Hash Collision
When two different inputs produce the same hash value. Hash tables handle collisions with chaining or open addressing. G
Hash Map
Key-value data structure with O(1) lookup. JavaScript Map, Python dict, Java HashMap.
Hash Set
Set implemented using hash table. O(1) operations.
Hash Table
A data structure mapping keys to values with O(1) average lookup. JavaScript objects, Python dicts, and Java HashMaps ar
Hashable
Object that can produce hash code. Dict keys must be.
Haskell
Pure functional language. Strong types, lazy evaluation, monads. Academic and finance.
Having Clause
SQL filter on aggregated results. After GROUP BY.
Head
First element. List head, Git HEAD (current commit).
Header File
C/C++ .h file declaring interfaces. Separates interface from implementation.
Health Check
Endpoint verifying service status. /health. Load balancers poll. Return dependencies.
Heap
A tree-based data structure where the parent is always greater (max-heap) or smaller (min-heap) than children. Priority
Heap (Data Structure)
Tree where parent > children (max-heap). Priority queues. Also: dynamic memory area.
Heap Allocation
Dynamic memory allocated on heap. Objects in most languages. GC manages.
Heap Memory
Dynamic memory allocated at runtime for objects and data. Managed by garbage collector in Java/JS or manually in C/C++.
Heartbeat (Code)
Periodic signal confirming system alive.
Helper
Utility function or class supporting main logic.
Helper Function
Utility supporting main logic. formatDate(), validateEmail(). Usually pure functions.
Heuristic
Practical approach finding good enough solution.
Hexadecimal
Base-16: 0-9 and A-F. Colors (#FF5733), memory addresses. Each digit = 4 bits.
Hexagonal Architecture
A pattern isolating business logic from external dependencies using ports and adapters. Facilitates testing and swapping
Hidden Field
Non-visible form input carrying data.
Higher-Order Function
A function that takes functions as arguments or returns functions. map(), filter(), reduce() are higher-order. Fundament
Hijacking
Taking control of session, request, or connection.
Histogram
Frequency distribution visualization. Performance profiling.
Hit
Successful cache lookup or search result.
Hoisting
JavaScript behavior where variable and function declarations are moved to the top of their scope. var is hoisted (undefi
Hook
Mechanism for extending behavior. React hooks, Git hooks, WordPress hooks.
Horizontal
Side by side. Horizontal scaling, layout.
Host
Machine running services. Hostname identifies.
Hot Code Path
Frequently executed code deserving optimization.
Hot Path
Most frequently executed code. Optimizing hot path has biggest performance impact.
Hot Reload
Updating code in a running application without restarting. Vite HMR for web, Flutter hot reload for mobile. Dramatically
HTTP
HyperText Transfer Protocol. Foundation of web. Request-response. Stateless.
HTTP Client
Software making HTTP requests. fetch, Axios, requests (Python), curl.
HTTP Header
Metadata in HTTP request/response. Content-Type, Authorization, Cache-Control.
HTTP Method
Request actions: GET read, POST create, PUT update, DELETE remove.
HTTP Server
Software handling HTTP requests. Express.js, FastAPI, Nginx, Caddy.
HTTP Status Code
Response result indicator. 200 OK, 404 Not Found, 500 Server Error.
Hypertext
Text with links to other content. Web foundation.
I/O Bound
Task limited by I/O speed. DB queries, file reads. Async handles efficiently.
IDE
Integrated Development Environment — an editor with integrated tools: autocomplete, debugging, terminal, Git. VS Code, C
Idempotent
An operation producing the same result regardless of how many times it's executed. PUT and DELETE should be idempotent.
Idiomatic
Code following language conventions. Pythonic, idiomatic Go. Readable to community.
Image (Container)
Read-only template for containers. Built from Dockerfiles. Layered, immutable.
Immutable
Data that cannot be changed after creation. New values require creating new objects. Immutable.js, Immer, and Object.fre
Imperative
Step-by-step programming style. for loops, mutations. Opposite of declarative.
Import
Bringing external code into module. import from in JS, from import in Python.
Import Map
A browser feature mapping module specifiers to URLs without a bundler. Enables using bare imports (import React from 're
In-Memory Database
Database storing all data in RAM. Redis, Memcached. Sub-millisecond latency.
Index
A data structure improving database query speed. B-tree and hash indexes. CREATE INDEX speeds SELECT but slows INSERT/UP
Index (Database)
Structure improving query speed. B-tree, hash indexes. Speeds SELECT, slows INSERT.
Infinite Loop
Loop that never terminates. while(true) for servers. Break conditions prevent accidents.
Inheritance
An OOP mechanism where a class inherits properties and methods from another. Enables code reuse. Composition over inheri
Injection Attack
Inserting malicious input altering execution. SQL injection, XSS. Sanitize inputs.
Inner Join
SQL join returning only matching rows from both tables. Most common join type.
Input Validation
Checking input meets constraints. Client-side (UX) and server-side (security). Zod, Yup.
Instance
Object created from class. new User(). Each has own data, shares methods.
Integer Overflow
When a calculation exceeds the maximum value a data type can hold, wrapping around. Security vulnerability in C/C++. Rus
Integration
Connecting systems to work together. API integrations, CI. Testing verifies connections.
Integration Test
Tests interaction between multiple components: API + database, services together. Slower than unit tests but verifies pi
Interface (Programming)
A contract defining methods a class must implement, without implementation. TypeScript and Java interfaces ensure object
Interpreter
Software executing source code directly. Python, Ruby interpreters. More flexible than compiled.
Introspection
Program examining own structure at runtime. Python type(), dir(). JS typeof, instanceof.
Inversion of Control
A principle where framework calls your code, not the other way around. Hollywood principle: don't call us, we'll call yo
Iteration
Repetition of a code block. for, while, and forEach loops are iterations. In Agile, iteration refers to a development cy
Iterator
Object providing sequential access to elements. for...of in JS, __iter__ in Python.
JavaScript
The programming language of the web. Runs in browsers and on servers (Node.js). Dynamic, interpreted, and the most used
JIT Compilation
Just-In-Time — compiling at runtime for optimization. V8 (JS), HotSpot (Java).
JSON
JavaScript Object Notation — a lightweight data exchange format. Human and machine readable. The standard format for RES
JSON Schema
Vocabulary for validating JSON structure. Defines types, required fields, patterns.
Kanban
Visual workflow management. Cards move through columns (Todo, In Progress, Done). WIP limits.
Key-Value Store
Simple database mapping keys to values. Redis, DynamoDB. Fast lookups. No complex queries.
KISS Principle
Keep It Simple, Stupid. Simpler solutions are better. Avoid over-engineering.
Kubernetes
A container orchestration platform that automates deployment, scaling, and management. K8s is the standard for productio
Lambda Function
An anonymous function defined inline. Arrow functions in JavaScript (=>) and lambdas in Python. Essential in functional
Late Binding
Resolving method calls at runtime. Dynamic dispatch in OOP. Enables polymorphism.
Lazy Evaluation
Delaying computation until the result is actually needed. Generators, streams, and lazy loading use this. Saves memory a
Lexer
A component converting source code text into tokens (lexical analysis). The first stage of compilation. Identifies keywo
Library
Reusable code providing specific functionality. Lodash, Axios, NumPy. You call library code.
Linked List
A data structure where each element points to the next. Dynamic size, efficient insertion/deletion. Singly linked, doubl
Linting
Static analysis of code for errors, style issues, and potential bugs without running it. ESLint for JS/TS, Ruff for Pyth
Literal
Fixed value in source code. 42, 'hello', true, [1,2,3]. As opposed to variables.
Load Balancer (Code)
Distributing work across workers or connections in application code.
Log Level
Severity categories: DEBUG, INFO, WARN, ERROR, FATAL. Production typically INFO+.
Loose Coupling
Minimal dependency between modules. Change one without affecting others. Good design goal.
Machine Code
Binary instructions (0s and 1s) the processor executes directly. The lowest level of programming, generated by compilers
Map (Data Structure)
Key-value collection. JS Map, Java HashMap. O(1) lookup. Keys can be any type in Map.
Memoization
Caching function results for repeated inputs. useMemo in React. Avoids expensive recomputation.
Memory Leak
Memory allocated but never freed. Grows over time causing slowdowns. Profilers detect leaks.
Merge
Combining changes from one branch into another in Git. Fast-forward, merge commit, and squash merge are strategies. Merg
Message Broker
Intermediary for message passing. RabbitMQ, Kafka, NATS. Decouples producers and consumers.
Method
Function associated with an object or class. user.save(), array.push(). Accesses this/self.
Method Chaining
Calling multiple methods sequentially. array.filter().map().reduce(). Fluent interface.
Microservice
Small independent service with own database. Communicates via APIs. Scales individually.
Microservices
Architecture where the application is split into small, independent services. Each has its own database and communicates
Middleware
A software layer between request and response. In Express.js and Next.js, middleware processes auth, logging, CORS, etc.
Middleware (Code)
Function between request and response. Auth, logging, CORS. Express, Next.js middleware.
MIME Type
Media type identifying format. text/html, application/json, image/webp.
Mock
A simulated object mimicking real dependency behavior in tests. Jest mock, Vitest mock, and Sinon allow testing code in
Module
Self-contained unit of code. ES modules, CommonJS, Python modules. Encapsulates functionality.
Module Pattern
Using closures to create private scope. IIFE in JS. Predates ES modules.
Monad
Composable computation wrapper. Promises in JS, Option in Rust. Chains operations handling context.
Monkey Patching
Modifying existing code at runtime. Useful for testing. Risky in production.
Monolithic Architecture
An application deployed as a single unit. Simpler initially but harder to scale. Many companies migrate to microservices
Monorepo
A single repository containing multiple projects or packages. Turborepo and Nx manage monorepos. Shared code, atomic com
Mutex
Mutual Exclusion — a synchronization primitive preventing concurrent access to shared resources. Only one thread can hol
MVC Architecture
Model-View-Controller — separates data (Model), interface (View), and logic (Controller). Foundation of frameworks like
MVC Pattern
Model-View-Controller separating data, UI, and logic. Rails, Django, Laravel.
Namespace
Container for identifiers avoiding naming collisions. C++ namespace, Python packages.
Native Code
Machine code compiled for specific CPU architecture. Maximum performance. No interpreter needed.
Nested Function
Function defined inside another function. Has access to outer scope (closure).
Nil/Null
Absence of value. null in JS/Java, None in Python, nil in Go/Ruby. Billion-dollar mistake.
Node (Data)
An element in a data structure. Tree nodes, linked list nodes, graph nodes.
Noop
No-operation function that does nothing. Used as default callbacks and placeholders.
Null Coalescing
Operator returning right operand if left is null/undefined. ?? in JS/TS. a ?? 'default'.
Null Safety
Language features preventing null/undefined reference errors. Kotlin nullable types (?), Rust Option<T>, TypeScript stri
Object
Collection of key-value pairs. JavaScript objects, Python dicts. Foundation of OOP.
Object Pool
Reusing pre-created objects instead of creating new ones. Connection pools, thread pools.
Object-Oriented Programming
A paradigm based on objects with data (attributes) and behavior (methods). Pillars: encapsulation, inheritance, polymorp
Observer Pattern
A design pattern where objects (observers) subscribe to events from a subject. When state changes, all observers are not
Opaque Type
Type whose internal structure is hidden from consumers. Only creator knows implementation.
Open-Closed Principle
Software entities open for extension, closed for modification. SOLID O principle.
Optional Chaining
Safely accessing nested properties. user?.address?.city returns undefined if null.
ORM
Object-Relational Mapping — a library mapping database tables to code objects. Prisma, Drizzle, TypeORM, and SQLAlchemy
Outer Join
SQL join including rows without matches. LEFT JOIN keeps all left table rows.
Overriding
Subclass providing specific implementation of parent method. Polymorphism mechanism.
Package Manager
Tool managing software dependencies: install, update, remove. npm/pnpm/yarn for JS, pip for Python, cargo for Rust, brew
Pair Programming
Two developers at one computer. Driver types, navigator reviews. Knowledge sharing.
Parameter
Variable in function definition. Different from argument (value passed when calling).
Parse
Analyzing text to extract structured data. JSON.parse(), URL parsing, CSV parsing.
Parser
A component analyzing token sequences to build an AST (syntax analysis). The second stage of compilation. Validates synt
Partial Application
Creating function with some arguments pre-filled. bind() in JS. Related to currying.
Pass by Reference
Passing pointer/reference to data. Changes affect original. Objects in JS, & in C++.
Pass by Value
Passing copy of data. Changes don't affect original. Primitives in JS, by default in Go.
Patch (Code)
Small targeted code change. Git patches, monkey patches. Minimal change to fix issue.
Path Finding
Algorithm finding route between nodes. Dijkstra, A*. Used in maps, games, networking.
Pattern Matching
Checking value against patterns. Rust match, when in Kotlin. More powerful than switch.
Pipe
Operator passing output to next function. Unix | pipe, proposed JS |> pipeline operator.
Plugin
Extension adding features to host application. ESLint plugins, webpack plugins, Babel plugins.
Pointer
Variable storing memory address. C/C++ pointers, unsafe Rust. Direct memory manipulation.
Polling
Repeatedly checking for changes. Long polling, short polling. Less efficient than push/websocket.
Polymorphism
OOP principle where objects of different types respond to the same interface. Method overriding (runtime) and overloadin
Preprocessor
Processes code before compilation. C preprocessor (#include, #define), SASS for CSS.
Priority Queue
Queue where highest priority dequeued first. Implemented with heap. Task scheduling.
Process (Code)
Running program instance with own memory. PID identifies. Isolated from other processes.
Producer
Component creating and sending messages/events. Kafka producers, event emitters.
Profile
Measuring program performance. CPU profiler, memory profiler. Chrome DevTools, py-spy.
Programming Language
A formal system of instructions for communicating with computers. Classified as compiled (C, Rust), interpreted (Python,
Promise
Object representing future value. Pending → fulfilled/rejected. async/await syntactic sugar.
Property
Named attribute of an object. user.name, element.style. Getter/setter accessors.
Protocol (Code)
Interface definition. Swift protocols, TypeScript interfaces. Defines what, not how.
Prototype
Object from which others inherit. JS prototype chain. Object.create(). Pre-class inheritance.
Proxy Pattern
Object acting as substitute controlling access to another. JS Proxy, Python __getattr__.
Pseudocode
Informal code-like description of algorithm. Language-independent. Used in planning and teaching.
Pull Request
A request to integrate code from one branch into another. Enables code review, discussion, and CI before merge. GitHub P
Queue
A FIFO (First In, First Out) data structure. Enqueue adds to back, dequeue removes from front. Used in task scheduling,
Queue (Data Structure)
FIFO collection. Enqueue adds back, dequeue removes front. Message queues, BFS.
Race Condition
A bug where behavior depends on the timing of concurrent operations. Two threads modifying the same variable. Mutexes, a
Read-Eval-Print Loop
REPL — interactive programming environment. Python shell, Node.js REPL, browser console.
Readonly
Property that cannot be modified after initialization. TypeScript Readonly<T>, const assertions.
Recursion
A function calling itself to solve a problem by breaking it into smaller subproblems. Requires a base case to stop. Used
Refactoring
Restructuring existing code without changing external behavior. Improves readability, performance, or maintenance. Tests
Reflection
Program examining and modifying own structure at runtime. Java reflection, C# reflection.
Regex
Regular Expression — a pattern for matching text strings. Powerful for validation, search, and replacement. /^[a-z]+@[a-
Release
Published version of software. Major, minor, patch releases. Release notes document changes.
REPL
Read-Eval-Print Loop — interactive environment. Python shell, Node.js REPL. Quick experimentation.
Repository
A versioned code storage location using Git. Remote repos (GitHub, GitLab) enable collaboration. Mono-repo vs multi-repo
Resource
Any data or service consumed: memory, CPU, file handles, network connections. Must be managed.
REST API
An interface following REST principles: stateless, resources via URLs, HTTP methods (GET, POST, PUT, DELETE). The most c
Rest Parameter
Collecting remaining arguments. function sum(...nums) in JS. *args in Python.
Return Value
Value function sends back to caller. return statement. void functions return nothing.
Reverse Proxy (Code)
Server forwarding requests to backend. Nginx, Caddy. SSL termination, load balancing.
Runtime Error
Error occurring during execution, not compilation. TypeError, NullPointerException.
Rust
Systems programming language focused on safety, speed, and concurrency. No garbage collector, ownership model prevents m
Saga Pattern
Managing distributed transactions as sequence of local transactions with compensations.
Sandbox (Code)
Isolated environment for safe code execution. Browser sandbox, Docker containers.
Scalar
Single value (not collection). Numbers, strings, booleans. Opposite of vector/collection.
Scope
Region where variable is accessible. Block, function, module, global scope.
SDK
Software Development Kit — a set of tools, libraries, and documentation for developing on a platform. AWS SDK, Stripe SD
Sealed Class
Class restricting which classes can inherit from it. Kotlin sealed class, TypeScript discriminated unions.
Semaphore
A synchronization primitive controlling access to a shared resource with a counter. Allows N concurrent accesses (unlike
Serialization
Converting objects into a format for storage or transmission. JSON.stringify(), Protocol Buffers, and MessagePack. Deser
Set
Collection of unique values. JS Set, Python set. O(1) membership test. No duplicates.
Shallow Copy
Copying top-level properties only. Nested objects still shared. Spread operator {...obj}.
Shim
Code bridging API differences. Polyfills are shims for newer browser features.
Short Circuit
Logical operators stopping evaluation early. a && b skips b if a is false.
Side Effect
Observable change beyond return value. I/O, global mutations. Pure functions have no side effects.
Singleton Pattern
A design pattern ensuring a class has only one instance with global access. Used for database connections, loggers, and
Slice
Extracting portion of array/string. array.slice(1,3), string.substring(0,5).
Software Architecture
The high-level structure of a system: components, relationships, and principles. Clean Architecture, hexagonal, and micr
SOLID
Five OOP design principles: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency I
SOLID Principles
Five OOP principles: Single Responsibility, Open-Closed, Liskov, Interface Segregation, DI.
Sort Algorithm
Algorithm ordering elements. Quick sort O(n log n), merge sort (stable), Tim sort (hybrid).
Sorting
Arranging elements in order. Comparison-based (O(n log n) limit) and non-comparison (counting sort).
Source Code
Text written in a programming language that defines program behavior. It's compiled or interpreted to be executed by the
Source Map
File mapping minified code to original source. Enables debugging production code.
Spread Operator
Expanding iterable elements. {...obj} copies, [...arr] spreads. Function calls: fn(...args).
SQL
Structured Query Language for relational databases. SELECT, INSERT, UPDATE, DELETE. Industry standard.
Stack
A LIFO (Last In, First Out) data structure. Push adds, pop removes from the top. The call stack tracks function executio
Stack (Data Structure)
LIFO collection. Push/pop from top. Call stack, undo operations, parsing.
Stack Overflow
Call stack exceeding size limit from deep recursion. Error in most languages.
Standard Library
Built-in modules shipped with language. Python stdlib, Go stdlib, Rust std.
State
Data representing current condition. Component state, application state, server state.
State Machine
A model with finite states and transitions between them. Used in UI (loading/error/success), game logic, and workflows.
State Management
Patterns for managing application state. Redux, Zustand, Jotai for React.
Static Analysis
Analyzing code without executing. Linters, type checkers, security scanners.
Static Method
Method belonging to class, not instances. Called on class directly. Utility functions.
Static Typing
Types checked at compile time. TypeScript, Rust, Java. Catches errors early.
Strategy Pattern
A design pattern defining a family of interchangeable algorithms. The client selects which strategy to use at runtime. P
String
Sequence of characters. Immutable in most languages. UTF-8 encoding. Template literals.
Struct
Value type grouping related data. Go struct, Rust struct, C struct. Like class without methods.
Stub
Simplified implementation replacing real component in tests. Returns predefined responses.
Subclass
Class inheriting from another (superclass). Extends behavior. class Dog extends Animal.
Subroutine
A sequence of instructions performing a task. Functions and methods are subroutines.
Switch Statement
Control flow selecting branch based on value. switch/case in most languages.
Symbol
Unique immutable identifier. JavaScript Symbol(), Ruby :symbol. Property keys, enums.
Symbol Table
A data structure mapping identifiers to their types, scopes, and memory locations. Used by compilers and interpreters. E
Synchronization
Coordinating concurrent operations. Mutexes, semaphores, barriers, channels.
Synchronous
Operations executed sequentially — each waits for the previous one to finish. Simpler but can block execution on slow op
Syntax Sugar
Language features making code more readable. async/await over Promises, destructuring.
Task Runner
Tool automating development tasks. npm scripts, Make, Gulp. Build, test, deploy.
TCP/IP
Foundation protocol suite of the internet. TCP for reliable delivery, IP for addressing.
TDD
Test-Driven Development — writing tests before code. Cycle: Red (test fails) → Green (minimal code) → Refactor (improve)
Template Method
Pattern defining algorithm skeleton, letting subclasses override steps.
Ternary Operator
Conditional expression: condition ? ifTrue : ifFalse. Inline if/else.
Test Double
General term for test substitutes: mocks, stubs, fakes, spies, dummies.
Test Fixture
Fixed state used as test baseline. Setup before tests, teardown after.
Test Suite
Collection of related tests. Grouped by feature, module, or scenario.
this Keyword
Reference to current object context. Varies by language and call site in JS.
Thread
Lightweight execution unit sharing process memory. OS threads, green threads.
Thread Pool
A collection of pre-created threads ready to execute tasks. Avoids the overhead of creating threads for each task. Node.
Thread Safety
Code safe for concurrent multi-thread execution. No race conditions or data corruption.
Throw
Raising an exception. throw new Error('msg') in JS. Python raise. Go panic.
Time Complexity
How an algorithm's runtime grows with input size. O(1) constant, O(log n) logarithmic, O(n) linear, O(n²) quadratic. Cri
Topological Sort
Ordering directed graph nodes so every edge goes from earlier to later. Used for task scheduling, dependency resolution,
Trait
Interface-like construct in Rust defining shared behavior. Implemented by types.
Transpiler
Converts source code from one language to another at the same level. TypeScript to JavaScript, Babel for modern JS to ol
Tree
Hierarchical data structure. Root node, children, leaves. Binary trees, B-trees, tries.
Trie
A tree data structure for efficient string prefix operations. Autocomplete, spell checkers, and IP routing use tries. O(
Truncation
Cutting data to fit size. String truncation, decimal truncation. May lose information.
Tuple
Immutable ordered collection. Python tuples, TypeScript tuples. Fixed size, mixed types.
Type Alias
Creating alternative name for type. type ID = string in TypeScript.
Type Assertion
Telling compiler about type. value as string in TS. Overrides inference.
Type Guard
Runtime check narrowing type. typeof, instanceof. TypeScript type predicates.
Type Inference
Compiler deducing types without explicit annotation. TypeScript, Rust, Go infer types.
Type Safety
Ensuring operations are performed on compatible data types. Static typing (TypeScript, Rust) catches errors at compile t
Type System
Language rules for types. Nominal (Java), structural (TypeScript), duck (Python).
TypeScript
A typed superset of JavaScript by Microsoft. Adds static types, interfaces, and enums. Catches bugs at compile time. The
Union Type
Value can be one of several types. string | number in TypeScript. Sum types.
Unit Test
Tests an isolated unit of code (function, method, class). Fast and independent. Jest, Vitest, pytest, and JUnit are unit
Unsigned Integer
Integer without sign bit, only positive values. uint8: 0-255. Used for sizes, indexes.
Value Object
Object without identity, defined by its values. Money(100,'USD'). Immutable in DDD.
Variable
Named storage for data. let, const, var in JS. Scope and lifetime rules vary by language.
Variadic Function
Function accepting variable number of arguments. ...args in JS, *args in Python.
Version Control
System tracking file changes over time. Git dominates. Branching, merging, history.
Versioning
The practice of tracking and managing code changes over time. Semantic Versioning (SemVer) uses MAJOR.MINOR.PATCH. Git i
Virtual Method
Method that can be overridden by subclasses. Default in Java, virtual keyword in C++.
Visitor Pattern
Pattern separating algorithm from object structure. Double dispatch. Compiler AST visitors.
Void
Return type indicating no value. void functions in C/TS. Unit type in Rust/Kotlin.
Waterfall Model
Sequential development: requirements → design → implementation → testing → deployment.
Weak Reference
Reference not preventing garbage collection. WeakMap, WeakRef in JS. Cache friendly.
Webhook
An HTTP callback notifying an application when an event occurs in another. Stripe sends webhooks when a payment is proce
While Loop
Loop executing while condition is true. while(x > 0) { x-- }. Check before each iteration.
Wrapper
Object/function enclosing another to add behavior. HTTP client wrappers, type wrappers.
XOR
Exclusive OR — true when inputs differ. Bitwise XOR for encryption, checksums, toggling bits.
YAML
YAML Ain't Markup Language — a readable format for structured data and configuration. Used in Docker Compose, Kubernetes
YAML Pipeline
A CI/CD pipeline defined in a YAML file. GitHub Actions, GitLab CI, and Azure DevOps use YAML to define jobs, steps, and
Yield
Pausing generator execution and returning value. yield in JS/Python generators.
Zero-Based Index
Array indexing starting at 0. First element at index 0. Most languages use zero-based.
Free & Interactive

Tools & Software

100+ hand-picked tools personally tested by our team — for developers, designers, and power users.

🛠 Dev Tools 🎨 Design 🔒 Security ☁️ Cloud
Explore Tools →
Step by Step

Guides & Playbooks

Complete, actionable guides for every stage — from setup to mastery. No fluff, just results.

📚 Homelab 🔒 Privacy 🐧 Linux ⚙️ DevOps
Browse Guides →
Advertise with Us

Put your brand in front of 10,000+ tech professionals

Native placements that feel like recommendations. Newsletter, articles, banners, and directory features.

✉️
Newsletter
10K+ reach
📰
Articles
SEO evergreen
🖼️
Banners
Site-wide
🎯
Directory
Priority

Stay ahead of the tech curve

Join 10,000+ professionals who start their morning smarter. No spam, no fluff — just the most important tech developments, explained.