Skip to main content

Learning path · Intermediate

Backend developer

APIs, servers, data and the jobs that keep running when nobody's watching.

How servers answer requests: designing APIs, handling users and sessions, talking to a database, and doing slow or risky work reliably.

33 pages4 chaptersabout 1 hours of reading

  • Backend & APIs
  • Security
  • Databases

Not started yet0/33 read

Start with API

Progress comes from your reading history, kept only in this browser.

Chapter 1APIs

  1. 1APIBackend & APIs, p. 2An API is a set of rules that lets one piece of software request data or actions from another in a predictable, documented way.
  2. 2HTTP MethodBackend & APIs, p. 23An 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.
  3. 3EndpointBackend & APIs, p. 12An endpoint is a specific URL, combined with an HTTP method, where an API receives requests and returns responses for one particular resource or action.
  4. 4JSONBackend & APIs, p. 25JSON is a lightweight, text-based format for storing and exchanging structured data as key-value pairs and lists, readable by both humans and machines.
  5. 5XMLBackend & APIs, p. 48XML (Extensible Markup Language) is a text format for structured data that uses nested tags you define yourself, readable by both people and machines.
  6. 6REST APIBackend & APIs, p. 38A 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.
  7. 7GraphQLBackend & APIs, p. 19GraphQL 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.
  8. 8gRPCBackend & APIs, p. 20gRPC 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.
  9. 9OpenAPIBackend & APIs, p. 33OpenAPI 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.

Chapter 2Servers and requests

  1. 10Web ServerBackend & APIs, p. 46A 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.
  2. 11NginxBackend & APIs, p. 31Nginx 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.
  3. 12Node.jsBackend & APIs, p. 32Node.js is an open-source JavaScript runtime that runs JavaScript outside the browser, most often to build web servers, APIs, and command-line tools.
  4. 13ExpressBackend & APIs, p. 16Express is the most widely used Node.js web framework: a minimal layer that handles routing, requests and responses through a chain of middleware functions.
  5. 14MiddlewareBackend & APIs, p. 30Middleware 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.
  6. 15SessionBackend & APIs, p. 43A 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.
  7. 16AuthenticationSecurity, p. 2Authentication is the process of verifying that a user, device, or service really is who it claims to be, for example by checking a password or passkey.
  8. 17AuthorizationSecurity, p. 3Authorization is the process of deciding what an authenticated user or service is allowed to do, such as which data it can read, change, or delete.
  9. 18JWTSecurity, p. 19A JWT is a compact, signed token that carries claims like a user ID and expiry time, letting a server verify requests without looking up a session.
  10. 19Refresh TokenSecurity, p. 33A refresh token is a long-lived credential an app uses to get new short-lived access tokens, so the user stays signed in without logging in again.

Chapter 3Working with data

  1. 20DatabaseDatabases, p. 6A database is an organized collection of data stored on a computer, managed by software that lets applications save, search, and update it efficiently.
  2. 21SQLDatabases, p. 40SQL is the standard language for working with relational databases, used to create tables and to insert, query, update, and delete the data stored in them.
  3. 22ORMDatabases, p. 33An ORM is a library that maps database tables to objects in your programming language, letting you read and write data with code instead of raw SQL.
  4. 23TransactionDatabases, p. 47A transaction is a group of database operations that succeed or fail as a single unit, so the data is never left in a half-finished, inconsistent state.
  5. 24Database IndexDatabases, p. 7A database index is a data structure that helps a database find rows quickly without scanning a whole table, much like the index at the back of a book.
  6. 25CacheBackend & APIs, p. 8A 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.

Chapter 4Doing work reliably

  1. 26Message QueueBackend & APIs, p. 29A 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.
  2. 27RabbitMQBackend & APIs, p. 36RabbitMQ is an open-source message broker that routes producers' messages through exchanges into queues, where consumers take them and confirm when done.
  3. 28Background JobBackend & APIs, p. 6A 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.
  4. 29WebhookBackend & APIs, p. 47A 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.
  5. 30IdempotencyBackend & APIs, p. 24Idempotency 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.
  6. 31Rate LimitingBackend & APIs, p. 37Rate 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.
  7. 32Exponential BackoffBackend & APIs, p. 15Exponential 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.
  8. 33Health CheckBackend & APIs, p. 21A 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.

Along the way, compare

Pairs on this path that are easy to mix up, side by side.

More

Settings