Book 03
Backend & APIs
Server-side services, API design and the ways software systems talk to each other.
Contents
- 01.NET1.NET is Microsoft's free, open-source developer platform for building web, desktop, mobile, cloud and game applications, mainly in C#.
- 02APIApplication Programming Interface2An API is a set of rules that lets one piece of software request data or actions from another in a predictable, documented way.
- 03API Gateway3An API gateway is a server that sits in front of a group of backend services and acts as the single entry point that receives, checks, and routes API requests.
- 04API Versioning4API versioning is the practice of labeling and managing changes to an API so existing clients keep working while new versions add or change features.
- 05Backend5The backend is the server side of an application: the code, databases and services that store data, apply business rules and answer the frontend's requests.
- 06Background Job6A background job is a task that a server runs outside the normal request-response cycle, so slow work like sending emails doesn't make users wait.
- 07Backpressure7Backpressure is a mechanism that lets a slow consumer signal a fast producer to slow down, so data doesn't pile up faster than it can be processed.
- 08Cache8A cache is a fast, temporary storage layer that keeps copies of frequently used data so later requests can be served quickly without repeating slow work.
- 09Cron Job9A cron job is a command or script that runs automatically on a repeating schedule, such as every night at 2 a.m., defined by a five-field cron expression.
- 10CRUDCreate, Read, Update, Delete10CRUD stands for create, read, update and delete, the four basic operations for working with stored data in databases, APIs and most business applications.
- 11Django11Django is an open-source Python web framework that comes with an ORM, an admin panel, authentication and security protections, so teams can build quickly.
- 12Endpoint12An endpoint is a specific URL, combined with an HTTP method, where an API receives requests and returns responses for one particular resource or action.
- 13Event Loop13The event loop is a mechanism that lets a single thread handle many tasks by running callbacks one at a time as events and I/O results become ready.
- 14Event Streaming14Event streaming is the practice of recording events as a continuous, ordered and durable log that many applications can read, replay and process in real time.
- 15Exponential Backoff15Exponential backoff is a retry strategy that waits longer after each failed attempt, such as 1, 2, 4 and 8 seconds, so a struggling service can recover.
- 16ExpressExpress.js16Express is the most widely used Node.js web framework: a minimal layer that handles routing, requests and responses through a chain of middleware functions.
- 17FastAPI17FastAPI is a modern Python API framework that uses standard type hints to validate requests, convert data and generate OpenAPI documentation automatically.
- 18Flask18Flask is a lightweight Python web framework offering routing, request handling and templates, leaving the database and project structure to the developer.
- 19GraphQL19GraphQL is a query language and runtime for APIs that lets clients request exactly the data they need, often from a single endpoint in a single request.
- 20gRPC20gRPC is an open-source framework for calling functions on a remote server as if they were local, using Protocol Buffers and HTTP/2 for fast, typed messages.
- 21Health Check21A health check is a small automated test, usually an HTTP endpoint, that reports whether a service is up and able to handle requests, so failures show fast.
- 22HTTP Caching22HTTP caching is the reuse of stored HTTP responses by browsers, CDNs and proxies, controlled by headers like Cache-Control and ETag, to avoid repeat downloads.
- 23HTTP Method23An HTTP method is the verb in an HTTP request, such as GET, POST, PUT, PATCH or DELETE, that tells the server what action to perform on the requested resource.
- 24Idempotency24Idempotency is the property of an operation that produces the same result whether it runs once or many times, so accidentally repeating a request is safe.
- 25JSONJavaScript Object Notation25JSON is a lightweight, text-based format for storing and exchanging structured data as key-value pairs and lists, readable by both humans and machines.
- 26KafkaApache Kafka26Apache Kafka is a distributed event streaming platform that stores events in durable, ordered logs for many services to publish, read in real time or replay.
- 27Laravel27Laravel is a PHP framework for full web applications, with an elegant syntax and built-in routing, the Eloquent ORM, authentication, queues and migrations.
- 28Long Polling28Long polling is a technique where a client sends a request that the server holds open until new data is ready, imitating real-time push over plain HTTP.
- 29Message Queue29A message queue is a component that stores messages from one service until another is ready to process them, so parts of a system can work asynchronously.
- 30Middleware30Middleware is software that sits between two layers of a system, most often code that runs between an incoming request and the final response in a web server.
- 31Nginx31Nginx is a fast, open-source web server that is also widely used as a reverse proxy, load balancer and HTTP cache in front of application servers.
- 32Node.js32Node.js is an open-source JavaScript runtime that runs JavaScript outside the browser, most often to build web servers, APIs, and command-line tools.
- 33OpenAPI33OpenAPI is an open standard for describing HTTP APIs in a YAML or JSON file, so people and tools can understand every endpoint, parameter, and response.
- 34Pagination34Pagination is the practice of splitting a large set of results into smaller pages, so an API or website returns a manageable number of items per request.
- 35Pub/SubPublish-Subscribe35Pub/sub is a messaging pattern where publishers send messages to topics and every subscriber to a topic gets a copy, without either side knowing the other.
- 36RabbitMQ36RabbitMQ is an open-source message broker that routes producers' messages through exchanges into queues, where consumers take them and confirm when done.
- 37Rate Limiting37Rate limiting is a technique that caps how many requests a client can make to a server or API within a time window, protecting it from abuse and overload.
- 38REST APIRepresentational State Transfer API38A REST API is a web API that exposes data as resources identified by URLs and lets clients read or change them using standard HTTP methods.
- 39RPCRemote Procedure Call39RPC is a communication style in which a program calls a function that runs on another machine as if it were a local function, hiding the network in between.
- 40Ruby on Rails40Ruby on Rails is a full-stack web framework for Ruby that favors convention over configuration, so database-backed web apps can be built quickly.
- 41Serialization41Serialization is the process of converting in-memory data structures into a format such as JSON or bytes, so they can be stored or sent over a network.
- 42Server-Sent Events42Server-Sent Events is a web standard that lets a server push a continuous stream of text updates to the browser over one long-lived HTTP connection.
- 43Session43A session is a way for a server to remember a user across many requests, usually by keeping their data on the server and giving the browser a session ID.
- 44SOAPSimple Object Access Protocol44SOAP is an XML-based messaging protocol for web services that wraps each request and response in a strict envelope, usually defined by a formal WSDL contract.
- 45Spring Boot45Spring Boot is a Java framework for quickly building production-ready services on top of Spring, with auto-configuration and an embedded web server.
- 46Web Server46A web server is software, or the machine running it, that accepts HTTP requests from browsers and other clients and responds with pages, files, or data.
- 47Webhook47A webhook is an automated HTTP request that one application sends to a URL you provide as soon as a specific event happens, such as a completed payment.
- 48XMLExtensible Markup Language48XML (Extensible Markup Language) is a text format for structured data that uses nested tags you define yourself, readable by both people and machines.