Machine Learning
AI exists thanks to this
Code Smell
Indicators that code might need improvement.
Serverless Computing
Cloud computing without managing servers.
Optimistic Locking
Concurrency control method strategy.
Web Flow
The sequence of user steps on a website.
Web Hooks
Automated messages between apps.
LLMs
AI systems for understanding and generating text.
Open Source
Software with publicly accessible source code.
Web Scraping
Automatically collecting data from websites.
Front End
The visual and interactive parts of a website.
Full Stack
Development of both front end and back end.
Functions
Reusable blocks of code performing specific tasks.
Arguments
Values passed to functions to influence their behavior.
Dictionary
A collection of key-value pairs in programming.
Tuple
An ordered, unchangeable collection of items.
List
An ordered, changeable collection of items.
Boolean
A data type with true or false values.
String
A sequence of characters representing text.
Floats
Numbers with decimal points for precision.
Double
More precise and larger decimal numbers.
Data Types
Categories defining the kind of data variables can hold.
Threads
Mini-programs running concurrently within a larger program.
Classes
Blueprints for creating objects with defined properties and behaviors.
Objects
Instances of classes with specific attributes and methods.
Inheritance
Creating new classes from existing ones, inheriting their properties and behaviors.
Syntax
Rules defining the structure and format of code.
IDE
Integrated Development Environment for coding and debugging.
Debugger
Tool for finding and fixing code errors
Deployment
Making applications available for use
Continuous Deployment
Automatic deployment of code changes
Deployment Pipeline
Automated process for software changes
Data Validation
Ensuring data accuracy and completeness
Data Serialization
Converting data for storage or transmission
Mocking
Creating fake objects for testing
Authentication
Verifying user identity
Authorization
Determining user permissions
Prototypes (Software Development)
Early models of software for testing
Monolithic Architecture
Integrated large system design
GitHub
Platform for code hosting and collaboration
ORM (Object-Relational Mapping)
Mapping database tables to objects
Caching
Storing data for quick access
Deep Learning
A subset of machine learning
Artificial Intelligence
A frenemy
Cybersecurity
Staying secured in a world of hackers
Epochs
Training rounds in Machine Learning
APIs
Application Programming Interfaces
Cloud Computing
It's always fun on the clouds, until it starts "leaking"
Data Science
Science of converting information to Data
Quantum Computing
Sheldon Cooper's gonna love this
Internet of Things
A Network of things
Blockchain
A chain of transactions
ReactJS
A popular JS library for building user-interfaces
Docker
The most popular Container tool
The __init__ Function
A special method in Python Programming Language
Three-Sigma Rule
A rule of thumb in data science
Recursion
A programming technique
Iteration
A programming technique
Version Control
Recording every change
Git
The most popular version control system
Microservices
Independent services working together
RESTful API
API using standard HTTP methods
GraphQL
Query language for APIs
Containerization
Packaging applications for consistent deployment
Kubernetes
Platform for automating container management
GitOps
Infrastructure automation framework
Branching
Creating separate code versions
Merging
Combining changes from branches
Pull Requests (PR)
Proposing and reviewing code changes
Code Review
Checking code for quality and improvement
Refactoring
Improving code structure without changing behavior
Technical Debt
Extra work due to past shortcuts
Design Patterns
Standard solutions to common design problems
SOLID Principles
Guidelines for better software design
KISS Principle
Keep it simple to avoid complexity
DRY Principle
Avoid code repetition
Agile
A methodology in Software Development
Scrum
A framework within the Agile methodology
Kanban
A visual workflow management method
HTML
HyperText Markup Language
CSS
Cascading Style Sheets
Java
A high-level programming-language
C#
A modern, OOP language from Microsoft
Ruby
Another simple, OOP language
Swift
A programming language from Apple
Typescript
A superset of JavaScript
Kotlin
A statically-typed programming language by JetBrains
Bash
A unix shell and command language
Ruby on Rails
A web application framework written in Ruby
Angular
A TypeScript-based web application framework
VueJS
A aggressive progressive JavaScript framework
Flutter
An UI toolkit from Google
SwiftUI
Another framework from Apple
Data Structure
A way of organizing and storing data
Big O Notation
A term used to explain... algorithms?
Recursion Depth
Used to elaborate on recursion method
Debugging
An interesting process that makes programmers yell "Just Why!?"
Testing
The ultimate fear of developers
Unit test
A type of testing
Integration Test
Another type of testing
End-to-End Test
Another type of testing
Performance Test
A type of testing focusing on application performance
Load Test
A type of performance testing
Stress Test
A type of performance testing under pressure
Security Test
A test against hacking and whatnot
Usability Test
A test that ensures that application is user-friendly
User-Acceptance Test (UAT)
Final user testing phase
Test-Driven Development
Or TDD, a software development approach
Continuous Integration (CI)
A software development practice
Continuous Delivery (CD)
A software development practice often implemented with CI
DevOps
A set of practices that combine Dev and Ops
SQL
A relational database management system
NoSQL
A non-relational database management system
Logistic Regression
Predicts probabilities for binary outcomes.
K-Means Clustering
Groups data into clusters based on similarity.
Decision Trees
Uses a tree-like model of decisions and their possible consequences.
Random Forest
Combines multiple decision trees to improve accuracy.
Support Vector Machines
Finds the best boundary between classes in data.
Gradient Descent
Optimizes model parameters by minimizing errors.
Neural Networks
Mimics the human brain to recognize patterns and make predictions.
gRPC
A high-performance framework for service communication
Dependency Graph
Visualize dependencies in systems or projects
Cluster Computing
Connecting multiple computers to work as a single system
Message Queues
Manage asynchronous communication between processes
Rate Limiting
Control the frequency of resource access to prevent overuse
Concurrency
Run multiple processes simultaneously for efficiency
Vertical Scaling
Increase the capacity of a single server
Horizontal Scaling
Add more machines to handle increased load
Database Indexing
Improve data retrieval speed in databases
Data Replication
Copy data to ensure consistency and accessibility
ACID Transactions
Ensure reliability in database operations
Eventually Consistent Systems
Systems that eventually reach consistency over time
Memory Leaks
Issues in memory management that can cause system crashes
Namespace
Organize code to avoid naming conflicts
Service Discovery
Dynamic directory for services to find each other
Throttling
Control network traffic to prevent overloading
Function as a Service (FaaS)
Execute code without managing infrastructure
Data Lakehouse
Combine data lakes and warehouses for comprehensive storage
Event Loop
Programming construct that waits for and dispatches events
Tokenization
Breaking down data to smaller units
Server Sent Events (SSE)
Automatically update web pages with server data
Message Brokers
Intermediaries that manage communication between apps
Cache Invalidation
Remove outdated data to make room for fresh information
Immutable Data Structures
Data structures that cannot be modified after creation
Data Deduplication
Eliminate redundant data to increase storage efficiency
Stateful vs Stateless Systems
Compare systems that maintain state with those that don't
Zero Downtime Deployment
Update software without causing service disruption
Data Partitioning
Divide a database into distinct, independent parts
Feature Branching
Isolate development in branches for easier integration
Deadlock
A stand-off where processes block each other's progress
Micro-batching
Process small groups of data in short intervals
Domain-Driven Design
Software development approach focused on core business concepts
API Versioning
Manage API changes by assigning version numbers
Distributed File System (DFS)
A network file system that spans multiple servers
Stateful Widget
UI component that maintains state across sessions
Serverless Functions
Execute code without the need to manage servers
Edge Services
Technologies providing services closer to the user
Dark Launch
Release features to a subset of users without their knowledge
Cloud Security
Procedures and technology to secure cloud environments
Scalability
Capability of a system to handle growth
Event Stream Processing
Analyze and process continuous streams of events
Multi-Tenancy
Single instance of software serves multiple customers
Software Containers
Package an application and its dependencies into a unit
Cloud Orchestration
Automated arrangement and coordination of cloud services
Network Slicing
Create multiple virtual networks on shared infrastructure
IoT Edge Computing
Process data near its source in IoT devices
Data Lakes and Warehouses Integration
Combine raw and structured data storage for better management
Machine Learning Operations (MLOps)
Streamline machine learning processes using DevOps principles
Natural Language Processing
Enables computers to understand and process human language.
Recurrent Neural Networks
Processes sequences of data, maintaining context over time.
Convolutional Neural Networks
Analyzes grid-like data, such as images, using filters.
Autoencoders
Learns efficient data representations through compression and reconstruction.
Reinforcement Learning
Trains agents to make decisions by rewarding or punishing actions.
Transfer Learning
Adapts pre-trained models for new but related tasks.
Hyperparameter Tuning
Optimizes model settings to improve performance.
Cross-Validation
Evaluates model performance on multiple data splits.
Feature Engineering
Creates or modifies features to enhance model performance.
Feature Scaling
Normalizes feature ranges for better model performance.
Overfitting
When a model learns too much from training data, harming new data performance.
Underfitting
When a model is too simple to capture the underlying data patterns.
Regularization
Prevents overfitting by adding penalties to model complexity.
Bagging
Combines predictions from multiple models for improved accuracy.
Boosting
Builds models sequentially, with each correcting errors of the previous one.
Ensemble Methods
Combines multiple models to improve overall performance.
ROC Curve
Graphical representation of a classifier's performance.
AUC Curve
i.e. Area Under the Curve
Precision and Recall
Metrics for evaluating classification model accuracy and completeness.
F1 Score
Harmonic mean of Precision and Recall for balanced evaluation.
Confusion Matrix
A table to evaluate classification model performance.
Cross-Entropy
Loss function measuring the difference between predicted and actual class labels.
NoSQL Databases
Flexible, scalable data storage solutions
Microservices Architecture
Independent, small service modules in software
Serverless Architecture
Cloud management of server operations
WebAssembly (Wasm)
High-performance web applications
Edge Computing
Data processing closer to data sources
Zero Trust Security Model
Security that trusts no one by default
Docker Swarm
Management of Docker container clusters
OAuth 2.0
Authorization framework for resource access
JWT (JSON Web Tokens)
Securely transmit information as JSON
Event-Driven Architecture
Building software with actions triggering responses
CQRS (Command Query Responsibility Segregation)
Separating read and write operations for efficiency
DevSecOps
Integrating security into the DevOps process
Data Lake
Vast storage for raw data in its native format
ETL (Extract, Transform, Load)
Process to collect, change, and store data
Monolith
A single, large application handling multiple tasks
Data Warehouse
System for storing and managing large data for analysis
Graph Databases
Databases storing data in nodes and edges to show relationships
APM (Application Performance Management)
Monitors and manages software application performance
Infrastructure as Code (IaC)
Managing infrastructure through machine-readable scripts
Immutable Infrastructure
Infrastructure that is never modified after deployment
Distributed Ledger Technology
Digital system recording transactions in multiple places simultaneously
Chaos Engineering
Practice of testing systems to withstand turbulent conditions
Reactive Programming
Handling data streams and changes in real time
Data Sharding
Splitting a database into smaller, faster parts
API Gateway
Manages requests and directs them to the correct services
WebRTC (Web Real-Time Communication)
Enabling real-time communication directly in web browsers
Data Governance
Management of data's availability, usability, integrity, and security
Data Anonymization
Removing personal identifiers from data to protect privacy
Federated Learning
Training AI models across multiple devices without sharing data
Explainable AI (XAI)
Making AI decisions understandable to humans
Synthetic Data
Artificially generated data that mimics real data
Quantum Cryptography
Using principles of quantum mechanics for secure communication
Digital Twins
Virtual replicas of physical objects or systems
Edge AI
Bringing artificial intelligence to edge devices to process data locally
Homomorphic Encryption
Performing computations on encrypted data without decryption
Fog Computing
Extending cloud computing to the edge of an enterprise's network
Virtual Private Cloud (VPC)
Isolated cloud resources for enhanced security within a public cloud
Hybrid Cloud
Combining public and private cloud environments for flexibility
Multi-Cloud Strategy
Using multiple cloud computing services to mitigate single-provider risks
DataOps
An agile methodology for developing and maintaining data analytics
Bioinformatics
Using technology to understand biological data
GDPR
General Data Protection Regulation
symmetric-cryptography
algorithms for cryptography that use the same cryptographic keys for both the encryption of plaintext.
Asymmetric-cryptography
cryptographic scheme requiring two different keys, one for encryption and the other for decryption.
Spaghetti Code
Unstructured, messy code that’s hard to maintain.
N+1 Query Problem
inefficient data retrieval when querying data.
Conditional Statement
Decisions in a program's flow.
Race condition
Occurs when multiple threads read and write the same data item, causing inconsistency.