-
Урок 1.
00:04:00
01. Intro to Full Stack Foundations Workshop
-
Урок 2.
00:02:44
02. Intro to Styling
-
Урок 3.
00:01:46
03. Manage Asset Links in a Remix Application
-
Урок 4.
00:03:07
04. Using Remix's Links Component
-
Урок 5.
00:04:16
05. Asset Import Caching Issue
-
Урок 6.
00:03:55
06. Caching the Favicon
-
Урок 7.
00:00:50
07. Add Custom Fonts to the Global CSS
-
Урок 8.
00:02:35
08. Adding Global Styles to a Remix App
-
Урок 9.
00:01:38
09. Using PostCSS and Tailwind CSS in Remix
-
Урок 10.
00:05:18
10. PostCSS and Tailwind CSS Configuration
-
Урок 11.
00:01:40
11. Bundling CSS in Remix
-
Урок 12.
00:06:13
12. Configure CSS Bundling
-
Урок 13.
00:00:19
13. Dad Joke Break
-
Урок 14.
00:08:45
14. Intro to Routing
-
Урок 15.
00:01:40
15. Routing in Remix
-
Урок 16.
00:08:24
16. Creating User Profile and Notes Pages with Remix Routes
-
Урок 17.
00:00:51
17. Adding Navigation Links
-
Урок 18.
00:05:34
18. Adding Absolute and Relative Links
-
Урок 19.
00:00:56
19. Adding Dynamic Parameter Support
-
Урок 20.
00:03:58
20. Access Params with useParams
-
Урок 21.
00:02:48
21. Adding a Resource Route
-
Урок 22.
00:06:41
22. Example Resource Route Usage
-
Урок 23.
00:00:33
23. Dad Joke Break_2
-
Урок 24.
00:03:41
24. Intro to Loading
-
Урок 25.
00:01:37
25. Loading Data to Your Database
-
Урок 26.
00:11:31
26. Efficient Data Loading in a Remix App
-
Урок 27.
00:01:17
27. Handling Error Messages
-
Урок 28.
00:05:36
28. Handling Error Responses with Remix
-
Урок 29.
00:00:30
29. Dad Joke Break Loading
-
Урок 30.
00:07:43
30. Intro to Mutations
-
Урок 31.
00:00:53
31. Building Forms
-
Урок 32.
00:03:53
32. Creating Form Components with Remix
-
Урок 33.
00:01:04
33. Handling POST Requests for Form Submission
-
Урок 34.
00:06:26
34. Handling Form Submissions and Mutations
-
Урок 35.
00:01:30
35. Handling Form Errors and User Mistakes
-
Урок 36.
00:04:26
36. Form Data Types and Validation
-
Урок 37.
00:01:04
37. Button Forms Data
-
Урок 38.
00:03:34
38. Form Submissions and Mutations
-
Урок 39.
00:01:01
39. Handling Multiple Actions in a Single Action Function
-
Урок 40.
00:04:00
40. Leveraging Name and Value in Buttons for Multiple Form Submissions
-
Урок 41.
00:00:17
41. Dad Joke Break Mutations
-
Урок 42.
00:05:28
42. Intro to Scripting
-
Урок 43.
00:02:25
43. JavaScript in Remix- From Optional to Essential
-
Урок 44.
00:05:37
44. Improving User Experience with Client-Side JavaScript
-
Урок 45.
00:01:29
45. Page Navigation with Scroll Behavior
-
Урок 46.
00:02:04
46. Enhancing Scroll Restoration
-
Урок 47.
00:07:24
47. Environment Variables for Client-Side and Server-Side
-
Урок 48.
00:06:45
48. Exposing Environment Variables in a Web Application
-
Урок 49.
00:02:09
49. Optimizing Resource Loading with JavaScript Prefetching
-
Урок 50.
00:04:26
50. Enhancing User Experience with Prefetching
-
Урок 51.
00:01:55
51. Improve the UX with Pending UI
-
Урок 52.
00:06:37
52. Adding Pending State to Form Submissions with Remix
-
Урок 53.
00:00:28
53. Dad Joke Break Scripting
-
Урок 54.
00:03:43
54. Intro to Search Engine Optimization (SEO)
-
Урок 55.
00:00:52
55. Configuring Meta Tags
-
Урок 56.
00:02:18
56. Meta Tags for Better SEO and UX
-
Урок 57.
00:00:36
57. Dynamic Metadata for Different Routes
-
Урок 58.
00:04:51
58. Managing Meta Tags and Descriptions in RemixRunReact
-
Урок 59.
00:01:24
59. Customizing Meta Tags with Dynamic Data
-
Урок 60.
00:03:02
60. Handling Dynamic Data with Remix's Meta Function
-
Урок 61.
00:01:41
61. Optimizing Metadata for User Info
-
Урок 62.
00:08:41
62. Implementing Dynamic Meta Data for Routes in a TypeScript Application
-
Урок 63.
00:00:29
63. Dad Joke Break - SEO
-
Урок 64.
00:02:57
64. Intro to Error Handling
-
Урок 65.
00:00:38
65. Improving Error Handling and UI on User Profile Page
-
Урок 66.
00:05:38
66. Error Handling and Error Boundaries
-
Урок 67.
00:01:55
67. Handling Expected Errors with Error Boundaries
-
Урок 68.
00:02:28
68. Improving Error Messages for User
-
Урок 69.
00:01:31
69. Streamlining Error Handling in Routes with a General Error Boundary
-
Урок 70.
00:05:38
70. Error Boundaries and Handling in Nested Routes
-
Урок 71.
00:02:11
71. Improving Error Handling with a Document Component
-
Урок 72.
00:02:53
72. Refactoring App Components for Better Error Handling
-
Урок 73.
00:02:01
73. Handling 404 Errors in React Router with Splat Routes
-
Урок 74.
00:04:09
74. Handling 404 Errors with Splat Routes in Remix
-
Урок 75.
00:00:32
75. Dad Joke Break_3
-
Урок 76.
00:01:00
76. Outro to Full Stack Foundations Workshop
-
Урок 77.
00:02:11
01. Intro to Professional Web Forms Workshop
-
Урок 78.
00:01:32
02. Intro to Form Validation
-
Урок 79.
00:00:52
03. Required Field Validation for User Input
-
Урок 80.
00:01:52
04. Form Validation for Accessibility
-
Урок 81.
00:01:20
05. Server-side Validation and Custom Error Messages
-
Урок 82.
00:09:42
06. Server-Side Form Validation and Error Handling
-
Урок 83.
00:00:49
07. Dynamic Error Validation with Hooks
-
Урок 84.
00:02:44
08. Form Validation with Client-Side Hydration
-
Урок 85.
00:00:21
09. Dad Joke Break From Validation
-
Урок 86.
00:07:56
10. Intro to Accessibility
-
Урок 87.
00:01:10
11. Fixing Form Reset Button and Accessibility Issues
-
Урок 88.
00:06:12
12. Improving Accessibility and Form Associations
-
Урок 89.
00:02:02
13. Error Messages and Accessibility with ARIA Attributes
-
Урок 90.
00:05:51
14. Accessible Forms with ARIA Attributes
-
Урок 91.
00:01:23
15. Focus Management for Better User Experience
-
Урок 92.
00:07:34
16. Managing Focus for Form Errors
-
Урок 93.
00:00:40
17. Dad Break Joke Accessibility
-
Урок 94.
00:06:44
18. Intro to Schema Validation
-
Урок 95.
00:00:30
19. Schema Validation
-
Урок 96.
00:03:50
20. Schema Validation with Zod
-
Урок 97.
00:01:09
21. Form Data Parsing with Conform
-
Урок 98.
00:03:21
22. Form Submission and Error Handling with Conform & Zod
-
Урок 99.
00:00:30
23. Type Safety with Conform
-
Урок 100.
00:08:15
24. Simplifying Form Handling with Conform and Schema Validation
-
Урок 101.
00:00:39
25. Dad Joke Break Schema Validation
-
Урок 102.
00:05:09
26. Intro to File Upload
-
Урок 103.
00:01:19
27. File Upload Functionality
-
Урок 104.
00:12:27
28. Image Upload with Form Data and Memory Upload Handling
-
Урок 105.
00:00:37
29. TypeScript Integration
-
Урок 106.
00:05:43
30. Validating File Uploads with Zod Schema in a Web Application
-
Урок 107.
00:01:00
31. Dad Joke Break File Upload
-
Урок 108.
00:06:07
32. Intro to Complex Structures
-
Урок 109.
00:00:47
33. Grouping and Managing Related Fields in Form Objects
-
Урок 110.
00:10:42
34. Implementing Image Field Set with Conform and TypeScript
-
Урок 111.
00:01:12
35. Multiple Image Uploading
-
Урок 112.
00:04:57
36. Dynamic Image Lists with Field Sets
-
Урок 113.
00:02:30
37. Interactive Image Management
-
Урок 114.
00:10:21
38. Dynamically Delete and Add Buttons
-
Урок 115.
00:00:29
39. Dad Joke Break Complex Structures
-
Урок 116.
00:04:03
40. Intro to Honeypot
-
Урок 117.
00:01:01
41. Adding a Honeypot to Protect Against Spam Bots
-
Урок 118.
00:06:14
42. Honeypot Fields in Sign Up Forms
-
Урок 119.
00:04:41
43. Honeypot Fields for Form Security
-
Урок 120.
00:00:52
44. Honeypots for Form Security
-
Урок 121.
00:04:01
45. Honeypot Protection
-
Урок 122.
00:01:27
46. Consistent Encryption with Honeypot Server
-
Урок 123.
00:03:10
47. Setting Up Honeypot Security for Server Environment Variables
-
Урок 124.
00:00:33
48. Dad Joke Break Honeypot
-
Урок 125.
00:05:08
49. Intro to CSRF
-
Урок 126.
00:01:12
50. CSRF Protection with Cookies
-
Урок 127.
00:09:05
51. Creating and Managing CSRF Tokens With Node.js
-
Урок 128.
00:01:06
52. Authenticity With Token Protection
-
Урок 129.
00:05:21
53. Security with Authenticity Token and CSRF Validation
-
Урок 130.
00:00:14
54. Dad Joke Break CSRF
-
Урок 131.
00:02:12
55. Intro to Rate Limit
-
Урок 132.
00:01:14
56. Optimizing Your Express Server with Rate Limiting Middleware
-
Урок 133.
00:04:33
57. Safeguarding Your Server- Adding Rate Limit Configuration
-
Урок 134.
00:01:24
58. Tiered Rate Limiting with Custom Middleware
-
Урок 135.
00:04:45
59. Applying Rate Limiting
-
Урок 136.
00:00:34
60. Dad Joke Break Rate Limit
-
Урок 137.
00:00:52
61. Outro to Professional Web Forms Workshop
-
Урок 138.
00:02:11
01. Intro to Data Modeling Deep Dive Workshop
-
Урок 139.
00:03:21
02. Intro to Database Schema
-
Урок 140.
00:00:42
03. Setting Up the Database with Prisma
-
Урок 141.
00:09:33
04. Database with Prisma and SQLite
-
Урок 142.
00:00:32
05. Dad Joke Break Database Schema
-
Урок 143.
00:06:16
06. Intro to Data Relationships
-
Урок 144.
00:01:41
07. One-to-Many Relationships
-
Урок 145.
00:06:26
08. One-to-Many Relationships in Prisma
-
Урок 146.
00:05:50
09. Database Design
-
Урок 147.
00:08:17
10. One-to-One and One-to-Many Relationships in Prisma
-
Урок 148.
00:00:37
11. Dad Joke Break Data Relationships
-
Урок 149.
00:05:22
12. Intro to Data Migrations
-
Урок 150.
00:00:40
13. Creating Migration Files for Database Management with Prisma
-
Урок 151.
00:05:22
14. Database Migrations with Prisma
-
Урок 152.
00:00:35
15. Dad Joke Break Data Migrations
-
Урок 153.
00:03:41
16. Intro to Seeding Data
-
Урок 154.
00:00:35
17. Configuring Prisma for Seed Script Execution
-
Урок 155.
00:03:55
18. Creating and Managing Data with Prisma Seed Scripts
-
Урок 156.
00:01:09
19. Optimizing Queries with Nested Mutations in Prisma
-
Урок 157.
00:01:53
20. Nested Queries in Database Operations
-
Урок 158.
00:00:58
21. Dad Joke Break Seeding Data
-
Урок 159.
00:01:53
22. Intro to Generating Seed Data
-
Урок 160.
00:00:30
23. Generating Fake Data for Efficient Testing
-
Урок 161.
00:01:43
24. Generating Random User Data with Faker.js for Database Seeding
-
Урок 162.
00:02:20
25. Dynamically Generating Data
-
Урок 163.
00:05:51
26. Generating Dynamic Seed Data
-
Урок 164.
00:01:03
27. Creating Unique User Data with Enforce Unique Library
-
Урок 165.
00:04:59
28. Generating Unique and Valid Usernames in Seed Data
-
Урок 166.
00:00:31
29. Dad Joke Break Generating Seed Data
-
Урок 167.
00:05:24
30. Intro to Querying Data
-
Урок 168.
00:01:01
31. Connecting to a Real Database with Prisma and SQLite
-
Урок 169.
00:07:29
32. Optimizing Prisma Client for Efficient Database Operations
-
Урок 170.
00:00:35
33. Transitioning to Real Database with Prisma API
-
Урок 171.
00:03:29
34. Using Prisma to Retrieve User Data from a SQLite Database
-
Урок 172.
00:00:30
35. Database Queries and Migrating to Prisma
-
Урок 173.
00:02:46
36. Efficient Data Retrieval with Prisma and Subselects
-
Урок 174.
00:00:58
37. Dad Joke Break Querying Data
-
Урок 175.
00:02:59
38. Intro to Updating Data
-
Урок 176.
00:00:39
39. Mutating Data with Prisma
-
Урок 177.
00:00:55
40. Deleting Data with Prisma
-
Урок 178.
00:03:27
41. Updating Page Mutations for Images and Notes with Efficient Cache Control
-
Урок 179.
00:05:13
42. Efficiently Updating and Deleting Data in a Form with Prisma
-
Урок 180.
00:02:00
43. Implementing Transactions for Reliable Data Operations
-
Урок 181.
00:02:50
44. Implementing Transactions with Prisma for Atomic Database Operations
-
Урок 182.
00:00:38
45. Optimizing Database Calls with Nested Queries in Prisma
-
Урок 183.
00:04:27
46. Efficient Database Updates with Prisma's Nested Queries
-
Урок 184.
00:00:26
47. Dad Joke Break Updating Data
-
Урок 185.
00:04:31
48. Intro to SQL
-
Урок 186.
00:01:22
49. SQL Queries for User Search in Prisma
-
Урок 187.
00:02:48
50. User Search with Prisma and SQL
-
Урок 188.
00:01:28
51. Handling TypeScript Errors and Runtime Type Checking with Prisma and Zod
-
Урок 189.
00:06:16
52. Runtime Type Checking and Parsing in Prisma with Raw Queries
-
Урок 190.
00:03:10
53. Working with Joins in SQL
-
Урок 191.
00:02:24
54. Left Joins with Prisma and SQLite
-
Урок 192.
00:01:24
55. Sorting Users by Recent Entry with Raw SQL
-
Урок 193.
00:03:57
56. Leveraging AI Assistance for Writing SQL Queries
-
Урок 194.
00:00:29
57. Dad Joke Break SQL
-
Урок 195.
00:12:19
58. Intro to Query Optimization
-
Урок 196.
00:00:54
59. Optimizing Query Performance with Indexes in Prisma
-
Урок 197.
00:05:07
60. Optimizing Database Queries with Indexes
-
Урок 198.
00:02:29
61. Optimizing User Search Query Performance with Indexing
-
Урок 199.
00:13:56
62. Query Performance with Indexes in SQLite
-
Урок 200.
00:00:47
63. Dad Joke Break Query Optimization
-
Урок 201.
00:00:28
64. Outro to Data Modeling Deep Dive Workshop
-
Урок 202.
00:04:44
01. Intro to Authentication Strategies & Implementation Workshop
-
Урок 203.
00:04:41
02. Intro to Cookies
-
Урок 204.
00:01:48
03. Implementing Theme Switching with Conform and UseFetcher
-
Урок 205.
00:03:58
04. Creating a Theme Switcher with Form Submission and Fetcher in React
-
Урок 206.
00:00:41
05. Adding User Preference for Dark Mode
-
Урок 207.
00:09:46
06. Implementing Cookies for Theme Selection
-
Урок 208.
00:01:17
07. Implementing Optimistic UI for Theme Switching
-
Урок 209.
00:05:16
08. Implementing Optimistic UI with Remix
-
Урок 210.
00:00:38
09. Dad Joke Break Cookies
-
Урок 211.
00:04:01
10. Intro to Session Storage
-
Урок 212.
00:01:46
11. Toast Messages with Cookies
-
Урок 213.
00:04:54
12. Configuring Cookie Session Storage for Toast Messages
-
Урок 214.
00:00:46
13. Adding Toast Notifications to Delete Functionality
-
Урок 215.
00:04:57
14. Managing Toast Messages with Cookie Sessions
-
Урок 216.
00:00:39
15. Improving Note Deletion Functionality with Multiple Cookies
-
Урок 217.
00:04:59
16. Efficiently Updating and Serializing Cookies
-
Урок 218.
00:00:47
17. Implementing Flash Messages for Temporary Notifications
-
Урок 219.
00:00:48
18. Efficiently Removing Toast Messages with Flash API
-
Урок 220.
00:00:16
19. Dad Joke Break Session Storage
-
Урок 221.
00:00:49
20. Intro to User Sessions
-
Урок 222.
00:00:23
21. Managing User Sessions with Separate Cookies
-
Урок 223.
00:01:15
22. Secure Cookie Session Storage
-
Урок 224.
00:01:18
23. User Authentication and Session Management
-
Урок 225.
00:06:21
24. User Authentication and Session Management with Login Forms
-
Урок 226.
00:00:21
25. Load User Avatars
-
Урок 227.
00:02:38
26. Handling User Authentication and Session Management with Prisma
-
Урок 228.
00:00:30
27. Dad Joke Break User Sessions
-
Урок 229.
00:04:46
28. Intro to Password
-
Урок 230.
00:00:37
29. Creating an Optional Password Model in Prisma Schema
-
Урок 231.
00:02:52
30. Model Relationships and Handling Passwords in Database Schema
-
Урок 232.
00:00:58
31. Generating Passwords for Secure User Creation
-
Урок 233.
00:03:41
32. Secure Password Creation with Prisma
-
Урок 234.
00:00:21
33. Enhancing User Creation by Adding Passwords
-
Урок 235.
00:01:47
34. Creating and Hashing Passwords for User Sign-Up
-
Урок 236.
00:00:22
35. Dad Joke Break Password
-
Урок 237.
00:03:59
36. Intro to Login
-
Урок 238.
00:00:18
37. Secure Password Authentication with bcrypt Compare in Node.js
-
Урок 239.
00:03:40
38. Implementing Secure Password Verification in User Login
-
Урок 240.
00:00:45
39. Securing UI Elements
-
Урок 241.
00:00:28
40. Dad Joke Break Login
-
Урок 242.
00:08:40
41. Leveraging Utility Functions for User Data Handling and UI Customization
-
Урок 243.
00:01:08
42. Intro to Logout
-
Урок 244.
00:00:33
43. Transforming a Logout Link into a Secure Logout Form
-
Урок 245.
00:03:55
44. Logout Functionality with Session Storage and CSRF Protection
-
Урок 246.
00:02:59
45. Implementing Remember Me Functionality for Login Sessions
-
Урок 247.
00:05:04
46. Implementing Remember Me Functionality
-
Урок 248.
00:00:59
47. Managing Inactive User Sessions
-
Урок 249.
00:01:31
48. Destroying Sessions and Handling Weird States
-
Урок 250.
00:03:04
49. Implementing Automatic Logout with Modals
-
Урок 251.
00:06:08
50. Auto-Logout Functionality
-
Урок 252.
00:00:42
51. Dad Joke Break Logout
-
Урок 253.
00:01:54
52. Intro to Protecting Routes
-
Урок 254.
00:00:49
53. Creating Protected Routes
-
Урок 255.
00:02:54
54. Creating an Auth Utility
-
Урок 256.
00:01:06
55. Building a Profile Page
-
Урок 257.
00:03:57
56. User Authentication and Authorization
-
Урок 258.
00:01:22
57. Securing User Access
-
Урок 259.
00:04:33
58. Authorization and User Authentication
-
Урок 260.
00:02:05
59. Redirect Functionality
-
Урок 261.
00:08:20
60. Handling Redirects Safely in User Authentication
-
Урок 262.
00:00:32
61. Dad Joke Break Protecting Routes
-
Урок 263.
00:03:38
62. Intro to Permissions
-
Урок 264.
00:00:51
63. Role-Based Access Control with Prisma
-
Урок 265.
00:06:36
64. Modeling Permissions and Roles in Prisma Database
-
Урок 266.
00:01:54
65. Managing Roles and Permissions
-
Урок 267.
00:07:51
66. Seed Data
-
Урок 268.
00:01:34
67. Implementing User Permissions and Authorization Logic
-
Урок 269.
00:10:35
68. Implementing Role-Based Permissions
-
Урок 270.
00:01:13
69. Securing Admin Pages with User Permissions
-
Урок 271.
00:09:44
70. Implementing Role-based Access Control and Permissions
-
Урок 272.
00:00:39
71. Dad Joke Break Permissions
-
Урок 273.
00:00:59
72. Intro to Man Sessions
-
Урок 274.
00:00:53
73. Managing User Sessions and Allowing Data Downloads
-
Урок 275.
00:01:57
74. Integrating User Sessions into the Login Process
-
Урок 276.
00:00:49
75. Implementing Session-Based Authentication
-
Урок 277.
00:06:44
76. Authentication Logic with Session IDs and User Creation
-
Урок 278.
00:00:30
77. Improving Login and Signup Flows with Session Management
-
Урок 279.
00:02:46
78. Updating Login and Signup Routes to Use Sessions instead of User IDs
-
Урок 280.
00:01:18
79. Proactive Session Management
-
Урок 281.
00:04:49
80. Managing Sessions and Sign Out in Web Applications
-
Урок 282.
00:00:30
81. Dad Joke Break Man Sessions
-
Урок 283.
00:03:33
82. Intro to Email
-
Урок 284.
00:01:03
83. Integrating Email Services
-
Урок 285.
00:05:19
84. Sending Emails with the Resend API using Fetch
-
Урок 286.
00:01:46
85. Mocking APIs with MSW and Testing
-
Урок 287.
00:12:12
86. Setting Up a Mock Server with MSW Node
-
Урок 288.
00:01:33
87. Email Verification Flow
-
Урок 289.
00:01:05
88. User Verification Emails
-
Урок 290.
00:01:52
89. Secure Email Transfer and Storage with Cookies for Onboarding
-
Урок 291.
00:07:54
90. Passing Data Between Routes
-
Урок 292.
00:00:29
91. Dad Joke Break Email
-
Урок 293.
00:05:12
92. Intro to Verification
-
Урок 294.
00:00:43
93. Implementing One-Time Password Verification with Database Storage
-
Урок 295.
00:04:10
94. Creating a Verification Model in Prisma for User Verification
-
Урок 296.
00:02:03
95. User Verification Workflow
-
Урок 297.
00:07:47
96. Generating One-Time Passwords and Verification URLs in a Signup Flow
-
Урок 298.
00:01:07
97. Implementing User Code Verification with TOTP
-
Урок 299.
00:12:20
98. Verification Flow and Dynamic Query Parameters
-
Урок 300.
00:00:31
99. Dad Joke Break Verification
-
Урок 301.
00:01:44
100. Intro to Reset Password
-
Урок 302.
00:02:32
101. Implementing Forgot Password and Reset Password Flows
-
Урок 303.
00:11:06
102. Resetting Passwords and Handling Verification
-
Урок 304.
00:00:52
103. User Authentication and Password Reset Flow
-
Урок 305.
00:05:59
104. Secure Password Reset Flow Implementation
-
Урок 306.
00:00:46
105. Dad Joke Break Reset Pass
-
Урок 307.
00:01:33
106. Intro to Change Email
-
Урок 308.
00:00:57
107. Implementing Email Verification for Changing Email Addresses
-
Урок 309.
00:04:33
108. Implementing Email Change Verification
-
Урок 310.
00:00:26
109. Handling Email Verification and Updates
-
Урок 311.
00:06:17
110. Implementing a Secure Email Change Flow
-
Урок 312.
00:00:23
111. Dad Joke Break Change Email
-
Урок 313.
00:02:12
112. Intro to Enable Two-Factor Authentication
-
Урок 314.
00:01:02
113. Implementing Two-Factor Authentication Verification
-
Урок 315.
00:04:22
114. Two-Factor Authentication with TOTP Codes
-
Урок 316.
00:01:20
115. Generating Two-Factor Authentication Codes and QR Codes
-
Урок 317.
00:05:09
116. Generating QR Code and Auth URI for Two-Factor Authentication
-
Урок 318.
00:02:09
117. Testing the Two-Factor Authentication Setup
-
Урок 319.
00:09:25
118. Two-Factor Authentication Code Verification
-
Урок 320.
00:01:05
119. Dad Joke Break Enable Two-Factor Authentication
-
Урок 321.
00:01:55
120. Intro to Verify Two-Factor Authentication (2FA)
-
Урок 322.
00:00:37
121. Two-Factor Authentication and Session Verification
-
Урок 323.
00:06:26
122. Implementing Two-Factor Authentication Flow
-
Урок 324.
00:03:08
123. Switching to Verified Session ID After Code Verification
-
Урок 325.
00:08:31
124. Two-Factor Authentication Login in Node.js
-
Урок 326.
00:00:48
125. Dad Joke Break Verify Two-Factor Authentication (2FA)
-
Урок 327.
00:02:49
126. Intro to Two-Factor Authentication Check
-
Урок 328.
00:00:38
127. Two-Factor Authentication Deletion
-
Урок 329.
00:01:26
128. Disabling Two-Factor Authentication
-
Урок 330.
00:01:52
129. Adding User Re-Verification for Critical Operations
-
Урок 331.
00:00:47
130. Implementing Verification Age Check for Disable 2FA
-
Урок 332.
00:05:42
131. Managing User Verification and Two-Factor Authentication
-
Урок 333.
00:04:08
132. Redirecting Users to Re-verify for 2FA Disabling
-
Урок 334.
00:02:56
133. Session Expiry Issue During 2FA Disablement Flow
-
Урок 335.
00:06:12
134. Fixing Session Expiration Behavior in 2FA Disablement Flow
-
Урок 336.
00:00:32
135. Dad Joke Break Two-Factor Authentication Check
-
Урок 337.
00:08:55
136. Intro to Oauth
-
Урок 338.
00:01:33
137. Integrating GitHub Authentication
-
Урок 339.
00:08:05
138. Setting up OAuth Authentication with GitHub
-
Урок 340.
00:01:18
139. Testing the OAuth Flow with GitHub Authentication
-
Урок 341.
00:07:39
140. Implementing OAuth2 Flow with GitHub for User Authentication
-
Урок 342.
00:06:52
141. Simulating Third-Party Dependencies
-
Урок 343.
00:04:12
142. Simulating GitHub Authentication Flow with Mocks
-
Урок 344.
00:01:25
143. Updating Prisma Schema for GitHub Login
-
Урок 345.
00:04:43
144. Establishing Connections and Seed Script in Prisma for GitHub Authentication
-
Урок 346.
00:00:36
145. Dad Joke Break Oauth
-
Урок 347.
00:00:56
146. Intro to Provider Errors
-
Урок 348.
00:00:48
147. Handling Errors in Third-Party API Calls
-
Урок 349.
00:01:13
148. Handling Errors and Redirecting with GitHub Authentication
-
Урок 350.
00:00:46
149. Handling Connection Errors and Duplication in Account Management
-
Урок 351.
00:04:13
150. Handling Existing Connections in AuthProvider Callback
-
Урок 352.
00:00:35
151. Dad Joke Break Provider Errors
-
Урок 353.
00:02:13
152. Intro to Third Party Login
-
Урок 354.
00:01:18
153. Implementing GitHub Login with Two-Factor Authentication
-
Урок 355.
00:03:54
154. Refactoring Login Logic and Implementing GitHub Login
-
Урок 356.
00:02:28
155. Sign Up with GitHub and Handling Mocked Data
-
Урок 357.
00:11:18
156. Onboarding and User Authentication with Third-Party Providers
-
Урок 358.
00:00:31
157. Dad Joke Break Third Party Login
-
Урок 359.
00:01:15
158. Intro to Connection
-
Урок 360.
00:01:16
159. Connecting Website and GitHub Accounts
-
Урок 361.
00:04:13
160. Automatically Connecting User Profiles with Existing Accounts
-
Урок 362.
00:00:56
161. Adding Multiple GitHub Connections to User Accounts
-
Урок 363.
00:01:39
162. Connecting Existing Accounts with an Auth Provider
-
Урок 364.
00:00:49
163. Dad Joke Break Connection
-
Урок 365.
00:00:59
164. Intro to Redirect Cookie
-
Урок 366.
00:00:59
165. Managing Redirects in Forms and Handling Cookies for Persistent Navigation
-
Урок 367.
00:01:47
166. Adding Redirect Functionality to Login and Signup Forms
-
Урок 368.
00:01:04
167. Handling Redirects and Cookies
-
Урок 369.
00:01:58
168. Handling Authentication Redirects and Cookies
-
Урок 370.
00:00:43
169. Handling Redirects
-
Урок 371.
00:05:06
170. Managing Redirects and Cookies
-
Урок 372.
00:00:32
171. Dad Joke Break Redirect Cookie
-
Урок 373.
00:00:58
172. Outro to Authentication Strategies & Implementation Workshop
-
Урок 374.
00:01:32
01. Intro to Web Application Testing Workshop
-
Урок 375.
00:06:23
02. Intro to End-to-End
-
Урок 376.
00:02:38
03. Writing Automated Tests with Playwright UI Mode
-
Урок 377.
00:10:17
04. Writing and Asserting Playwright Tests for Search Functionality
-
Урок 378.
00:01:02
05. Isolating Tests for Better Reliability and Flexibility
-
Урок 379.
00:02:02
06. Creating and Interacting with User Data
-
Урок 380.
00:02:01
07. Test Isolation in End-to-End Testing
-
Урок 381.
00:01:02
08. Proper Setup and Teardown of Testing for Database Cleanup
-
Урок 382.
00:02:06
09. Implementing Fixtures to Ensure User Deletion in Playwright Tests
-
Урок 383.
00:06:29
10. Playwright Fixtures for Testing
-
Урок 384.
00:00:27
11. Dad Joke Break E2E
-
Урок 385.
00:05:14
12. Intro to E2E Mocking
-
Урок 386.
00:01:33
13. Writing Emails to the File System for Test Automation
-
Урок 387.
00:02:31
14. Handling Emails in Node.js using File System
-
Урок 388.
00:00:22
15. Reading Email from Disk in Test Environment
-
Урок 389.
00:03:19
16. Communicating Between Processes with File System in Node.js
-
Урок 390.
00:00:36
17. Dad Joke Break E2E Mocking
-
Урок 391.
00:03:23
18. Intro to Auth E2E
-
Урок 392.
00:02:06
19. End-to-End User Flow Testing and Authentication Utility
-
Урок 393.
00:07:26
20. Login and Setting Cookies for Browser Testing
-
Урок 394.
00:00:59
21. Dad Joke Break Auth E2E
-
Урок 395.
00:03:12
22. Intro to Unit Test
-
Урок 396.
00:00:43
23. Unit Testing a Function for Error Messages
-
Урок 397.
00:06:56
24. Writing Unit Tests for Utility Functions
-
Урок 398.
00:02:12
25. Managing Test Output and Error Logging with Console Mocking
-
Урок 399.
00:04:19
26. Testing Console Error with Spies
-
Урок 400.
00:01:00
27. Implementing Test Hooks for Error Restoration in Playwright
-
Урок 401.
00:05:16
28. Effective Error Handling and Console Capture Testing
-
Урок 402.
00:00:44
29. Creating a Setup File for Test Environment Setup
-
Урок 403.
00:03:45
30. Setting Up Test Environment and Utilizing Setup Files with VTest
-
Урок 404.
00:00:58
31. Dad Joke Break Unit Test
-
Урок 405.
00:05:50
32. Intro to Component Testing
-
Урок 406.
00:00:32
33. Error List Component with React Testing Library
-
Урок 407.
00:05:58
34. Testing React Components with JSDOM
-
Урок 408.
00:00:19
35. Proper DOM Cleanup for Reliable Testing
-
Урок 409.
00:04:50
36. Ensuring Isolation and Proper Test Execution
-
Урок 410.
00:00:13
37. Dad Joke Break Component Test
-
Урок 411.
00:07:03
38. Intro to Hooks
-
Урок 412.
00:04:04
39. Double Confirmation Feature
-
Урок 413.
00:09:25
40. Testing Custom React Hooks with RenderHook and Act
-
Урок 414.
00:01:13
41. Custom Test Components vs Render Hook Utility
-
Урок 415.
00:05:59
42. Testing React Hooks
-
Урок 416.
00:00:26
43. Dad Joke Break Hooks
-
Урок 417.
00:03:38
44. Intro to Testing Remix
-
Урок 418.
00:01:29
45. Creating a Stub for Testing Component Logic in Remix
-
Урок 419.
00:07:14
46. Rendering Components with Mock Data
-
Урок 420.
00:01:11
47. Creating a Parent Route for Accessing Root Data
-
Урок 421.
00:03:38
48. Creating Routes and Context in Remix
-
Урок 422.
00:00:27
49. Dad Joke Break Testing Remix
-
Урок 423.
00:02:24
50. Intro to Http Mocking
-
Урок 424.
00:02:05
51. GitHub Sign-In Callback
-
Урок 425.
00:10:10
52. Testing OAuth2 Flow and Mocking GitHub API Responses
-
Урок 426.
00:01:29
53. Testing Error Handling in GitHub API Interceptor
-
Урок 427.
00:05:54
54. Testing Error Handling and Assertions with Mock API Calls
-
Урок 428.
00:01:03
55. Streamlining Repetitive Test Setup for Optimal Efficiency
-
Урок 429.
00:02:36
56. Efficient Code Organization with Setup Functions
-
Урок 430.
00:00:54
57. Dad Joke Break Http Mocking
-
Урок 431.
00:03:08
58. Intro to Auth Integration
-
Урок 432.
00:01:03
59. Testing Authenticated Requests and Connection Creation
-
Урок 433.
00:08:45
60. Creating and Authenticating Users for Connection Setup
-
Урок 434.
00:00:35
61. Assertions for GitHub Login Session Creation
-
Урок 435.
00:02:56
62. Verifying Session Creation and User Authentication
-
Урок 436.
00:00:40
63. Integrating Real Database with User Routes
-
Урок 437.
00:07:32
64. Authentication in Database Integration Tests
-
Урок 438.
00:01:02
65. Dad Joke Break Auth Integration
-
Урок 439.
00:03:03
66. Intro to Custom Assertions
-
Урок 440.
00:01:38
67. Custom Matchers for Assertions
-
Урок 441.
00:04:22
68. Custom Assertions with Jest's Expect Library
-
Урок 442.
00:00:46
69. Dad Joke Break Custom Assertions
-
Урок 443.
00:04:04
70. Intro to Test Database
-
Урок 444.
00:02:15
71. Setting Up a Test Database for Prisma Integration Tests
-
Урок 445.
00:06:25
72. Setting Up an Isolated Database for Tests
-
Урок 446.
00:00:46
73. Optimizing Database Seeding for Faster Execution
-
Урок 447.
00:01:32
74. Optimizing Database Seeding for Faster Execution_2
-
Урок 448.
00:01:04
75. Managing Test Databases for Parallel Testing
-
Урок 449.
00:01:11
76. Isolating Test Databases for Efficient Testing
-
Урок 450.
00:01:26
77. Optimizing Test Setup
-
Урок 451.
00:05:55
78. Optimizing Test Setup with Global Database Configuration
-
Урок 452.
00:00:28
79. Dad Joke Break Test Database
-
Урок 453.
00:00:39
80. Outro to Web Application Testing Workshop
-
Урок 454.
00:29:58
001 Content Management Systems with Alexandra Spalato
-
Урок 455.
00:29:14
002 Leadership in Tech with Ankita Kulkarni
-
Урок 456.
00:38:37
003 API Mocking with Artem Zakharchenko
-
Урок 457.
00:44:46
004 Enhancing SQLite with Ben Johnson
-
Урок 458.
00:39:59
005 The Evolution of Type Safety with Colin McDonnell
-
Урок 459.
00:39:06
006 Simplifying Web Form Management with Edmund Hung
-
Урок 460.
00:27:34
007 Scalable Databases and Authentication with Iheanyi Ekechukwu
-
Урок 461.
00:27:45
008 Understanding Web Development with Jacob Paris
-
Урок 462.
00:35:50
009 The Depth of Software Testing with Jessica Sachs
-
Урок 463.
00:38:08
010 Platform Engineering with Jocelyn Harper
-
Урок 464.
00:25:34
011 Navigating the Testing Terrain with Debbie O'Brien
-
Урок 465.
00:37:45
012 Exploring the Front-End Ecosystem with Mark Dalgleish
-
Урок 466.
00:45:43
013 Navigating Changing Web Technologies with Mark Thompson
-
Урок 467.
00:48:39
014 The Magic of TypeScript with Matt Pocock
-
Урок 468.
00:42:11
015 Building Deep Skills with Michael Chan
-
Урок 469.
00:31:29
016 Examining MDX with Monica Powell
-
Урок 470.
00:30:11
017 Efficient Form Management with Sandrina Pereira
-
Урок 471.
00:39:18
018 Transitioning from Rails to Remix with Sergio Xalambri
-
Урок 472.
00:41:18
019 The Capabilities and Ecosystem of Tailwind CSS with Simon Vrachliotis
-
Урок 473.
00:54:52
020 The Crucial Role of Database Optimization with Tyler Benfield
-
Урок 474.
00:36:02
021 Product Management with Nevi Shah
-
Урок 475.
00:36:00
022 From Tech Sales to Engineering with Shaundai Person
-
Урок 476.
00:46:07
023 Remix Behind the Scenes with Ryan Florence
-
Урок 477.
00:43:09
024 Art, Code, and Data Visualization with Shirley Wu
-
Урок 478.
00:33:24
025 The Future of Authentication with Will Johnson
Nothing is said about architecture at all, and this is probably why it would be possible to start such a course with such a name, how to do it professionally
If you are worried abouth job opportunities, learn Next.js, If you are planning to create a side project use Remix, it's so much simpler, calm and has fewers bugs. (But be aware that remix is gaining traction with a lot of Y Combinator companies choosing it). The bad side of Next.js is that if you want it to have the most optimized deploy, you'll have to end up using Vercel, I mean, they created the framework, now it's a business and they want profit and that's fine. Remix is just trying to be an awesome framework where you can have an awesome deploy anywhere!