Computer Science: Difference between revisions
Jump to navigation
Jump to search
Bradley Monk (talk | contribs) (Created page with "== Conceptual & Structural Systems == (How software is *organized* at a high level) * '''Architecture''' – The fundamental structure of a system: components, responsibilities, and relationships. * '''Design Pattern''' – Reusable solutions to recurring structural or behavioral problems. * '''System Design''' – End-to-end planning of components, data flow, scaling, and failure modes. * '''Platform''' – A base system upon which other software or se...") |
Bradley Monk (talk | contribs) No edit summary |
||
| Line 87: | Line 87: | ||
(How software *communicates*) | (How software *communicates*) | ||
* '''[[Client–Server System]]''' | * '''[[Client–Server System]]''' - A model where a client (user interface or device) sends requests and a server processes those requests and returns responses. | ||
* '''[[Distributed System]]''' | * '''[[Distributed System]]''' - A collection of multiple computers that work together over a network to function as a single system. | ||
* '''[[Microservices Architecture]]''' | * '''[[Microservices Architecture]]''' - An approach where an application is built as a set of small, independent services that communicate over APIs. | ||
* '''[[Monolith]]''' | * '''[[Monolith]]''' - A single, tightly coupled application where all functionality is contained in one codebase and deployed as one unit. | ||
* '''[[Service Mesh]]''' | * '''[[Service Mesh]]''' - An infrastructure layer that manages communication between services, handling routing, security, and observability. | ||
* '''[[Backend System]]''' | * '''[[Backend System]]''' - The server-side components that handle business logic, data processing, and storage. | ||
* '''[[Frontend System]]''' | * '''[[Frontend System]]''' - The user-facing interface that interacts with the backend, such as web apps or desktop interfaces. | ||
* '''[[Control Plane / Data Plane]]''' | * '''[[Control Plane / Data Plane]]''' - The control plane makes decisions and manages the system, while the data plane executes those decisions and handles real work. | ||
* '''[[Load Balancer]]''' | * '''[[Load Balancer]]''' - A system that distributes incoming requests across multiple servers to improve performance and reliability. | ||
* '''[[Gateway]]''' | * '''[[Gateway]]''' - A centralized entry point that routes, filters, and enforces policies on incoming requests to a system. | ||
* '''[[Reverse Proxy]]''' | * '''[[Reverse Proxy]]''' - A server that sits in front of backend services and forwards client requests while hiding internal system details. | ||
| Line 105: | Line 105: | ||
(How software *lives in the world*) | (How software *lives in the world*) | ||
* '''[[Operating System]]''' | * '''[[Operating System]]''' - Software that manages hardware resources and provides a runtime environment for applications. | ||
* '''[[Infrastructure]]''' | * '''[[Infrastructure]]''' - The underlying physical or virtual resources such as servers, storage, and networking that support systems. | ||
* '''[[Cloud Platform]]''' | * '''[[Cloud Platform]]''' - A system that provides on-demand access to computing resources and services through abstraction and automation. | ||
* '''[[Orchestration System]]''' (e.g., Kubernetes) | * '''[[Orchestration System]]''' - Software that automates deployment, scaling, scheduling, and management of applications (e.g., Kubernetes). | ||
* '''[[CI/CD Pipeline]]''' | * '''[[CI/CD Pipeline]]''' - An automated workflow that builds, tests, secures, and deploys software from source code to running systems. | ||
* '''[[Monitoring System]]''' | * '''[[Monitoring System]]''' - A system that tracks performance and health metrics of infrastructure and applications. | ||
* '''[[Logging System]]''' | * '''[[Logging System]]''' - A system that collects and stores event records and system messages for debugging and auditing. | ||
* '''[[Telemetry System]]''' | * '''[[Telemetry System]]''' - A system that gathers and analyzes metrics, logs, and traces to understand system behavior. | ||
* '''[[Configuration Management System]]''' | * '''[[Configuration Management System]]''' - A system that defines, manages, and enforces configuration settings across environments. | ||
* '''[[Secrets Management System]]''' | * '''[[Secrets Management System]]''' - A system that securely stores and controls access to sensitive data like passwords, keys, and tokens. | ||
| Line 122: | Line 122: | ||
(How systems *protect themselves*) | (How systems *protect themselves*) | ||
* '''[[Authentication System]]''' | * '''[[Authentication System]]''' - A system that verifies the identity of a user or service. | ||
* '''[[Authorization System]]''' | * '''[[Authorization System]]''' - A system that determines what actions an authenticated user or service is allowed to perform. | ||
* '''[[Identity Management System]]''' | * '''[[Identity Management System]]''' - A system that manages user identities, credentials, and access lifecycle. | ||
* '''[[Access Control System]]''' | * '''[[Access Control System]]''' - A system that enforces rules governing access to resources. | ||
* '''[[Key Management System]]''' | * '''[[Key Management System]]''' - A system that creates, stores, and manages cryptographic keys. | ||
* '''[[Policy Engine]]''' | * '''[[Policy Engine]]''' - A system that evaluates rules and policies to make access or operational decisions. | ||
* '''[[Permission Model]]''' | * '''[[Permission Model]]''' - A framework that defines how permissions are structured and assigned (e.g., roles or attributes). | ||
* '''[[Trust Boundary]]''' | * '''[[Trust Boundary]]''' - A point in a system where trust assumptions change and additional security controls are required. | ||
* '''[[Security Sandbox]]''' | * '''[[Security Sandbox]]''' - An isolated environment used to safely execute untrusted or restricted code. | ||
== AI-Specific System Terms | == AI-Specific System Terms == | ||
(Modern “systems” framing) | (Modern AI “systems” framing) | ||
* '''[[Model Architecture]]''' | * '''[[Model Architecture]]''' - The structure and design of a machine learning model, such as a transformer or neural network. | ||
* '''[[Inference Engine]]''' | * '''[[Inference Engine]]''' - The system that runs a trained model to generate predictions or outputs. | ||
* '''[[Training Pipeline]]''' | * '''[[Training Pipeline]]''' - The process and infrastructure used to train machine learning models from data. | ||
* '''[[Evaluation Framework]]''' | * '''[[Evaluation Framework]]''' - A system for measuring and validating model performance and reliability. | ||
* '''[[RAG Pipeline]]''' | * '''[[RAG Pipeline]]''' - A system that retrieves relevant data and feeds it into a model to improve generated outputs. | ||
* '''[[Vector Database]]''' | * '''[[Vector Database]]''' - A database optimized for storing and searching embeddings for semantic similarity. | ||
* '''[[Agent System]]''' | * '''[[Agent System]]''' - A system where an AI model can take actions, use tools, and execute tasks autonomously. | ||
* '''[[Orchestration Graph]]''' | * '''[[Orchestration Graph]]''' - A structured representation of workflows and dependencies between components or steps. | ||
* '''[[Prompting Framework]]''' | * '''[[Prompting Framework]]''' - A system for managing and structuring prompts, templates, and context for AI models. | ||
* '''[[Multi-Agent System]]''' | * '''[[Multi-Agent System]]''' - A system where multiple AI agents collaborate or coordinate to complete tasks. | ||
[[Category:Computer Science]] | [[Category:Computer Science]] | ||
Latest revision as of 01:25, 4 April 2026
Conceptual & Structural Systems
(How software is *organized* at a high level)
- Architecture – The fundamental structure of a system: components, responsibilities, and relationships.
- Design Pattern – Reusable solutions to recurring structural or behavioral problems.
- System Design – End-to-end planning of components, data flow, scaling, and failure modes.
- Platform – A base system upon which other software or services are built.
- Ecosystem – Interacting tools, libraries, services, and users around a platform.
- Stack – A layered collection of technologies used together (e.g., LAMP, MERN).
- Subsystem – A self-contained functional unit within a larger system.
- Module – A discrete, replaceable unit of functionality.
- Component – A deployable or reusable unit with a defined interface.
Code Reuse & Capability Systems
(Things you *build with*)
- Framework – Opinionated structure that controls application flow.
- Library – Reusable code invoked by the developer.
- SDK (Software Development Kit) – Tools, libraries, docs, and examples for a platform.
- API – A formal interface for interacting with a system or service.
- Middleware – Software that connects or mediates between systems.
- Runtime – The environment in which code executes.
- Plugin System – Mechanism for extending a host application.
- Extension – Add-on module that enhances functionality.
- Package – A distributable unit of code.
- Dependency – External code required by a system.
Execution & Environment Systems
(Where software *runs*)
- Environment – A configured context (variables, paths, services).
- Runtime Environment – OS + libraries + execution context.
- Virtual Environment – Isolated dependency space (e.g., Python venv).
- Container – Lightweight, isolated execution unit (e.g., Docker).
- Virtual Machine (VM) – Fully virtualized OS instance.
- Sandbox – Restricted execution environment for safety.
- Host System – The machine or OS running workloads.
- Target Environment – Intended deployment context.
- Emulator – Software that mimics another system.
- Interpreter – Executes code directly.
- Compiler Toolchain – System that translates source to binaries.
Development & Tooling Systems
(How developers *work*)
- IDE – (Integrated Development Environment) Unified coding, debugging, and tooling system.
- Editor – Code authoring environment.
- Build System – Automates compilation, linking, and packaging.
- Toolchain – Collection of compilers, linkers, debuggers, etc.
- Package Manager – Manages dependencies and versions.
- Task Runner – Automates development workflows.
- Debugger – Inspection and control of execution.
- Profiler – Performance measurement system.
- Linter – Static analysis and style enforcement.
- Formatter – Code layout normalization system.
Data & State Systems
(How information is *stored and managed*)
- Database – Persistent data storage system.
- DBMS – Software managing databases.
- Data Store – Generalized storage system.
- Cache – Fast, transient data system.
- Message Queue – Asynchronous communication system.
- Event Bus – Event-driven messaging system.
- State Management System – Controls application state.
- Filesystem – Persistent hierarchical storage system.
- Indexing System – Accelerated lookup structures.
Distributed & Service Systems
(How software *communicates*)
- Client–Server System - A model where a client (user interface or device) sends requests and a server processes those requests and returns responses.
- Distributed System - A collection of multiple computers that work together over a network to function as a single system.
- Microservices Architecture - An approach where an application is built as a set of small, independent services that communicate over APIs.
- Monolith - A single, tightly coupled application where all functionality is contained in one codebase and deployed as one unit.
- Service Mesh - An infrastructure layer that manages communication between services, handling routing, security, and observability.
- Backend System - The server-side components that handle business logic, data processing, and storage.
- Frontend System - The user-facing interface that interacts with the backend, such as web apps or desktop interfaces.
- Control Plane / Data Plane - The control plane makes decisions and manages the system, while the data plane executes those decisions and handles real work.
- Load Balancer - A system that distributes incoming requests across multiple servers to improve performance and reliability.
- Gateway - A centralized entry point that routes, filters, and enforces policies on incoming requests to a system.
- Reverse Proxy - A server that sits in front of backend services and forwards client requests while hiding internal system details.
Deployment & Operations Systems
(How software *lives in the world*)
- Operating System - Software that manages hardware resources and provides a runtime environment for applications.
- Infrastructure - The underlying physical or virtual resources such as servers, storage, and networking that support systems.
- Cloud Platform - A system that provides on-demand access to computing resources and services through abstraction and automation.
- Orchestration System - Software that automates deployment, scaling, scheduling, and management of applications (e.g., Kubernetes).
- CI/CD Pipeline - An automated workflow that builds, tests, secures, and deploys software from source code to running systems.
- Monitoring System - A system that tracks performance and health metrics of infrastructure and applications.
- Logging System - A system that collects and stores event records and system messages for debugging and auditing.
- Telemetry System - A system that gathers and analyzes metrics, logs, and traces to understand system behavior.
- Configuration Management System - A system that defines, manages, and enforces configuration settings across environments.
- Secrets Management System - A system that securely stores and controls access to sensitive data like passwords, keys, and tokens.
Security & Governance Systems
(How systems *protect themselves*)
- Authentication System - A system that verifies the identity of a user or service.
- Authorization System - A system that determines what actions an authenticated user or service is allowed to perform.
- Identity Management System - A system that manages user identities, credentials, and access lifecycle.
- Access Control System - A system that enforces rules governing access to resources.
- Key Management System - A system that creates, stores, and manages cryptographic keys.
- Policy Engine - A system that evaluates rules and policies to make access or operational decisions.
- Permission Model - A framework that defines how permissions are structured and assigned (e.g., roles or attributes).
- Trust Boundary - A point in a system where trust assumptions change and additional security controls are required.
- Security Sandbox - An isolated environment used to safely execute untrusted or restricted code.
AI-Specific System Terms
(Modern AI “systems” framing)
- Model Architecture - The structure and design of a machine learning model, such as a transformer or neural network.
- Inference Engine - The system that runs a trained model to generate predictions or outputs.
- Training Pipeline - The process and infrastructure used to train machine learning models from data.
- Evaluation Framework - A system for measuring and validating model performance and reliability.
- RAG Pipeline - A system that retrieves relevant data and feeds it into a model to improve generated outputs.
- Vector Database - A database optimized for storing and searching embeddings for semantic similarity.
- Agent System - A system where an AI model can take actions, use tools, and execute tasks autonomously.
- Orchestration Graph - A structured representation of workflows and dependencies between components or steps.
- Prompting Framework - A system for managing and structuring prompts, templates, and context for AI models.
- Multi-Agent System - A system where multiple AI agents collaborate or coordinate to complete tasks.