Computer Science: Difference between revisions

From bradwiki
Jump to navigation Jump to search
(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...")
 
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 (given your recent work) ==
== 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*)


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*)


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.