-
Урок 1.
00:00:57
How to Get Help
-
Урок 2.
00:03:20
What Is a Microservice?
-
Урок 3.
00:07:35
Data in Microservices
-
Урок 4.
00:05:09
Big Problems with Data
-
Урок 5.
00:06:54
Sync Communication Between Services
-
Урок 6.
00:05:20
Event-Based Communication
-
Урок 7.
00:09:50
A Crazy Way of Storing Data
-
Урок 8.
00:06:16
Pros and Cons of Async Communication
-
Урок 9.
00:05:45
App Overview
-
Урок 10.
00:04:58
Project Setup
-
Урок 11.
00:08:19
Posts Service Creation
-
Урок 12.
00:04:06
Testing the Posts Service
-
Урок 13.
00:08:23
Implementing a Comments Service
-
Урок 14.
00:03:58
Quick Comments Test
-
Урок 15.
00:05:01
React Project Setup
-
Урок 16.
00:09:55
Building Post Submission
-
Урок 17.
00:04:10
Handling CORS Errors
-
Урок 18.
00:10:05
Fetching and Rendering Posts
-
Урок 19.
00:08:10
Creating Comments
-
Урок 20.
00:07:24
Displaying Comments
-
Урок 21.
00:04:55
Request Minimization Strategies
-
Урок 22.
00:07:17
An Async Solution
-
Урок 23.
00:04:15
Common Questions Around Async Events
-
Урок 24.
00:05:15
Event Bus Overview
-
Урок 25.
00:05:23
A Basic Event Bus Implementation
-
Урок 26.
00:05:19
Emitting Events
-
Урок 27.
00:03:46
Emitting Comment Creation Events
-
Урок 28.
00:04:34
Receiving Events
-
Урок 29.
00:04:43
Creating the Data Query Service
-
Урок 30.
00:07:03
Parsing Incoming Events
-
Урок 31.
00:07:11
Using the Query Service
-
Урок 32.
00:04:47
Adding a Simple Feature
-
Урок 33.
00:07:44
Issues with Comment Filtering
-
Урок 34.
00:05:38
A Second Approach
-
Урок 35.
00:04:46
How to Handle Resource Updates
-
Урок 36.
00:04:53
Creating the Moderation Service
-
Урок 37.
00:04:27
Adding Comment Moderation
-
Урок 38.
00:05:31
Handling Moderation
-
Урок 39.
00:05:00
Updating Comment Content
-
Урок 40.
00:05:58
A Quick Test
-
Урок 41.
00:03:27
Rendering Comments by Status
-
Урок 42.
00:10:25
Dealing with Missing Events
-
Урок 43.
00:06:12
Implementing Event Sync
-
Урок 44.
00:04:17
Event Syncing in Action
-
Урок 45.
00:06:56
Deployment Issues
-
Урок 46.
00:02:56
Why Docker?
-
Урок 47.
00:05:48
Why Kubernetes?
-
Урок 48.
00:01:18
Don't Know Docker? Watch This.
-
Урок 49.
00:04:03
Dockerizing the Posts Service
-
Урок 50.
00:05:24
Review Some Basic Commands
-
Урок 51.
00:03:02
Dockering Other Services
-
Урок 52.
00:03:20
Installing Kubernetes
-
Урок 53.
00:09:46
A Kubernetes Tour
-
Урок 54.
00:02:53
Important Kubernetes Terminology
-
Урок 55.
00:03:12
Notes on Config Files
-
Урок 56.
00:06:42
Creating a Pod
-
Урок 57.
00:05:16
Understanding a Pod Spec
-
Урок 58.
00:04:45
Common Kubectl Commands
-
Урок 59.
00:02:27
A Time-Saving Alias
-
Урок 60.
00:03:29
Introducing Deployments
-
Урок 61.
00:06:13
Creating a Deployment
-
Урок 62.
00:04:37
Common Commands Around Deployments
-
Урок 63.
00:06:03
Updating Deployments
-
Урок 64.
00:05:43
Preferred Method for Updating Deployments
-
Урок 65.
00:04:16
Networking With Services
-
Урок 66.
00:07:53
Creating a NodePort Service
-
Урок 67.
00:05:10
Accessing NodePort Services
-
Урок 68.
00:03:13
Setting Up Cluster IP Services
-
Урок 69.
00:05:36
Building a Deployment for the Event Bus
-
Урок 70.
00:07:38
Adding ClusterIP Services
-
Урок 71.
00:04:10
How to Communicate Between Services
-
Урок 72.
00:06:28
Updating Service Addresses
-
Урок 73.
00:05:01
Verifying Communication
-
Урок 74.
00:09:58
Adding Query, Moderation and Comments
-
Урок 75.
00:05:30
Testing Communication
-
Урок 76.
00:05:14
Load Balancer Services
-
Урок 77.
00:06:40
Load Balancers and Ingress
-
Урок 78.
00:07:41
Installing Ingress-Nginx
-
Урок 79.
00:04:48
Writing Ingress Config Files
-
Урок 80.
00:06:17
Hosts File Tweak
-
Урок 81.
00:06:10
Deploying the React App
-
Урок 82.
00:06:56
Unique Route Paths
-
Урок 83.
00:06:33
Final Route Config
-
Урок 84.
00:03:09
Introducing Skaffold
-
Урок 85.
00:09:18
Skaffold Setup
-
Урок 86.
00:01:01
First Time Skaffold Startup
-
Урок 87.
00:06:31
A Few Notes on Skaffold
-
Урок 88.
00:15:12
Big Ticket Items
-
Урок 89.
00:08:54
App Overview
-
Урок 90.
00:03:24
Resource Types
-
Урок 91.
00:03:39
Service Types
-
Урок 92.
00:03:49
Events and Architecture Design
-
Урок 93.
00:04:52
Auth Service Setup
-
Урок 94.
00:08:16
Auth K8s Setup
-
Урок 95.
00:05:37
Adding Skaffold
-
Урок 96.
00:07:20
Ingress-Nginx Setup
-
Урок 97.
00:04:07
Hosts File and Security Warning
-
Урок 98.
00:02:52
Note on Remote Development
-
Урок 99.
00:06:36
Remote Dev with Skaffold
-
Урок 100.
00:02:44
Google Cloud Initial Setup
-
Урок 101.
00:04:00
Kubernetes Cluster Creation
-
Урок 102.
00:03:50
Kubectl Contexts
-
Урок 103.
00:05:04
Initializing the GCloud SDK
-
Урок 104.
00:04:18
Installing the GCloud Context
-
Урок 105.
00:04:36
Updating the Skaffold Config
-
Урок 106.
00:01:07
More Skaffold Updates
-
Урок 107.
00:05:13
Creating a Load Balancer
-
Урок 108.
00:06:26
Final Config and Test
-
Урок 109.
00:05:42
Creating Route Handlers
-
Урок 110.
00:04:06
Scaffolding Routes
-
Урок 111.
00:08:39
Adding Validation
-
Урок 112.
00:06:19
Handling Validation Errors
-
Урок 113.
00:06:08
Surprising Complexity Around Errors
-
Урок 114.
00:04:18
Other Sources of Errors
-
Урок 115.
00:04:51
Solution for Error Handling
-
Урок 116.
00:07:39
Building an Error Handling Middleware
-
Урок 117.
00:05:25
Communicating More Info to the Error Handler
-
Урок 118.
00:04:36
Encoding More Information In an Error
-
Урок 119.
00:08:18
Subclassing for Custom Errors
-
Урок 120.
00:03:11
Determining Error Type
-
Урок 121.
00:10:13
Converting Errors to Responses
-
Урок 122.
00:08:37
Moving Logic Into Errors
-
Урок 123.
00:08:35
Verifying Our Custom Errors
-
Урок 124.
00:10:20
Final Error Related Code
-
Урок 125.
00:05:02
How to Define New Custom Errors
-
Урок 126.
00:05:51
Uh Oh... Async Error Handling
-
Урок 127.
00:08:26
Creating Databases in Kubernetes
-
Урок 128.
00:07:54
Connecting to MongoDB
-
Урок 129.
00:04:26
Understanding the Signup Flow
-
Урок 130.
00:05:22
Getting TypeScript and Mongoose to Cooperate
-
Урок 131.
00:04:55
Creating the User Model
-
Урок 132.
00:06:02
Type Checking User Properties
-
Урок 133.
00:06:01
Adding Static Properties to a Model
-
Урок 134.
00:04:54
Defining Extra Document Properties
-
Урок 135.
00:03:53
What's That Angle Bracket For?
-
Урок 136.
00:06:48
User Creation
-
Урок 137.
00:07:27
Proper Error Handling
-
Урок 138.
00:04:59
Reminder on Password Hashing
-
Урок 139.
00:06:58
Adding Password Hashing
-
Урок 140.
00:02:55
Comparing Hashed Password
-
Урок 141.
00:05:54
Mongoose Pre-Save Hooks
-
Урок 142.
00:08:59
Fundamental Authentication Strategies
-
Урок 143.
00:07:33
Huge Issues with Authentication Strategies
-
Урок 144.
00:02:59
So Which Option?
-
Урок 145.
00:08:27
Solving Issues with Option #2
-
Урок 146.
00:06:22
Reminder on Cookies vs JWT's
-
Урок 147.
00:11:01
Microservices Auth Requirements
-
Урок 148.
00:09:59
Issues with JWT's and Server Side Rendering
-
Урок 149.
00:04:52
Cookies and Encryption
-
Урок 150.
00:03:12
Adding Session Support
-
Урок 151.
00:08:30
Generating a JWT
-
Урок 152.
00:04:58
JWT Signing Keys
-
Урок 153.
00:02:14
Securely Storing Secrets with Kubernetes
-
Урок 154.
00:09:19
Creating and Accessing Secrets
-
Урок 155.
00:05:19
Accessing Env Variables in a Pod
-
Урок 156.
00:04:42
Common Response Properties
-
Урок 157.
00:10:40
Formatting JSON Properties
-
Урок 158.
00:07:50
The Signin Flow
-
Урок 159.
00:05:34
Common Request Validation Middleware
-
Урок 160.
00:06:50
Sign In Logic
-
Урок 161.
00:01:54
Quick Sign In Test
-
Урок 162.
00:03:02
Current User Handler
-
Урок 163.
00:08:56
Returning the Current User
-
Урок 164.
00:02:49
Signing Out
-
Урок 165.
00:06:56
Creating a Current User Middleware
-
Урок 166.
00:07:47
Augmenting Type Definitions
-
Урок 167.
00:07:47
Requiring Auth for Route Access
-
Урок 168.
00:04:29
Scope of Testing
-
Урок 169.
00:04:33
Testing Goals
-
Урок 170.
00:07:52
Testing Architecture
-
Урок 171.
00:02:55
Index to App Refactor
-
Урок 172.
00:03:34
A Few Dependencies
-
Урок 173.
00:08:13
Test Environment Setup
-
Урок 174.
00:06:25
Our First Test
-
Урок 175.
00:01:32
An Important Note
-
Урок 176.
00:05:14
Testing Invalid Input
-
Урок 177.
00:01:47
Requiring Unique Emails
-
Урок 178.
00:05:44
Changing Node Env During Tests
-
Урок 179.
00:06:27
Tests Around Sign In Functionality
-
Урок 180.
00:04:32
Testing Sign Out
-
Урок 181.
00:05:20
Issues with Cookies During Testing
-
Урок 182.
00:03:04
Easy Auth Solution
-
Урок 183.
00:07:13
Auth Helper Function
-
Урок 184.
00:01:45
Testing Non-Authed Requests
-
Урок 185.
00:02:12
Starting the React App
-
Урок 186.
00:03:39
Reminder on Server Side Rendering
-
Урок 187.
00:05:25
Basics of Next JS
-
Урок 188.
00:04:29
Building a Next Image
-
Урок 189.
00:10:13
Running Next in Kubernetes
-
Урок 190.
00:04:27
Note on File Change Detection
-
Урок 191.
00:05:10
Adding Global CSS
-
Урок 192.
00:03:12
Adding a Sign Up Form
-
Урок 193.
00:03:43
Handling Email and Password Inputs
-
Урок 194.
00:05:13
Successful Account Signup
-
Урок 195.
00:06:54
Handling Validation Errors
-
Урок 196.
00:07:00
The useRequest Hook
-
Урок 197.
00:03:41
Using the useRequest Hook
-
Урок 198.
00:05:39
An onSuccess Callback
-
Урок 199.
00:06:48
Overview on Server Side Rendering
-
Урок 200.
00:05:08
Fetching Data During SSR
-
Урок 201.
00:09:01
Why the Error?
-
Урок 202.
00:07:05
Two Possible Solutions
-
Урок 203.
00:07:46
Cross Namespace Service Communication
-
Урок 204.
00:06:47
When is GetInitialProps Called?
-
Урок 205.
00:02:02
On the Server or the Browser
-
Урок 206.
00:08:24
Specifying the Host
-
Урок 207.
00:04:02
Passing Through the Cookies
-
Урок 208.
00:07:06
A Reusable API Client
-
Урок 209.
00:02:02
Content on the Landing Page
-
Урок 210.
00:03:13
The Sign In Form
-
Урок 211.
00:05:01
A Reusable Header
-
Урок 212.
00:02:12
Moving GetInitialProps
-
Урок 213.
00:06:43
Issues with Custom App GetInitialProps
-
Урок 214.
00:06:09
Handling Multiple GetInitialProps
-
Урок 215.
00:03:04
Passing Props Through
-
Урок 216.
00:05:06
Building the Header
-
Урок 217.
00:05:59
Conditionally Showing Links
-
Урок 218.
00:04:37
Signing Out
-
Урок 219.
00:04:35
Shared Logic Between Services
-
Урок 220.
00:04:47
Options for Code Sharing
-
Урок 221.
00:04:28
NPM Organizations
-
Урок 222.
00:04:07
Publishing NPM Modules
-
Урок 223.
00:07:35
Project Setup
-
Урок 224.
00:07:27
An Easy Publish Command
-
Урок 225.
00:07:30
Relocating Shared Code
-
Урок 226.
00:05:18
Updating Import Statements
-
Урок 227.
00:05:35
Updating the Common Module
-
Урок 228.
00:03:04
Ticketing Service Overview
-
Урок 229.
00:05:26
Project Setup
-
Урок 230.
00:06:06
Running the Ticket Service
-
Урок 231.
00:08:15
Mongo Connection URI
-
Урок 232.
00:01:48
Quick Auth Update
-
Урок 233.
00:04:20
Test-First Approach
-
Урок 234.
00:04:57
Creating the Router
-
Урок 235.
00:08:05
Adding Auth Protection
-
Урок 236.
00:07:11
Faking Authentication During Tests
-
Урок 237.
00:05:40
Building a Session
-
Урок 238.
00:04:13
Testing Request Validation
-
Урок 239.
00:04:10
Validating Title and Price
-
Урок 240.
00:07:13
Reminder on Mongoose with TypeScript
-
Урок 241.
00:03:50
Defining the Ticket Model
-
Урок 242.
00:08:22
Creation via Route Handler
-
Урок 243.
00:06:53
Testing Show Routes
-
Урок 244.
00:05:30
Unexpected Failure!
-
Урок 245.
00:08:58
What's that Error?!
-
Урок 246.
00:05:12
Better Error Logging
-
Урок 247.
00:06:32
Complete Index Route Implementation
-
Урок 248.
00:06:16
Ticket Updating
-
Урок 249.
00:04:16
Handling Updates
-
Урок 250.
00:06:50
Permission Checking
-
Урок 251.
00:09:05
Final Update Changes
-
Урок 252.
00:05:37
Manual Testing
-
Урок 253.
00:02:51
What Now?
-
Урок 254.
00:04:35
Three Important Items
-
Урок 255.
00:06:26
Creating a NATS Streaming Deployment
-
Урок 256.
00:09:54
Big Notes on NATS Streaming
-
Урок 257.
00:07:32
Building a NATS Test Project
-
Урок 258.
00:04:41
Port-Forwarding with Kubectl
-
Урок 259.
00:06:22
Publishing Events
-
Урок 260.
00:06:56
Listening For Data
-
Урок 261.
00:06:57
Accessing Event Data
-
Урок 262.
00:04:49
Client ID Generation
-
Урок 263.
00:07:29
Queue Groups
-
Урок 264.
00:09:53
Manual Ack Mode
-
Урок 265.
00:09:46
Client Health Checks
-
Урок 266.
00:06:43
Graceful Client Shutdown
-
Урок 267.
00:12:57
Core Concurrency Issues
-
Урок 268.
00:08:09
Common Questions
-
Урок 269.
00:16:43
[Optional] More Possible Concurrency Solutions
-
Урок 270.
00:20:06
Solving Concurrency Issues
-
Урок 271.
00:09:41
Concurrency Control with the Tickets App
-
Урок 272.
00:04:36
Event Redelivery
-
Урок 273.
00:09:00
Durable Subscriptions
-
Урок 274.
00:04:34
Reusable NATS Listeners
-
Урок 275.
00:09:28
The Listener Abstract Class
-
Урок 276.
00:05:54
Extending the Listener
-
Урок 277.
00:03:19
Quick Refactor
-
Урок 278.
00:05:29
Leveraging TypeScript for Listener Validation
-
Урок 279.
00:03:30
Subjects Enum
-
Урок 280.
00:02:27
Custom Event Interface
-
Урок 281.
00:07:23
Enforcing Listener Subjects
-
Урок 282.
00:03:55
Enforcing Data Types
-
Урок 283.
00:02:50
Where Does this Get Used?
-
Урок 284.
00:08:12
Custom Publisher
-
Урок 285.
00:03:51
Using the Custom Publisher
-
Урок 286.
00:04:29
Awaiting Event Publication
-
Урок 287.
00:06:27
Common Event Definitions Summary
-
Урок 288.
00:07:36
Updating the Common Module
-
Урок 289.
00:02:11
Restarting NATS
-
Урок 290.
00:03:49
Publishing Ticket Creation
-
Урок 291.
00:03:20
More on Publishing
-
Урок 292.
00:05:25
NATS Client Singleton
-
Урок 293.
00:04:58
Remember Mongoose?
-
Урок 294.
00:09:05
Singleton Implementation
-
Урок 295.
00:04:29
Accessing the NATS Client
-
Урок 296.
00:06:56
Graceful Shutdown
-
Урок 297.
00:03:24
Successful Listen!
-
Урок 298.
00:04:29
Ticket Update Publishing
-
Урок 299.
00:07:04
Failed Event Publishing
-
Урок 300.
00:06:03
Handling Publish Failures
-
Урок 301.
00:03:53
Fixing a Few Tests
-
Урок 302.
00:05:36
Redirecting Imports
-
Урок 303.
00:09:10
Providing a Mock Implementation
-
Урок 304.
00:02:13
Test-Suite Wide Mocks
-
Урок 305.
00:09:14
Ensuring Mock Invocations
-
Урок 306.
00:08:02
NATS Env Variables
-
Урок 307.
00:05:03
The Orders Service
-
Урок 308.
00:04:40
Scaffolding the Orders Service
-
Урок 309.
00:07:34
A Touch More Setup
-
Урок 310.
00:01:55
Ingress Routing Rules
-
Урок 311.
00:09:56
Scaffolding a Few Route Handlers
-
Урок 312.
00:06:44
Subtle Service Coupling
-
Урок 313.
00:06:50
Associating Orders and Tickets
-
Урок 314.
00:08:53
Order Model Setup
-
Урок 315.
00:05:57
The Need for an Enum
-
Урок 316.
00:08:32
Creating an Order Status Enum
-
Урок 317.
00:02:59
More on Mongoose Refs
-
Урок 318.
00:07:10
Defining the Ticket Model
-
Урок 319.
00:05:46
Order Creation Logic
-
Урок 320.
00:06:11
Finding Reserved Tickets
-
Урок 321.
00:07:38
Convenience Document Methods
-
Урок 322.
00:06:06
Order Expiration Times
-
Урок 323.
00:02:37
Test Suite Setup
-
Урок 324.
00:06:09
Asserting Tickets Exist
-
Урок 325.
00:05:06
Asserting Reserved Tickets
-
Урок 326.
00:04:10
Testing the Success Case
-
Урок 327.
00:05:25
Fetching a User's Orders
-
Урок 328.
00:12:24
A Slightly Complicated Test
-
Урок 329.
00:04:37
Fetching Individual Orders
-
Урок 330.
00:07:18
Does Fetching Work?
-
Урок 331.
00:04:33
Cancelling an Order
-
Урок 332.
00:09:13
Can We Cancel?
-
Урок 333.
00:04:44
Orders Service Events
-
Урок 334.
00:09:24
Creating the Events
-
Урок 335.
00:03:14
Implementing the Publishers
-
Урок 336.
00:05:04
Publishing the Order Creation
-
Урок 337.
00:02:34
Publishing Order Cancellation
-
Урок 338.
00:05:34
Testing Event Publishing
-
Урок 339.
00:02:13
Time for Listeners!
-
Урок 340.
00:01:55
Reminder on Listeners
-
Урок 341.
00:03:40
Blueprint for Listeners
-
Урок 342.
00:05:27
A Few More Reminders
-
Урок 343.
00:02:18
Simple onMessage Implementation
-
Урок 344.
00:05:45
ID Adjustment
-
Урок 345.
00:04:33
Ticket Updated Listener Implementation
-
Урок 346.
00:02:45
Initializing the Listeners
-
Урок 347.
00:03:17
A Quick Manual Test
-
Урок 348.
00:13:00
Clear Concurrency Issues
-
Урок 349.
00:06:42
Reminder on Versioning Records
-
Урок 350.
00:05:38
Optimistic Concurrency Control
-
Урок 351.
00:03:47
Mongoose Update-If-Current
-
Урок 352.
00:04:03
Implementing OCC with Mongoose
-
Урок 353.
00:09:08
Testing OCC
-
Урок 354.
00:03:46
One More Test
-
Урок 355.
00:06:30
Who Updates Versions?
-
Урок 356.
00:03:00
Including Versions in Events
-
Урок 357.
00:03:56
Updating Tickets Event Definitions
-
Урок 358.
00:07:15
Applying a Version Query
-
Урок 359.
00:04:32
Did it Work?
-
Урок 360.
00:05:43
Abstracted Query Method
-
Урок 361.
00:18:35
[Optional] Versioning Without Update-If-Current
-
Урок 362.
00:04:56
Testing Listeners
-
Урок 363.
00:09:26
A Complete Listener Test
-
Урок 364.
00:02:10
Testing the Ack Call
-
Урок 365.
00:08:22
Testing the Ticket Updated Listener
-
Урок 366.
00:04:50
Success Case Testing
-
Урок 367.
00:04:52
Out-Of-Order Events
-
Урок 368.
00:03:40
The Next Few Videos
-
Урок 369.
00:06:37
Fixing a Few Tests
-
Урок 370.
00:01:48
Listeners in the Tickets Service
-
Урок 371.
00:05:00
Building the Listener
-
Урок 372.
00:05:29
Strategies for Locking a Ticket
-
Урок 373.
00:03:43
Reserving a Ticket
-
Урок 374.
00:07:01
Setup for Testing Reservation
-
Урок 375.
00:04:30
Test Implementation
-
Урок 376.
00:06:15
Missing Update Event
-
Урок 377.
00:06:55
Private vs Protected Properties
-
Урок 378.
00:06:43
Publishing While Listening
-
Урок 379.
00:09:50
Mock Function Arguments
-
Урок 380.
00:06:52
Order Cancelled Listener
-
Урок 381.
00:07:29
A Lightning-Quick Test
-
Урок 382.
00:02:22
Don't Forget to Listen!
-
Урок 383.
00:06:16
Rejecting Edits of Reserved Tickets
-
Урок 384.
00:02:39
The Expiration Service
-
Урок 385.
00:07:56
Expiration Options
-
Урок 386.
00:06:15
Initial Setup
-
Урок 387.
00:07:45
A Touch of Kubernetes Setup
-
Урок 388.
00:02:33
File Sync Setup
-
Урок 389.
00:03:43
Listener Creation
-
Урок 390.
00:03:57
What's Bull All About?
-
Урок 391.
00:09:08
Creating a Queue
-
Урок 392.
00:05:11
Queueing a Job on Event Arrival
-
Урок 393.
00:03:18
Testing Job Processing
-
Урок 394.
00:05:24
Delaying Job Processing
-
Урок 395.
00:03:51
Defining the Expiration Complete Event
-
Урок 396.
00:06:28
Publishing an Event on Job Processing
-
Урок 397.
00:06:01
Handling an Expiration Event
-
Урок 398.
00:05:38
Emitting the Order Cancelled Event
-
Урок 399.
00:05:53
Testing the Expiration Complete Listener
-
Урок 400.
00:07:21
A Touch More Testing
-
Урок 401.
00:02:21
Listening for Expiration
-
Урок 402.
00:02:12
The Payments Service
-
Урок 403.
00:08:47
Initial Setup
-
Урок 404.
00:05:58
Replicated Fields
-
Урок 405.
00:07:31
Another Order Model!
-
Урок 406.
00:01:18
Update-If-Current
-
Урок 407.
00:04:08
Replicating Orders
-
Урок 408.
00:06:13
Testing Order Creation
-
Урок 409.
00:05:40
Marking an Order as Cancelled
-
Урок 410.
00:06:43
Cancelled Testing
-
Урок 411.
00:03:55
Starting the Listeners
-
Урок 412.
00:05:11
Payments Flow with Stripe
-
Урок 413.
00:08:33
Implementing the Create Charge Handler
-
Урок 414.
00:04:04
Validating Order Payment
-
Урок 415.
00:07:00
Testing Order Validation Before Payment
-
Урок 416.
00:05:11
Testing Same-User Validation
-
Урок 417.
00:03:59
Stripe Setup
-
Урок 418.
00:03:21
Creating a Stripe Secret
-
Урок 419.
00:06:10
Creating a Charge with Stripe
-
Урок 420.
00:06:36
Manual Testing of Payments
-
Урок 421.
00:06:28
Automated Payment Testing
-
Урок 422.
00:04:24
Mocked Stripe Client
-
Урок 423.
00:09:17
A More Realistic Test Setup
-
Урок 424.
00:06:16
Realistic Test Implementation
-
Урок 425.
00:07:19
Tying an Order and Charge Together
-
Урок 426.
00:06:14
Testing Payment Creation
-
Урок 427.
00:06:32
Publishing a Payment Created Event
-
Урок 428.
00:03:19
More on Publishing
-
Урок 429.
00:06:19
Marking an Order as Complete
-
Урок 430.
00:01:02
Don't Cancel Completed Orders!
-
Урок 431.
00:06:17
A Few More Pages
-
Урок 432.
00:06:10
Reminder on Data Fetching with Next
-
Урок 433.
00:05:44
Two Quick Fixes
-
Урок 434.
00:03:44
Scaffolding a Form
-
Урок 435.
00:06:30
Sanitizing Price Input
-
Урок 436.
00:06:45
Ticket Creation
-
Урок 437.
00:07:42
Listing All Tickets
-
Урок 438.
00:07:08
Linking to Wildcard Routes
-
Урок 439.
00:07:26
Creating an Order
-
Урок 440.
00:04:17
Programmatic Navigation to Wildcard Routes
-
Урок 441.
00:10:55
The Expiration Timer
-
Урок 442.
00:01:02
Displaying the Expiration
-
Урок 443.
00:03:07
Showing a Stripe Payment Form
-
Урок 444.
00:04:24
Configuring Stripe
-
Урок 445.
00:01:59
Test Credit Card Numbers
-
Урок 446.
00:09:25
Paying for an Order
-
Урок 447.
00:02:28
Filtering Reserved Tickets
-
Урок 448.
00:01:48
Header Links
-
Урок 449.
00:06:21
Rendering a List of Orders
-
Урок 450.
00:03:40
Development Workflow
-
Урок 451.
00:06:06
Git Repository Approaches
-
Урок 452.
00:07:12
Creating a GitHub Action
-
Урок 453.
00:02:43
Adding a CI Test Script
-
Урок 454.
00:04:49
Running Tests on PR Creation
-
Урок 455.
00:05:49
Output of Failing Tests
-
Урок 456.
00:07:29
Running Tests in Parallel
-
Урок 457.
00:03:02
Verifying a Test Run
-
Урок 458.
00:05:45
Selective Test Execution
-
Урок 459.
00:07:41
Deployment Options
-
Урок 460.
00:02:40
Creating a Hosted Cluster
-
Урок 461.
00:03:33
Reminder on Kubernetes Context
-
Урок 462.
00:03:57
Reminder on Swapping Contexts
-
Урок 463.
00:04:05
The Deployment Plan
-
Урок 464.
00:08:41
Building an Image in an Action
-
Урок 465.
00:02:31
Testing the Image Build
-
Урок 466.
00:07:19
Restarting the Deployment
-
Урок 467.
00:03:28
Applying Kubernetes Manifests
-
Урок 468.
00:04:24
Prod vs Dev Manifest Files
-
Урок 469.
00:03:40
Manual Secret Creation
-
Урок 470.
00:05:32
Don't Forget Ingress-Nginx!
-
Урок 471.
00:02:52
Testing Automated Deployment
-
Урок 472.
00:07:13
Additional Deploy Files
-
Урок 473.
00:06:08
A Successful Deploy!
-
Урок 474.
00:03:11
Buying a Domain Name
-
Урок 475.
00:05:28
Configuring the Domain Name
-
Урок 476.
00:01:59
I Really Hope This Works
-
Урок 477.
00:04:37
Next Steps
-
Урок 478.
00:03:44
Why Use Docker?
-
Урок 479.
00:02:54
What is Docker?
-
Урок 480.
00:01:58
Docker for Mac / Windows
-
Урок 481.
00:05:04
Using the Docker Client
-
Урок 482.
00:08:31
But Really... What's a Container?
-
Урок 483.
00:02:45
How's Docker Running on Your Computer?
-
Урок 484.
00:01:55
Docker Run in Detail
-
Урок 485.
00:05:13
Overriding Default Commands
-
Урок 486.
00:04:10
Listing Running Containers
-
Урок 487.
00:05:17
Container Lifecycle
-
Урок 488.
00:03:44
Restarting Stopped Containers
-
Урок 489.
00:01:40
Removing Stopped Containers
-
Урок 490.
00:02:34
Retrieving Output Logs
-
Урок 491.
00:05:22
Stopping Containers
-
Урок 492.
00:04:17
Multi-Command Containers
-
Урок 493.
00:02:54
Executing Commands in Running Containers
-
Урок 494.
00:04:36
The Purpose of the 'it' Flag
-
Урок 495.
00:04:07
Getting a Command Prompt in a Container
-
Урок 496.
00:02:14
Starting with a Shell
-
Урок 497.
00:03:10
Container Isolation
-
Урок 498.
00:02:37
Creating Docker Images
-
Урок 499.
00:04:52
Building a Dockerfile
-
Урок 500.
00:02:42
Dockerfile Teardown
-
Урок 501.
00:05:41
What's a Base Image?
-
Урок 502.
00:11:10
The Build Process in Detail
-
Урок 503.
00:03:25
A Brief Recap
-
Урок 504.
00:07:03
Rebuilds with Cache
-
Урок 505.
00:04:27
Tagging an Image
-
Урок 506.
00:05:02
Manual Image Generation with Docker Commit
-
Урок 507.
00:02:36
Project Outline
-
Урок 508.
00:05:04
Node Server Setup
-
Урок 509.
00:05:13
A Few Planned Errors
-
Урок 510.
00:07:51
Base Image Issues
-
Урок 511.
00:03:19
A Few Missing Files
-
Урок 512.
00:04:51
Copying Build Files
-
Урок 513.
00:07:27
Container Port Forwarding
-
Урок 514.
00:07:53
Specifying a Working Directory
-
Урок 515.
00:04:17
Unnecessary Rebuilds
-
Урок 516.
00:04:59
Minimizing Cache Busting and Rebuilds
-
Урок 517.
00:01:05
How to Get Help
-
Урок 518.
00:06:20
TypeScript Overview
-
Урок 519.
00:08:00
Environment Setup
-
Урок 520.
00:04:44
A First App
-
Урок 521.
00:05:04
Executing Typescript Code
-
Урок 522.
00:03:36
One Quick Change
-
Урок 523.
00:07:23
Catching Errors with TypeScript
-
Урок 524.
00:05:16
Catching More Errors!
-
Урок 525.
00:03:37
Do Not Skip - Course Overview
-
Урок 526.
00:05:13
Types
-
Урок 527.
00:05:54
More on Types
-
Урок 528.
00:05:16
Examples of Types
-
Урок 529.
00:00:50
Where Do We Use Types?
-
Урок 530.
00:02:04
Type Annotations and Inference
-
Урок 531.
00:04:54
Annotations With Variables
-
Урок 532.
00:06:54
Object Literal Annotations
-
Урок 533.
00:05:57
Annotations Around Functions
-
Урок 534.
00:03:52
Understanding Inference
-
Урок 535.
00:07:48
The Any Type
-
Урок 536.
00:01:50
Fixing the "Any" Type
-
Урок 537.
00:03:06
Delayed Initialization
-
Урок 538.
00:04:38
When Inference Doesn't Work
-
Урок 539.
00:04:57
More on Annotations Around Functions
-
Урок 540.
00:06:09
Inference Around Functions
-
Урок 541.
00:01:43
Annotations for Anonymous Functions
-
Урок 542.
00:02:50
Void and Never
-
Урок 543.
00:03:36
Destructuring with Annotations
-
Урок 544.
00:07:06
Annotations Around Objects
-
Урок 545.
00:05:06
Arrays in TypeScript
-
Урок 546.
00:04:31
Why Typed Arrays?
-
Урок 547.
00:02:58
Multiple Typees in Arrays
-
Урок 548.
00:00:55
When to Use Typed Arrays
-
Урок 549.
00:05:06
Tuples in TypeScript
-
Урок 550.
00:05:29
Tuples in Action
-
Урок 551.
00:03:21
Why Tuples?
-
Урок 552.
00:01:27
Interfaces
-
Урок 553.
00:04:43
Long Type Annotations
-
Урок 554.
00:04:37
Fixing Annotations With Interfaces
-
Урок 555.
00:03:21
Syntax Around Interfaces
-
Урок 556.
00:04:47
Functions in Interfaces
-
Урок 557.
00:04:16
Code Reuse with Interfaces
-
Урок 558.
00:03:13
General Plan with Interfaces
-
Урок 559.
00:03:48
Classes
-
Урок 560.
00:03:04
Basic Inheritance
-
Урок 561.
00:06:42
Class Method Modifiers
-
Урок 562.
00:06:19
Fields in Classes
-
Урок 563.
00:04:19
Fields with Inheritance
-
Урок 564.
00:01:11
Where to Use Classes
-
Урок 565.
00:02:46
App Overview
-
Урок 566.
00:04:55
Bundling with Parcel
-
Урок 567.
00:03:20
Project Structure
-
Урок 568.
00:05:30
Generating Random Data
-
Урок 569.
00:05:18
Type Definition Files
-
Урок 570.
00:06:21
Using Type Definition Files
-
Урок 571.
00:05:07
Export Statements in TypeScript
-
Урок 572.
00:04:44
Defining a Company
-
Урок 573.
00:07:39
Adding Google Maps Support
-
Урок 574.
00:04:07
Google Maps Integration with TypeScript
-
Урок 575.
00:12:47
Exploring Type Definition Files
-
Урок 576.
00:06:29
Hiding Functionality
-
Урок 577.
00:08:26
Why Use Private Modifiers? Here's Why
-
Урок 578.
00:09:19
Adding Markers
-
Урок 579.
00:02:46
Duplicate Code
-
Урок 580.
00:06:39
One Possible Solution
-
Урок 581.
00:05:36
Restricting Access with Interfaces
-
Урок 582.
00:03:27
Implicit Type Checks
-
Урок 583.
00:06:48
Showing Popup Windows
-
Урок 584.
00:07:12
Updating Interface Definitions
-
Урок 585.
00:06:07
Optional Implements Clauses
-
Урок 586.
00:08:09
App Wrapup
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-srv
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- http:
paths:
- path: /posts
pathType: Prefix
backend:
service:
name: posts-clusterip-srv
port:
number: 4000
Good luck ;)
I bought it after 20 lessons in udemy for 10$)))
Please can you fix it?
Thanks
thanks
The author has just launched a new course called `Microfrontends With React`
Could you please upload it.
Thank you in advance.