Clear definitions and mental models for core software engineering concepts.
Showing 15 of 206 topics. Switching field only changes what you see here, not your learning path.
ACID stands for Atomicity, Consistency, Isolation, Durability — ensuring that database transactions are processed completely, correctly, independently, and permanently, even in case of failures...
A server that acts as a single entry point for multiple backend services, handling routing, authentication, and rate limiting.
Availability is the ability of a system to be working and ready to use whenever it is needed, without unexpected problems or shutdowns.
This is cahcing !
The CAP theorem states that a distributed system can only guarantee two of the following: Consistency, Availability, or Partition Tolerance.
Concurrency is the ability of a system to execute multiple tasks at the same time, improving efficiency.
Event-driven architecture is a design pattern in which services communicate through events rather than direct calls.
The ability of a system to continue operating correctly even when components fail.
An architectural style that structures an application as a collection of small services.
An application design where all code and features exist in a single codebase and deploy together.
Dividing a database into smaller, manageable pieces that can be distributed across multiple servers for better performance and scalability.
Copying data across multiple database servers to improve availability, performance, and fault tolerance.
The ability of a system to handle growing amounts of work.
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.
The next evolution of the internet, enabling decentralized applications and blockchain-based interactions.