Backend Engineering (Intermediate)
This collection of videos covers major system design concepts and fundamentals that every backend engineer needs to understand. This will help you in your design interviews. The videos are ordered in the way they should be consumed. This playlist is designed for intermediate viewers
List of all Backend Engineering Playlists
👨💻Backend Engineering (Beginner) https://www.youtube.com/playlist?list=PLQnljOFTspQUNnO4p00ua_C5mKTfldiYT
👩💻Backend Engineering (Intermediate) https://www.youtube.com/playlist?list=PLQnljOFTspQWGuRmwojJ6LiV0ejm6eOcs
👨🏻💻Backend Engineering (Advanced) https://www.youtube.com/playlist?list=PLQnljOFTspQUybacGRk1b_p13dgI-SmcZ
Curated by: Hussein Nasser (54 videos)
Currently Playing: NginX Crash Course (Layer 4 & Layer 7 Proxy, HTTPS, TLS 1.3, HTTP/2 & More)
Audio Fixed + Bonus Content NGINX Crash Course here https://youtu.be/hcw-NjOh8r0
NginX is an open source web server written in C and can also be used as a reverse proxy and a load balancer.
In this video, I want to go through the following topics in NginX
Download Slides here
https://payhip.com/b/620K
Chapters
0:00 Intro
2:25 What is NginX?
4:58 Current & Desired Architecture
8:40 Layer 4 and Layer 7 Proxying in Nginx
10:25 Example
13:30 Install Nginx (mac)
15:00 Nginx as a Web Server (webserver.conf)
20:00 Static context location root
27:00 Regular expression
30:30 proxy pass
33:30 Nginx as a Layer 7 Proxy
37:00 Proxy to 4 backend NodeJS services (docker)
43:00 IP_Hash load balancing
46:00 Split load to multiple backends (app1/app2)
49:00 Block certain requests (/admin)
51:30 NGINX as a Layer 4 Proxy
1:01:08 Create DNS record
1:05:08 Enable HTTPS on Nginx (lets encrypt)
1:14:00 Enable TLS 1.3 on NginX
1:17:10 Enable HTTP/2 on NginX
1:20:10 Summary
All the nginx Configuration can be found here
https://github.com/hnasr/javascript_playground/tree/master/nginx
🏭 Software Architecture Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQXNP6mQchJVP3S-3oKGEuw9
💾 Database Engineering Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2
🛰 Network Engineering Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQUBSgBXilKhRMJ1ACqr7pTr
🏰 Load Balancing and Proxies Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQVMeBmWI2AhxULWEeo7AaMC
🐘 Postgres Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQWGrOqslniFlRcwxyY94cjj
🚢Docker
https://www.youtube.com/playlist?list=PLQnljOFTspQWsD-rakNw1C20c1JI8UR1r
🧮 Programming Pattern Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQV1emqxKbcP5esAf4zpqWpe
🛡 Web Security Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQU3YDMRSMvzflh_qXoz9zfv
🦠 HTTP Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQU6zO0drAYHFtkkyfNJw1IO
🐍 Python Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQU_M83ARz8mDdr4LThzkBKX
🔆 Javascript Videos
https://www.youtube.com/playlist?list=PLQnljOFTspQWab0g3W6ZaDM6_Buh20EWM
👾Discord Server https://discord.gg/CsFbFce
Support me on PayPal
https://bit.ly/33ENps4
Become a Patreon
https://www.patreon.com/join/hnasr?
Stay Awesome,
Hussein
Tracks in this Playlist
- What is the TCP 3-Way Handshake and Why Backend Engineers should understand it
- Layer 4 vs Layer 7 Proxying In Details Explained with Examples
- Database Engines Crash Course (MyISAM, Aria, InnoDB, XtraDB, LevelDB & RocksDB)
- How HTTP/2 Works, Performance, Pros & Cons and More
- Load balancing in Layer 4 vs Layer 7 with HAPROXY Examples
- 7 Tips to Optimize Your Backend API Without Caching
- Your Backend is Also a Frontend (Backend vs Frontend Engineering)
- Overengineering in Software
- NginX Crash Course (Layer 4 & Layer 7 Proxy, HTTPS, TLS 1.3, HTTP/2 & More)
- HAProxy Crash Course (TLS 1.3, HTTPS, HTTP/2 and more)
- What is a Virtual IP Address? How does it help with High-Availability
- Fail-over and High-Availability (Explained by Example)
- Active-Active vs Active-Passive Cluster to Achieve High Availability in Scaling Systems
- Connection Pooling in PostgresSQL with NodeJS (Performance Numbers)
- Asynchronous vs Multithreading and Multiprocessing Programming (The Main Difference)
- Horizontal vs Vertical Database Partitioning
- Database Partitioning Crash Course (with Postgres)
- Database Sharding Crash Course (with Postgres examples)
- Can you get Eventual Consistency in Relational Databases?
- How to Avoid Double Booking and Race Conditions in Online Web Applications
- RabbitMQ Crash Course
- Apache Kafka Crash Course
- Microservices Explained and their Pros & Cons
- When Designing a Backend System Minimize the “What If” Questions
- Building a Multi-player Game with WebSockets
- DevTools Waterfall Deep Dive - Diagnose Your Backend and Improve the Frontend User Experience
- SELECT COUNT(*) is Slow, Estimate it Instead (with Example in Node JS and Postgres)
- When to Build a Stateless vs Stateful Back-ends using the right protocols (UDP, HTTP, TCP, QUIC)
- Why you Shouldn't Implement Features Because They are Easy - Backend Engineering
- Index Scan vs Index Only Scan on Database Systems (with Postgres)
- SELECT COUNT (*) can impact your Backend Application Performance, here is why
- Combining Database Indexes for Better Performance in Your Backend Applications (with PostgreSQL)
- 2 Hours RabbitMQ Course with NodeJS, Pros & Cons, Cloud RMQ, RMQ vs Kafka, RMQ in Wireshark & MORE!
- Uber’s new Backend Architecture for Processing Payments
- Traefik Crash Course (Without docker)
- Envoy Proxy Crash Course, Architecture, L7 & L4 Proxying, HTTP/2, Enabling TLS 1.2/1.3 and more
- don’t use “offset” in your SQL
- Is EventStoreDB the First Native gRPC Database?
- The 2021 Slack Outage - Detailed analysis of what happened to Slack on Jan 4th 2021
- How do i learn new tech as a software engineer
- Load Balance multiple RTMP Servers to Horizontally Scale Streaming (Node Media Server and HAProxy)
- CQRS is probably the cause of the Microservices madness
- How timeouts can make or break your Backend load balancers
- Watch out before Adding Indexes to Your Table, Your Database Optimizer Might not Use them
- Optimizing Communication and Networking in Database Systems - The Backend Engineering Show
- Long Polling and how it differs from Push, Poll and SSE - The Backend Engineering Show
- Postgres Explain Explained - How Databases Prepare Optimal Query Plans to Execute SQL
- B-tree vs B+ tree in Database Systems
- Should you go with an Optimistic or Pessimistic Concurrency Control Database?
- The Journey of an HTTP request to the Backend | Backend Engineering Show
- Low code | The Backend Engineering Show
- Multi-tenancy architecture | The Backend Engineering Show
- First port your computer hits
- When do you use threads?