Урок 1.00:01:05
How to Get Help
Урок 2.00:06:20
Typescript Overview
Урок 3.00:08:00
Environment Setup
Урок 4.00:04:44
A First App
Урок 5.00:05:04
Executing Typescript Code
Урок 6.00:03:36
One Quick Change
Урок 7.00:07:23
Catching Errors with Typescript
Урок 8.00:05:16
Catching More Errors!
Урок 9.00:03:37
Do Not Skip - Course Overview
Урок 10.00:05:13
Types
Урок 11.00:05:54
More on Types
Урок 12.00:04:50
Examples of Types
Урок 13.00:00:50
Where Do We Use Types?
Урок 14.00:02:04
Type Annotations and Inference
Урок 15.00:04:54
Annotations with Variables
Урок 16.00:06:54
Object Literal Annotations
Урок 17.00:05:57
Annotations Around Functions
Урок 18.00:03:52
Understanding Inference
Урок 19.00:07:48
The 'Any' Type
Урок 20.00:01:50
Fixing the 'Any' Type
Урок 21.00:03:06
Delayed Initialization
Урок 22.00:04:38
When Inference Doesn't Work
Урок 23.00:04:57
More on Annotations Around Functions
Урок 24.00:06:09
Inference Around Functions
Урок 25.00:01:43
Annotations for Anonymous Functions
Урок 26.00:02:50
Void and Never
Урок 27.00:03:36
Destructuring with Annotations
Урок 28.00:07:06
Annotations Around Objects
Урок 29.00:05:06
Arrays in Typescript
Урок 30.00:04:31
Why Typed Arrays?
Урок 31.00:02:58
Multiple Types in Arrays
Урок 32.00:00:55
When to Use Typed Arrays
Урок 33.00:04:06
Tuples in Typescript
Урок 34.00:05:29
Tuples in Action
Урок 35.00:03:21
Why Tuples?
Урок 36.00:01:27
Interfaces
Урок 37.00:04:43
Long Type Annotations
Урок 38.00:04:37
Fixing Long Annotations with Interfaces
Урок 39.00:03:32
Syntax Around Interfaces
Урок 40.00:04:47
Functions in Interfaces
Урок 41.00:04:16
Code Reuse with Interfaces
Урок 42.00:03:13
General Plan with Interfaces
Урок 43.00:03:48
Classes
Урок 44.00:03:04
Basic Inheritance
Урок 45.00:06:42
Instance Method Modifiers
Урок 46.00:06:19
Fields in Classes
Урок 47.00:04:19
Fields with Inheritance
Урок 48.00:01:11
Where to Use Classes
Урок 49.00:02:46
App Overview
Урок 50.00:04:55
Bundling with Parcel
Урок 51.00:03:20
Project Structure
Урок 52.00:05:30
Generating Random Data
Урок 53.00:05:18
Type Definition Files
Урок 54.00:06:21
Using Type Definition Files
Урок 55.00:05:07
Export Statements in Typescript
Урок 56.00:04:44
Defining a Company
Урок 57.00:07:39
Adding Google Maps Support
Урок 58.00:04:07
Google Maps Integration
Урок 59.00:12:47
Exploring Type Definition Files
Урок 60.00:06:29
Hiding Functionality
Урок 61.00:08:26
Why Use Private Modifiers? Here's Why
Урок 62.00:09:19
Adding Markers
Урок 63.00:02:46
Duplicate Code
Урок 64.00:06:39
One Possible Solution
Урок 65.00:05:36
Restricting Access with Interfaces
Урок 66.00:03:27
Implicit Type Checks
Урок 67.00:06:48
Showing Popup Windows
Урок 68.00:07:12
Updating Interface Definitions
Урок 69.00:06:07
Optional Implements Clauses
Урок 70.00:08:09
App Wrapup
Урок 71.00:01:35
App Overview
Урок 72.00:07:41
Configuring the TS Compiler
Урок 73.00:05:06
Concurrent Compilation and Execution
Урок 74.00:04:48
A Simple Sorting Algorithm
Урок 75.00:03:11
Sorter Scaffolding
Урок 76.00:05:18
Sorting Implementation
Урок 77.00:07:38
Two Huge Issues
Урок 78.00:09:35
Typescript is Really Smart
Урок 79.00:09:15
Type Guards
Урок 80.00:02:23
Why is This Bad?
Урок 81.00:07:30
Extracting Key Logic
Урок 82.00:13:59
Separating Swapping and Comparison
Урок 83.00:04:39
The Big Reveal
Урок 84.00:04:49
Interface Definition
Урок 85.00:11:09
Sorting Arbitrary Collections
Урок 86.00:24:16
Linked List Implementation
Урок 87.00:04:04
Just...One...More...Fix...
Урок 88.00:02:45
Integrating the Sort Method
Урок 89.00:06:55
Issues with Inheritance
Урок 90.00:06:26
Abstract Classes
Урок 91.00:04:31
Why Use Abstract Classes?
Урок 92.00:04:01
Solving All Issues with Abstract Classes
Урок 93.00:03:24
Interfaces vs Abstract Classes
Урок 94.00:01:46
Project Overview
Урок 95.00:05:58
Project Setup
Урок 96.00:06:46
Type Definition Files - Again!
Урок 97.00:05:06
Reading CSV Files
Урок 98.00:04:23
Running an Analysis
Урок 99.00:05:13
Losing Dataset Context
Урок 100.00:06:20
Using Enums
Урок 101.00:07:05
When to Use Enums
Урок 102.00:08:51
Extracting CSV Reading
Урок 103.00:02:34
Data Types
Урок 104.00:05:03
Converting Date Strings to Dates
Урок 105.00:03:38
Converting Row Values
Урок 106.00:03:58
Type Assertions
Урок 107.00:07:29
Describing a Row with a Tuple
Урок 108.00:03:15
Not Done with FileReader Yet!
Урок 109.00:04:36
Understanding Refactor #1
Урок 110.00:04:22
Creating Abstract Classes
Урок 111.00:11:29
Variable Types with Generics
Урок 112.00:04:12
Applying a Type to a Generic Class
Урок 113.00:04:21
Alternate Refactor
Урок 114.00:02:05
Interface-Based Approach
Урок 115.00:02:34
Extracting Match References - Again!
Урок 116.00:02:37
Transforming Data
Урок 117.00:03:40
Updating Reader References
Урок 118.00:03:21
Inheritance vs Composition
Урок 119.00:07:23
More on Inheritance vs Composition
Урок 120.00:14:57
A Huge Misconception Around Composition
Урок 121.00:05:17
Goal Moving Forward
Урок 122.00:06:27
A Composition-Based Approach
Урок 123.00:07:25
Implementing an Analyzer Class
Урок 124.00:05:27
Building the Reporter
Урок 125.00:03:36
Putting It All Together
Урок 126.00:05:10
Generating HTML Reports
Урок 127.00:05:35
One Last Thing!
Урок 128.00:03:15
Oops, My Bad
Урок 129.00:03:34
App Wrapup
Урок 130.00:05:05
More on Generics
Урок 131.00:02:50
Type Inference with Generics
Урок 132.00:06:06
Function Generics
Урок 133.00:05:51
Generic Constraints
Урок 134.00:02:46
App Overview
Урок 135.00:02:43
Parcel Setup
Урок 136.00:08:06
Framework Structure
Урок 137.00:02:49
Designing the User
Урок 138.00:06:00
Retrieving User Properties
Урок 139.00:06:38
Optional Interface Properties
Урок 140.00:02:45
An Eventing System
Урок 141.00:04:24
Listener Support
Урок 142.00:05:25
Storing Event Listeners
Урок 143.00:05:28
Dynamic Array Creation
Урок 144.00:03:58
Triggering Event Callbacks
Урок 145.00:07:15
Adding JSON Server
Урок 146.00:08:53
Understanding REST Conventions
Урок 147.00:05:13
Adding Fetch Functionality
Урок 148.00:04:51
Successfully Fetching Model Data
Урок 149.00:08:58
Saving User Data
Урок 150.00:03:49
Refactoring with Composition
Урок 151.00:12:50
Re-Integrating Eventing
Урок 152.00:02:46
Composition with Nested Objects
Урок 153.00:02:49
A More Complicated Extraction
Урок 154.00:09:33
Options for Adapting Sync
Урок 155.00:10:42
Refactoring Sync
Урок 156.00:03:31
Generic Constraints Around Sync
Урок 157.00:04:31
Connecting Sync Back to User
Урок 158.00:07:01
Optional Properties
Урок 159.00:03:13
Extracting an Attributes Class
Урок 160.00:06:19
The Get Method's Shortcoming
Урок 161.00:07:07
Two Important Rules
Урок 162.00:09:37
An Advanced Generic Constraint
Урок 163.00:03:19
Re-Integrating Attributes
Урок 164.00:04:40
Composition is Delegation
Урок 165.00:05:08
Reminder on Accessors
Урок 166.00:06:56
Passthrough Methods
Урок 167.00:08:38
A Context Issue
Урок 168.00:03:23
Setting Data While Triggering
Урок 169.00:06:27
Fetching User Data
Урок 170.00:05:39
Saving Data
Урок 171.00:09:03
Composition vs Inheritance...Again!
Урок 172.00:07:30
Extracting a Model Class
Урок 173.00:05:25
Extending the User
Урок 174.00:03:49
Final User Refactor
Урок 175.00:03:39
Model Wrapup
Урок 176.00:05:40
Shortened Passthrough Methods
Урок 177.00:03:27
Users Collection
Урок 178.00:03:02
Implementing a Users Collection
Урок 179.00:07:13
Parsing User JSON
Урок 180.00:06:23
Generic User Collection
Урок 181.00:02:15
A Class Method for Collections
Урок 182.00:04:04
View Classes
Урок 183.00:04:46
Building the UserForm
Урок 184.00:03:04
The UserForm's Render Method
Урок 185.00:02:07
Rendering HTML
Урок 186.00:06:14
Defining an Events Map
Урок 187.00:07:07
Binding Event Handlers
Урок 188.00:04:16
Adding Model Properties
Урок 189.00:05:09
Binding Events on Class Name
Урок 190.00:04:31
Adding Methods to the User
Урок 191.00:04:57
Re-Rendering on Model Change
Урок 192.00:04:40
Reading Input Text
Урок 193.00:06:13
Strict Null Checks
Урок 194.00:12:26
Reusable View Logic
Урок 195.00:04:11
Extracting a View Class
Урок 196.00:12:16
Extending with Generic Constraints
Урок 197.00:03:58
Saving Data From a View
Урок 198.00:06:13
UserEdit and UserShow
Урок 199.00:04:49
Nesting with Regions
Урок 200.00:05:41
Mapping Regions
Урок 201.00:04:02
Testing Region Mapping
Урок 202.00:06:54
View Nesting
Урок 203.00:02:21
Collection Views
Урок 204.00:16:53
CollectionView Implementation
Урок 205.00:03:36
App Wrapup
Урок 206.00:05:35
Typescript with JS Libraries
Урок 207.00:03:20
App Overview
Урок 208.00:03:32
Project Setup
Урок 209.00:06:32
Basic Routes with Express
Урок 210.00:03:47
Using an Express Router
Урок 211.00:05:56
Parsing Form Bodies
Урок 212.00:13:56
Why Doesn't Express Play Nicely with TS?
Урок 213.00:10:17
Issues with Type Definition Files
Урок 214.00:06:29
Dealing with Poor Type Defs
Урок 215.00:08:37
Wiring Up Sessions
Урок 216.00:03:20
Checking Login Status
Урок 217.00:01:10
Logging Out
Урок 218.00:04:52
Protecting Routes
Урок 219.00:06:34
A Closer Integration
Урок 220.00:03:15
The Refactoring Process
Урок 221.00:08:44
Prototypes Reminder
Урок 222.00:06:49
Decorators in Typescript
Урок 223.00:07:41
Details on Decorators
Урок 224.00:06:12
Property Descriptors
Урок 225.00:02:08
Wrapping Methods with Descriptors
Урок 226.00:02:47
Decorator Factories
Урок 227.00:03:58
Decorators Around Properties
Урок 228.00:07:33
More on Decorators
Урок 229.00:00:59
A Quick Disclaimer
Урок 230.00:08:18
Project Overview
Урок 231.00:07:07
Why is This Hard?
Урок 232.00:05:52
Solution Overview
Урок 233.00:08:47
Basics of Metadata
Урок 234.00:11:09
Practical Metadata
Урок 235.00:04:52
Let's Refactor!
Урок 236.00:04:26
The 'Get' Decorator
Урок 237.00:04:21
The Controller Decorator
Урок 238.00:05:13
Proof of Concept
Урок 239.00:08:10
A Few Fixups
Урок 240.00:05:05
Defining a RouteBinder
Урок 241.00:07:39
Closed Method Sets with Enums
Урок 242.00:03:44
Metadata Keys
Урок 243.00:08:02
The 'Use' Decorator
Урок 244.00:03:23
Testing Use
Урок 245.00:05:56
Body Validators
Урок 246.00:03:26
Automated Validation
Урок 247.00:05:37
Testing Automated Validation
Урок 248.00:06:04
Fixing Routes
Урок 249.00:05:19
Using Property Descriptors for Type Checking
Урок 250.00:01:23
App Wrapup
Урок 251.00:06:06
React and Redux Overview
Урок 252.00:02:07
App Overview
Урок 253.00:01:08
Generating the App
Урок 254.00:03:36
Simple Components
Урок 255.00:03:26
Interfaces with Props
Урок 256.00:02:31
Handling Component State
Урок 257.00:10:41
Confusing Component State!
Урок 258.00:03:16
Functional Components
Урок 259.00:07:32
Redux Setup
Урок 260.00:06:46
Action Creators with Typescript
Урок 261.00:04:52
Action Types Enum
Урок 262.00:04:49
The Generic Dispatch Function
Урок 263.00:06:47
A Reducer with Enums
Урок 264.00:05:07
Validating Store Structure
Урок 265.00:06:11
Connecting a Component to Redux
Урок 266.00:04:37
Rendering a List
Урок 267.00:02:55
Adding in Delete Functionality
Урок 268.00:03:22
Breaking Out Action Creators
Урок 269.00:04:08
Expressing Actions as Type Union
Урок 270.00:02:49
Type Guards in Reducers
Урок 271.00:03:02
Again, Type Definition Files
Урок 272.00:04:07
Tracking Loading with Component State
Урок 273.00:03:39
App Wrapup
Урок 274.00:01:23
Generating TypeScript Enabled Projects
Урок 275.00:04:35
File Extensions and Starting Up React
Урок 276.00:02:34
Changes with TypeScript
Урок 277.00:03:55
The Big Difference with Props
Урок 278.00:05:51
Explicit Component Type Annotations
Урок 279.00:05:48
Annotations with Children
Урок 280.00:04:42
State with TypeScript
Урок 281.00:05:42
Type Inference with State
Урок 282.00:00:56
Quick Finish to the Example
Урок 283.00:04:20
More on State
Урок 284.00:05:42
Type Unions in State
Урок 285.00:03:19
Inline Event Handlers
Урок 286.00:02:41
Typing Standalone Event Handlers
Урок 287.00:03:45
Handling Drag Events Too!
Урок 288.00:05:36
Applying Types to Refs
Урок 289.00:04:31
More on Refs
Урок 290.00:02:05
App Overview
Урок 291.00:01:50
Project Setup
Урок 292.00:08:54
Redux Store Design
Урок 293.00:08:17
Reducer Setup
Урок 294.00:01:27
Annotating the Return Type
Урок 295.00:01:55
Typing an Action
Урок 296.00:04:22
Separate Interfaces for Actions
Урок 297.00:04:23
Applying Action Interfaces
Урок 298.00:05:42
Adding an Action Type Enum
Урок 299.00:03:38
A Better Way to Organize Code
Урок 300.00:04:28
Adding Action Creators
Урок 301.00:03:16
Adding Request Logic
Урок 302.00:02:47
Applying Typings to Dispatch
Урок 303.00:04:20
Setting Up Exports
Урок 304.00:03:25
Wiring Up to React
Урок 305.00:01:04
Oops... Initial State!
Урок 306.00:03:01
Reminder on Event Types
Урок 307.00:03:06
Calling an Action Creator
Урок 308.00:04:22
Binding Action Creators
Урок 309.00:04:17
Selecting State
Урок 310.00:04:47
Awkward Typings Around React-Redux
Урок 311.00:04:01
Creating a Typed Selector
Урок 312.00:03:03
Consuming Store State
Урок 313.00:03:19
Quick Wrapup - Final Lecture
https://www.udemy.com/course/typescript-the-complete-developers-guide/
for example:
https://github.com/DanteDX/TSGround/tree/654c18e1670f9a0c7784d5c6573e2eda554798fe