
Fundamentals Of Backend Engineering
Last updated 5/2024
MP4 | Video: h264, 1920×1080 | Audio: AAC, 44.1 KHz
Understand backend communication design patterns, protocols, execution and proxying
What you’ll learn
Learn the fundamentals of backend engineering
Backend communication design patterns
Understand how backend communication protocols work
Comprehend how OS Kernel communicate with Backend Applications
Operating System fundamentals (Thread, Process, async IO in linux)
Learn HTTP/1.1, HTTP/2, HTTP/3
Learn gRPC, WebRTC, WebSockets
Learn TLS 1.2, TLS 1.3, QUIC 0RTT
Requirements
Intermediate programming skills (1-2 years)
Having built a backend application
Basic network fundamentals
Description
Overview
Section 1: Introduction
Lecture 1 Welcome
Lecture 2 Who is this course for?
Lecture 3 Course Outline
Lecture 4 Course Notes
Lecture 5 Download all slides, source code and references
Section 2: Backend Communication Design Patterns
Lecture 6 Backend Communication Design Patterns Intro
Lecture 7 Request Response
Lecture 8 Synchronous vs Asynchronous workloads
Lecture 9 Push
Lecture 10 Polling
Lecture 11 Long Polling
Lecture 12 Server Sent Events
Lecture 13 Publish Subscribe (Pub/Sub)
Lecture 14 Multiplexing vs Demultiplexing (h2 proxying vs Connection Pooling)
Lecture 15 Stateful vs Stateless
Lecture 16 Sidecar Pattern
Section 3: Protocols
Lecture 17 Protocols Intro
Lecture 18 Protocol Properties
Lecture 19 OSI Model
Lecture 20 Internet Protocol
Lecture 21 UDP
Lecture 22 TCP
Lecture 23 TLS
Lecture 24 HTTP/1.1
Lecture 25 WebSockets
Lecture 26 HTTP/2
Lecture 27 HTTP/3
Lecture 28 gRPC
Lecture 29 WebRTC
Section 4: Many ways to HTTPS
Lecture 30 HTTPS Communication Basics Intro
Lecture 31 HTTPS over TCP with TLS 1.2
Lecture 32 HTTPS over TCP with TLS 1.3
Lecture 33 HTTPS over QUIC (HTTP/3)
Lecture 34 HTTPS over TFO with TLS 1.3
Lecture 35 HTTPS over TCP with TLS 1.3 and 0RTT
Lecture 36 HTTPS over QUIC with 0RTT
Section 5: Backend Execution Patterns
Lecture 37 Backend Execution Patterns Intro
Lecture 38 The Process and The Thread and how they compete for CPU time
Lecture 39 How The Backend Accepts Connections
Lecture 40 Reading and Sending Socket Data
Lecture 41 The Listener, The Acceptor and the Reader
Lecture 42 Single Listener, Acceptor and Reader Thread Execution Pattern
Lecture 43 Single Listener, Acceptor and Multiple Readers Thread Execution Pattern
Lecture 44 Single Listener, Acceptor, Reader with Message Load Balancing Execution Pattern
Lecture 45 Multiple Accepter Threads on a Single Socket Execution Pattern
Lecture 46 Multiple Listeners, Acceptors and Readers with Socket Sharding Execution Pattern
Lecture 47 Backend Idempotency
Lecture 48 Nagle’s Algorithm
Section 6: Proxying and Load Balancing
Lecture 49 Proxy vs Reverse Proxy
Lecture 50 Layer 4 vs Layer 7 Load Balancers
Section 7: Extras
Lecture 51 How ChatGPT uses Server Sent Events
Lecture 52 How I design software
Lecture 53 The Journey of a Request to the Backend
Lecture 54 The Journey of a Request to the Backend (Video)
Lecture 55 JSON Web Token (JWT), its Pros and Cons
Section 8: Answering Your Questions
Lecture 56 How does the Kernel manage backend connections?
Backend Engineers,FullStack Engineers,Frontend Engineers interested in the Backend (must have built a backend app),Network engineers who want to get better at backend design,Site reliability engineers

DDownload
https://www.keeplinks.org/p27/687e9240c818f
RapidGator
https://www.keeplinks.org/p27/687e9514bd971
NitroFlare
https://www.keeplinks.org/p27/687e98ed4a884
