Learn

Navigate through learn topics

Handy Explainers

Technical terms and concepts made simple - your go-to resource for understanding development terminology

Last updated: 8/14/2025

How to Use This Section

Our explainers are organised by topic and difficulty level. Each explanation includes:

  • Plain English Definition: What it actually means
  • Real-World Analogy: Relatable comparisons
  • Practical Examples: How it's used in practice
  • Related Terms: Connected concepts to explore

Popular Explainers

Development Fundamentals

API (Application Programming Interface)

Think of it as a waiter in a restaurant

An API is like a waiter who takes your order (request) to the kitchen (server) and brings back your food (response). It's the messenger that allows different software applications to talk to each other.

Example: When you use a weather app, it uses an API to get current weather data from a weather service.

REST (Representational State Transfer)

A set of rules for building APIs

REST is like having a standard way to organise a library. Instead of each library having its own system, REST provides common rules that make it easy for anyone to find and use resources.

Key Principles:

  • Use standard HTTP methods (GET, POST, PUT, DELETE)
  • Stateless communication
  • Clear resource URLs

JSON (JavaScript Object Notation)

A way to structure data

JSON is like a standardised form for organising information. Just as forms have labelled boxes for different pieces of information, JSON uses a consistent format that computers can easily read and write.

{
  "name": "John Doe",
  "age": 30,
  "city": "New York"
}

Cloud Computing

Serverless

Running code without managing servers

Serverless is like using a taxi instead of owning a car. You don't need to worry about maintenance, parking, or insurance - you just pay for the ride when you need it. Your code runs when triggered and you only pay for the time it's actually running.

Benefits:

  • No server management
  • Automatic scaling
  • Pay per use
  • Built-in high availability

Microservices

Breaking large applications into smaller pieces

Microservices are like having specialists instead of one person doing everything. Instead of one massive application, you have small, specialised services that each do one thing very well and communicate with each other.

Example: An e-commerce site might have separate services for:

  • User authentication
  • Product catalogue
  • Shopping cart
  • Payment processing

Container

A portable package for applications

A container is like a shipping container for software. Just as shipping containers can be moved between trucks, ships and trains without unpacking, software containers can run on any system that supports containers.

Popular Tool: Docker

Frontend Development

SPA (Single Page Application)

Web apps that feel like desktop apps

An SPA is like a book where you can flip directly to any page without going through the previous pages. Instead of loading new pages from the server, the app updates the content dynamically, making it feel faster and more responsive.

Examples: Gmail, Google Maps, Twitter

Virtual DOM

A smart way to update web pages

The Virtual DOM is like having a rough draft before writing the final version. Instead of directly changing the web page (which is slow), frameworks like React first make changes to a virtual copy, figure out what actually needs to change and then make only those specific updates to the real page.

Component

Reusable pieces of user interface

Components are like LEGO blocks for websites. Instead of building everything from scratch each time, you create reusable pieces (like buttons, forms, or headers) that can be combined to build complex interfaces.

Backend Development

Database

Organised storage for data

A database is like a digital filing cabinet with superpowers. It not only stores information in an organised way but can also quickly search, sort and connect related information across millions of records.

Types:

  • SQL Databases: Like spreadsheets with relationships (MySQL, PostgreSQL)
  • NoSQL Databases: Like flexible document storage (MongoDB, Firebase)

Caching

Storing frequently used data for quick access

Caching is like keeping frequently used books on your desk instead of walking to the library every time. By storing commonly requested data in a fast-access location, applications can respond much quicker to user requests.

Example: Storing user profile information in memory so it doesn't need to be fetched from the database every time.

Load Balancer

Distributing work across multiple servers

A load balancer is like a traffic director at a busy intersection. It takes incoming requests and directs them to different servers to prevent any single server from becoming overwhelmed.

Security

Authentication vs Authorization

Who you are vs what you can do

  • Authentication: Proving who you are (like showing your ID)
  • Authorization: What you're allowed to do (like having a VIP pass)

Example: Logging into your bank account (authentication) and then being able to transfer money (authorization).

JWT (JSON Web Token)

A secure way to pass information

JWT is like a tamper-evident envelope for digital information. It contains data about a user and is signed in a way that lets servers verify it hasn't been modified, making it perfect for secure communication between services.

HTTPS

Secure communication on the web

HTTPS is like having a private conversation in a soundproof room instead of shouting across a crowded plaza. It encrypts data between your browser and the server so that even if someone intercepts it, they can't read it.

Browse by Category

Fundamentals

Core concepts every developer should know: variables, functions, data structures and programming principles.

Frontend

User interface and user experience concepts: React, Vue, CSS and responsive design.

Backend

Server-side development and data management: APIs, databases and server architecture.

Cloud & Containers

Cloud computing, serverless architecture and containerisation technologies.

Infrastructure

Hosting, networking and deployment strategies.

Security

Protecting applications and user data: authentication, encryption and security practices.

DevOps

CI/CD, monitoring, automation and modern development practices.

Quick Reference

Looking for something specific? Use our search or browse these common topics:

  • Performance: Caching, CDNs, Optimisation
  • APIs: REST, GraphQL, Webhooks
  • Databases: SQL, NoSQL, ORMs
  • Authentication: JWT, OAuth, SSO
  • Cloud Services: AWS, Azure, Google Cloud

Suggest a Topic

Don't see an explanation for a term you're curious about? Let us know and we'll add it to our collection!