You are NOT signed in as a student! Your progress will not be saved and you won't see milestones on your ZTM Passport.
Make sure you are logged into
Academy
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Complete Junior to Senior Web Developer Roadmap
Introduction
Complete Junior to Senior Web Developer Roadmap - Introduction (3:56)
Course Outline (11:17)
First Day Of Work (3:13)
Exercise: Meet Your Classmates and Instructor
Understanding Your Video Player
Set Your Learning Streak Goal
How To Become A Senior Developer
How to Get the Most Out of the Course (4:15)
IMPORTANT: Thinking Like A Senior Developer (2:12)
SSH
Bruno's Request (0:38)
Introduction to SSH (5:04)
SSH Command (7:12)
Optional: Digital Ocean Set Up
Quick Note: SSH Key In Previous Video
Resources: SSH Command
Saving The Day Through SSH (6:33)
Optional: Digital Ocean Server
How SSH Works (1:29)
Symmetric Encryption (4:21)
Asymmetric Encryption (6:46)
Resources: Asymmetric Encryption
Hashing (6:54)
Passwords Or SSH? (3:26)
SSH Into A Server (13:14)
Quick Note: SSH Into A Server
Resources: SSH Into A Server
Exercise: Set Up SSH on Github (3:11)
Solution: Set Up SSH on Github (4:57)
Optional: Contributing To Open Source Projects
Section Summary (2:48)
Learning Guideline
Industry Monthly Updates
Let's Have Some Fun (+ Free Resources)
Performance Part 1
Bruno's Request (1:18)
Introduction to Performance Part 1 (3:41)
3 Keys To Performance (4:33)
Network Performance (4:45)
Image File Formats (4:45)
Resources: Image File Formats
Image Optimizations (7:04)
Image Optimizations 2 (12:24)
Exercise: #1 - Media Queries
Delivery Optimizations (4:47)
Resources: Delivery Optimizations
Exercise: #2 - Network Optimizations (4:48)
Solution: #2 - Network Optimizations (5:11)
Critical Render Path Introduction (5:09)
Critical Render Path 1 (6:01)
Critical Render Path 2 (17:26)
Critical Render Path 3 (13:43)
Resources: Async + Defer
Critical Render Path 4 (3:58)
Exercise: #3 - Critical Render Path
Exercise: #4 - Keiko Corp Website (4:00)
Resources: Keiko Corp Website
Solution: Keiko Corp Website (9:22)
Optional: Resource Prefetching
Resources: Performance Tools
HTTP/2 (2:43)
Resources: HTTP/2
HTTP/3
Section Summary (2:03)
Unlimited Updates
Security
Bruno's Request (1:14)
Section Overview (4:06)
Star Of Security (1:02)
Exercise: Imposter Syndrome (2:55)
Injections (19:42)
Exercise: #1 - Injections
Exercise: #2 - Security Files
Note: NPM Built In Audit
3rd Party Libraries (10:51)
Logging (14:02)
HTTPS Everywhere (6:21)
XSS + CSRF (20:41)
Exercise: #3 - XSS + CSRF
Resources: XSS + CSRF
Code Secrets (9:50)
Secure Headers (5:35)
Resources: Secure Headers
Access Control (6:31)
Data Management (10:54)
Resources: Storing Passwords
Don't Trust Anyone (2:53)
Authentication (3:09)
Exercise: #4 - Optional Hacking
Resources: Personal Security
Section Summary (3:23)
Course Check-In
JUST WATCH: Upcoming Sections
The Rest of the Course (3:04)
JUST WATCH: React + Redux + Module Bundling
Angular vs React vs Vue (5:33)
RE-WATCH: Thinking Like A Senior Developer (2:12)
Optional Section
Bruno's Request (1:26)
Section Overview (2:21)
Deep Dive Into This Topic
Updated Code For This Section
Introduction to React & Robofriends Build
Introduction To Redux And Webpack (2:49)
State Management (7:12)
Why Redux? (11:39)
Updated Code for this Section
Installing Redux (5:45)
Redux Toolkit (2:02)
Redux Toolkit Example
Redux Actions And Reducers (13:44)
Redux Store And Provider (8:35)
Redux connect() (16:31)
Redux Middleware (8:45)
Redux Async Actions (29:27)
Redux Project Structures (4:54)
Project Files - Redux
Popular Tools For React + Redux (7:41)
Module Bundlers (6:48)
Modern Build Systems for This Year
Converting to Vite@Latest (10:32)
Introduction To Webpack (2:45)
Update: Babel 7 + ESlint + Webpack 5
Webpack (38:01)
Updating Libraries: Babel 7 + ESlint (6:35)
Quick Fix: Babel 7 Plugins
Resources: Webpack Configurator
Parcel (9:19)
Parcel v2!
Section Summary (5:20)
JUST WATCH: Performance Part 2
Bruno's Request (1:06)
Section Overview (2:02)
Updated Code For This Section
Optimizing Code (12:15)
Code Splitting Introduction (5:54)
Code Splitting Part 1 (14:27)
ES2020: Dynamic import()
Code Splitting Part 2 (12:32)
Code Splitting Part 3 (13:29)
Code Splitting Part 4 (2:29)
Solution: React.lazy() Code Splitting (13:12)
React Performance Optimizations (10:36)
Resources: React Performance
React Performance Optimizations 2 (19:26)
Resources: React Performance 2
Optimizing Code Review (3:29)
Resources: Tree Shaking 101
Progressive Web Apps (12:54)
Opt-In Service Worker in CRA vs Vite
Progressive Web Apps Examples (6:15)
PWA - HTTPS (6:11)
Resources: PWA - HTTPS
PWA - App Manifest (6:12)
Resources: PWA - App Manifest
PWA - Service Workers (13:15)
Update for Vite and React 17+
PWA - Final Thoughts (2:03)
Quick Note: Upcoming Video
Deploying Our React App (10:18)
Service Worker Update (6:05)
Solution Part 1 - PWA (8:52)
Solution Part 2 - PWA (10:09)
Solution Files - PWA
Quick Note: Upcoming Video
OPTIONAL: Converting Our App To PWA (10:43)
Deploying your PWA to the App Store
Section Summary (2:36)
JUST WATCH: Testing
Bruno's Request (1:10)
Section Overview (6:21)
Updated Code For This Section
Types of Tests (2:58)
Testing Libraries (15:28)
Note: The Next Videos
Unit Tests (2:42)
Integration Tests (2:46)
Automation Testing (4:27)
Final Note On Testing (2:56)
Setting Up Jest (11:29)
Our First Tests (11:10)
Writing Tests (5:31)
Quick Note: Upcoming API Endpoint + ES6 Modules
Asynchronous Tests (10:18)
Asynchronous Tests 2 (11:41)
Resources: Jest Cheat Sheet
Mocks and Spies (12:50)
Enzyme vs React Testing Library
Introduction To Enzyme (14:29)
Resources: Enzyme
Quick Note: Empty Snapshots
Snapshot Testing (9:29)
Snapshot Testing + Code Coverage (4:54)
Testing Stateful Components (11:16)
Quick Recap (2:35)
Testing Connected Components (23:50)
Testing Connected Components 2 (3:35)
Testing Reducers (14:57)
Testing Actions (18:27)
Section Summary (4:11)
Implement a New Life System
JUST WATCH: TypeScript
Bruno's Request (1:00)
Section Overview (1:27)
Dynamic vs Static Typing (11:50)
Weakly vs Strongly Typed (3:18)
Static Typing in Javascript (9:45)
Typescript Compiler (3:41)
Resources: Installing Node.js
TypeScript (11:33)
Resources: TypeScript In Your Editor
TypeScript 2 (3:16)
TypeScript 3 (7:24)
Resources: TypeScript Types
TypeScript 4 (5:38)
TypeScript 5 (6:39)
TypeScript 6 (4:48)
Resources: Type Vs Interface
TypeScript 7 (3:34)
Resources: Type Assertion
TypeScript 8 (6:04)
TypeScript 9 (1:21)
TypeScript 10 (1:23)
DefinitelyTyped (5:57)
Update: Create React App with TypeScript (4:02)
2 Ways To TypeScript
Just Watch [Old Way] - TypeScript In Robofriends (7:11)
Just Watch [Old Way] - TypeScript In Robofriends 2 (14:00)
TypeScript In Monsters Rolodex
A Little Joke (0:49)
Section Summary (3:27)
JUST WATCH: SPA vs Server Side Rendering
Bruno's Request (0:58)
Section Overview (7:53)
CSR vs SSR (5:33)
Server Side Rendering React (10:55)
Note: SSR In React
CSR vs SSR Part 2 (11:18)
SSR React Libraries (3:57)
Static vs SSR vs CSR: Gatsby.js vs Next.js vs React.js (7:09)
Quick Note: Upcoming Videos
Setting Up Next.js (7:56)
Next.js Pages (7:35)
Client Side Routing (2:25)
Shared Components (2:14)
Dynamic Apps with Next.js (15:31)
Deploying Next.js Apps (0:52)
Updating To Latest Version Of Next.js (3:21)
Understand JavaScript SEO
Section Summary (7:42)
JUST WATCH: Code Analysis
Bruno's Request (1:30)
Section Overview (3:56)
Quick Note: Windows Users
Quick Note: Updated API
Setting Up Your Environment (27:01)
Exercise: #1 - SmartBrain App
Optional: CWD - Installing PostgreSQL (6:53)
How To Analyze Code (16:37)
Solution: #3 - Multiple Face Detection (17:20)
Section Summary (1:43)
JUST WATCH: Docker
Bruno's Request (1:09)
Section Overview (4:47)
Updated Code For This Section
Docker Containers (10:58)
Installing Docker (2:24)
Resources: Installing Docker
Dockerfile (8:37)
Resources: Dockerfile
Docker Commands (5:09)
Dockerfile 2 (8:03)
Quick Note: Docker Compose
Docker Compose (13:15)
Resources: Docker Compose Commands
Docker Compose 2 (3:56)
Resources: Docker Volumes
Docker Compose 3 (1:54)
Docker Compose 4 (13:47)
Resources: PostgreSQL With Docker
Docker Compose 5 (2:09)
Docker Compose 6 (12:49)
Docker Compose 7 (5:14)
Project Files - Docker
Update: Docker Networks
Section Summary (4:32)
JUST WATCH: Redis
Bruno's Request (1:27)
Section Overview (6:31)
Quick Note About Next Video
Introduction To Databases (10:54)
Redis Version Updates and Playground
Installing Redis (4:29)
Resources: Installing Redis
Redis Commands (5:57)
Redis Data Types (1:59)
Redis Hashes (2:00)
Redis Lists (3:55)
Redis Sets + Sorted Sets (6:11)
Section Summary (3:00)
JUST WATCH: Sessions + JWT
Section Overview (2:20)
Cookies vs Tokens (11:18)
Resources: Cookies vs Tokens
What We Are Building (4:54)
JWT (3:24)
Exercise: #1 - JWT
Project Goals (5:19)
Profile Icon (13:53)
Resources: Profile Icon
Profile Dropdown (12:58)
Profile Styling (11:04)
Profile Modal 1 (4:24)
Profile Modal 2 (22:43)
Profile Modal 3 (12:32)
Profile Modal 4 (7:09)
Resources: HTML Entities
Updating Profile 1 (9:31)
Resources: Updating Profile
Updating Profile 2 (10:09)
Updating Profile 3 (8:13)
User Authentication (15:10)
Sending The JWT Token (16:20)
Quick Note: NPM Redis
Adding Redis (6:48)
Solution: #3 - Adding Redis To Docker Compose (5:29)
Storing JWT Tokens (8:16)
Retrieving Auth Token (7:17)
Client Session Management (14:17)
Resources: Bearer Token
Session Sign In (10:31)
Authorization Middleware (14:36)
Fixing A Bug (2:45)
Reviewing Our Code (2:59)
Updating Our App (4:09)
Optional: Why bcrypt-nodejs? (1:59)
Section Summary (7:24)
JUST WATCH: AWS
Bruno's Request (1:30)
Section Overview (6:27)
Updated Code For This Section
Amazon Web Services (11:22)
Deep Dive Into AWS
Monolithic vs Micro Services (2:58)
Amazon Lambda (6:02)
Amazon Lambda Dashboard (5:50)
Quick Note: AWS Lambda
Serverless (5:29)
Serverless 2 (5:07)
IAM (4:37)
Resources: IAM
Deploying A Function (11:26)
Deploying A Function 2 (7:22)
Deploying A Function 3 (13:07)
Quick Bug Fix (1:26)
Section Summary (3:11)
JUST WATCH: Performance Part 3
Bruno's Request (1:10)
Section Overview (0:56)
CDNs (6:39)
GZIP (5:30)
Database Scaling (11:23)
Caching 1 (6:57)
Caching 2 (8:16)
Caching 3 (11:31)
Resources: Caching
Load Balancing (6:10)
Nginx 1 (6:33)
Exercise: Load Testing Your Load Balancer
Nginx 2 (15:07)
Resources: Nginx
Section Summary (5:16)
JUST WATCH: CI/CD
Bruno's Request (1:33)
Section Overview (1:43)
Updated Code For This Section
Continuous Integration, Delivery, Deployment (10:10)
Deep Dive into CI/CD
Building Great Software (7:11)
Resources: CI Tools
CircleCI (16:48)
Continuous Integration 1 (10:12)
Continuous Integration 2 (9:12)
Building Great Software 2 (6:04)
Section Summary (1:54)
Extra Bits
Section Overview (1:26)
Complexity vs Simplicity (3:54)
NPM Is Not Your Friend (2:11)
Learn To Learn (1:59)
Start With Why (2:43)
Endorsements On LinkedIn
The Final Video
The One You Have Been Waiting For (2:21)
Thank You (1:17)
Review This Course!
Become An Alumni
Learning Guideline
ZTM Events Every Month
LinkedIn Endorsements
Extras: For Windows Users
Introduction From Wolfgang (1:03)
Git for Windows (6:06)
Install NodeJS for Windows (2:43)
Install PostgreSQL for Windows (6:43)
Using PSQL and PGADMIN (8:07)
Bruno's Request
This lecture is available exclusively for ZTM Academy members.
If you're already a member,
you'll need to login
.
Join ZTM To Unlock All Lectures
Completed
Incomplete
Incomplete disabled
Completed
Incomplete
Incomplete disabled