-
Урок 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.
is this course still available?
could you please help!
for some reason the webkit browser ie. brave browser cannot load particular course