Dev Encyclopedia;
Find out what that Sr. Developer is talking about.
ACID Transactions
Ensure reliability in database operations
API Gateway
Manages requests and directs them to the correct services
API Versioning
Manage API changes by assigning version numbers
APIs
Application Programming Interfaces
APM (Application Performance Management)
Monitors and manages software application performance
AUC Curve
i.e. Area Under the Curve
AWS
Amazon Web Services
Agile
A methology in Software Development
Ajax
Asynchronous JavaScript and XML
Angular
A TypeScript-based web application framework
Anti Virus
Software to protect against malware
AOP (Aspect-Oriented Programming)
Aspect-Oriented Programming
Arguments
Values passed to functions to influence their behavior.
Artificial Intelligence
A frenemy
Asymmetric Cryptography
Cryptographic scheme with two keys.
Atomic Operation
Indivisible operations
Attribute
Properties that can be assigned to elements like variables, objects, or classes
Authentication
Verifying user identity
Authorization
Determining user permissions
Autoencoders
Learns efficient data representations through compression and reconstruction.
Azure
Microsoft's cloud computing platform
Backdoor
Hidden access point in software
Bagging
Combines predictions from multiple models for improved accuracy.
Bash
A unix shell and command language
Bayes Theorem
Principle of probability theory
Beautifulsoup
HTML/XML parsing library
Behaviour Driven development (BDD)
A software development approach
Big O Notation
A term used to explain... algorithms?
Bioinformatics
Using technology to understand biological data
Blazor
.NET frontend web framework based on HTML, CSS, and C#
Blockchain
A chain of transactions
Blue-Green Deployment
Deployment strategy
Blue-Team
Defensive security team
Boolean
A data type with true or false values.
Boosting
Builds models sequentially, with each correcting errors of the previous one.
Branching
Creating separate code versions
Bug
Programmers' Nightmare
Bundlers
Tools that compile and optimize JavaScript code for efficient loading
Continue Integration / Continuous Delivery (CI/CD)
Continuous integration and continuous delivery
CLI
Command-line interface
Content Management System (CMS)
Application non technical users can use to build projects with content
CORS
Cross Origin Resource Sharing
CQRS (Command Query Responsibility Segregation)
Pattern for separating read and write operations
CRON Jobs
Automated tasks in Unix-like systems
CSRF
Cross-Site Request Forgery
CSS
Cascading Style Sheets
CSS Breakpoint
Responsive design threshold
Cache
Temporary storage for fast access
Cache Invalidation
Remove outdated data to make room for fresh information
Caching
Storing data for quick access
Canary Testing
Testing new software by releasing to a small group of users
CAP Theorem
Consistency, Availability, Partition Tolerance
Chaos Engineering
Practice of testing systems to withstand turbulent conditions
Circuit Breaker Pattern
Software design pattern
Classes
Blueprints for creating objects with defined properties and behaviors.
Client side rendering (CSR)
Rendering web pages in the browser
Cloud Computing
It's always fun on the clouds, until it starts "leaking"
Cloud Orchestration
Automated arrangement and coordination of cloud services
Cloud Security
Procedures and technology to secure cloud environments
Cluster Computing
Connecting multiple computers to work as a single system
Code Review
Checking code for quality and improvement
Code Smell
Indicators that code might need improvement.
Code refactoring
Improving the internal structure of code without altering its external behavior
Concurrency
Run multiple processes simultaneously for efficiency
Confusion Matrix
A table to evaluate classification model performance.
Consistent Hashing
A hashing algorithm for distributed systems
Containerization
Packaging applications for consistent deployment
Continuous Delivery (CD)
A software development practice often implemented with CI
Continuous Deployment
Automatic deployment of code changes
Continuous Integration (CI)
A software development practice
Contract Testing
Process of defining and verifying a contract between two services
Convolutional Neural Networks
Analyzes grid-like data, such as images, using filters.
Cookies
Website's, not Grandma's
Crawling
Web content discovery
Cross-Entropy
Loss function measuring the difference between predicted and actual class labels.
Cross-Validation
Evaluates model performance on multiple data splits.
C#
A modern, OOP language from Microsoft
CVE (Common Vulnerabilities and Exposures)
Publicly disclosed cybersecurity vulnerabilities
Cybersecurity
Staying secured in a a world of hackers
DDoS
Distributed Denial of Service
Domain Name System (DNS)
Phonebook of the Internet
DOM
Document Object Model (DOM)
DRY Principle
Avoid code repetition
Dark Launch
Release features to a subset of users without their knowledge
DataOps
Agile approach to data management
Data Anonymization
Removing personal identifiers from data to protect privacy
Data Deduplication
Eliminate redundant data to increase storage efficiency
Data Governance
Management of data's availability, usability, integrity, and security
Data Lake
Vast storage for raw data in its native format
Data Lakehouse
Combine data lakes and warehouses for comprehensive storage
Data Lakes and Warehouses Integration
Combine raw and structured data storage for better management
Data Partitioning
Divide a database into distinct, independent parts
Data Replication
Copy data to ensure consistency and accessibility
Data Science
Science of converting information to Data
Data Serialization
Converting data for storage or transmission
Data Sharding
Splitting a database into smaller, faster parts
Data Structure
A way of oragnzing and storing data
Data Types
Categories defining the kind of data variables can hold.
Data Validation
Ensuring data accuracy and completeness
Data Warehouse
System for storing and managing large data for analysis
Database Indexing
Improve data retrieval speed in databases
Dataframe
Tabular data structure
Deadlock
A stand-off where processes block each other's progress
Debugger
Tool for finding and fixing code errors
Debugging
An interesting process that makes programmers yell "Just Why!?"
Decision Trees
Uses a tree-like model of decisions and their possible consequences.
Decryption
Conversion of encrypted data back into its original form
Deep Learning
A subset of machine learning
Dependency
A required software library or component that other software relies on
Dependency Graph
Visualize dependencies in systems or projects
Dependency Inversion Principle
Dependency inversion principle
Deployment
Making applications available for use
Deployment Pipeline
Automated process for software changes
Design Patterns
Standard solutions to common design problems
DevOps
Bridging the gap between development and operations
DevSecOps
Integrating security into the DevOps process
Dictionary
A collection of key-value pairs in programming.
Digital Twins
Virtual replicas of physical objects or systems
Distributed File System (DFS)
A system that allows access to files from multiple locations
Distributed Ledger Technology (DLT)
The foundation of decentralized digital systems
Django
Python web framework
Docker
The most popular Container tool
Docker Swarm
Management of Docker container clusters
Documentation
Guides and references for software usage
Domain-Driven Design (DDD)
Align software design with business needs
.NET
Free, open source developer platform based on C#
Double
More precise and larger decimal numbers.
ECMAScript
The standardized scripting language behind JavaScript
ETL (Extract, Transform, Load)
Process to collect, change, and store data
Edge AI
Bringing artificial intelligence to edge devices to process data locally
Edge Computing
Data processing closer to data sources
Edge Services
Technologies providing services closer to the user
Encryption
Converting plaintext into ciphertext to protect data from unauthorized access
End-to-End Test
Another type of testing
Ensemble Methods
Combines multiple models to improve overall performance.
Enterprise Service Bus (ESB)
Software platform for integrating applications
Epoch (Time)
Date and time used by computers
Epochs (ML)
Training rounds in Machine Learning
Event-Driven Architecture
Building software with actions triggering responses
Event Loop
Programming construct that waits for and dispatches events
Event Stream Processing
Analyze and process continuous streams of events
Eventually Consistent Systems
Systems that eventually reach consistency over time
Explainable AI (XAI)
Making AI decisions understandable to humans
Exploit
Code that takes advantage of vulnerabilities
F1 Score
Harmonic mean of Precision and Recall for balanced evaluation.
FTP
File Transfer Protocol
Favicon
Website's tiny icon
Feature Branching
Isolate development in branches for easier integration
Feature Engineering
Creates or modifies features to enhance model performance.
Feature Scaling
Normalizes feature ranges for better model performance.
Federated Learning
Training AI models across multiple devices without sharing data
Firewall
Network security device
Floats
Numbers with decimal points for precision.
Flutter
An UI toolkit from Google
Fog Computing
Extending cloud computing to the edge of an enterprise's network
Forks
Copying a repository for development
Front End
The visual and interactive parts of a website.
Full Stack
Development of both front end and back end.
Function as a Service (FaaS)
Execute code without managing infrastructure
Functions
Reusable blocks of code performing specific tasks.
Futures
Asynchronous programming construct
GDPR
General Data Protection Regulation
GPTs
Generative Pre-trained Transformers
GRASP Principles
General Responsibility Assignment Software Patterns
Git
The most popular version control system
GitHub
Platform for code hosting and collaboration
GitLab
DevOps lifecycle tool
GitOps
Infrastructure automation framework
Go
Programming language by Google
Gradient Descent
Optimizes model parameters by minimizing errors.
GraphQL
Query language for APIs
Graph Databases
Databases storing data in nodes and edges to show relationships
HTML Attribute
HTML element properties
HTML
HyperText Markup Language
Hadoop
Big data processing framework
Hashing
A data security algorithm
Hex code
Color representation in web design
Homomorphic Encryption
Performing computations on encrypted data without decryption
Honeypot
Decoy system to detect attacks
Horizontal Scaling
Add more machines to handle increased load
Hotfix
Emergency software fix
HTTP
Hypertext Transfer Protocol
Hybrid Cloud
Combining public and private cloud environments for flexibility
Hyperparameter Tuning
Optimizes model settings to improve performance.
IDE
Integrated Development Environment for coding and debugging.
IP Address
Unique identifier for devices on a network
Idempotence
Operation consistency
Immutable Data Structures
Data structures that cannot be modified after creation
Immutable Infrastructure
Infrastructure that is never modified after deployment
Infrastructure as Code (IaC)
Managing infrastructure through machine-readable scripts
Inheritance
Creating new classes from existing ones, inheriting their properties and behaviors.
Integration Test
Another type of testing
Internet of Things
A network of things
Inversion
Dependency inversion principle
IoT Edge Computing
Process data near its source in IoT devices
Iteration
A programming technique
JWT (JSON Web Tokens)
Securely transmit information as JSON
Java
A high-level programming-language
JavaScript
Dynamic scripting language for web development
Jupyter Notebook
Interactive computing environment
K-Means Clustering
Groups data into clusters based on similarity.
K-Nearest Neighbors (KNN)
Simple algorithm for classification and regression
KISS Principle
Keep it simple to avoid complexity
Kafka
Apache Kafka
Kanban
A visual workflow management method
Keras
Deep learning API in Python
Kotlin
A statically-typed programming language by JetBrains
Kubernetes
Platform for automating container management
LLMs
AI systems for understanding and generating text.
Lazy Evaluation
Deferred computation technique
Leetcode
Coding platform for practice and interviews
Light House
Website performance audit tool
List
An ordered, changeable collection of items.
Load Balancer
Distributes network traffic across servers
Load Test
A type of performance testing
Logistic Regression
Predicts probabilities for binary outcomes.
MERN
JavaScript stack for web development
MVC
Model-View-Controller architecture
Machine Learning
AI exists thanks to this
Machine Learning Operations (MLOps)
Streamline machine learning processes using DevOps principles
Memento Pattern
Behavioral design pattern
Memoization
A method of speeding up programs
Memory Leaks
Issues in memory management that can cause system crashes
Merging
Combining changes from branches
Message Brokers
Intermediaries that manage communication between apps
Message Queues
Manage asynchronous communication between processes
Meta Tag
HTML metadata element
Micro-batching
Process small groups of data in short intervals
Micro FrontEnd
Independently deployable Front End units
Microservices
Independent services working together
Microservices Architecture
Independent, small service modules in software
Mocking
Creating fake objects for testing
Modules
Reusable, self-contained block of code in programming
MongoDB
A NoSQL DataBase
Monolith
A single, large application handling multiple tasks
Monolithic Architecture
Integrated large system design
Monorepo
A single repository containing multiple distinct projects
Multi-Cloud Strategy
Using multiple cloud computing services to mitigate single-provider risks
Multi-Tenancy
Single instance of software serves multiple customers
MySQL
Popular open-source relational database
NPM
Node Package Manager
Namespace
Organize code to avoid naming conflicts
Natural Language Processing
Enables computers to understand and process human language.
Network Latency
A delay in network communication
Network Slicing
Create multiple virtual networks on shared infrastructure
Neural Networks
Mimics the human brain to recognize patterns and make predictions.
Next.js
React framework to build high performant web applications
NoSQL
A non-relational database management system
Node.js
JavaScript runtime environment to build network applications using JS
Normalization
Database design process
Numpy
Numerical computing library
OAuth 2.0
Authorization framework for resource access
ORM (Object-Relational Mapping)
Mapping database tables to objects
Obfuscation
Code disguise technique
Objects
Instances of classes with specific attributes and methods.
Observability
Ability to collect metrics about programs' execution
OpenCV
Computer vision library
Open Source
Software with publicly accessible source code.
Optimistic Locking
Concurrency control method strategy.
Orchestration
Automated management of containers
Overfitting
When a model learns too much from training data, harming new data performance.
PWA
Progressive Web App
Pandas
Data manipulation library
Pascal
A structured programming language
Payload (Cybersecurity)
Data delivered by an exploit
Performance Test
A type of testing focusing on application performance
Phishing
Deceptive email fraud
Pivoting
Moving within a compromised network
Poka-Yoke
Error prevention technique
Polyfill
Providing modern functionality on older browsers
Polymorphic Code
Self-altering code
PostgreSQL
Advanced open-source relational database
Precision and Recall
Metrics for evaluating classification model accuracy and completeness.
Promises
Asynchronous code handling
Prototypes (Software Development)
Early models of software for testing
Proxy
Intermediate server for network requests
Pull Requests (PR)
Proposing and reviewing code changes
Pygame
Python library for game development
Python
A great programming language
Quantum Computing
Sheldon Cooper's gonna love this
Quantum Cryptography
Using principles of quantum mechanics for secure communication
RESTful API
An API that follows REST principles
ROC Curve
Graphical representation of a classifier's performance.
RSS feed
Web feed for updates
Random Forest
Combines multiple decision trees to improve accuracy.
Rate Limiting
Control the frequency of resource access to prevent overuse
ReactJS
A popular JS library for building user-interfaces
Reactive Programming
Handling data streams and changes in real time
Recurrent Neural Networks
Processes sequences of data, maintaining context over time.
Recursion
A programming technique
Recursion Depth
Used to elaborate on recusrion method
Red-Team
Offensive security team
Refactoring
Improving code structure without changing behavior
Regression Testing
A type of testing to check if recent changes adversely affected existing features
Regularization
Prevents overfitting by adding penalties to model complexity.
Reinforcement Learning
Trains agents to make decisions by rewarding or punishing actions.
RLS (Row-Level Security)
Granular access control
Ruby
Another simple, OOP language
Ruby on Rails
A web application framework written in Ruby
Rust
A programming language
Search Engine Optimization (SEO)
Improving website visibility
SOLID Principles
Guidelines for better software design
SQL
A relational database management system
SQL Injection (SQLi)
A security vulnerability
SSH
Secure Shell protocol
SSL
Secure Sockets Layer
SVG
Scalable Vector Graphics
Sandboxing
Isolated testing environment
Sass
Syntactically Awesome Style Sheets
Scalability
Capability of a system to handle growth
Scrum
A framework within the Agile methodology
Security Test
A test against hacking and whatnot
Selectors
Targeting HTML elements
Selenium
Web browser automation tool
Semantic Design
Meaningful code and markup
Server Sent Events (SSE)
Automatically update web pages with server data
Server Side Rendering (SSR)
Rendering web pages on the server
Serverless Architecture
Cloud management of server operations
Serverless Computing
Cloud computing without managing servers.
Serverless Functions
Execute code without the need to manage servers
Service Discovery
Dynamic directory for services to find each other
Shadow Process
Hidden system process
Sharding
Database partitioning technique
Shellcode
Executable code in exploits
Sidecar Pattern
Companion service architecture
Singleton Pattern
Single instance design pattern
Sitemap
Website structure guide for search engines
Smart Contract
A digital contract stored on a blockchain
Software Containers
Package an application and its dependencies into a unit
SDK
Software Development Kit
Spaghetti Code
Unstructured, messy code that’s hard to maintain.
Stateful Widget
UI component that maintains state across sessions
Stateful vs Stateless Systems
Compare systems that maintain state with those that don't
Static Code Analysis
Examining vulnerabilities in source code
Steganography
Hiding data within other data
Sticky
Persistent UI element
Stress Test
A type of performance testing under pressure
String
A sequence of characters representing text.
Support Vector Machines
Finds the best boundary between classes in data.
Svelte
A JavaScript Framework
Swift
A programming language from Apple
SwiftUI
A framework from Apple
Symbolic Link (Symlink)
A file pointing to another file or directory
Syntax
Rules defining the structure and format of code.
Synthetic Data
Artificially generated data that mimics real data
Technical Debt
Extra work due to past shortcuts
Terminal
Text-based user interface for CLIs
Test-Driven Development (TDD)
A software development approach where tests are written before code.
Testing
The ultimate fear of developers
The __init__ Function
A special method in Python Programming Language
Threads
Mini-programs running concurrently within a larger program.
Three-Sigma Rule
A rule of thumb in data science related to normal distributions.
Throttling
Control network traffic to prevent overloading
Tokenization (NLP)
Breaking down text into smaller components.
Transfer Learning
Adapts pre-trained models for new but related tasks.
Tree Shaking
A dead code elimination technique
Tuple
An ordered, unchangeable collection of items.
Twelve-Factor App
Application development methodology
Typescript
A superset of JavaScript
UI (User Interface)
Design of the system’s interface
UX (User Experience)
Overall experience with a product
Underfitting
When a model is too simple to capture the underlying data patterns.
Unit test
A type of testing
Usability Test
A test that ensures that application is user-friendly
User-Acceptance Test (UAT)
Final user testing phase
User Flow
The path users take to complete a task or achieve a goal.
VanillaJS
Pure JavaScript without frameworks
Version Control
Recording every change
Vertical Scaling
Increase the capacity of a single server
Virtual Private Cloud (VPC)
Isolated cloud resources for enhanced security within a public cloud
Virus
Self-replicating malicious software
VueJS
A progressive JavaScript framework for building user interfaces.
WYSIWYG
What You See Is What You Get editor
Web Hosting
Service for hosting websites on the internet
WebAssembly (Wasm)
A binary instruction format for high-performance web applications.
WebRTC (Web Real-Time Communication)
Enabling real-time communication directly in web browsers
Web Apps
Software applications accessed through a web browser
Web Hooks
Automated messages between apps.
Web Scraping
Automatically collecting data from websites.
Widgets
Reusable UI components
XPATH
XML Path Language
YAML
YAML Ain't Markup Language
Yarn
JavaScript package manager
YAGNI
You Aren't Gonna Need It
Zero-Day Vulnerability
Unpatched software vulnerability
Zero Downtime Deployment
Update software without causing service disruption
Zero Trust Security Model
Security that trusts no one by default
Zombie
Compromised and controlled machine
Zombie Process
Defunct process
Conditional Statement
Decision-making in code
gRPC
A high-performance framework for service communication
iFrame
Embedding external content
Malware
Malicious software
N+1 Query Problem
Inefficient data retrieval when querying data.
Race Condition
Occurs when multiple threads read and write the same data item, causing inconsistency.
Symmetric Cryptography
Encryption using the same key for both encryption and decryption.