Skip to content

clarklindev/typescript-stephengrider-typescript-complete-developers-guide

Repository files navigation

Typescript - Stephen grider - Typescript complete developers guide

NOTE: Section 01 to Section 09 - Basics of Typescript


Table of contents

Section 01 to Section 09 - basics of typescript

Section 10 - Section 21


Section 01 - getting started with typescript

  1. How to Get Help (1min)
  2. Join Our Community! (1min)
  3. Course Resources (1min)
  4. Typescript Overview (6min)
  5. Environment Setup (8min)
  6. Important Axios and TypeScript Version Information (1min)
  7. A First App (5min)
  8. Executing Typescript Code (5min)
  9. One Quick Change (4min)
  10. Catching Errors with Typescript (7min)
  11. Catching More Errors! (5min)

Section 02 - What is a type system

  1. Do Not Skip - Course Overview (4min)
  2. Types (5min)
  3. More on Types (6min)
  4. Examples of Types (5min)
  5. Where Do We Use Types? (1min)

Section 03 - Type annotations in action

  1. Type Annotations and Inference (2min)
  2. Annotations with Variables (5min)
  3. Object Literal Annotations (7min)
  4. Annotations Around Functions (6min)
  5. Understanding Inference (4min)
  6. The 'Any' Type (8min)
  7. Fixing the 'Any' Type (2min)
  8. Delayed Initialization (3min)
  9. When Inference Doesn't Work (5min)

Section 04 - Annotations with functions and objects

  1. More on Annotations Around Functions (5min)
  2. Inference Around Functions (6min)
  3. Annotations for Anonymous Functions (2min)
  4. Void and Never (3min)
  5. Destructuring with Annotations (4min)
  6. Annotations Around Objects (7min)

Section 05 - Mastering Typed Arrays

  1. Arrays in Typescript (5min)
  2. Why Typed Arrays? (5min)
  3. Multiple Types in Arrays (3min)
  4. When to Use Typed Arrays (1min)

Section 06 - Tuples in Typescript

  1. Tuples in Typescript (4min)
  2. Tuples in Action (5min)
  3. Why Tuples? (3min)

Section 07 - The all important interface

  1. Interfaces (1min)
  2. Long Type Annotations (5min)
  3. Fixing Long Annotations with Interfaces (5min)
  4. Syntax Around Interfaces (4min)
  5. Functions in Interfaces (5min)
  6. Code Reuse with Interfaces (4min)
  7. General Plan with Interfaces (3min)

Section 08 - Building functionality with classes

  1. Classes (4min)
  2. Basic Inheritance (3min)
  3. Instance Method Modifiers (7min)
  4. Fields in Classes (6min)
  5. Fields with Inheritance (4min)
  6. Where to Use Classes (1min)

Section 09 - Design Patterns with Typescript

  1. Updated Parcel Instructions (1min)
  2. App Overview (3min)
  3. Bundling with Parcel (5min)
  4. Project Structure (3min)
  5. IMPORTANT Info About Faker Installation (1min)
  6. Generating Random Data (5min)
  7. Type Definition Files (5min)
  8. Using Type Definition Files (6min)
  9. Export Statements in Typescript (5min)
  10. Defining a Company (5min)
  11. Note on Generating an API Key (1min)
  12. Adding Google Maps Support (8min)
  13. Required Update for New @types Library (1min)
  14. Google Maps Integration (4min)
  15. Exploring Type Definition Files (3min)
  16. Hiding Functionality (6min)
  17. Why Use Private Modifiers? Here's Why (8min)
  18. Adding Markers (9min)
  19. Duplicate Code (3min)
  20. One Possible Solution (7min)
  21. Restricting Access with Interfaces (6min)
  22. Implicit Type Checks (3min)
  23. Showing Popup Windows (7min)
  24. Updating Interface Definitions (7min)
  25. Optional Implements Clauses (6min)
  26. App Wrapup (8min)

Section 10 - More design patterns

  1. App Overview (2min)
  2. Configuring the TS Compiler (8min)
  3. Concurrent Compilation and Execution (5min)
  4. A Simple Sorting Algorithm (5min)
  5. Sorter Scaffolding (3min)
  6. Sorting Implementation (5min)
  7. Two Huge Issues (8min)
  8. Typescript is Really Smart (10min)
  9. Type Guards (9min)
  10. Why is This Bad? (2min)
  11. Extracting Key Logic (7min)
  12. Separating Swapping and Comparison (14min)
  13. The Big Reveal (5min)
  14. Interface Definition (5min)
  15. Sorting Arbitrary Collections (11min)
  16. Linked List Implementation (24min)
  17. Completed Linked List Code (1min)
  18. Just...One...More...Fix... (4min)
  19. Integrating the Sort Method (3min)
  20. Issues with Inheritance (7min)
  21. Abstract Classes (6min)
  22. Why Use Abstract Classes? (5min)
  23. Solving All Issues with Abstract Classes (4min)
  24. Interfaces vs Abstract Classes (3min)

Section 11 - Reusable code

  1. Project Overview (2min)
  2. Project Setup (6min)
  3. CSV Data (1min)
  4. Type Definition Files - Again! (7min)
  5. Reading CSV Files (5min)
  6. Running an Analysis (4min)
  7. Losing Dataset Context (5min)
  8. Using Enums (6min)
  9. When to Use Enums (7min)
  10. Extracting CSV Reading (9min)
  11. Data Types (3min)
  12. Converting Date Strings to Dates (5min)
  13. Converting Row Values (4min)
  14. Type Assertions (4min)
  15. Describing a Row with a Tuple (7min)
  16. Not Done with FileReader Yet! (3min)
  17. Understanding Refactor #1 (5min)
  18. Creating Abstract Classes (4min)
  19. Variable Types with Generics (1min)
  20. Applying a Type to a Generic Class (4min)
  21. Alternate Refactor (4min)
  22. Interface-Based Approach (2min)
  23. Extracting Match References - Again! (3min)
  24. Transforming Data (3min)
  25. Updating Reader References (4min)
  26. Inheritance vs Composition (3min)
  27. More on Inheritance vs Composition (7min)
  28. A Huge Misconception Around Composition (5min)
  29. Goal Moving Forward (5min)
  30. A Composition-Based Approach (6min)
  31. Implementing an Analyzer Class (7min)
  32. Building the Reporter (5min)
  33. Putting It All Together (4min)
  34. Generating HTML Reports (5min)
  35. One Last Thing! (6min)
  36. Oops, My Bad (3min)
  37. App Wrapup (4min)

Section 12 - Advanced (Generics)

  1. More on Generics (5min)
  2. Type Inference with Generics (3min)
  3. Function Generics (6min)
  4. Generic Constraints (6min)

Section 13 - Lets build a framework

  1. App Overview (3min)
  2. Reminder on Using Parcel with npx (1min)
  3. Parcel Setup (3min)
  4. Framework Structure (8min)
  5. Designing the User (3min)
  6. Retrieving User Properties (6min)
  7. Optional Interface Properties (7min)
  8. An Eventing System (3min)
  9. Listener Support (4min)
  10. Storing Event Listeners (5min)
  11. Dynamic Array Creation (5min)
  12. Triggering Event Callbacks (4min)
  13. Small Update for JSON server and Parcel Start Script (1min)
  14. Adding JSON Server (7min)
  15. Understanding REST Conventions (9min)
  16. Adding Fetch Functionality (5min)
  17. Successfully Fetching Model Data (5min)
  18. Saving User Data (9min)
  19. Refactoring with Composition (4min)
  20. Re-Integrating Eventing (13min)
  21. Composition with Nested Objects (3min)
  22. A More Complicated Extraction (3min)
  23. Options for Adapting Sync (10min)
  24. Refactoring Sync (11min)
  25. Generic Constraints Around Sync (4min)
  26. Connecting Sync Back to User (4min)
  27. Optional Properties (7min)
  28. No overload matches this call - this.data (1min)
  29. Extracting an Attributes Class (3min)
  30. The Get Method's Shortcoming (6min)
  31. Two Important Rules (7min)
  32. An Advanced Generic Constraint (10min)
  33. Re-Integrating Attributes (3min)
  34. Composition is Delegation (5min)
  35. Reminder on Accessors (5min)
  36. Passthrough Methods (7min)
  37. A Context Issue (9min)
  38. Setting Data While Triggering (3min)
  39. Fetching User Data (6min)
  40. Saving Data (6min)
  41. Composition vs Inheritance...Again! (9min)
  42. Extracting a Model Class (7min)
  43. Extending the User (5min)
  44. Final User Refactor (4min)
  45. Model Wrapup (4min)
  46. Shortened Passthrough Methods (6min)
  47. Users Collection (3min)
  48. Implementing a Users Collection (3min)
  49. Parsing User JSON (7min)
  50. Generic User Collection (6min)
  51. A Class Method for Collections (2min)
  52. View Classes (4min)
  53. Building the UserForm (5min)
  54. The UserForm's Render Method (3min)
  55. Rendering HTML (2min)
  56. Defining an Events Map (6min)
  57. Binding Event Handlers (7min)
  58. Adding Model Properties (4min)
  59. Binding Events on Class Name (5min)
  60. Adding Methods to the User (5min)
  61. Re-Rendering on Model Change (5min)
  62. Reading Input Text (5min)
  63. Strict Null Checks (6min)
  64. Reusable View Logic (12min)
  65. Extracting a View Class (4min)
  66. Type 'K' does not satisfy the constraint 'HasId'.ts (1min)
  67. Extending with Generic Constraints (12min)
  68. Saving Data From a View (4min)
  69. UserEdit and UserShow (6min)
  70. Nesting with Regions (5min)
  71. Mapping Regions (6min)
  72. Testing Region Mapping (4min)
  73. View Nesting (7min)
  74. Collection Views (2min)
  75. CollectionView Implementation (17min)
  76. App Wrapup (4min)

Section 14 - Express+Typescript Integration

  1. Typescript with JS Libraries (6min)
  2. App Overview (3min)
  3. Project Setup (4min)
  4. Basic Routes with Express (7min)
  5. Using an Express Router (4min)
  6. Parsing Form Bodies (6min)
  7. Why Doesn't Express play Nicely with TS? (14min)
  8. Issues with Type Definition Files (10min)
  9. Dealing with Poor Type Defs (6min)
  10. Wiring Up Sessions (9min)
  11. Checking Login Status (3min)
  12. Logging Out (1min)
  13. Protecting Routes (5min)
  14. A Closer Integration (7min)
  15. The Refactoring Process (3min)
  16. Prototypes Reminder (9min)

Section 15 - decorators

  1. Note about target environment in tsconfig (1min)
  2. Decorators in Typescript (7min)
  3. Details on Decorators (8min)
  4. Property Descriptors (6min)
  5. Wrapping Methods with Descriptors (2min)
  6. Decorator Factories (3min)
  7. Decorators Around Properties (4min)
  8. More on Decorators (8min)

Section 16 - Advanced Express and TS Integration

  1. A Quick Disclaimer (1min)
  2. Project Overview (8min)
  3. Why is This Hard? (7min)
  4. Solution Overview (6min)
  5. Note about target environment in tsconfig (1min)
  6. Basics of Metadata (9min)
  7. Practical Metadata (11min)
  8. Let's Refactor! (5min)
  9. The 'Get' Decorator (4min)
  10. ES2016 Fix for Controller Decorator (1min)
  11. The Controller Decorator (4min)
  12. Proof of Concept (5min)
  13. A Few Fixups (8min)
  14. Defining a RouteBinder (5min)
  15. Closed Method Sets with Enums (8min)
  16. Metadata Keys (4min)
  17. The 'Use' Decorator (8min)
  18. Testing Use (3min)
  19. Body Validators (6min)
  20. Automated Validation (3min)
  21. Testing Automated Validation (6min)
  22. Fixing Routes (6min)
  23. Using Property Descriptors for Type Checking (5min)
  24. App Wrapup (1min)

Section 17 - React and Redux class components with Typescript

  1. React and Redux Overview (6min)
  2. App Overview (2min)
  3. Generating the App (1min)
  4. ReactDOM warning with React v18 (1min)
  5. Simple Components (4min)
  6. Interfaces with Props (3min)
  7. Handling Component State (3min)
  8. Confusing Component State! (11min)
  9. Functional Components (3min)
  10. createStore Strikethrough in Code Editor (1min)
  11. Redux Setup (8min)
  12. Action Creators with Typescript (7min)
  13. Action Types Enum (5min)
  14. The Generic Dispatch Function (5min)
  15. A Reducer with Enums (7min)
  16. Validating Store Structure (5min)
  17. Connecting a Component to Redux (6min)
  18. Rendering a List (5min)
  19. Adding in Delete Functionality (3min)
  20. Breaking Out Action Creators (3min)
  21. Expressing Actions as Type Union (4min)
  22. Type Guards in Reducers (3min)
  23. Wiring up deleteToDo Action (1min)
  24. Again, Type Definition Files (3min)
  25. Tracking Loading with Component State (4min)
  26. App Wrapup (4min)

Section 18 - React Functional Components with Typescript

  1. Generating TypeScript Enabled Projects (1min)
  2. ReactDOM warning with React v18 (1min)
  3. File Extensions and starting Up React (5min)
  4. Changes with TypeScript (3min)
  5. The Big Difference with Props (4min)
  6. Explicit Component Type Annotations (6min)
  7. Property 'children' does not exist (1min)
  8. Annotations with Children (6min)
  9. State with TypeScript (5min)
  10. Type Inference with State (6min)
  11. Quick Finish to the Example (1min)
  12. More on State (4min)
  13. Type Unions in State (6min)
  14. Inline Event Handlers (3min)
  15. Typing Standalone Event Handlers (3min)
  16. Handling Drag Events Too! (4min)
  17. Applying Types to Refs (6min)
  18. More on Refs (4min)

Section 19 - Redux with Functional Components and Typescript

  1. App Overview (2min)
  2. Updated Install Command and Versions for React 18 (1min)
  3. Project Setup (2min)
  4. Redux Store Design (9min)
  5. Reducer Setup (8min)
  6. Annotating the Return Type (1min)
  7. Typing an Action (2min)
  8. Separate Interfaces for Actions (4min)
  9. Applying Action Interfaces (4min)
  10. Adding an Action Type Enum (6min)
  11. A Better Way to Organize Code (4min)
  12. Small Update for Try / Catch Block (1min)
  13. Adding Action Creators (4min)
  14. Adding Request Logic (3min)
  15. Applying Typings to Dispatch (3min)
  16. createStore Strikethrough in Code Editor (1min)
  17. Setting Up Exports (4min)
  18. Wiring Up to React (3min)
  19. Oops... Initial State! (1min)
  20. Reminder on Event Types (3min)
  21. TypeScript Error When Dispatching Action (1min)
  22. Calling an Action Creator (3min)
  23. Binding Action Creators (4min)
  24. Selecting State (4min)
  25. Awkward Typings Around React-Redux (5min)
  26. Creating a Typed Selector (4min)
  27. Consuming Store State (3min)
  28. Quick Wrapup - Final Lecture (3min)

Section 20 - Extras

About

Typescript - The complete developers guide

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published