Section 1 : Introduction
|
Lecture 1 | INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM | |
|
Lecture 2 | What is JavaScript | 00:03:45 Duration |
|
Lecture 3 | JavaScript in Action! | 00:07:20 Duration |
|
Lecture 4 | INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM | |
|
Lecture 5 | How JavaScript Is Executed | 00:03:15 Duration |
|
Lecture 6 | Dynamic vs Weakly Typed Languages | 00:03:24 Duration |
|
Lecture 7 | JavaScript Runs In A Host Environment | 00:04:41 Duration |
|
Lecture 8 | Course Outline - What Is In The Course | 00:06:00 Duration |
|
Lecture 9 | How To Get The Most Out Of This Course | 00:02:37 Duration |
|
Lecture 10 | Using Course Resources | |
|
Lecture 11 | JavaScript vs Java | 00:04:02 Duration |
|
Lecture 12 | A Brief History Of JavaScript | 00:06:03 Duration |
|
Lecture 13 | Setting Up a Development Environment | 00:10:34 Duration |
|
Lecture 14 | About Certification |
Section 2 : Basics Variables, Data Types, Operators & Functions
Section 3 : Efficient Development & Debugging
Section 4 : Working with Control Structures (if Statements, Loops, Error
Section 5 : Behind the Scenes & The (Weird) Past (ES3, ES5) & Present (E
|
Lecture 1 | Module Introduction | 00:01:44 Duration |
|
Lecture 2 | ES5 vs ES6+ (Next Gen JS) - Evolution of Java | 00:08:14 Duration |
|
Lecture 3 | var vs let & const - Introducing Block Scope | 00:14:33 Duration |
|
Lecture 4 | Understanding Hoisting | 00:04:07 Duration |
|
Lecture 5 | Strict Mode & Writing Good Code | 00:05:47 Duration |
|
Lecture 6 | How Code is Parsed & Compiled | 00:08:17 Duration |
|
Lecture 7 | Inside the JavaScript Engine - How the Code | 00:15:59 Duration |
|
Lecture 8 | [DEEP DIVE] JavaScript Language vs Browser | |
|
Lecture 9 | Primitive vs Reference Values | |
|
Lecture 10 | About Proctor Testing | |
|
Lecture 11 | Wrap Up | 00:01:56 Duration |
|
Lecture 12 | Useful Resources & Links |
Section 6 : More on Functions
Section 7 : Working with the DOM (Browser HTML Code) in JavaScript
Section 8 : More on Arrays & Iterables
|
Lecture 1 | Module Introduction | 00:01:08 Duration |
|
Lecture 2 | What are Iterables and Array-like Objects | 00:02:12 Duration |
|
Lecture 3 | Creating Arrays | 00:08:56 Duration |
|
Lecture 4 | Which Data Can You Store In Arrays | 00:03:48 Duration |
|
Lecture 5 | push(), pop(), unshift(), shift() - Adding & | 00:06:59 Duration |
|
Lecture 6 | The splice() Method | 00:05:38 Duration |
|
Lecture 7 | Selecting Ranges & Creating Copies with slice | 00:06:06 Duration |
|
Lecture 8 | Adding Arrays to Arrays with concat() | 00:02:23 Duration |
|
Lecture 9 | Retrieving Indexes with indexOf() & lastIndex | 00:03:48 Duration |
|
Lecture 10 | Finding Stuff find() and findIndex() | 00:05:20 Duration |
|
Lecture 11 | Is it Included | 00:01:20 Duration |
|
Lecture 12 | Alternative to for Loops The forEach() Method | 00:04:25 Duration |
|
Lecture 13 | Transforming Data with map() | 00:02:39 Duration |
|
Lecture 14 | sort()ing and reverse()ing | 00:04:16 Duration |
|
Lecture 15 | Filtering Arrays with filter() | 00:02:35 Duration |
|
Lecture 16 | Where Arrow Functions Shine! | 00:01:31 Duration |
|
Lecture 17 | The Important reduce() Method | 00:07:34 Duration |
|
Lecture 18 | Chaining Methods in JavaScript | |
|
Lecture 19 | Arrays & Strings - split() and join() | 00:04:22 Duration |
|
Lecture 20 | The Spread Operator (...) | 00:10:31 Duration |
|
Lecture 21 | Understanding Array Destructuring | 00:04:25 Duration |
|
Lecture 22 | Maps & Sets - Overview | 00:04:17 Duration |
|
Lecture 23 | Working with Sets | 00:07:21 Duration |
|
Lecture 24 | Working with Maps | 00:09:31 Duration |
|
Lecture 25 | Maps vs Objects | 00:03:41 Duration |
|
Lecture 26 | Understanding WeakSet | 00:04:51 Duration |
|
Lecture 27 | Understanding WeakMap | 00:02:51 Duration |
|
Lecture 28 | Wrap Up | 00:01:26 Duration |
|
Lecture 29 | Useful Resources & Links |
Section 9 : More on Objects
Section 10 : Classes & Object-oriented Programming (OOP)
|
Lecture 1 | Module Introduction | 00:01:55 Duration |
|
Lecture 2 | whats-oop | 00:03:17 Duration |
|
Lecture 3 | Getting Started with OOP Code | 00:12:10 Duration |
|
Lecture 4 | Defining & Using a First Class | 00:07:17 Duration |
|
Lecture 5 | Working with Constructor Methods | 00:04:51 Duration |
|
Lecture 6 | Fields vs Properties | 00:02:19 Duration |
|
Lecture 7 | Using & Connecting Multiple Classes | 00:09:07 Duration |
|
Lecture 8 | Binding Class Methods & Working with this | 00:04:57 Duration |
|
Lecture 9 | Adding a Cart and Shop Class | 00:04:37 Duration |
|
Lecture 10 | Communicating Can Be Challenging! | 00:03:54 Duration |
|
Lecture 11 | Static Methods & Properties | 00:07:51 Duration |
|
Lecture 12 | First Summary & Classes vs Object Literals | 00:04:06 Duration |
|
Lecture 13 | Getters & Setters | 00:05:43 Duration |
|
Lecture 14 | Introducing Inheritance | 00:02:35 Duration |
|
Lecture 15 | Implementing Inheritance | 00:11:51 Duration |
|
Lecture 16 | Using Inheritance Everywhere | 00:06:52 Duration |
|
Lecture 17 | Overriding Methods and the super() Constructo | 00:06:01 Duration |
|
Lecture 18 | super() Constructor Execution, Order & this | 00:06:46 Duration |
|
Lecture 19 | Different Ways of Adding Methods | 00:05:52 Duration |
|
Lecture 20 | Private Properties | 00:07:24 Duration |
|
Lecture 21 | Pseudo-Private Properties | |
|
Lecture 22 | The instanceof Operator | 00:04:30 Duration |
|
Lecture 23 | Built-in Classes | 00:01:09 Duration |
|
Lecture 24 | Understanding Object Descriptors | 00:07:35 Duration |
|
Lecture 25 | Wrap Up | 00:01:51 Duration |
|
Lecture 26 | Useful Resources & Links |
Section 11 : Deep Dive Constructor Functions & Prototypes
|
Lecture 1 | Module Introduction | 00:01:34 Duration |
|
Lecture 2 | Introducing Constructor Functions | 00:04:02 Duration |
|
Lecture 3 | Constructor Functions vs Classes & Understand | 00:04:18 Duration |
|
Lecture 4 | Introducing Prototypes | 00:16:47 Duration |
|
Lecture 5 | Prototypes - Summary | |
|
Lecture 6 | Working with Prototypes | 00:05:19 Duration |
|
Lecture 7 | The Prototype Chain and the Global Object | 00:08:26 Duration |
|
Lecture 8 | Classes & Prototypes | 00:05:24 Duration |
|
Lecture 9 | Methods in Classes & In Constructors | 00:10:14 Duration |
|
Lecture 10 | Built-in Prototypes in JavaScript | 00:02:12 Duration |
|
Lecture 11 | Setting & Getting Prototypes | 00:10:58 Duration |
|
Lecture 12 | Wrap Up | 00:02:49 Duration |
|
Lecture 13 | Useful Resources & Links |
Section 12 : Practice OOP & Classes
|
Lecture 1 | Module Introduction | 00:01:38 Duration |
|
Lecture 2 | First Project Steps & Planning | 00:04:46 Duration |
|
Lecture 3 | Creating Project Lists & Parsing Element Data | |
|
Lecture 4 | Starting with the Switch Project Logic | 00:09:59 Duration |
|
Lecture 5 | Passing Method References Around | 00:07:03 Duration |
|
Lecture 6 | Moving DOM Elements | 00:11:50 Duration |
|
Lecture 7 | Adding a Tooltip | 00:08:58 Duration |
|
Lecture 8 | Adding Inheritance | 00:06:14 Duration |
|
Lecture 9 | Wrap Up | 00:00:57 Duration |
|
Lecture 10 | Useful Resources & Links |
Section 13 : Back to the DOM & More Browser APIs
|
Lecture 1 | Module Introduction | 00:02:32 Duration |
|
Lecture 2 | Using dataset (data- Attributes) | 00:06:52 Duration |
|
Lecture 3 | Getting Element Box Dimensions | 00:05:54 Duration |
|
Lecture 4 | Working with Element Sizes & Positions | 00:04:56 Duration |
|
Lecture 5 | The DOM & Prototypes | 00:02:21 Duration |
|
Lecture 6 | Positioning the Tooltip | 00:10:57 Duration |
|
Lecture 7 | Handling Scrolling | 00:05:37 Duration |
|
Lecture 8 | Working with template Tags | 00:05:14 Duration |
|
Lecture 9 | Loading Scripts Dynamically | 00:07:35 Duration |
|
Lecture 10 | Setting Timers & Intervals | 00:07:38 Duration |
|
Lecture 11 | The location and history Objects | 00:03:17 Duration |
|
Lecture 12 | The navigator Object | 00:04:50 Duration |
|
Lecture 13 | Working with Dates | 00:03:17 Duration |
|
Lecture 14 | The Error Object & Constructor Function | 00:03:22 Duration |
|
Lecture 15 | Wrap Up | 00:00:43 Duration |
|
Lecture 16 | Useful Resources & Links |
Section 14 : Working with Events
|
Lecture 1 | Module Introduction | 00:01:32 Duration |
|
Lecture 2 | Introduction to Events in JavaScript | 00:06:18 Duration |
|
Lecture 3 | Different Ways of Listening to Events | 00:06:59 Duration |
|
Lecture 4 | Removing Event Listeners | 00:05:14 Duration |
|
Lecture 5 | The event Object | 00:05:43 Duration |
|
Lecture 6 | Supported Event Types | 00:08:01 Duration |
|
Lecture 7 | Example Basic Infinite Scrolling | |
|
Lecture 8 | Working with preventDefault | 00:05:15 Duration |
|
Lecture 9 | Understanding Capturing & Bubbling Phases | 00:02:03 Duration |
|
Lecture 10 | Event Propagation & stopPropagation() | 00:07:39 Duration |
|
Lecture 11 | Using Event Delegation | 00:08:33 Duration |
|
Lecture 12 | Triggering DOM Elements Programmatically | 00:03:41 Duration |
|
Lecture 13 | Event Handler Functions & this | 00:02:29 Duration |
|
Lecture 14 | Drag & Drop - Theory | 00:04:59 Duration |
|
Lecture 15 | Configuring Draggable Elements | 00:06:24 Duration |
|
Lecture 16 | Marking the Drop Area | 00:08:53 Duration |
|
Lecture 17 | Dropping & Moving Data + Elements | 00:06:59 Duration |
|
Lecture 18 | Firefox Adjustments | |
|
Lecture 19 | Wrap Up | 00:01:15 Duration |
|
Lecture 20 | Useful Resources & Links |
Section 15 : Advanced Function Concepts
|
Lecture 1 | Module Introduction | 00:00:57 Duration |
|
Lecture 2 | Pure Functions & Side-Effects | 00:06:13 Duration |
|
Lecture 3 | Impure vs Pure Functions | 00:02:00 Duration |
|
Lecture 4 | Factory Functions | 00:05:42 Duration |
|
Lecture 5 | Closures | 00:07:46 Duration |
|
Lecture 6 | Closures in Practice | 00:07:01 Duration |
|
Lecture 7 | Closures & Memory Management | 00:01:24 Duration |
|
Lecture 8 | About Certification | |
|
Lecture 9 | Introducing Recursion | 00:07:32 Duration |
|
Lecture 10 | Advanced Recursion | 00:09:01 Duration |
|
Lecture 11 | Wrap Up | 00:01:14 Duration |
|
Lecture 12 | Useful Resources & Links |
Section 16 : More on Numbers & Strings
|
Lecture 1 | Module Introduction | 00:00:54 Duration |
|
Lecture 2 | How Numbers Work & Behave in JavaScript | 00:07:47 Duration |
|
Lecture 3 | Floating Point (Im)Precision | 00:11:04 Duration |
|
Lecture 4 | The BigInt Type | 00:03:36 Duration |
|
Lecture 5 | The Global Number and Math Objects | 00:02:47 Duration |
|
Lecture 6 | Example Generate Random Number Between Min | 00:05:33 Duration |
|
Lecture 7 | Exploring String Methods | 00:01:43 Duration |
|
Lecture 8 | Tagged Templates | 00:10:29 Duration |
|
Lecture 9 | Introducing Regular Expressions (RegEx) | 00:04:31 Duration |
|
Lecture 10 | More on Regular Expressions | 00:07:25 Duration |
|
Lecture 11 | Wrap Up | 00:01:20 Duration |
|
Lecture 12 | Useful Resources & Links |
Section 17 : Async JavaScript Promises & Callbacks
|
Lecture 1 | Module Introduction | 00:01:12 Duration |
|
Lecture 2 | Understanding Synchronous Code Execution (Syn | 00:02:51 Duration |
|
Lecture 3 | Understanding Asynchronous Code Execution (As | 00:05:45 Duration |
|
Lecture 4 | Blocking Code & The Event Loop | 00:10:30 Duration |
|
Lecture 5 | Sync + Async Code - The Execution Order | 00:04:03 Duration |
|
Lecture 6 | Multiple Callbacks & setTimeout(0) | 00:03:20 Duration |
|
Lecture 7 | Getting Started with Promises | 00:08:25 Duration |
|
Lecture 8 | Chaining Multiple Promises | 00:05:53 Duration |
|
Lecture 9 | Promise Error Handling | 00:07:46 Duration |
|
Lecture 10 | Promise States & finally | |
|
Lecture 11 | Async await | 00:09:11 Duration |
|
Lecture 12 | Async await & Error Handling | 00:03:07 Duration |
|
Lecture 13 | Async await vs Raw Promises | 00:04:56 Duration |
|
Lecture 14 | Promise.all(), Promise.race() etc. | 00:07:59 Duration |
|
Lecture 15 | Wrap Up | 00:01:27 Duration |
|
Lecture 16 | Useful Resources & Links |
Section 18 : Working with Http Requests
|
Lecture 1 | Module Introduction | 00:01:07 Duration |
|
Lecture 2 | What & Why | 00:05:03 Duration |
|
Lecture 3 | How The Web Works | |
|
Lecture 4 | More Background about Http | 00:05:24 Duration |
|
Lecture 5 | Getting Started with Http | 00:03:35 Duration |
|
Lecture 6 | Sending a GET Request | 00:03:46 Duration |
|
Lecture 7 | JSON Data & Parsing Data | 00:09:14 Duration |
|
Lecture 8 | JSON Data Deep Dive | |
|
Lecture 9 | Promisifying Http Requests (with XMLHttpReque | 00:03:49 Duration |
|
Lecture 10 | Sending Data with a POST Request | 00:04:55 Duration |
|
Lecture 11 | Triggering Requests via the UI | 00:03:13 Duration |
|
Lecture 12 | The Fetch Button Always Appends | |
|
Lecture 13 | Sending a DELETE Request | 00:04:57 Duration |
|
Lecture 14 | Handling Errors | 00:05:03 Duration |
|
Lecture 15 | Using the fetch() API | 00:07:11 Duration |
|
Lecture 16 | POSTing Data with the fetch() API | 00:02:38 Duration |
|
Lecture 17 | Adding Request Headers | 00:03:01 Duration |
|
Lecture 18 | fetch() & Error Handling | 00:07:12 Duration |
|
Lecture 19 | XMLHttpRequest vs fetch() | 00:01:42 Duration |
|
Lecture 20 | Working with FormData | 00:06:58 Duration |
|
Lecture 21 | Wrap Up | 00:01:18 Duration |
|
Lecture 22 | Useful Resources & Links |
Section 19 : Working with JavaScript Libraries
|
Lecture 1 | Module Introduction | 00:00:59 Duration |
|
Lecture 2 | What & Why | 00:02:55 Duration |
|
Lecture 3 | Adding Libraries (Example lodash) | 00:09:10 Duration |
|
Lecture 4 | Example jQuery | 00:02:30 Duration |
|
Lecture 5 | Discovering Libraries | 00:03:26 Duration |
|
Lecture 6 | Axios Library & Http Requests | 00:10:46 Duration |
|
Lecture 7 | Third-Party Library Considerations | 00:04:55 Duration |
|
Lecture 8 | Wrap Up | 00:00:59 Duration |
|
Lecture 9 | Useful Resources & Links |
Section 20 : Modular JavaScript (Working with Modules)
|
Lecture 1 | Module Introduction | 00:00:56 Duration |
|
Lecture 2 | Splitting Code in a Sub-optimal Way | 00:07:12 Duration |
|
Lecture 3 | A First Step Towards JavaScript Modules | 00:03:25 Duration |
|
Lecture 4 | We Need a Development Server! | 00:05:58 Duration |
|
Lecture 5 | First import export Work | 00:03:41 Duration |
|
Lecture 6 | Switching All Files To Use Modules | 00:04:26 Duration |
|
Lecture 7 | More Named Export Syntax Variations | 00:06:12 Duration |
|
Lecture 8 | Working With Default Exports | 00:03:36 Duration |
|
Lecture 9 | Dynamic Imports & Code Splitting | 00:05:24 Duration |
|
Lecture 10 | When Does Module Code Execute | 00:02:06 Duration |
|
Lecture 11 | Module Scope & globalThis | 00:06:18 Duration |
|
Lecture 12 | Wrap Up | 00:01:38 Duration |
|
Lecture 13 | Useful Resources & Links |
Section 21 : JavaScript Tooling & Workflows
|
Lecture 1 | Module Introduction | 00:03:24 Duration |
|
Lecture 2 | Project Limitations & Why We Need Tools | 00:08:12 Duration |
|
Lecture 3 | Workflow Overview | 00:02:42 Duration |
|
Lecture 4 | Setting Up a npm Project | 00:03:46 Duration |
|
Lecture 5 | Working with npm Packages | 00:03:39 Duration |
|
Lecture 6 | Linting with ESLint | 00:08:38 Duration |
|
Lecture 7 | Configuring ESLint | |
|
Lecture 8 | Important Webpack Version | |
|
Lecture 9 | Bundling with Webpack | 00:15:14 Duration |
|
Lecture 10 | Bonus Multiple Entry Points | |
|
Lecture 11 | Development Mode & Fixing Lazy Loading | 00:04:00 Duration |
|
Lecture 12 | Using webpack-dev-server | 00:03:15 Duration |
|
Lecture 13 | Generating Sourcemaps | 00:03:05 Duration |
|
Lecture 14 | Building For Production | 00:03:45 Duration |
|
Lecture 15 | Final Optimizations | 00:06:35 Duration |
|
Lecture 16 | Using Third Party Packages with npm & Webpack | 00:04:06 Duration |
|
Lecture 17 | Wrap Up | 00:01:40 Duration |
|
Lecture 18 | Useful Resources & Links |
Section 22 : Utilizing Browser Storage
|
Lecture 1 | Module Introduction | 00:01:06 Duration |
|
Lecture 2 | Browser Storage Options | 00:07:22 Duration |
|
Lecture 3 | localStorage & sessionStorage | 00:10:43 Duration |
|
Lecture 4 | Getting Started with Cookies | 00:06:07 Duration |
|
Lecture 5 | Working with Cookies | 00:08:10 Duration |
|
Lecture 6 | Getting Started with IndexedDB | 00:08:55 Duration |
|
Lecture 7 | Working with IndexedDB | 00:04:06 Duration |
|
Lecture 8 | Wrap Up | 00:00:48 Duration |
|
Lecture 9 | Useful Resources & Links |
Section 23 : JavaScript & Browser Support
|
Lecture 1 | Module Introduction | 00:01:29 Duration |
|
Lecture 2 | What Is Browser Support About | 00:07:36 Duration |
|
Lecture 3 | Determining Browser Support For A JavaScript | 00:08:20 Duration |
|
Lecture 4 | Determining Required Support | 00:03:29 Duration |
|
Lecture 5 | Solution Feature Detection + Fallback Code | 00:09:55 Duration |
|
Lecture 6 | Solution Using Polyfills | 00:03:18 Duration |
|
Lecture 7 | Solution Transpiling Code | 00:12:02 Duration |
|
Lecture 8 | Improvement Automatically Detect + Add | 00:11:02 Duration |
|
Lecture 9 | What about Support Outside of Browsers | 00:00:58 Duration |
|
Lecture 10 | Browser Support Outside of JavaScript Files | 00:02:36 Duration |
|
Lecture 11 | Wrap Up | 00:01:19 Duration |
|
Lecture 12 | Useful Resources & Links |
Section 24 : Time to Practice Share My Place App
|
Lecture 1 | Module Introduction | 00:00:53 Duration |
|
Lecture 2 | Setting Up the Project | 00:03:06 Duration |
|
Lecture 3 | Getting DOM Access | 00:04:33 Duration |
|
Lecture 4 | Getting the User Location | 00:06:27 Duration |
|
Lecture 5 | Adding Feedback (Showing a Modal) | 00:11:16 Duration |
|
Lecture 6 | Hiding the Modal | 00:02:38 Duration |
|
Lecture 7 | Rendering a Map with Google Maps | 00:14:17 Duration |
|
Lecture 8 | Continuing without a Credit Card | |
|
Lecture 9 | Finding an Address & Getting the Coordinates | 00:08:23 Duration |
|
Lecture 10 | Converting User Input to Coordinates | 00:03:35 Duration |
|
Lecture 11 | Creating a Share Place Link | 00:08:31 Duration |
|
Lecture 12 | Copying the Link to the Clipboard | 00:03:37 Duration |
|
Lecture 13 | Rendering the Shared Place Screen | 00:06:23 Duration |
|
Lecture 14 | Useful Resources & Links |
Section 25 : Working with JavaScript Frameworks
|
Lecture 1 | Module Introduction | 00:01:06 Duration |
|
Lecture 2 | What and Why | 00:07:35 Duration |
|
Lecture 3 | The Idea Behind React.js | 00:02:46 Duration |
|
Lecture 4 | Analysing a React Project | 00:17:38 Duration |
|
Lecture 5 | Wrap Up | 00:01:35 Duration |
|
Lecture 6 | Useful Resources & Links |
Section 26 : Meta-Programming Symbols, Iterators, Generators, Reflect API
|
Lecture 1 | Module Introduction | 00:01:52 Duration |
|
Lecture 2 | Understanding Symbols | 00:08:27 Duration |
|
Lecture 3 | Well-known Symbols | 00:05:15 Duration |
|
Lecture 4 | Understanding Iterators | 00:05:32 Duration |
|
Lecture 5 | Generators & Iterable Objects | 00:11:03 Duration |
|
Lecture 6 | Generators Summary & Built-in Iterables Examp | 00:03:22 Duration |
|
Lecture 7 | The Reflect API | 00:07:11 Duration |
|
Lecture 8 | The Proxy API and a First Trap | 00:09:04 Duration |
|
Lecture 9 | Working with Proxy Traps | 00:02:57 Duration |
|
Lecture 10 | Wrap Up | 00:01:38 Duration |
|
Lecture 11 | Useful Resources & Links |
Section 27 : Node.js An Introduction
Section 28 : Security
|
Lecture 1 | Module Introduction | 00:01:36 Duration |
|
Lecture 2 | Security Hole Overview & Exposing Data in you | 00:06:46 Duration |
|
Lecture 3 | Cross-Site Scripting Attacks (XSS) | 00:14:39 Duration |
|
Lecture 4 | Third-Party Libraries & XSS | 00:05:18 Duration |
|
Lecture 5 | CSRF Attacks (Cross Site Request Forgery) | 00:04:16 Duration |
|
Lecture 6 | CORS (Cross Origin Resource Sharing) | 00:02:53 Duration |
|
Lecture 7 | Wrap Up | 00:01:31 Duration |
|
Lecture 8 | Useful Resources & Links |
Section 29 : Deploying JavaScript Code
|
Lecture 1 | Module Introduction | 00:01:11 Duration |
|
Lecture 2 | Deployment Steps | 00:07:29 Duration |
|
Lecture 3 | Different Types of Websites | |
|
Lecture 4 | Example Static Host Deployment (no Server-sid | 00:09:44 Duration |
|
Lecture 5 | Injecting Script Imports Into HTML Automatica | |
|
Lecture 6 | Example Dynamic Page Deployment (with Server | 00:12:46 Duration |
|
Lecture 7 | Useful Resources & Links |
Section 30 : Performance & Optimizations
|
Lecture 1 | Module Introduction | 00:01:49 Duration |
|
Lecture 2 | What is Performance Optimization About | 00:06:17 Duration |
|
Lecture 3 | Optimization Potentials | 00:06:49 Duration |
|
Lecture 4 | Measuring Performance | 00:03:42 Duration |
|
Lecture 5 | Diving Into The Browser Devtools (for Perform | 00:15:30 Duration |
|
Lecture 6 | Further Resources | 00:02:14 Duration |
|
Lecture 7 | Preparing The Testing Setup | 00:04:04 Duration |
|
Lecture 8 | Optimizing Startup Time & Code Usage Coverag | 00:11:51 Duration |
|
Lecture 9 | Updating The DOM Correctly | 00:09:56 Duration |
|
Lecture 10 | Updating Lists Correctly | 00:08:11 Duration |
|
Lecture 11 | Optimizing The Small Things | 00:03:58 Duration |
|
Lecture 12 | Micro-Optimizations (Think Twice!) | 00:08:49 Duration |
|
Lecture 13 | Finding & Fixing Memory Leaks | 00:09:44 Duration |
|
Lecture 14 | Server-side Performance Optimizations | |
|
Lecture 15 | Wrap Up | 00:03:26 Duration |
|
Lecture 16 | Useful Resources & Links |
Section 31 : Introduction to Testing
|
Lecture 1 | Module Introduction | 00:00:50 Duration |
|
Lecture 2 | What Is Testing Why Does It Matter | 00:07:10 Duration |
|
Lecture 3 | Testing Setup | 00:04:10 Duration |
|
Lecture 4 | Writing & Running Unit Tests | 00:11:15 Duration |
|
Lecture 5 | Writing & Running Integration Tests | 00:06:04 Duration |
|
Lecture 6 | Writing & Running e2e Tests | 00:10:16 Duration |
|
Lecture 7 | Dealing with Async Code | 00:10:20 Duration |
|
Lecture 8 | Working with Mocks | 00:07:51 Duration |
|
Lecture 9 | Useful Resources & Links |
Section 32 : Bonus Programming Paradigms (Procedural vs Object Oriented v
|
Lecture 1 | Module Introduction | 00:00:48 Duration |
|
Lecture 2 | What are Programming Paradigms | |
|
Lecture 3 | Procedural Programming in Practice | 00:08:53 Duration |
|
Lecture 4 | Object Oriented Programming in Practice | 00:13:20 Duration |
|
Lecture 5 | Functional Programming in Practice | 00:13:53 Duration |
|
Lecture 6 | Wrap Up | 00:03:27 Duration |
|
Lecture 7 | Useful Resources & Links |
Section 33 : Bonus Data Structures & Algorithms Introduction
|
Lecture 1 | Module Introduction | 00:02:03 Duration |
|
Lecture 2 | What are Data Structures & Algorithms | 00:04:23 Duration |
|
Lecture 3 | A First Example | 00:10:23 Duration |
|
Lecture 4 | Solving the Same Problem Differently | 00:07:26 Duration |
|
Lecture 5 | Performance & The Big O Notation | 00:11:44 Duration |
|
Lecture 6 | More Time Complexities & Comparing Algorithms | 00:03:36 Duration |
|
Lecture 7 | More on Big O | 00:05:23 Duration |
|
Lecture 8 | More Examples | 00:10:15 Duration |
|
Lecture 9 | Diving into Data Structures & Time Complexiti | 00:12:07 Duration |
|
Lecture 10 | Where to Learn More & Wrap Up | 00:03:23 Duration |
|
Lecture 11 | Useful Resources & Links |
Section 34 : Bonus TypeScript Introduction
|
Lecture 1 | Module Introduction | 00:01:11 Duration |
|
Lecture 2 | What is TypeScript and Why would you use it | 00:04:58 Duration |
|
Lecture 3 | Working with Types | 00:10:06 Duration |
|
Lecture 4 | Core Types & Diving Deeper | 00:17:26 Duration |
|
Lecture 5 | Object Types, Array Types & Function Types | 00:09:22 Duration |
|
Lecture 6 | Advanced Types (Literal Types, Union Types, | 00:09:20 Duration |
|
Lecture 7 | Classes & Interfaces | 00:12:02 Duration |
|
Lecture 8 | Generic Types | 00:05:03 Duration |
|
Lecture 9 | Configuring the TypeScript Compiler | 00:05:12 Duration |
|
Lecture 10 | Useful Resources & Links |
Section 35 : Bonus Web Components
|
Lecture 1 | Module Introduction | 00:02:02 Duration |
|
Lecture 2 | Web Components in Action | 00:06:30 Duration |
|
Lecture 3 | What are Web Components | 00:03:22 Duration |
|
Lecture 4 | Why Web Components | 00:02:44 Duration |
|
Lecture 5 | Getting Started! | 00:04:56 Duration |
|
Lecture 6 | Web Component Browser Support | 00:02:44 Duration |
|
Lecture 7 | Our Development Setup | 00:03:54 Duration |
|
Lecture 8 | A First Custom Element | 00:08:18 Duration |
|
Lecture 9 | Interacting with the Surrounding DOM | 00:05:04 Duration |
|
Lecture 10 | Understanding the Custom Element Lifecycle | 00:02:51 Duration |
|
Lecture 11 | Using connectedCallback for DOM Access | 00:02:05 Duration |
|
Lecture 12 | Listening to Events Inside the Component | 00:09:13 Duration |
|
Lecture 13 | Using Attributes on Custom Elements | 00:04:45 Duration |
|
Lecture 14 | Styling our Elements | 00:04:08 Duration |
|
Lecture 15 | Working with the Shadow DOM | 00:05:00 Duration |
|
Lecture 16 | Adding an HTML Template | 00:05:41 Duration |
|
Lecture 17 | Using Slots | 00:01:50 Duration |
|
Lecture 18 | Defining the Template in JavaScript | 00:03:21 Duration |
|
Lecture 19 | Using Style Tags in the Shadow DOM | 00:02:40 Duration |
|
Lecture 20 | Extending Built-in Elements | 00:07:33 Duration |
|
Lecture 21 | The Next Steps | 00:00:50 Duration |
|
Lecture 22 | Understanding Shadow DOM Projection | 00:02:27 Duration |
|
Lecture 23 | Styling slot Content Outside of the Shadow DO | 00:03:45 Duration |
|
Lecture 24 | Styling slot Content Inside of the Shadow DOM | 00:03:10 Duration |
|
Lecture 25 | Styling the Host Component | 00:04:43 Duration |
|
Lecture 26 | Conditional Host Styling | 00:02:49 Duration |
|
Lecture 27 | Styling with the Host Content in Mind | 00:02:28 Duration |
|
Lecture 28 | Smart Dynamic Styling with CSS Variables | 00:06:21 Duration |
|
Lecture 29 | Cleaning Up the Overall Styling | 00:03:22 Duration |
|
Lecture 30 | Observing Attribute Changes | 00:06:18 Duration |
|
Lecture 31 | Adjusting the Component Behavior Upon Attribu | 00:02:35 Duration |
|
Lecture 32 | Using disconnectedCallback | 00:06:10 Duration |
|
Lecture 33 | Adding a render() Method | 00:06:13 Duration |
|
Lecture 34 | Final Adjustment | |
|
Lecture 35 | The Next Steps | 00:00:52 Duration |
|
Lecture 36 | Creating the Basic Modal Component | 00:06:33 Duration |
|
Lecture 37 | Adding the Modal Container | 00:02:30 Duration |
|
Lecture 38 | Styling the Modal Elements | 00:05:36 Duration |
|
Lecture 39 | Adding Some General App Logic | 00:03:49 Duration |
|
Lecture 40 | Opening the Modal via CSS | 00:05:23 Duration |
|
Lecture 41 | Public Methods & Properties | 00:06:38 Duration |
|
Lecture 42 | Understanding Named Slots | 00:05:45 Duration |
|
Lecture 43 | Listening to Slot Content Changes | 00:05:11 Duration |
|
Lecture 44 | Closing the Modal | 00:06:58 Duration |
|
Lecture 45 | Dispatching Custom Events | 00:03:41 Duration |
|
Lecture 46 | Configuring Custom Events | 00:04:53 Duration |
|
Lecture 47 | Finishing it up! | 00:04:51 Duration |
|
Lecture 48 | Useful Resources & Links |