Web Development

Building applications delivered through a browser.

5 subjects · 21 topics · 1 area

Subjects covering this category

5 subjects
  • Subject · Intermediate to Advanced

    Building a REST service with Spring Boot: wired to real data, validated, and fast enough to trust in production.

    • Spring Boot Essentials
    • Building REST APIs
    • Data Access
    12 topics · 77 cardsnot started
  • Subject · Beginner to Advanced

    Wiring a Java application together with Spring's IoC container, instead of doing it by hand.

    • Why Spring Exists
    • The Bean and the Container
    • Wiring Beans Together
    4 topics · 25 cardsnot started
  • Subject · Beginner to Advanced

    Turning a product's requirements into a first design for a web system, and knowing what each part is there for.

    • Starting a Design
    • The Parts of a System
    • Moving Data Around
    11 topics · 100 cardsnot started
  • Subject · Beginner to Advanced

    Designing HTTP APIs that clients can understand, call safely, and keep using as the API changes.

    • HTTP for API Designers
    • Designing the Contract
    • Repeats, Retries and Long Jobs
    14 topics · 132 cardsnot started
  • Subject · Beginner to Advanced

    Following a request from an application down through the network layers and back, and naming the layer where a network problem lives.

    • Getting a Packet There
    • Between Two Programs
    • Applications and Debugging
    11 topics · 106 cardsnot started

Spring Boot

16 topics
  • Spring Core

    Bean scopes and lifecycle callbacks: how many instances of a bean exist, how long each lives, and who cleans it up.

    Intermediate to Advanced7 cards · 4 qnot started

  • Spring Boot

    Handling errors consistently in a REST API: custom exceptions, @ExceptionHandler, @RestControllerAdvice, status codes and one error body.

    Intermediate to Advanced7 cards · 5 qnot started

  • Spring Boot

    Spring Data JDBC vs Spring Data JPA: persistence context, dirty checking, lazy loading, aggregates, and when to choose each.

    Intermediate to Advanced7 cards · 4 qnot started

  • Spring Boot

    The JPA entity lifecycle: the four states an entity can be in, the operations that move it, and when its SQL runs.

    Advanced7 cards · 5 qnot started

  • Spring Boot

    Transactions with @Transactional: what it wraps, when it rolls back, why self-calls skip it, and REQUIRES_NEW.

    Intermediate to Advanced7 cards · 4 qnot started

  • Spring Boot

    Caching in Spring Boot: @Cacheable, @CachePut and @CacheEvict, cache keys, caching strategies, and the default provider's limit.

    Intermediate to Advanced7 cards · 5 qnot started

  • Spring Core

    What a Spring bean is, the two interfaces behind the container, and the fixed lifecycle every bean follows.

    Beginner to Intermediate6 cards · 4 qnot started

  • Spring Boot

    What Spring Boot adds to Spring: @SpringBootApplication, auto-configuration, and the conditions that decide which beans it creates.

    Intermediate to Advanced6 cards · 4 qnot started

  • Spring Boot

    Spring Boot starters and the embedded server: one dependency instead of a dozen, and a web server inside your own jar.

    Intermediate to Advanced6 cards · 4 qnot started

  • Spring Boot

    Configuring a Boot application: where a property can come from, which source wins, profiles, and binding properties into code.

    Intermediate to Advanced6 cards · 4 qnot started

  • Spring Boot

    Mapping HTTP requests to controller methods: verbs and paths, reading request data, and choosing the response.

    Intermediate to Advanced6 cards · 4 qnot started

  • Spring Boot

    Validating request input with Bean Validation: constraint annotations, @Valid, and field-by-field error responses.

    Intermediate to Advanced6 cards · 4 qnot started

  • Spring Boot

    Spring Data repositories: CRUD without SQL, queries derived from method names, @Query, and what save() really does.

    Intermediate to Advanced6 cards · 4 qnot started

  • Spring Boot

    Finding why a Spring Boot API is slow: the N+1 query problem, slow remote calls, and measuring before optimising.

    Intermediate to Advanced6 cards · 4 qnot started

  • Spring Core

    Wiring beans together: constructor injection, stereotype annotations, choosing between two candidates, and @Bean methods.

    Intermediate to Advanced7 cards · 5 qnot started

  • Spring Core

    Dependency injection: why a class should be handed its dependencies instead of creating them, shown without Spring first.

    Beginner5 cards · 4 qnot started

In Web Development itself

5 topics
  • The OSI Model and Network Protocols

    HTTP on the wire: what a request and response look like, and what HTTP/2 and HTTP/3 change about the connection under them.

    Beginner to Advanced10 cards · 6 qnot started

  • API Design

    HTTP methods for APIs: what GET, POST, PUT, PATCH and DELETE promise, and which are safe to repeat.

    Beginner to Intermediate10 cards · 7 qnot started

  • API Design

    HTTP status codes for APIs: choosing the code that tells a client what happened and what to do next.

    Beginner to Intermediate9 cards · 7 qnot started

  • System Design

    Client-server communication: polling, server-sent events, WebSockets and webhooks, chosen by who sends and how often.

    Beginner to Intermediate10 cards · 5 qnot started

  • System Design

    The building blocks of a web system: DNS, CDNs, application servers and databases, and the path a request takes through them.

    Beginner to Intermediate11 cards · 8 qnot started