-
Урок 1.
00:01:51
Introduction
-
Урок 2.
00:03:47
What is JavaScript?
-
Урок 3.
00:09:09
JavaScript in Action!
-
Урок 4.
00:03:15
How JavaScript Is Executed
-
Урок 5.
00:03:29
Dynamic vs Weakly Typed Languages
-
Урок 6.
00:04:41
JavaScript Executes In A Hosted Environment
-
Урок 7.
00:06:01
Course Outline - What's In This Course?
-
Урок 8.
00:02:37
How To Get The Most Out Of This Course
-
Урок 9.
00:04:03
JavaScript vs Java
-
Урок 10.
00:06:04
A Brief History Of JavaScript
-
Урок 11.
00:11:13
Setting Up a Development Environment
-
Урок 12.
00:01:18
Module Introduction
-
Урок 13.
00:04:26
Setting Up the Project
-
Урок 14.
00:06:43
Adding JavaScript to the Website
-
Урок 15.
00:05:18
Introducing Variables & Constants
-
Урок 16.
00:07:11
Declaring & Defining Variables
-
Урок 17.
00:06:18
Working with Variables & Operators
-
Урок 18.
00:01:22
Understanding the Starting Code
-
Урок 19.
00:06:02
Data Types: Numbers & Strings (Text)
-
Урок 20.
00:05:12
Using Constants
-
Урок 21.
00:15:52
More on Strings
-
Урок 22.
00:05:51
Introducing Functions
-
Урок 23.
00:11:23
Adding A Custom Function
-
Урок 24.
00:04:32
Returning Values
-
Урок 25.
00:04:35
The (Un)Importance of Code Order
-
Урок 26.
00:05:32
An Introduction to Global & Local Scope
-
Урок 27.
00:02:25
More about the "return" Statement
-
Урок 28.
00:11:11
Executing Functions "Indirectly"
-
Урок 29.
00:06:15
Converting Data Types
-
Урок 30.
00:05:50
Splitting Code into Functions
-
Урок 31.
00:07:44
Connecting all Buttons to Functions
-
Урок 32.
00:04:10
Working with Code Comments
-
Урок 33.
00:06:40
More Operators!
-
Урок 34.
00:04:32
More Core Data Types!
-
Урок 35.
00:08:54
Using Arrays
-
Урок 36.
00:06:03
Creating Objects
-
Урок 37.
00:02:52
Accessing Object Data
-
Урок 38.
00:05:25
Adding a Re-Usable Function That Uses Objects
-
Урок 39.
00:06:21
undefined, null & NaN
-
Урок 40.
00:03:13
The "typeof" Operator
-
Урок 41.
00:14:38
Importing Scripts Correctly with "defer" & "async"
-
Урок 42.
00:02:14
Wrap Up
-
Урок 43.
00:01:29
Module Introduction
-
Урок 44.
00:03:19
Efficient Development & Debugging - An Overview
-
Урок 45.
00:02:26
Configuring the IDE Look & Feel
-
Урок 46.
00:04:13
Using Shortcuts
-
Урок 47.
00:04:35
Working with Auto-Completion & IDE Hints
-
Урок 48.
00:02:05
Installing IDE Extensions
-
Урок 49.
00:02:16
Tweaking Editor Settings
-
Урок 50.
00:01:43
Utilizing Different IDE Views
-
Урок 51.
00:05:54
Finding Help & Working with MDN
-
Урок 52.
00:01:46
How to "google" Correctly
-
Урок 53.
00:03:18
Debugging JavaScript - An Overview
-
Урок 54.
00:04:47
An Error Message! No Reason To Panic!
-
Урок 55.
00:03:50
Using console.log() to look "into the Code"
-
Урок 56.
00:08:21
Next-Level Debugging with the Chrome Devtools & Breakpoints
-
Урок 57.
00:02:06
Testing Code Changes Directly in the Devtools
-
Урок 58.
00:04:56
Debugging Code directly Inside VS Code
-
Урок 59.
00:01:23
Wrap Up
-
Урок 60.
00:09:18
Module Introduction
-
Урок 61.
00:09:27
Introducing "if" Statements & Boolean (Comparison) Operators
-
Урок 62.
00:07:24
Using "if" Statements
-
Урок 63.
00:05:11
Working with "if", "else" and "else-if"
-
Урок 64.
00:04:07
Beware When Comparing Objects & Arrays for Equality!
-
Урок 65.
00:09:11
The Logical AND and OR Operators
-
Урок 66.
00:07:21
Understanding Operator Precedence
-
Урок 67.
00:07:31
Beyond true/ false: "Truthy" and "Falsy" Values
-
Урок 68.
00:03:00
Setting Up a Bigger Example Project (The "Monster Killer")
-
Урок 69.
00:07:58
Adding an "Attack" Function
-
Урок 70.
00:09:18
Using "if" Statements for Checking the Win-Condition
-
Урок 71.
00:07:42
Adding More "if" Statements & A "Strong Attack" Functionality
-
Урок 72.
00:10:16
Time for a "Heal Player" Functionality!
-
Урок 73.
00:06:01
Controlling the Conditional Bonus Life (Without Boolean Operators!)
-
Урок 74.
00:06:01
Adding a "Reset Game" Functionality
-
Урок 75.
00:06:18
Validating User Input
-
Урок 76.
00:03:21
Utilizing Global Constants as Identifiers in Conditional Code
-
Урок 77.
00:16:38
Adding a Conditional Battle Log
-
Урок 78.
00:07:32
Introducing the Ternary Operator
-
Урок 79.
00:01:41
A Bit of Theory: Statements vs Expressions
-
Урок 80.
00:12:59
Logical Operator "Tricks" & Shorthands
-
Урок 81.
00:07:11
Working with the "switch-case" Statement
-
Урок 82.
00:06:41
Introducing Loops
-
Урок 83.
00:07:39
The "for" Loop
-
Урок 84.
00:05:18
The "for-of" Loop
-
Урок 85.
00:06:50
The "for-in" Loop
-
Урок 86.
00:08:01
The "while" & "do-while" Loops
-
Урок 87.
00:08:12
Controlling Loops with "break"
-
Урок 88.
00:02:22
Controlling Iterations with "continue"
-
Урок 89.
00:06:27
More Control with Labeled Statements
-
Урок 90.
00:02:26
Error Handling with "try-catch" - An Introduction
-
Урок 91.
00:05:18
Throwing Custom Errors
-
Урок 92.
00:08:15
Working with "try-catch" to Catch & Handle Errors
-
Урок 93.
00:03:22
Wrap Up
-
Урок 94.
00:01:44
Module Introduction
-
Урок 95.
00:08:15
ES5 vs ES6+ ("Next Gen JS") - Evolution of JavaScript
-
Урок 96.
00:14:33
var vs let & const - Introducing "Block Scope"
-
Урок 97.
00:04:08
Understanding "Hoisting"
-
Урок 98.
00:05:47
Strict Mode & Writing Good Code
-
Урок 99.
00:08:17
How Code is Parsed & Compiled
-
Урок 100.
00:16:00
Inside the JavaScript Engine - How the Code Executes
-
Урок 101.
00:19:25
Primitive vs Reference Values
-
Урок 102.
00:12:01
Garbage Collection & Memory Management
-
Урок 103.
00:01:56
Wrap Up
-
Урок 104.
00:01:32
Module Introduction
-
Урок 105.
00:01:53
Recapping Functions Knowledge - What We Know Thus Far
-
Урок 106.
00:05:47
Functions vs Methods
-
Урок 107.
00:02:48
Functions are Objects!
-
Урок 108.
00:05:13
Function Expressions: Storing Functions in Variables
-
Урок 109.
00:02:48
Function Expressions vs Function Declarations
-
Урок 110.
00:05:55
Anonymous Functions
-
Урок 111.
00:07:45
Working on the Project: Adding User Choices to the Game
-
Урок 112.
00:07:21
Implementing the Core Game Logic
-
Урок 113.
00:08:42
Introducing Arrow Functions
-
Урок 114.
00:03:55
Outputting Messages to the User
-
Урок 115.
00:10:46
Default Arguments in Functions
-
Урок 116.
00:08:58
Introducing Rest Parameters ("Rest Operator")
-
Урок 117.
00:03:05
Creating Functions Inside of Functions
-
Урок 118.
00:06:10
Understanding Callback Functions
-
Урок 119.
00:08:40
Working with "bind()"
-
Урок 120.
00:03:48
Adding bind() to the Calculator Project
-
Урок 121.
00:01:19
call() and apply()
-
Урок 122.
00:02:11
Wrap Up
-
Урок 123.
00:01:49
Module Introduction
-
Урок 124.
00:06:01
What's the "DOM"?
-
Урок 125.
00:06:21
Document and Window Object
-
Урок 126.
00:07:08
Understanding the DOM and how it's created
-
Урок 127.
00:05:56
Nodes & Elements - Querying the DOM Overview
-
Урок 128.
00:09:55
Selecting Elements in the DOM
-
Урок 129.
00:07:39
Exploring and Changing DOM Properties
-
Урок 130.
00:08:59
Attributes vs Properties
-
Урок 131.
00:05:14
Selecting Multiple Elements & Summary
-
Урок 132.
00:06:23
Traversing the DOM - Overview
-
Урок 133.
00:09:16
Traversing Child Nodes
-
Урок 134.
00:05:02
Using parentNode & parentElement
-
Урок 135.
00:04:07
Selecting Sibling Elements
-
Урок 136.
00:04:36
DOM Traversal vs Query Methods
-
Урок 137.
00:12:19
Styling DOM Elements
-
Урок 138.
00:02:43
Creating Elements with JS - Overview
-
Урок 139.
00:07:43
Adding Elements via HTML in Code
-
Урок 140.
00:05:43
Adding Elements via createElement()
-
Урок 141.
00:08:16
Inserting DOM Elements
-
Урок 142.
00:01:46
Cloning DOM Nodes
-
Урок 143.
00:04:56
Live Node Lists vs Static Node Lists
-
Урок 144.
00:01:57
Removing Elements
-
Урок 145.
00:02:39
Insertion & Removal Method Summary
-
Урок 146.
00:02:17
Setting Up the Practice Project
-
Урок 147.
00:08:59
Selecting the Modal and "Add" Button
-
Урок 148.
00:05:02
Opening a Modal by Changing CSS Classes
-
Урок 149.
00:08:05
Controlling the Backdrop
-
Урок 150.
00:08:07
Fetching and Validating User Input
-
Урок 151.
00:04:02
Creating a Movie in JavaScript & Clearing the Input
-
Урок 152.
00:08:25
Rendering Movie Items on the Screen
-
Урок 153.
00:09:13
Deleting Movie Elements
-
Урок 154.
00:07:09
Showing & Hiding the "Are you sure?" Dialog
-
Урок 155.
00:04:30
Starting with the Confirmation Logic
-
Урок 156.
00:11:46
Finishing the App
-
Урок 157.
00:01:56
Wrap Up
-
Урок 158.
00:01:09
Module Introduction
-
Урок 159.
00:02:12
What are "Iterables" and "Array-like Objects"?
-
Урок 160.
00:08:57
Creating Arrays
-
Урок 161.
00:03:48
Which Data Can You Store In Arrays?
-
Урок 162.
00:07:00
push(), pop(), unshift(), shift() - Adding & Removing Elements
-
Урок 163.
00:05:39
The splice() Method
-
Урок 164.
00:06:07
Selecting Ranges & Creating Copies with slice()
-
Урок 165.
00:02:24
Adding Arrays to Arrays with concat()
-
Урок 166.
00:03:48
Retrieving Indexes with indexOf() /& lastIndexOf()
-
Урок 167.
00:05:21
Finding Stuff: find() and findIndex()
-
Урок 168.
00:01:21
Is it Included?
-
Урок 169.
00:04:26
Alternative to for Loops: The forEach() Method
-
Урок 170.
00:02:39
Transforming Data with map()
-
Урок 171.
00:04:17
sort()ing and reverse()ing
-
Урок 172.
00:02:36
Filtering Arrays with filter()
-
Урок 173.
00:01:32
Where Arrow Functions Shine!
-
Урок 174.
00:07:34
The Important reduce() Method
-
Урок 175.
00:04:22
Arrays & Strings - split() and join()
-
Урок 176.
00:10:32
The Spread Operator (...)
-
Урок 177.
00:04:26
Understanding Array Destructuring
-
Урок 178.
00:04:17
Maps & Sets - Overview
-
Урок 179.
00:07:22
Working with Sets
-
Урок 180.
00:09:31
Working with Maps
-
Урок 181.
00:03:42
Maps vs Objects
-
Урок 182.
00:04:51
Understanding WeakSet
-
Урок 183.
00:02:52
Understanding WeakMap
-
Урок 184.
00:01:26
Wrap Up
-
Урок 185.
00:01:39
Module Introduction
-
Урок 186.
00:05:55
What's an Object?
-
Урок 187.
00:02:43
Objects - Recap
-
Урок 188.
00:06:47
Adding, Modifying & Deleting Properties
-
Урок 189.
00:08:37
Special Key Names & Square Bracket Property Access
-
Урок 190.
00:03:56
Property Types & Property Order
-
Урок 191.
00:04:12
Dynamic Property Access & Setting Properties Dynamically
-
Урок 192.
00:09:23
Demo App & Shorthand Property Syntax
-
Урок 193.
00:05:37
Rendering Elements based on Objects
-
Урок 194.
00:05:25
for-in Loops & Outputting Dynamic Properties
-
Урок 195.
00:05:39
Adding the Filter Functionality
-
Урок 196.
00:01:52
Understanding "Chaining" (Property & Method Chaining)
-
Урок 197.
00:05:55
The Object Spread Operator (...)
-
Урок 198.
00:02:09
Understanding Object.assign()
-
Урок 199.
00:06:14
Object Destructuring
-
Урок 200.
00:02:43
Checking for Property Existance
-
Урок 201.
00:05:53
Introducing "this"
-
Урок 202.
00:01:08
The Method Shorthand Syntax
-
Урок 203.
00:05:42
The "this" Keyword And Its Strange Behavior
-
Урок 204.
00:03:23
call() and apply()
-
Урок 205.
00:02:34
What the Browser (Sometimes) Does to "this"
-
Урок 206.
00:10:37
"this" and Arrow Functions
-
Урок 207.
00:07:06
Getters & Setters
-
Урок 208.
00:01:35
Wrap Up
-
Урок 209.
00:01:56
Module Introduction
-
Урок 210.
00:03:18
What is "Object-oriented Programming" (OOP)?
-
Урок 211.
00:12:11
Getting Started with OOP Code
-
Урок 212.
00:07:18
Defining & Using a First Class
-
Урок 213.
00:04:52
Working with Constructor Methods
-
Урок 214.
00:02:20
Fields vs Properties
-
Урок 215.
00:09:07
Using & "Connecting" Multiple Classes
-
Урок 216.
00:04:58
Binding Class Methods & Working with "this"
-
Урок 217.
00:04:38
Adding a Cart and Shop Class
-
Урок 218.
00:03:55
Communicating Can Be Challenging!
-
Урок 219.
00:07:52
Static Methods & Properties
-
Урок 220.
00:04:07
First Summary & Classes vs Object Literals
-
Урок 221.
00:05:44
Getters & Setters
-
Урок 222.
00:02:35
Introducing Inheritance
-
Урок 223.
00:11:51
Implementing Inheritance
-
Урок 224.
00:06:52
Using Inheritance Everywhere
-
Урок 225.
00:06:01
Overriding Methods and the super() Constructor
-
Урок 226.
00:06:47
super() Constructor Execution, Order & "this"
-
Урок 227.
00:05:52
Different Ways of Adding Methods
-
Урок 228.
00:07:25
Private Properties
-
Урок 229.
00:04:31
The "instanceof" Operator
-
Урок 230.
00:01:10
Built-in Classes
-
Урок 231.
00:07:36
Understanding Object Descriptors
-
Урок 232.
00:01:52
Wrap Up
-
Урок 233.
00:01:35
Module Introduction
-
Урок 234.
00:04:03
Introducing Constructor Functions
-
Урок 235.
00:04:18
Constructor Functions vs Classes & Understanding "new"
-
Урок 236.
00:16:48
Introducing Prototypes
-
Урок 237.
00:05:20
Working with Prototypes
-
Урок 238.
00:08:27
The Prototype Chain and the Global "Object"
-
Урок 239.
00:05:25
Classes & Prototypes
-
Урок 240.
00:10:17
Methods in Classes & In Constructors
-
Урок 241.
00:02:13
Built-in Prototypes in JavaScript
-
Урок 242.
00:10:59
Setting & Getting Prototypes
-
Урок 243.
00:02:50
Wrap Up
-
Урок 244.
00:01:39
Module Introduction
-
Урок 245.
00:04:47
First Project Steps & Planning
-
Урок 246.
00:04:09
Creating Project Lists & Parsing Element Data
-
Урок 247.
00:10:00
Starting with the "Switch Project" Logic
-
Урок 248.
00:07:03
Passing Method References Around
-
Урок 249.
00:11:50
Moving DOM Elements
-
Урок 250.
00:08:59
Adding a Tooltip
-
Урок 251.
00:06:14
Adding Inheritance
-
Урок 252.
00:00:58
Wrap Up
-
Урок 253.
00:02:32
Module Introduction
-
Урок 254.
00:06:52
Using "dataset" (data-* Attributes)
-
Урок 255.
00:05:55
Getting Element Box Dimensions
-
Урок 256.
00:04:57
Working with Element Sizes & Positions
-
Урок 257.
00:02:22
The DOM & Prototypes
-
Урок 258.
00:10:58
Positioning the Tooltip
-
Урок 259.
00:05:38
Handling Scrolling
-
Урок 260.
00:05:15
Working with <template> Tags
-
Урок 261.
00:07:36
Loading Scripts Dynamically
-
Урок 262.
00:07:38
Setting Timers & Intervals
-
Урок 263.
00:04:21
The "location" and "history" Objects
-
Урок 264.
00:04:51
The "navigator" Object
-
Урок 265.
00:03:18
Working with Dates
-
Урок 266.
00:03:22
The "Error" Object & Constructor Function
-
Урок 267.
00:00:44
Wrap Up
-
Урок 268.
00:01:32
Module Introduction
-
Урок 269.
00:06:19
Introduction to Events in JavaScript
-
Урок 270.
00:07:00
Different Ways of Listening to Events
-
Урок 271.
00:05:15
Removing Event Listeners
-
Урок 272.
00:05:44
The "event" Object
-
Урок 273.
00:08:02
Supported Event Types
-
Урок 274.
00:05:16
Working with "preventDefault()"
-
Урок 275.
00:02:04
Understanding "Capturing" & "Bubbling" Phases
-
Урок 276.
00:07:40
Event Propagation & "stopPropagation()"
-
Урок 277.
00:08:34
Using Event Delegation
-
Урок 278.
00:03:41
Triggering DOM Elements Programmatically
-
Урок 279.
00:02:29
Event Handler Functions & "this"
-
Урок 280.
00:05:00
Drag & Drop - Theory
-
Урок 281.
00:06:24
Configuring Draggable Elements
-
Урок 282.
00:08:53
Marking the "Drop Area"
-
Урок 283.
00:06:59
Dropping & Moving Data + Elements
-
Урок 284.
00:01:16
Wrap Up
-
Урок 285.
00:00:58
Module Introduction
-
Урок 286.
00:06:14
Pure Functions & Side-Effects
-
Урок 287.
00:02:01
Impure vs Pure Functions
-
Урок 288.
00:05:42
Factory Functions
-
Урок 289.
00:07:46
Closures
-
Урок 290.
00:07:02
Closures in Practice
-
Урок 291.
00:01:25
Closures & Memory Management
-
Урок 292.
00:07:33
Introducing "Recursion"
-
Урок 293.
00:09:02
Advanced Recursion
-
Урок 294.
00:01:15
Wrap Up
-
Урок 295.
00:00:54
Module Introduction
-
Урок 296.
00:07:47
How Numbers Work & Behave in JavaScript
-
Урок 297.
00:11:05
Floating Point (Im)Precision
-
Урок 298.
00:03:37
The BigInt Type
-
Урок 299.
00:02:48
The Global "Number" and "Math" Objects
-
Урок 300.
00:05:34
Example: Generate Random Number Between Min/ Max
-
Урок 301.
00:01:44
Exploring String Methods
-
Урок 302.
00:10:30
Tagged Templates
-
Урок 303.
00:04:32
Introducing Regular Expressions ("RegEx")
-
Урок 304.
00:07:26
More on Regular Expressions
-
Урок 305.
00:01:21
Wrap Up
-
Урок 306.
00:01:13
Module Introduction
-
Урок 307.
00:02:52
Understanding Synchronous Code Execution ("Sync Code")
-
Урок 308.
00:05:45
Understanding Asynchronous Code Execution ("Async Code")
-
Урок 309.
00:10:31
Blocking Code & The "Event Loop"
-
Урок 310.
00:04:04
Sync + Async Code - The Execution Order
-
Урок 311.
00:03:21
Multiple Callbacks & setTimeout(0)
-
Урок 312.
00:08:26
Getting Started with Promises
-
Урок 313.
00:05:54
Chaining Multiple Promises
-
Урок 314.
00:07:47
Promise Error Handling
-
Урок 315.
00:09:12
Async/ await
-
Урок 316.
00:03:08
Async/ await & Error Handling
-
Урок 317.
00:04:57
Async/ await vs "Raw Promises"
-
Урок 318.
00:08:00
Promise.all(), Promise.race() etc.
-
Урок 319.
00:01:28
Wrap Up
-
Урок 320.
00:01:08
Module Introduction
-
Урок 321.
00:05:04
What & Why
-
Урок 322.
00:05:25
More Background about Http
-
Урок 323.
00:03:36
Getting Started with Http
-
Урок 324.
00:03:47
Sending a GET Request
-
Урок 325.
00:09:15
JSON Data & Parsing Data
-
Урок 326.
00:03:50
Promisifying Http Requests (with XMLHttpRequest)
-
Урок 327.
00:04:56
Sending Data with a POST Request
-
Урок 328.
00:03:14
Triggering Requests via the UI
-
Урок 329.
00:04:57
Sending a DELETE Request
-
Урок 330.
00:05:04
Handling Errors
-
Урок 331.
00:07:12
Using the fetch() API
-
Урок 332.
00:02:39
POSTing Data with the fetch() API
-
Урок 333.
00:03:02
Adding Request Headers
-
Урок 334.
00:07:13
fetch() & Error Handling
-
Урок 335.
00:01:43
XMLHttpRequest vs fetch()
-
Урок 336.
00:06:59
Working with FormData
-
Урок 337.
00:01:18
Wrap Up
-
Урок 338.
00:01:00
Module Introduction
-
Урок 339.
00:02:56
What & Why
-
Урок 340.
00:09:11
Adding Libraries (Example: lodash)
-
Урок 341.
00:02:31
Example: jQuery
-
Урок 342.
00:03:26
Discovering Libraries
-
Урок 343.
00:10:47
Axios Library & Http Requests
-
Урок 344.
00:04:55
Third-Party Library Considerations
-
Урок 345.
00:01:00
Wrap Up
-
Урок 346.
00:00:57
Module Introduction
-
Урок 347.
00:07:13
Splitting Code in a Sub-optimal Way
-
Урок 348.
00:03:26
A First Step Towards JavaScript Modules
-
Урок 349.
00:05:59
We Need a Development Server!
-
Урок 350.
00:03:42
First import / export Work
-
Урок 351.
00:04:27
Switching All Files To Use Modules
-
Урок 352.
00:06:13
More Named Export Syntax Variations
-
Урок 353.
00:03:36
Working With Default Exports
-
Урок 354.
00:05:25
Dynamic Imports & Code Splitting
-
Урок 355.
00:02:07
When Does Module Code Execute?
-
Урок 356.
00:06:19
Module Scope & globalThis
-
Урок 357.
00:01:38
Wrap Up
-
Урок 358.
00:03:24
Module Introduction
-
Урок 359.
00:08:12
Project Limitations & Why We Need Tools
-
Урок 360.
00:02:43
Workflow Overview
-
Урок 361.
00:03:47
Setting Up a npm Project
-
Урок 362.
00:03:40
Working with npm Packages
-
Урок 363.
00:08:39
Linting with ESLint
-
Урок 364.
00:15:14
Bundling with Webpack
-
Урок 365.
00:04:01
Development Mode & Fixing "Lazy Loading"
-
Урок 366.
00:03:15
Using webpack-dev-server
-
Урок 367.
00:03:06
Generating Sourcemaps
-
Урок 368.
00:03:46
Building For Production
-
Урок 369.
00:06:36
Final Optimizations
-
Урок 370.
00:04:07
Using Third Party Packages with npm & Webpack
-
Урок 371.
00:01:40
Wrap Up
-
Урок 372.
00:01:07
Module Introduction
-
Урок 373.
00:07:22
Browser Storage Options
-
Урок 374.
00:10:44
localStorage & sessionStorage
-
Урок 375.
00:06:07
Getting Started with Cookies
-
Урок 376.
00:08:11
Working with Cookies
-
Урок 377.
00:08:56
Getting Started with IndexedDB
-
Урок 378.
00:04:07
Working with IndexedDB
-
Урок 379.
00:00:49
Wrap Up
-
Урок 380.
00:01:30
Module Introduction
-
Урок 381.
00:07:37
What Is "Browser Support" About?
-
Урок 382.
00:08:21
Determining Browser Support For A JavaScript Feature
-
Урок 383.
00:03:30
Determining Required Support
-
Урок 384.
00:09:56
Solution: Feature Detection + Fallback Code
-
Урок 385.
00:03:19
Solution: Using Polyfills
-
Урок 386.
00:12:03
Solution: Transpiling Code
-
Урок 387.
00:11:03
Improvement: Automatically Detect + Add Polyfills
-
Урок 388.
00:00:59
What about Support Outside of Browsers?
-
Урок 389.
00:02:37
Browser Support Outside of JavaScript Files
-
Урок 390.
00:01:19
Wrap Up
-
Урок 391.
00:00:54
Module Introduction
-
Урок 392.
00:03:06
Setting Up the Project
-
Урок 393.
00:04:34
Getting DOM Access
-
Урок 394.
00:06:28
Getting the User Location
-
Урок 395.
00:11:17
Adding Feedback (Showing a Modal)
-
Урок 396.
00:02:39
Hiding the Modal
-
Урок 397.
00:14:17
Rendering a Map with Google Maps
-
Урок 398.
00:08:23
Finding an Address & Getting the Coordinates
-
Урок 399.
00:03:36
Converting User Input to Coordinates
-
Урок 400.
00:08:32
Creating a "Share Place" Link
-
Урок 401.
00:03:37
Copying the Link to the Clipboard
-
Урок 402.
00:06:23
Rendering the "Shared Place" Screen
-
Урок 403.
00:01:07
Module Introduction
-
Урок 404.
00:07:36
What and Why?
-
Урок 405.
00:02:47
The Idea Behind React.js
-
Урок 406.
00:17:39
Analysing a React Project
-
Урок 407.
00:01:36
Wrap Up
-
Урок 408.
00:01:52
Module Introduction
-
Урок 409.
00:08:28
Understanding Symbols
-
Урок 410.
00:05:16
Well-known Symbols
-
Урок 411.
00:05:33
Understanding Iterators
-
Урок 412.
00:11:03
Generators & Iterable Objects
-
Урок 413.
00:03:23
Generators Summary & Built-in Iterables Examples
-
Урок 414.
00:07:11
The Reflect API
-
Урок 415.
00:09:05
The Proxy API and a First "Trap"
-
Урок 416.
00:02:58
Working with Proxy Traps
-
Урок 417.
00:01:38
Wrap Up
-
Урок 418.
00:01:43
Module Introduction
-
Урок 419.
00:02:22
JavaScript is a Hosted Language
-
Урок 420.
00:06:18
Installation & Basics
-
Урок 421.
00:04:40
Understanding Modules & File Access
-
Урок 422.
00:05:47
Working with Incoming Http Requests
-
Урок 423.
00:04:02
Sending Responses (HTML Data)
-
Урок 424.
00:10:54
Parsing Incoming Data
-
Урок 425.
00:02:49
Introducing & Installing Express.js
-
Урок 426.
00:06:35
Express.js: The Basics
-
Урок 427.
00:04:24
Extracting Data
-
Урок 428.
00:06:53
Rendering Server-side HTML with Templates & EJS
-
Урок 429.
00:03:45
Enhancing Our Project
-
Урок 430.
00:12:10
Adding Basic REST Routes
-
Урок 431.
00:05:14
Understanding CORS (Cross Origin Resource Sharing)
-
Урок 432.
00:02:17
Sending the Location ID to the Frontend
-
Урок 433.
00:07:17
Adding the GET Location Route
-
Урок 434.
00:14:45
Introducing MongoDB (Database)
-
Урок 435.
00:01:51
Wrap Up
-
Урок 436.
00:01:36
Module Introduction
-
Урок 437.
00:06:46
Security Hole Overview & Exposing Data in your Code
-
Урок 438.
00:14:40
Cross-Site Scripting Attacks (XSS)
-
Урок 439.
00:05:18
Third-Party Libraries & XSS
-
Урок 440.
00:04:17
CSRF Attacks (Cross Site Request Forgery)
-
Урок 441.
00:02:54
CORS (Cross Origin Resource Sharing)
-
Урок 442.
00:01:32
Wrap Up
-
Урок 443.
00:01:12
Module Introduction
-
Урок 444.
00:07:30
Deployment Steps
-
Урок 445.
00:09:44
Example: Static Host Deployment (no Server-side Code)
-
Урок 446.
00:12:46
Example: Dynamic Page Deployment (with Server-side Code)
-
Урок 447.
00:01:50
Module Introduction
-
Урок 448.
00:06:17
What is "Performance Optimization" About?
-
Урок 449.
00:06:49
Optimization Potentials
-
Урок 450.
00:03:43
Measuring Performance
-
Урок 451.
00:15:31
Diving Into The Browser Devtools (for Performance Measuring)
-
Урок 452.
00:02:14
Further Resources
-
Урок 453.
00:04:04
Preparing The Testing Setup
-
Урок 454.
00:11:52
Optimizing Startup Time & Code Usage / Coverage
-
Урок 455.
00:09:54
Updating The DOM Correctly
-
Урок 456.
00:08:12
Updating Lists Correctly
-
Урок 457.
00:03:59
Optimizing The Small Things
-
Урок 458.
00:08:50
Micro-Optimizations (Think Twice!)
-
Урок 459.
00:09:44
Finding & Fixing Memory Leaks
-
Урок 460.
00:03:27
Wrap Up
-
Урок 461.
00:00:50
Module Introduction
-
Урок 462.
00:07:10
What Is Testing? Why Does It Matter?
-
Урок 463.
00:04:11
Testing Setup
-
Урок 464.
00:11:16
Writing & Running Unit Tests
-
Урок 465.
00:06:04
Writing & Running Integration Tests
-
Урок 466.
00:10:17
Writing & Running e2e Tests
-
Урок 467.
00:10:21
Dealing with Async Code
-
Урок 468.
00:07:52
Working with Mocks
-
Урок 469.
00:00:49
Module Introduction
-
Урок 470.
00:03:02
What are Programming Paradigms?
-
Урок 471.
00:08:54
Procedural Programming in Practice
-
Урок 472.
00:13:21
Object Oriented Programming in Practice
-
Урок 473.
00:13:53
Functional Programming in Practice
-
Урок 474.
00:03:27
Wrap Up
-
Урок 475.
00:02:03
Module Introduction
-
Урок 476.
00:04:23
What are "Data Structures" & "Algorithms"?
-
Урок 477.
00:10:23
A First Example
-
Урок 478.
00:07:27
Solving the Same Problem Differently
-
Урок 479.
00:11:45
Performance & The "Big O" Notation
-
Урок 480.
00:03:37
More Time Complexities & Comparing Algorithms
-
Урок 481.
00:05:24
More on Big O
-
Урок 482.
00:10:16
More Examples
-
Урок 483.
00:12:08
Diving into Data Structures & Time Complexities
-
Урок 484.
00:03:24
Where to Learn More & Wrap Up
-
Урок 485.
00:01:12
Module Introduction
-
Урок 486.
00:04:59
What is TypeScript and Why would you use it?
-
Урок 487.
00:10:06
Working with Types
-
Урок 488.
00:17:27
Core Types & Diving Deeper
-
Урок 489.
00:09:23
Object Types, Array Types & Function Types
-
Урок 490.
00:09:21
Advanced Types (Literal Types, Union Types, Enums)
-
Урок 491.
00:12:03
Classes & Interfaces
-
Урок 492.
00:05:03
Generic Types
-
Урок 493.
00:05:12
Configuring the TypeScript Compiler
-
Урок 494.
00:02:02
Module Introduction
-
Урок 495.
00:06:31
Web Components in Action
-
Урок 496.
00:03:23
What are Web Components?
-
Урок 497.
00:02:45
Why Web Components?
-
Урок 498.
00:04:57
Getting Started!
-
Урок 499.
00:02:45
Web Component Browser Support
-
Урок 500.
00:03:54
Our Development Setup
-
Урок 501.
00:08:19
A First Custom Element
-
Урок 502.
00:05:05
Interacting with the Surrounding DOM
-
Урок 503.
00:02:52
Understanding the Custom Element Lifecycle
-
Урок 504.
00:02:06
Using "connectedCallback" for DOM Access
-
Урок 505.
00:09:14
Listening to Events Inside the Component
-
Урок 506.
00:04:46
Using Attributes on Custom Elements
-
Урок 507.
00:04:09
Styling our Elements
-
Урок 508.
00:05:01
Working with the "Shadow DOM"
-
Урок 509.
00:05:42
Adding an HTML Template
-
Урок 510.
00:01:51
Using Slots
-
Урок 511.
00:03:22
Defining the Template in JavaScript
-
Урок 512.
00:02:41
Using Style Tags in the Shadow DOM
-
Урок 513.
00:07:34
Extending Built-in Elements
-
Урок 514.
00:00:50
The Next Steps
-
Урок 515.
00:02:27
Understanding Shadow DOM Projection
-
Урок 516.
00:03:46
Styling "slot" Content Outside of the Shadow DOM
-
Урок 517.
00:03:11
Styling "slot" Content Inside of the Shadow DOM
-
Урок 518.
00:04:43
Styling the Host Component
-
Урок 519.
00:02:50
Conditional Host Styling
-
Урок 520.
00:02:29
Styling with the Host Content in Mind
-
Урок 521.
00:06:21
Smart Dynamic Styling with CSS Variables
-
Урок 522.
00:03:23
Cleaning Up the Overall Styling
-
Урок 523.
00:06:18
Observing Attribute Changes
-
Урок 524.
00:02:35
Adjusting the Component Behavior Upon Attribute Changes
-
Урок 525.
00:06:11
Using "disconnectedCallback"
-
Урок 526.
00:06:14
Adding a render() Method
-
Урок 527.
00:00:53
The Next Steps
-
Урок 528.
00:06:34
Creating the Basic Modal Component
-
Урок 529.
00:02:31
Adding the Modal Container
-
Урок 530.
00:05:36
Styling the Modal Elements
-
Урок 531.
00:03:50
Adding Some General App Logic
-
Урок 532.
00:05:24
Opening the Modal via CSS
-
Урок 533.
00:06:38
Public Methods & Properties
-
Урок 534.
00:05:46
Understanding Named Slots
-
Урок 535.
00:05:11
Listening to Slot Content Changes
-
Урок 536.
00:06:58
Closing the Modal
-
Урок 537.
00:03:41
Dispatching Custom Events
-
Урок 538.
00:04:54
Configuring Custom Events
-
Урок 539.
00:04:52
Finishing it up!
-
Урок 540.
00:06:10
Congratulations!
Last updated 11/2020