PANACHES Knowledge

Software Development Glossary

This glossary explores the essential concepts of software development, from programming languages and algorithms to application design, including user interfaces, databases, software architecture, and development tools. It also covers testing, code quality, security, collaboration, and deployment. It is intended for students, developers, creators, and professionals seeking to understand the terminology and practices of programming and software engineering.

790 terms to explore

Loading the graph…

View the list ({count})

    790 terms

    A

    46 terms

    ABAC

    Access control model founded on attributes of the requester, the resource and the context.

    #

    ACID

    Set of transactional properties: atomicity, consistency, isolation and durability.

    #

    API documentation

    Description of the exposed operations, parameters, responses, errors and conditions of use of an interface.

    #

    ARIA

    Set of attributes describing accessible roles and states when native HTML mechanisms are not enough.

    #

    Abstract class

    Class designed to serve as a base and may include operations without a complete implementation.

    #

    Acceptance test

    Conformance check against criteria allowing a stakeholder to accept a feature.

    #

    Access token

    Element presented to an API to exercise granted permissions, with a defined scope and lifetime.

    #

    Adapter

    Pattern that translates one interface into another expected by the consuming code.

    #

    Aggregate

    Coherent group of domain objects treated as a unit of consistency around a root.

    #

    Agility

    Approach favouring adaptation, collaboration and iterative deliveries, without imposing a single method.

    #

    Alerting

    Triggering a notification when an important operational condition is detected.

    #

    Amortized cost

    Average cost per operation over a sequence of operations, without necessarily assuming a random distribution.

    #

    Android SDK

    Tools and APIs that allow creating, compiling, testing and distributing Android applications.

    #

    Ansible

    Configuration and deployment automation tool, often based on inventories and playbooks.

    #

    Anti-pattern

    Recurring solution likely to create more problems than it solves in a given context.

    #

    AppImage

    Format distributing a Linux application in a self-contained executable file, subject to its dependencies and constraints.

    #

    Application notarization

    Distribution control and validation procedure imposed or offered by certain platforms, notably Apple.

    #

    Application sandbox

    Environment that restricts a program's access to system resources and capabilities.

    #

    Application security

    Set of measures that aim to protect a software and its data against unauthorized uses or accesses.

    #

    Assembly language

    Low-level language representing machine instructions through mnemonics and symbols.

    #

    Assignment

    Operation that gives a value to a variable, field or location.

    #

    Async / await

    Syntactic constructs marking asynchronous functions and wait points in several languages.

    #

    Attack surface

    Set of accessible points through which a system can be probed or compromised.

    #

    Autoscaling

    Automatic adjustment of resources or instance count according to metrics or rules.

    #

    B

    38 terms

    Backlog

    Ordered and evolving list of work considered or selected for a product or team.

    #

    Backpressure

    Mechanism that makes a producer slow down when the consumer can no longer keep up.

    #

    Backtracking

    Exploration of candidate solutions by abandoning a branch when it no longer fits.

    #

    Backup and restore

    Procedures for preserving and recovering data and configuration after an incident.

    #

    Backward compatibility

    Ability of a new version to accept the usages or data of an earlier version; exact guarantees depend on the contract.

    #

    Base case

    Situation that stops recursive calls and prevents infinite recursion.

    #

    Bash

    Shell and scripting language used to launch commands and automate tasks on compatible systems.

    #

    Benchmark

    Comparative performance measurement under reproducible and documented conditions.

    #

    Big O notation

    Asymptotic upper bound on growth, often used to express algorithmic cost.

    #

    Binary heap

    Near-complete tree generally stored in an array and locally ordered by priority.

    #

    Binary search tree

    Tree whose nodes respect an order relation that facilitates searches and updates.

    #

    Binary tree

    Tree in which each node has at most two children.

    #

    Blue-green deployment

    Strategy alternating two complete environments to switch traffic and facilitate rollback.

    #

    Boolean

    Logical type representing two values, generally true and false.

    #

    Bottleneck

    Resource or step that limits the overall performance of a process.

    #

    Bounded context

    Boundary within which a model and business vocabulary retain a coherent meaning.

    #

    Branch

    Change in execution path based on a condition or destination.

    #

    Branch coverage

    Proportion of decision outcomes executed by tests according to the measuring tool.

    #

    Break

    Statement that exits a loop or other selectable construct according to the language's rules.

    #

    Bug reproducibility

    Ability to trigger a defect in a controlled way with known steps and conditions.

    #

    Build artefact

    File produced by a build, such as an executable, library, archive or container image.

    #

    Bytecode

    Intermediate representation of instructions intended for a virtual machine or execution engine.

    #

    C

    86 terms

    C

    General-purpose language close to machine representations, used among other things for systems and libraries.

    #

    C#

    Multiparadigm language in the .NET ecosystem used notably for applications, services and games.

    #

    C++

    General-purpose language derived from C, combining low-level programming, objects, generics and abstractions.

    #

    CAP

    Theoretical result on the trade-offs of a distributed system facing a network partition between linearizable consistency and availability of responses.

    #

    CI/CD pipeline

    Automated sequence of steps such as testing, building, verification and delivery.

    #

    CMake

    System that generates build files for various tools and environments, notably for C and C++.

    #

    COMMIT (SQL)

    Statement that validates the changes of a transaction.

    #

    CORS

    Browser mechanism governing JavaScript access to responses from other origins; it is not an authentication mechanism.

    #

    CPU load

    Measure of processor usage or demand, to be contextualized with respect to the number of cores.

    #

    CSS Grid

    CSS layout model based on coordinated rows and columns.

    #

    CSS cascade

    Mechanism combining origins, layers, importance, specificity and order to choose the applied styles.

    #

    CSS selector

    Expression identifying the elements to which a style rule applies.

    #

    CSS specificity

    Priority rule used to break ties between competing CSS declarations.

    #

    CVSS

    Framework for measuring the technical severity of a vulnerability; the score does not replace context analysis.

    #

    Cache hit

    Access for which the requested data is found in the cache.

    #

    Cache invalidation

    Removing or replacing cached data when its validity ends or the source changes.

    #

    Cache miss

    Access for which the data is absent from the cache and must be retrieved or recomputed.

    #

    Canary deployment

    Progressive rollout of a version to a fraction of traffic or users before generalizing it.

    #

    Cherry-pick

    Applying the changes of a selected commit onto the current branch, generally creating a new commit.

    #

    Child process

    Process created or launched by another process, with management links dependent on the system.

    #

    Circuit breaker

    Mechanism that temporarily interrupts calls to a failing service to limit cascading failures.

    #

    Clean architecture

    Family of principles that give the domain and use cases inward-pointing dependencies.

    #

    Code block

    Group of statements delimited by the language's syntax or by indentation.

    #

    Code coverage

    Measure of the portions of code exercised by tests, which does not guarantee their ability to detect bugs.

    #

    Code documentation

    Explanations describing the use, contracts or implementation decisions of a component.

    #

    Code formatter

    Tool that automatically applies a standardized presentation to source code.

    #

    Code signing

    Cryptographic signature linking an artefact to a publishing identity and allowing verification of its integrity.

    #

    Code splitting

    Splitting code into separately loadable chunks to reduce certain loading costs.

    #

    Coercion

    Implicit conversion imposed by a language's rules during an operation.

    #

    Cohesion

    Degree of closeness of the responsibilities gathered within a module.

    #

    Commit hash

    Fingerprint identifying a commit object in the repository; its length and algorithm can depend on the Git format.

    #

    Comparison operator

    Operator that evaluates a relation, such as equality, order or identity depending on the language.

    #

    Composite index

    Index built on multiple columns, whose order can influence how queries use it.

    #

    Compound statement

    Statement grouping several statements under a common structure, such as a conditional block.

    #

    Concurrent atomicity

    Property of an operation perceived as indivisible by other participants according to a given model.

    #

    Connection pool

    Set of reusable connections that avoid repeating costly creations.

    #

    Container image

    Set of layers and metadata serving as an immutable reference template for creating containers.

    #

    Container volume

    Mechanism that retains or shares data beyond the lifecycle of a given container.

    #

    Content-Type

    Header indicating the media type of a content and optionally its character set.

    #

    Context manager

    Object or construct that frames the acquisition and release of resources, such as an open file.

    #

    Continuous deployment

    Automated rollout to production of each change satisfying the defined checks, without systematic manual validation.

    #

    Core dump

    Capture of part of a process's memory and processor state after an incident, potentially sensitive.

    #

    Correlation ID

    Value linking several traces or operations belonging to the same request path.

    #

    Coupling

    Degree of dependency between software elements; high coupling often makes changes more difficult.

    #

    Crash

    Unexpected stop of a program, process or component.

    #

    Critical section

    Portion of code that manipulates shared state requiring a coordinated access protocol.

    #

    Cross-compilation

    Producing a program for a platform different from the one performing the compilation.

    #

    Cryptographic hash

    Function producing a fixed-length fingerprint designed to resist certain searches and collisions.

    #

    Cryptographic salt

    Unique random value added before hashing a password in order to counter precomputed tables in particular.

    #

    Currying

    Conceptual transformation of a function with several arguments into a succession of single-argument functions.

    #

    Cursor pagination

    Pagination using an opaque or explicit marker rather than a simple page number, suited to certain evolving streams.

    #

    D

    61 terms

    DAST

    Dynamic analysis of a running application by exercising it to detect certain vulnerabilities.

    #

    DBMS

    Software that manages the storage, queries, security and integrity of one or more databases.

    #

    DELETE (SQL)

    SQL statement that removes rows; without an appropriate filter it can target all rows.

    #

    DELETE method

    HTTP method requesting the deletion of the targeted resource, with an expected idempotent semantics.

    #

    DTO / data transfer object

    Structure intended to carry data between layers or services without necessarily carrying business logic.

    #

    Data race

    Unsynchronized concurrent accesses to the same memory, with at least one write, according to a precise memory model.

    #

    Data streaming

    Processing elements as they arrive rather than after a full load.

    #

    Data type

    Set of possible values together with the operations and constraints associated with them.

    #

    Database backup

    Recoverable copy of data and optionally of logs allowing restoration after an incident.

    #

    Database index

    Auxiliary structure that accelerates certain searches and sorts at the cost of space and update overhead.

    #

    Database migration

    Versioned change to the schema or data accompanying the evolution of an application.

    #

    Database schema

    Definition of the structure, relations, types and constraints of the data.

    #

    Debounce

    Technique that waits for a period without a new event before triggering processing.

    #

    Debugger

    Tool allowing inspection of a program's state, setting breakpoints and controlling its execution.

    #

    Declarative programming

    Approach that expresses the desired result or constraints rather than an explicit sequence of operations.

    #

    Decrement

    Decreasing a value, usually by one unit.

    #

    Deep copy

    Recursive copy of sub-objects according to defined rules, aiming to limit unintended sharing.

    #

    Definition of Done

    Shared criteria determining that work is considered finished at the agreed quality level.

    #

    Denormalization

    Deliberate introduction of redundancies to improve certain uses, notably reads, with synchronization costs.

    #

    Deployment rollback

    Return to an earlier version or a known working state, sometimes complex if data has changed.

    #

    Deserialization

    Reconstruction of a structure from a serialized representation; this operation must be secured for dangerous formats.

    #

    Design pattern

    Reusable general solution to a recurring design problem, to be adapted rather than copied mechanically.

    #

    Deterministic test

    Test designed to yield the same results under identical initial conditions.

    #

    DevOps

    Set of practices bringing development and operations closer together to improve delivery, reliability and operational feedback.

    #

    Digital signature

    Cryptographic proof of integrity and origin linked to a private key, verifiable with the corresponding public key.

    #

    Disaster recovery

    Set of measures allowing services to be restored after a major failure.

    #

    Distributed trace

    Representation of an operation across multiple services through connected time segments.

    #

    Divide and conquer

    Solving by decomposing a problem into sub-problems then combining their results.

    #

    Do-while loop

    Repetition that executes its body before the continuation check, when the language provides it.

    #

    Dockerfile

    File of instructions describing the steps to create a container image.

    #

    Documentation debt

    Lack or obsolescence of documentation that increases the cost of understanding and maintenance.

    #

    Domain entity

    Domain object identified by a persistent identity rather than by its values alone.

    #

    Domain event

    Significant fact that has already occurred in the domain and is communicated to other parts of the system.

    #

    Domain service

    Component carrying out a domain operation that does not naturally fit into an entity.

    #

    Duck typing

    Practice of using an object based on the operations it provides rather than its declared class.

    #

    Dynamic programming

    Method that reuses results of overlapping sub-problems to avoid recomputing them.

    #

    E

    22 terms

    .env file

    Conventional file containing configuration variables; it can hold secrets and must not be shared without precautions.

    #

    Electron

    Desktop application framework combining notably Chromium and Node.js to distribute web interfaces.

    #

    End-to-end test / E2E

    Test running a complete user or technical scenario through the product's main layers.

    #

    Eventual consistency

    Guarantee that copies converge after writes stop, without identical reads everywhere immediately.

    #

    Exact decimal

    Representation suited to certain decimal calculations, notably financial, subject to defined precision and rules.

    #

    Exactly-once

    Guarantee of a logically unique processing within a defined scope, hard to achieve end-to-end without deduplication or transactions.

    #

    Executable binary

    File containing code and information that allow it to be loaded and launched by a compatible system.

    #

    Exponential backoff

    Policy that progressively increases the delay between retries, often with a random component.

    #

    Export

    Element explicitly exposed by a module to its consumers.

    #

    F

    28 terms

    FIFO queue

    Structure where the first element added is the first removed.

    #

    Factory

    Construction that centralizes or abstracts the creation of objects.

    #

    Fake

    Simplified but functional implementation of a dependency, for example an in-memory store.

    #

    Feature flag

    Configuration switch that enables a feature for certain environments or users.

    #

    Filter function

    Operation that keeps the elements of a collection that satisfy a predicate.

    #

    Finally block

    Block executed when exiting an exception-handling structure according to the language's rules, often used to clean up resources.

    #

    Fixture

    Data, objects or environment prepared to provide a reproducible context for tests.

    #

    Floating-point number

    Approximate numeric representation of a range of real values; it can introduce rounding errors.

    #

    Flowchart

    Graphical representation of processes and decisions through connected shapes.

    #

    Flutter

    Framework for building interfaces compiled for multiple platforms using Dart.

    #

    For loop

    Form of repetition generally based on a counter or on iterating over a collection.

    #

    Foreign key

    Column or set of columns that links a table to a key of another table or the same table.

    #

    Fork

    Copy of a repository on a platform allowing independent development and possible contributions.

    #

    Free software

    Software whose license notably guarantees the freedoms to use, study, modify and redistribute.

    #

    Function call

    Statement or expression that triggers the execution of a function with given arguments.

    #

    Function signature

    Description of the calling interface, including, depending on the language, the name, parameters, types and result.

    #

    Fuzzing

    Automatically submitting many often-unexpected inputs to identify crashes and abnormal behaviour.

    #

    G

    36 terms

    GET method

    HTTP method intended to retrieve a representation without requesting state modification on the server.

    #

    GROUP BY

    SQL clause grouping rows to compute aggregates per group.

    #

    Git

    Distributed version control system that organizes history around commits and local or remote references.

    #

    Git add

    Command placing selected file versions or changes into the index.

    #

    Git branch

    Movable reference to a commit allowing several lines of work to evolve.

    #

    Git clone

    Command creating a local copy of an existing repository and generally configuring a remote.

    #

    Git diff

    Command showing differences between files, the index or commits according to options.

    #

    Git fetch

    Command retrieving remote objects and references without automatically merging these changes into the working branch.

    #

    Git ignore / .gitignore

    Rules excluding certain untracked files from the usual listing and automatic adding; they do not remove files already tracked.

    #

    Git log

    Command displaying the history of commits and associated information.

    #

    Git pull

    Command performing a fetch then an integration, by merge or rebase depending on configuration.

    #

    Git push

    Command transmitting local references and objects to an authorized remote repository.

    #

    Git reset

    Command moving a reference or resetting the index and files according to its mode; some uses destroy local changes.

    #

    Git revert

    Command creating a new commit that reverses the changes of an earlier commit, subject to possible resolution.

    #

    Git stash

    Mechanism temporarily recording modifications of the working tree or index to reapply them later.

    #

    Git status

    Command showing the state of the working tree and index relative to the repository's references.

    #

    Git submodule

    Repository referenced from another repository at a given revision, with its own synchronization cycle.

    #

    Git tag

    Named reference, often used to mark a published version; an annotated tag carries its own metadata.

    #

    Given-When-Then

    Scenario structure expressing context, action and expected outcome.

    #

    Global variable

    Variable defined in a general scope; its use can increase coupling.

    #

    Go

    Compiled language designed around tool simplicity, concurrency and network services.

    #

    Graph

    Set of vertices and links modelling relations, which may be directed or undirected.

    #

    GraphQL

    Query language and API runtime environment that allows clients to select fields precisely.

    #

    Greedy algorithm

    Method that makes successive local choices, whose global optimality must be justified for the problem.

    #

    gRPC

    Remote procedure call framework relying notably on HTTP/2 and Protocol Buffers in its usual operation.

    #

    H

    38 terms

    HAVING

    SQL clause filtering groups after grouping, to be distinguished from WHERE applied to rows.

    #

    HEAD (Git)

    Reference designating the current commit, generally via the active branch.

    #

    HTML attribute

    Information associated with an element, for example alt, href or lang.

    #

    HTTP 200 OK

    Status indicating the request succeeded; the content of the response depends on the method.

    #

    HTTP 201 Created

    Status indicating that one or more resources were created as a result of the request.

    #

    HTTP 301 / 308

    Permanent redirection statuses; 308 preserves the HTTP method during the redirection.

    #

    HTTP 400 Bad Request

    Status indicating the server cannot or will not process a request it considers incorrect.

    #

    HTTP 401 Unauthorized

    Status indicating that valid authentication is required or missing, despite its misleading name.

    #

    HTTP 403 Forbidden

    Status indicating that the server understood the request but refuses to authorize it.

    #

    HTTP 404 Not Found

    Status indicating that the requested resource cannot be found or that the server does not wish to reveal its existence.

    #

    HTTP 409 Conflict

    Status indicating a conflict with the current state of the resource, for example during a concurrent update.

    #

    HTTP 502 Bad Gateway

    Status indicating that a gateway or proxy received an invalid response from an upstream server.

    #

    HTTP body

    Optional part of an HTTP message carrying a representation or data.

    #

    HTTP header

    Metadata field of a request or response, such as Content-Type or Authorization.

    #

    HTTP response

    Message from the server containing a status code, headers and optionally a body.

    #

    HTTP status code

    Three-digit number describing the outcome of a request, according to five main classes.

    #

    Hash collision

    Situation where different keys lead to the same location or fingerprint.

    #

    Hash table

    Structure that transforms keys into locations to speed up average-case lookups.

    #

    Health check

    Automated check that determines whether an instance is running and can receive traffic.

    #

    Heap

    Memory region used notably for allocations whose lifetime does not simply follow call boundaries.

    #

    Helm

    Kubernetes package manager that uses charts to describe and install resources.

    #

    Heuristic

    Practical rule that seeks an acceptable solution without always guaranteeing optimality.

    #

    Hot reload

    Update of certain modules or of the interface during development without a full restart, depending on the tool.

    #

    Hotfix

    Patch published quickly to resolve an important defect in a version in service.

    #

    Hydration

    Attaching, on the client side, interactive behaviour to already produced HTML, according to a framework.

    #

    I

    33 terms

    INSERT

    SQL statement that adds new rows to a table.

    #

    IPC via WebView

    Exchange of messages between an embedded web interface and the host application's native code.

    #

    Idempotence

    Property whereby repeating the same operation produces the same intended final effect as a single execution, aside from possible side effects.

    #

    If / else statement

    Construct that executes one block if a condition is satisfied and optionally another block otherwise.

    #

    Immutability

    Property preventing modification of a value or object after its creation.

    #

    Incident postmortem

    Documented review of the course, causes, impacts and improvements after an outage.

    #

    Increment

    Increasing a value, usually by one unit.

    #

    Increment (agile)

    Integrated and potentially usable addition of a capability to the existing product.

    #

    Initialization

    Assigning the state or the first usable value of a variable or object.

    #

    Input validation

    Verification that received data respects types, formats and business rules before use.

    #

    Insertion sort

    Sort that progressively builds an ordered portion, efficient notably on small or nearly sorted data.

    #

    Integration test

    Test verifying the real interaction of several components or systems.

    #

    Interface state

    Set of values that determine what an interface displays and how it reacts.

    #

    Interpreter

    Program that evaluates or executes instructions through an interpretation environment; some implementations combine compilation and interpretation.

    #

    Iterable

    Object that can provide a sequence of elements to be traversed according to a given protocol.

    #

    iOS SDK

    Tools and APIs required for developing applications for the relevant Apple devices.

    #

    J

    6 terms

    JOIN

    Operation combining rows from different sources according to a relation or condition.

    #

    JWT / JSON Web Token

    Compact format for transmitting signed or optionally encrypted claims; its content is not secret by default.

    #

    K

    9 terms

    Kanban

    Visual flow management method favouring work-in-progress limits and fluidity.

    #

    Kubernetes

    Platform that orchestrates containerized workloads using declarative resources and controllers.

    #

    Kubernetes Ingress

    Resource historically describing external HTTP/HTTPS access to services; its controller and evolution depend on the platform.

    #

    Kubernetes pod

    Smallest deployable Kubernetes unit, containing one or more containers sharing certain resources.

    #

    L

    33 terms

    LIFO stack

    Structure where the last element added is the first removed.

    #

    Latency

    Duration between a request and the observed response or effect.

    #

    Layered architecture

    Organization that separates functions by levels, such as presentation, business logic and data access.

    #

    Lazy evaluation

    Deferred evaluation of an expression or computation until its result is needed.

    #

    Leader election

    Procedure that selects a node to coordinate actions within a distributed group.

    #

    Legacy code

    Existing code whose evolution can be difficult due to its age, dependencies or lack of tests.

    #

    Lexical scope

    Name resolution based on the structure of the source code rather than the dynamic call chain.

    #

    Linked list

    Structure of elements connected by references, facilitating certain insertions at the cost of sequential access.

    #

    Linker

    Tool that combines compiled objects and resolves their symbols to produce a linked artefact.

    #

    Livelock

    Situation in which tasks remain active and react without making useful progress.

    #

    Liveness probe

    Check designed to detect that a process must be restarted when it no longer makes progress.

    #

    Load test

    Trial measuring a system's behaviour under a representative or expected level of load.

    #

    Local data migration

    Transformation of data stored on the device to make it compatible with a new version.

    #

    Local variable

    Variable accessible within a limited scope, typically a function or block.

    #

    Lock-free operation

    Operation from an algorithm guaranteeing that at least one participant makes progress despite contention, without individual guarantees.

    #

    Log level

    Category of severity or detail, such as debug, info, warning or error.

    #

    Logging

    Structured or textual production of event traces during execution.

    #

    Logic error

    Defect of reasoning or logic producing an incorrect result despite possible execution.

    #

    Logical operator

    Operator that combines or inverts conditions, such as AND, OR or NOT.

    #

    Loop invariant

    Property that remains true before and after each iteration and helps prove correctness.

    #

    M

    51 terms

    Manifest

    File describing a project's identity, configuration, scripts and dependencies.

    #

    Map function

    Operation that applies a transformation to each element of a collection.

    #

    Markup language

    Language that structures content using markers; HTML describes documents and is not, on its own, a general-purpose programming language.

    #

    Materialized view

    Stored physical result of a query, refreshed according to a defined strategy.

    #

    Maven

    Build and dependency management tool based notably on an XML project model for the JVM.

    #

    Media query

    CSS condition applying styles based on characteristics of the medium or environment.

    #

    Memoization

    Caching results of calls to avoid recomputation with the same inputs.

    #

    Memory address

    Identified location within a physical or virtual address space.

    #

    Memory release

    Returning a region that is no longer needed, either manually or automatically.

    #

    Merge sort

    Sort algorithm that divides the data then merges sorted subsets, generally in O(n log n) time.

    #

    Message broker

    Intermediary service that receives, routes and redistributes messages between producers and consumers.

    #

    Message queue

    Mechanism for transmitting work or events between components through temporarily stored messages.

    #

    Microservices

    Architecture that splits a system into autonomous services communicating through interfaces, with increased operational cost.

    #

    Minification

    Reducing the size of distributed code by removing information not required for its operation.

    #

    Mixin

    Reusable set of behaviours added to a class or object, according to the language's mechanisms.

    #

    Mob programming

    Collective programming practice in which several people contribute simultaneously to the same problem.

    #

    Mobile first

    Approach that first builds the experience for small screens before enriching it for larger ones.

    #

    Mock

    Test object that reproduces an interface while allowing verification of expected interactions.

    #

    Modular monolith

    Application deployed as a whole but divided into modules with explicit boundaries and dependencies.

    #

    Modulo

    Operation that produces a remainder; rules regarding negative numbers differ between languages.

    #

    Monolith

    Application deployed or executed as a main unit, even if its code remains well modularized.

    #

    Multiprocessing

    Use of multiple processes to carry out separate or parallel tasks.

    #

    Mutability

    Possibility of changing the state of an existing object.

    #

    Mutation testing

    Technique introducing small changes into the code to assess whether tests detect these alterations.

    #

    Mutex

    Mechanism that allows only one participant at a time to hold a mutual-exclusion lock.

    #

    N

    10 terms

    N+1 queries

    Anti-pattern in which an initial query triggers an additional query per retrieved item.

    #

    NoSQL database

    Category of systems not primarily based on the classic relational model; it gathers varied models.

    #

    Nominal typing

    Compatibility determined mainly by identity or declared relations between types.

    #

    npm

    Package manager and distribution ecosystem associated with JavaScript and Node.js.

    #

    O

    19 terms

    OAuth 2.0

    Authorization delegation framework allowing an application to obtain limited access to protected resources.

    #

    Object

    Software entity with an identity or value, possible state, and operations associated with it according to the model.

    #

    Object composition

    Building an object from other objects, favouring a "contains" relationship.

    #

    Observability

    Ability to understand a system's internal state from its signals, notably logs, metrics and traces.

    #

    Obsolescence

    State of a technology or feature that is no longer suitable, supported or maintained in a given context.

    #

    OpenAPI

    Specification that contractually describes HTTP APIs and enables documentation and tool generation.

    #

    Operand

    Value or expression on which an operator acts.

    #

    Optimistic locking

    Conflict management that checks that no incompatible modification has occurred before validation.

    #

    Output escaping

    Transformation of special characters according to the destination context to prevent them from being interpreted as code.

    #

    Overloading

    Definition of several variants of an operation distinguished notably by their parameters according to the language.

    #

    Overriding

    Providing, in a subtype, a new implementation of an inherited method.

    #

    P

    59 terms

    PATCH method

    HTTP method applying a partial modification to a resource according to the API's format and rules.

    #

    POST method

    HTTP method that submits data to be processed; its effect depends on the service and it is not intrinsically idempotent.

    #

    PUT method

    HTTP method requesting the creation or replacement of the targeted resource's state with the provided representation.

    #

    Package registry

    Service hosting and distributing versions of published libraries and components.

    #

    Pagination

    Dividing a set of results into consumable portions fetched successively.

    #

    Pair programming

    Practice in which two people work together on the same development, sharing analysis and review.

    #

    Partial application

    Fixing some arguments of a function in order to create a more specialized one.

    #

    Passkey

    Authentication credential that generally uses public-key cryptography and FIDO mechanisms.

    #

    Password hashing

    One-way transformation with a salt and a suitable algorithm, such as Argon2id, to verify without storing the password in cleartext.

    #

    Path parameter

    Value embedded in a URL path to identify a resource or part of a route.

    #

    Path traversal

    Exploitation of uncontrolled paths to access files outside the authorized scope.

    #

    Performance test

    Verification of response times, throughput and resources under defined conditions.

    #

    Pessimistic locking

    Reserving or preemptively blocking resources to limit certain concurrent conflicts.

    #

    Pointer

    Value designating a memory address or accessible region, with rules specific to the language.

    #

    Predicate

    Function or expression that evaluates a condition and returns a logical result.

    #

    Prefetching

    Anticipating the loading of data deemed likely to be used soon.

    #

    Premature optimization

    Performance refinement done before knowing the real needs or bottlenecks, at the risk of increasing complexity.

    #

    Prerelease

    Version identified as preceding a stable release, for example alpha, beta or release candidate.

    #

    Primary key

    Column or group of columns that uniquely identifies a row in a table.

    #

    Priority queue

    Collection whose removal favours elements based on a priority rather than just arrival order.

    #

    Profiling

    Measuring a program's behaviour to identify the parts consuming time or resources.

    #

    Programming paradigm

    Family of principles organizing how a program is described, such as the imperative or functional approach.

    #

    Promise

    Object representing the future result of an asynchronous operation and its potential failure in some languages.

    #

    Pseudocode

    Informal description of an algorithm that favours logic over the syntax of any concrete language.

    #

    Pure function

    Function whose result depends only on its arguments and that produces no observable side effects.

    #

    pip

    Python package installation tool from indexes or other compatible sources.

    #

    Q

    6 terms

    Qt

    Cross-platform framework for developing interfaces and applications, mainly used with C++ or Python.

    #

    Query language

    Language designed to query or manipulate data, such as SQL; some also offer procedural features.

    #

    Query optimization

    Improving data access strategy using filters, indexes and execution plans.

    #

    Query parameter

    Data placed in the query portion of a URL, often used to filter or paginate.

    #

    Quicksort

    Sort algorithm that partitions elements around a pivot, with performance sensitive to partitions.

    #

    R

    45 terms

    RBAC

    Access control model founded on roles to which rights are associated.

    #

    README

    Welcome document generally presenting a project's purpose, installation and first uses.

    #

    REPL

    Interactive loop that reads an expression, evaluates it, prints the result and repeats.

    #

    REST

    Architectural style based on constraints such as identified resources, uniform interface and stateless server exchanges per request.

    #

    RESTful API

    API designed to respect, more or less strictly, the principles of REST; simply using JSON and HTTP is not enough.

    #

    ROLLBACK

    Statement that cancels the uncommitted changes of a transaction within the DBMS's limits.

    #

    Race condition

    Defect or situation in which the result depends on an uncontrolled concurrent execution order.

    #

    Rate limiting

    Restriction of the number of operations allowed over a period or according to another quota rule.

    #

    Readiness probe

    Check designed to determine whether an instance is ready to serve requests.

    #

    Recursion

    Technique in which a function solves a problem by calling itself, directly or indirectly.

    #

    Redis

    In-memory data system often used for caching, queues or fast structures, with various persistence options.

    #

    Reduce / fold function

    Operation that progressively aggregates the elements of a collection using an accumulator.

    #

    Reference

    Means of designating or accessing a value or object without necessarily copying its content.

    #

    Referential transparency

    Property that allows replacing an expression with its value without changing the program's behaviour.

    #

    Refresh token

    Element used to request new access tokens according to the authorization server's rules.

    #

    Relational database

    Database that organizes data into relations, generally represented by tables and queried with SQL.

    #

    Reproducible build

    Build aiming for identical artefacts from identified sources and inputs under controlled conditions.

    #

    Response time

    Time elapsed between receiving a request and producing a response according to a defined scope.

    #

    Responsive design

    Design that adapts presentation and interactions to device dimensions and capabilities.

    #

    Retry

    Re-executing an operation after a presumed failure, to be designed with idempotence and duplicate risks in mind.

    #

    Return

    Statement that ends the call of a function and optionally transmits a result.

    #

    Return value

    Result transmitted to the caller when a function terminates normally.

    #

    Reverse proxy

    Service that receives client requests and forwards them to upstream application servers.

    #

    Roadmap

    Evolving presentation of the priorities, objectives and steps envisaged for a product.

    #

    Root cause analysis

    Search for the initial mechanisms that enabled an incident, beyond its immediate symptoms.

    #

    Row / record

    Set of values constituting an occurrence in a table or collection.

    #

    Ruby

    Dynamic object-oriented language, notably known for the Ruby on Rails framework.

    #

    Runtime error

    Problem occurring during program execution, such as an invalid access.

    #

    Runtime version manager

    Tool that allows installing and selecting multiple versions of a language or its environment.

    #

    S

    87 terms

    SAST

    Security-oriented static analysis of source code or its representations without running the application normally.

    #

    SBOM

    Structured inventory of software components present in a product to facilitate analysis and dependency tracking.

    #

    SELECT

    SQL statement retrieving rows or computed results from the available data.

    #

    SOLID

    Set of five object-oriented design principles aimed notably at managing responsibilities and dependencies.

    #

    SQL aggregation

    Calculation summarizing several rows, for example using COUNT, SUM or AVG.

    #

    SQL execution plan

    Description of the operations chosen by a DBMS to process a query, sometimes consultable with EXPLAIN.

    #

    SQL view

    Logical representation defined by a query and queryable like a table; any eventual materialization is separate.

    #

    SQLite

    Embedded relational DBMS that generally stores a database in a file and does not require a separate server.

    #

    SSRF

    Vulnerability allowing an attacker to drive a server to make requests to unintended destinations.

    #

    Saga

    Sequence of local transactions coordinated with, often, compensating actions in case of failure.

    #

    Same-origin policy

    Browser security rule restricting certain accesses between documents or scripts of different origins.

    #

    Scheduler

    Component that decides which tasks or execution units progress at what moment.

    #

    Script

    Program often used to automate a task or orchestrate tools; its size and execution mode vary.

    #

    Scrum

    Agile framework based on roles, events and artefacts to manage a complex product.

    #

    Secret manager

    Service that centralizes the storage and controlled access to credentials and other application secrets.

    #

    Secret rotation

    Renewing a secret and updating its consumers to reduce the risks linked to its lifetime.

    #

    Secrets management

    Set of practices for creating, storing, distributing, rotating and revoking sensitive credentials.

    #

    Security test

    Assessment aimed at identifying defects of confidentiality, integrity, access or other security properties.

    #

    Semantic versioning / SemVer

    MAJOR.MINOR.PATCH convention: API-breaking change, compatible addition then compatible fix, once the API is defined.

    #

    Semaphore

    Synchronization counter limiting the number of accesses or signalling available resources.

    #

    Server-Sent Events / SSE

    HTTP mechanism sending a stream of events from the server to the browser, mainly in one direction.

    #

    Service worker

    Script that runs separately from the page, capable notably of intercepting certain requests and managing off-page tasks.

    #

    Shadow DOM

    Encapsulated DOM tree that partly isolates the structure and styles of a component.

    #

    Shallow copy

    Copy of a structure that retains references to some internal elements.

    #

    Sharding

    Horizontal distribution of a dataset across multiple distinct partitions or servers.

    #

    Singleton

    Pattern aimed at a shared, controlled instance; it can introduce hard-to-test global state.

    #

    Smoke test

    Quick set of checks ensuring that the main functions are usable after a change or delivery.

    #

    Socket

    Software communication endpoint used to exchange data locally or over a network.

    #

    Software architecture

    Organization of components, their responsibilities and their interactions, along with the system's structural decisions.

    #

    Software container

    Isolated execution environment at the operating system level, generally sharing its kernel.

    #

    Software library

    Set of reusable functions, types or resources that a program calls upon to accomplish certain tasks.

    #

    Software license

    Text defining the rights and obligations linked to the use, modification and redistribution of software.

    #

    Software supply chain

    Set of providers, dependencies, tools and steps contributing to the production and distribution of software.

    #

    Software testing

    Activity that aims to verify behaviours and reveal defects through defined checks.

    #

    Sort

    Arranging elements according to a defined order relation.

    #

    Space complexity

    Estimate of the growth of memory resources according to problem size.

    #

    Span

    Unit of a trace describing an operation, its duration and its relations with other operations.

    #

    Sprint

    Fixed-duration work period used notably in Scrum to reach a defined goal.

    #

    Spy

    Substitute or instrument that records the calls made to enable their verification.

    #

    Stable sort

    Sort that preserves the relative order of elements compared as equal.

    #

    Stack trace

    List of the calls that led to a failure point, useful for locating its origin.

    #

    Starvation

    Situation in which a task is durably deprived of the resources needed to progress.

    #

    Statically typed language

    Language in which many type checks happen before execution; dynamic behaviour may still be possible.

    #

    Stress test

    Trial pushing the system beyond its normal operation to observe its limits and recovery.

    #

    Strong consistency

    Guarantee giving certain reads a recent and coordinated view of writes according to a defined model.

    #

    Structured log

    Recording of traces as exploitable fields, often serialized in JSON.

    #

    Stub

    Minimal replacement providing predetermined results to isolate a tested component.

    #

    Subquery

    Query embedded in another query to provide a value, list or relation.

    #

    Switch / match

    Construct that selects one case among several; match can also analyze the structure of a value.

    #

    Syntax error

    Code that does not respect the language's grammar and is often rejected before execution.

    #

    T

    38 terms

    TLS

    Protocol that protects network communications through encryption, integrity and authentication depending on its use.

    #

    Table

    Relational structure representing rows under a defined set of columns.

    #

    Tauri

    Desktop framework pairing a native core, generally Rust, with an interface rendered by the system's WebView.

    #

    Technical SEO

    Optimizations that facilitate crawling, indexing and interpretation of a site by search engines.

    #

    Technical debt

    Future cost of design or maintenance trade-offs; not all debt is necessarily accidental.

    #

    Ternary operator

    Three-operand construct, frequently used to select a value based on a condition.

    #

    Terraform

    Declarative infrastructure management tool that describes and applies a desired state via providers.

    #

    Test assertion

    Explicit check of an expected property or result; its failure makes the test fail.

    #

    Test case

    Description of the preconditions, actions and expected results of a verification.

    #

    Test double

    Generic term for a component substitute used in a test.

    #

    Test pyramid

    Model suggesting a distribution between fast targeted checks and more integrated scenarios.

    #

    Threat modelling

    Analysis of assets, actors, scenarios and protective measures from the design of a system.

    #

    Throttle

    Technique that caps the number of executions of a process over a period.

    #

    Time complexity

    Estimate of the growth of computation time as a function of input size.

    #

    Timeout

    Maximum time allowed for an operation before waiting is stopped or it is reported as expired.

    #

    Trait

    Unit of reusable behaviours or contracts; its rules differ between Rust, PHP and other languages.

    #

    Transactional outbox

    Pattern storing in the same transaction the business change and an event to be published later.

    #

    Transpilation

    Translation from one high-level language to another of comparable level, for example TypeScript to JavaScript.

    #

    Tree shaking

    Eliminating exported but unused code during a build, when analysis permits it.

    #

    Tuple

    Generally fixed-size collection of positions, often used to group several values.

    #

    Type checker

    Tool that analyzes type compatibility and the consistency of annotations according to its supported rules.

    #

    Type safety

    Set of guarantees limiting certain operations that are incompatible with the types, under varying definitions.

    #

    U

    13 terms

    UI component

    Reusable interface unit combining rendering, properties and optionally behaviour.

    #

    UPDATE

    SQL statement that modifies existing rows selected by the indicated conditions.

    #

    URI

    Standardized identifier for a resource; a URL is a form of URI that gives access indications.

    #

    UTF-8

    Variable-length Unicode encoding compatible with ASCII for basic characters.

    #

    Undefined value / undefined

    State distinct from null in some languages, notably JavaScript, signalling a value that has not been provided.

    #

    Unicode

    Standard that identifies characters and defines their processing independently of any particular encoding.

    #

    Unreachable code

    Portion of a program that cannot be reached under the execution conditions considered.

    #

    Unsafe deserialization

    Reconstruction of objects from untrusted data that can trigger code execution or other dangerous effects.

    #

    Use case

    Description of the interactions between an actor and a system to achieve a goal.

    #

    User story

    Concise formulation of a user need that serves as a support for discussion and validation.

    #

    V

    8 terms

    Value

    Data represented, transmitted or stored by an expression, variable or structure.

    #

    Value object

    Domain element defined by its properties rather than by an identity of its own, often immutable.

    #

    Variable shadowing

    Declaration of a name that hides a same-named declaration from an enclosing scope.

    #

    Version control / VCS

    System that maintains the history of file changes and facilitates comparison, rollback and collaboration.

    #

    Virtual DOM

    Abstract representation of the interface used by some frameworks to compute updates.

    #

    Vue

    JavaScript interface framework using components, reactivity and declarative templates.

    #

    W

    13 terms

    WCAG

    International recommendations providing conformance criteria for web content accessibility.

    #

    Watch

    Debugger feature displaying the evolution of a selected variable or expression.

    #

    Web accessibility

    Design that allows as many people as possible to use a service, notably with assistive technologies or without a mouse.

    #

    Web component

    Web component based on standards such as custom elements and optionally Shadow DOM.

    #

    Web session

    Logical state linking several requests from a user, usually via an identifier or token.

    #

    Web transpilation

    Transformation of web source code to a syntax or target compatible with the intended environments.

    #

    While loop

    Repetition that tests a condition before each iteration.

    #

    Worst case

    Input or situation producing the maximum considered cost for a given size.

    #

    X

    2 terms

    XML

    Extensible markup language representing structured data in a textual document.

    #

    Y

    3 terms

    Yield

    Mechanism by which a generator produces a value while temporarily suspending its execution.

    #