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.
Acceptance Testing
A process where the client verifies if the software meets their requirements before going live.
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.
Browser DevTools
Built-in developer tools in modern browsers that help debug and optimize web applications.
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.
CSS Grid
A powerful CSS layout system used to create flexible, two-dimensional grid-based layouts.
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.
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.
DDoS Attacks
A DDoS (Distributed Denial of Service) attack overwhelms a server with excessive traffic to make it unavailable.
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.
Debugging
Debugging is the process of identifying and fixing errors in a program.
Docker
A containerization platform that packages applications and their dependencies into portable units.
Event-Driven Architecture
Event-driven architecture is a design pattern in which services communicate through events rather than direct calls.
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.
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.
Images
Images are visual elements and graphics used to enhance the user interface and user experience of a digital product or application. Images can include photographs, illustrations, icons, and logos that contribute to the overall aesthetic and usability of the design.
Indexing in Databases
Indexing improves database search performance by creating a structure that allows quick data retrieval.
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
Lazy loading delays loading non-critical resources until they are needed, improving page speed.
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.
Monorepos
A development strategy where multiple projects are stored in a single repository to share code and simplify dependency management.
NextJS
Next.js is a JavaScript framework that helps developers build web applications. It's built on React, a popular JavaScript library.
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.
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.
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
Hooks are functions in React that allow using state and lifecycle methods inside functional components.
Relational Database
A structured way of storing and managing data using tables and relationships.
Scalability
The ability of a system to handle growing amounts of work.
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.
Software Testing
Ensuring code reliability with unit, integration, and E2E testing.
State Management
State Management is the technique of handling application state efficiently across components.
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.
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.