A/B Testing
A method of comparing two versions of a product or feature to determine which performs better with users.
ACID
ACID stands for Atomicity, Consistency, Isolation, Durability — ensuring that database transactions are processed completely, correctly, independently, and permanently, even in case of failures...
API (Application Programming Interface)
A set of rules that allows different software applications to communicate with each other.
API Gateway
A server that acts as a single entry point for multiple backend services, handling routing, authentication, and rate limiting.
Acceptance Testing
A process where the client verifies if the software meets their requirements before going live.
Async/Await
Modern JavaScript syntax for handling asynchronous operations in a cleaner, more readable way.
Authentication vs Authorization
Two fundamental security concepts that control who can access what in applications.
Availability
Availability is the ability of a system to be working and ready to use whenever it is needed, without unexpected problems or shutdowns.
Backend Development
Backend Development is the behind-the-scenes part of a website or app. It handles data, logic, and server operations, making sure everything runs smoothly. It connects the frontend (what users see) with the database and server to deliver content, process requests, and manage security.
Blue-Green Deployment
A deployment strategy that eliminates downtime by running two identical environments and switching traffic between them.
Browser DevTools
A suite of built-in developer tools for inspecting DOM, debugging JavaScript, and analyzing network performance directly in the browser.
CAP Theorem
The CAP theorem states that a distributed system can only guarantee two of the following: Consistency, Availability, or Partition Tolerance.
CI/CD (Continuous Integration & Continuous Deployment)
A software engineering approach that automates testing, integration, and deployment of applications.
CRUD Operations
Create, Read, Update, Delete - the four basic operations for managing data in any application.
CSS Grid
A two-dimensional layout system for the web. It allows developers to place elements into rows and columns with precise control.
Cascading Style Sheets (CSS)
CSS is the programming language used to style static web pages and web applications, to control how information is visually presented.
Client-Side vs Server-Side Rendering
CSR (Client-Side Rendering) renders pages in the browser, while SSR (Server-Side Rendering) generates pages on the server.
Concurrency
Concurrency is the ability of a system to execute multiple tasks at the same time, improving efficiency.
Containerization
Containerization packages applications and dependencies together to ensure consistency across environments.
Content Delivery Networks (CDN)
A system of distributed servers that deliver web content to users based on their geographic location.
Cookies
Small pieces of data stored in the browser that websites use to remember information about users.
Cron Jobs
A scheduled task automation tool that runs commands at specified time intervals.
Cross-Origin Resource Sharing (CORS)
A mechanism that allows restricted resources on a web page to be requested from another domain.
Cybersecurity
The practice of protecting systems, networks, and data from digital attacks, unauthorized access, and damage.
DDoS Attacks
A DDoS (Distributed Denial of Service) attack overwhelms a server with excessive traffic to make it unavailable.
Data Center
A facility housing networked computers, storage systems, and infrastructure that powers digital services and applications.
Database
Databases are used for storing, maintaining and accessing any sort of data. They collect information on people, places or things. This information is gathered in one place so it can be observed and analyzed
Database Normalization
A process of organizing data to reduce redundancy and improve data integrity.
Database Sharding
Splitting a database into smaller pieces (shards) distributed across multiple servers to handle more data and traffic.
Debugging
Debugging is the process of identifying and fixing errors in a program.
Dependency Injection
A design pattern where objects receive their dependencies from external sources rather than creating them internally.
Docker
A containerization platform that packages applications and their dependencies into portable units.
Environment Variables
Configuration values stored outside your code that change based on the environment (development, staging, production).
Event-Driven Architecture
Event-driven architecture is a design pattern in which services communicate through events rather than direct calls.
Fault Tolerance
The ability of a system to continue operating correctly even when components fail.
Frontend Development
Frontend development is responsible for how websites and applications are developed using HTML, CSS, and JavaScript to visually render data from backend services and databases.
Functional Programming
A programming paradigm that treats computation as the evaluation of mathematical functions and avoids changing state and mutable data.
Git
A distributed version control system used by developers to track changes in their codebase.
Github
GitHub is a website that lets developers store, manage, and share code. It's a collaboration platform that uses Git, an open-source version control system. GitHub is used to build and ship software.
GraphQL
GraphQL is a flexible query language that enables clients to request only the data they need from an API.
GraphQL vs REST
GraphQL is a query language that provides flexible data retrieval, while REST uses predefined endpoints.
HTTP Status Codes
Three-digit numbers that servers send to indicate the result of an HTTP request (success, error, redirect, etc.).
HyperText Markup Language (HTML)
HyperText Markup Language (HTML) is the standard markup language used for creating and structuring the content of web pages. It provides a set of tags and attributes that define the structure and formatting of text, images, links, and other elements within a web document. HTML is the backbone of the World Wide Web.
Indexing in Databases
Indexing improves database search performance by creating a structure that allows quick data retrieval.
JSON
JavaScript Object Notation - a lightweight format for storing and exchanging data between applications.
JWT (JSON Web Token)
JWT is a secure method to transmit authentication tokens between a client and a server.
JavaScript
JavaScript (JS) is a versatile and widely-used programming language primarily adopted in web development. It enables the creation of interactive and dynamic elements within web pages, allowing for enhanced user experiences. JavaScript runs on the client side, meaning it executes directly in a user's web browser without the need for server interaction.
Lazy Loading
A design pattern that defers the loading of non-critical resources (like images) until they are needed, improving initial page load time.
Linux
What is Linux is too dgos
Load Balancing
Load balancing distributes traffic across multiple servers to improve reliability and performance.
Machine Learning
Machine learning (ML) is a type of artificial intelligence (AI) that allows computers to learn from data and improve their performance over time.
Message Queues (RabbitMQ & Kafka)
Message queues allow asynchronous communication between services, improving scalability and reliability.
Microservices
An architectural style that structures an application as a collection of small services.
Microservices Architecture
A design approach where applications are built as a collection of small, independent services.
Middleware
Software that sits between requests and responses, processing, modifying, or validating data as it flows through your application.
Monitoring
Continuously tracking system health, performance, and behavior to detect issues and understand how applications run in production.
Monolith Architecture
An application design where all code and features exist in a single codebase and deploy together.
Monorepos
A development strategy where multiple projects are stored in a single repository to share code and simplify dependency management.
Networking
The practice of connecting computers and systems to share resources and communicate with each other.
NextJS
Next.js is a JavaScript framework that helps developers build web applications. It's built on React, a popular JavaScript library.
Nginx
A web server and reverse proxy used to serve websites, balance load, and handle high traffic efficiently.
NoSQL Databases
NoSQL databases provide flexible, scalable solutions for handling large volumes of unstructured or semi-structured data.
NodeJS
JavaScript Runtime environment
OAuth
OAuth is an open standard for secure user authentication and authorization across applications.
OAuth 2.0
A secure authentication protocol that allows third-party apps to access user data without sharing credentials.
ORM
A programming technique that lets you interact with databases using objects and classes instead of writing SQL queries.
Observability
Observability is the practice of monitoring a system's internal state using logs, metrics, and traces.
Pair Programming
Pair Programming is a collaborative coding technique where two developers work together on the same task. One person is the "Driver" (writes the code), and the other is the "Navigator" (reviews, suggests improvements, and strategizes). This method improves code quality, problem-solving, and knowledge sharing.
Partitioning
Dividing a database into smaller, manageable pieces that can be distributed across multiple servers for better performance and scalability.
Progressive Web Apps (PWA)
Web applications that offer native-app-like functionality with offline capabilities and improved performance.
QA (Quality Assurance)
A process that ensures software meets quality standards by finding and preventing defects.
REST vs GraphQL
REST and GraphQL are API communication methods with different advantages.
RESTful APIs
RESTful APIs follow architectural principles to provide scalable and maintainable web services.
Rate Limiting
Rate limiting controls the number of requests a client can make to an API within a specific timeframe to prevent abuse.
React Hooks
Functions that let you "hook into" React state and lifecycle features from function components without writing a class.
Redis
An in-memory data store used for caching, session management, and real-time applications.
Relational Database
A structured way of storing and managing data using tables and relationships.
Replication
Copying data across multiple database servers to improve availability, performance, and fault tolerance.
Responsive Design
An approach to web design that makes pages adapt and look good on all devices and screen sizes.
Robotics
The field combining mechanical engineering, electronics, and software to create machines that can perform tasks autonomously or semi-autonomously.
Scalability
The ability of a system to handle growing amounts of work.
Server
A computer or software that provides services, resources, or data to other computers (clients) over a network.
Server-Side Rendering
SSR (Server-Side Rendering) means a webpage is generated on the server before being sent to the browser. Instead of sending an empty HTML file and letting JavaScript build everything on the client, the server prepares the page with content and sends a ready-to-display HTML file to the browser.
This makes the page load faster, improves SEO, and is great for dynamic content that changes based on user requests.
Serverless
A cloud computing model where you write code without managing servers. The cloud provider handles infrastructure automatically.
Service Worker
A script that runs in the background, enabling offline functionality, push notifications, and caching for web applications.
Software Testing
Ensuring code reliability with unit, integration, and E2E testing.
State Management
The practice of managing and synchronizing the data (state) of an application across various components and user interactions.
System Design
System design is the process of designing the elements of a system such as the architecture, modules and components, the different interfaces of those components and the data that goes through that system.
TypeScript
A strongly typed programming language that builds on JavaScript, providing better tooling at any scale.
Unit Testing
A type of testing where individual software components are tested to ensure correctness.
Virtual DOM
The Virtual DOM is a lightweight copy of the real DOM that optimizes UI updates. It tracks changes, compares the previous and new versions ("diffing"), and updates only the necessary parts of the real DOM, improving performance.
Web Performance Optimization
Techniques to improve website loading speed.
Web3
The next evolution of the internet, enabling decentralized applications and blockchain-based interactions.
WebAssembly (WASM)
A binary instruction format for a stack-based virtual machine that enables high-performance web applications.
WebSockets
A protocol that provides full-duplex communication between client and server for real-time applications.
Webhooks
A way for applications to send real-time data to other applications when events happen, using HTTP callbacks.
XML (Extensible Markup Language)
A markup language used to structure and store data in a hierarchical format.
react JS
React is a JavaScript library that helps developers create user interfaces for websites, mobile apps, and desktop apps. It's used because it's efficient, fast, and widely adopted.