-
Урок 1.
00:06:06
A Basic Web Application
-
Урок 2.
00:12:04
Troubleshooting and Slack
-
Урок 3.
00:04:59
Packages and Imports
-
Урок 4.
00:04:53
Editors and Automatic Imports
-
Урок 5.
00:04:10
The "Hello, world" Part of our Code
-
Урок 6.
00:09:15
Web Requests
-
Урок 7.
00:04:52
HTTP Methods
-
Урок 8.
00:10:05
Our Handler Function
-
Урок 9.
00:08:28
Registering our Handler Function and Starting the Web Server
-
Урок 10.
00:13:45
Go Modules
-
Урок 11.
00:11:37
Dynamic Reloading
-
Урок 12.
00:08:24
Setting Header Values
-
Урок 13.
00:08:12
Creating a Contact Page
-
Урок 14.
00:05:48
Examining the http.Request Type
-
Урок 15.
00:04:20
Custom Routing
-
Урок 16.
00:06:54
URL Path vs RawPath
-
Урок 17.
00:08:50
Not Found Page
-
Урок 18.
00:10:09
The http.Handler Type
-
Урок 19.
00:12:09
The http.HandlerFunc Type
-
Урок 20.
00:08:19
Exploring Handler Conversions
-
Урок 21.
00:06:07
FAQ Exercise
-
Урок 22.
00:09:11
Router Requirements
-
Урок 23.
00:06:41
Using Git
-
Урок 24.
00:03:55
Installing Chi
-
Урок 25.
00:08:56
Using Chi
-
Урок 26.
00:02:01
Chi Exercises
-
Урок 27.
00:05:55
What are Templates?
-
Урок 28.
00:16:02
Why Do We Use Server Side Rendering?
-
Урок 29.
00:16:23
Creating Our First Template
-
Урок 30.
00:10:27
Cross Site Scripting (XSS)
-
Урок 31.
00:03:39
Alternative Template Libraries
-
Урок 32.
00:06:13
Contextual Encoding
-
Урок 33.
00:16:53
Home Page via Template
-
Урок 34.
00:10:53
Contact Page via Template
-
Урок 35.
00:03:29
FAQ Page via Template
-
Урок 36.
00:07:28
Template Exercises
-
Урок 37.
00:16:36
Code Organization
-
Урок 38.
00:09:25
MVC Overview
-
Урок 39.
00:07:52
Walking Through a Web Request with MVC
-
Урок 40.
00:04:58
MVC Exercises
-
Урок 41.
00:10:59
Creating the Views Package
-
Урок 42.
00:08:48
fmt.Errorf
-
Урок 43.
00:13:08
Validating Templates at Startup
-
Урок 44.
00:10:45
Must Functions
-
Урок 45.
00:04:48
Exercises
-
Урок 46.
00:14:09
Embedding Template Files
-
Урок 47.
00:08:02
Variadic Parameters
-
Урок 48.
00:06:52
Named Templates
-
Урок 49.
00:12:34
Dynamic FAQ Page
-
Урок 50.
00:13:20
Reusable Layouts
-
Урок 51.
00:09:16
Tailwind CSS
-
Урок 52.
00:16:22
Utility-first CSS
-
Урок 53.
00:14:30
Adding a Navigation Bar
-
Урок 54.
00:03:48
Exercises
-
Урок 55.
00:13:15
Creating the Signup Page
-
Урок 56.
00:14:19
Styling the Signup Page
-
Урок 57.
00:16:20
Intro to REST
-
Урок 58.
00:08:22
Users Controller
-
Урок 59.
00:06:22
Decouple with Interfaces
-
Урок 60.
00:14:00
Parsing the Signup Form
-
Урок 61.
00:11:34
URL Query Parameters
-
Урок 62.
00:04:02
Exercises
-
Урок 63.
00:15:11
Intro to Databases
-
Урок 64.
00:15:44
Installing Postgres
-
Урок 65.
00:10:43
Connecting to Postgres
-
Урок 66.
00:02:52
Update: Docker Container Names
-
Урок 67.
00:08:44
Creating SQL Tables
-
Урок 68.
00:05:52
Postgres Data Types
-
Урок 69.
00:07:20
Postgres Constraints
-
Урок 70.
00:03:11
Creating a Users Table
-
Урок 71.
00:08:00
Inserting Records
-
Урок 72.
00:03:07
Querying Records
-
Урок 73.
00:03:51
Filtering Queries
-
Урок 74.
00:03:50
Updating Records
-
Урок 75.
00:02:38
Deleting Records
-
Урок 76.
00:03:43
Additional SQL Resources
-
Урок 77.
00:14:15
Connecting to Postgres with Go
-
Урок 78.
00:09:05
Imports with Side Effects
-
Урок 79.
00:05:47
Postgres Config Type
-
Урок 80.
00:08:53
Executing SQL with Go
-
Урок 81.
00:04:41
Inserting Records with Go
-
Урок 82.
00:09:15
SQL Injection
-
Урок 83.
00:08:26
Acquire a new Record's ID
-
Урок 84.
00:06:20
Querying a Single Record
-
Урок 85.
00:04:12
Creating Sample Orders
-
Урок 86.
00:09:10
Querying Multiple Records
-
Урок 87.
00:12:56
ORMs vs SQL
-
Урок 88.
00:02:36
Exercises
-
Урок 89.
00:03:28
Syncing the Book and Screencasts Source Code
-
Урок 90.
00:08:41
Steps for Securing Passwords
-
Урок 91.
00:05:30
Third Party Authentication Options
-
Урок 92.
00:14:29
What is a Hash Function?
-
Урок 93.
00:07:30
Store Password Hashes, Not Encrypted or Plaintext Values
-
Урок 94.
00:10:42
Salt Passwords
-
Урок 95.
00:10:15
Learning bcrypt with a CLI
-
Урок 96.
00:10:36
Hashing Passwords with bcrypt
-
Урок 97.
00:05:59
Comparing a Password with a bcrypt Hash
-
Урок 98.
00:08:06
Defining the User Model
-
Урок 99.
00:06:37
Creating the UserService
-
Урок 100.
00:16:29
Create User Method
-
Урок 101.
00:07:46
Postgres Config for the Models Package
-
Урок 102.
00:04:22
UserService in the Users Controller
-
Урок 103.
00:06:56
Create Users on Signup
-
Урок 104.
00:05:30
Sign In View
-
Урок 105.
00:06:39
Authenticate Users
-
Урок 106.
00:04:31
Process Sign In Attempts
-
Урок 107.
00:13:08
Stateless Servers
-
Урок 108.
00:09:57
Creating Cookies
-
Урок 109.
00:05:13
Viewing Cookies with Chrome
-
Урок 110.
00:09:32
Viewing Cookies with Go
-
Урок 111.
00:06:57
Securing Cookies from XSS
-
Урок 112.
00:10:06
Cookie Theft
-
Урок 113.
00:12:32
CSRF Attacks
-
Урок 114.
00:16:54
CSRF Middleware
-
Урок 115.
00:05:57
Providing CSRF to Templates via Data
-
Урок 116.
00:08:19
Custom Template Functions
-
Урок 117.
00:10:15
Adding the HTTP Request to Execute
-
Урок 118.
00:10:23
Request Specific CSRF Template Function
-
Урок 119.
00:09:05
Template Function Errors
-
Урок 120.
00:11:46
Securing Cookies from Tampering
-
Урок 121.
00:11:03
Random Strings with crypto/rand
-
Урок 122.
00:05:52
Exploring math/rand
-
Урок 123.
00:08:40
Wrapping the crypto/rand Package
-
Урок 124.
00:09:14
Why Do We Use 32 Bytes for Session Tokens?
-
Урок 125.
00:07:36
Defining the Sessions Table
-
Урок 126.
00:10:23
Stubbing the SessionService
-
Урок 127.
00:15:57
Sessions in the Users Controller
-
Урок 128.
00:08:07
Cookie Helper Functions
-
Урок 129.
00:07:19
Create Session Tokens
-
Урок 130.
00:07:01
Refactor the rand Package
-
Урок 131.
00:11:55
Hash Session Tokens
-
Урок 132.
00:05:44
Insert Sessions into the Database
-
Урок 133.
00:08:54
Updating Existing Sessions
-
Урок 134.
00:07:26
Querying Users via Session Token
-
Урок 135.
00:03:50
Deleting Sessions
-
Урок 136.
00:07:58
Sign Out Handler
-
Урок 137.
00:05:28
Sign Out Link
-
Урок 138.
00:10:40
SQL Relationships
-
Урок 139.
00:07:52
Foreign Keys
-
Урок 140.
00:02:41
On Delete Cascade
-
Урок 141.
00:06:06
Inner Join
-
Урок 142.
00:06:52
Left, Right, and Full Outer Join
-
Урок 143.
00:10:05
Using Join in the SessionService
-
Урок 144.
00:10:45
SQL Indexes
-
Урок 145.
00:03:58
Creating PostgreSQL Indexes
-
Урок 146.
00:05:53
On Conflict
-
Урок 147.
00:09:56
What Are Schema Migrations?
-
Урок 148.
00:09:17
How Schema Migration Tools Work
-
Урок 149.
00:09:22
Installing pressly/goose
-
Урок 150.
00:04:32
Converting to Schema Migrations
-
Урок 151.
00:12:19
Schema Versioning Problem
-
Урок 152.
00:10:59
Running Goose with Go
-
Урок 153.
00:06:57
Embedding Migrations
-
Урок 154.
00:09:12
Go Migration Files
-
Урок 155.
00:01:35
Removing Old SQL Files
-
Урок 156.
00:09:06
Using Context to Store Values
-
Урок 157.
00:08:13
Improved Context Keys
-
Урок 158.
00:07:44
Context Values with Types
-
Урок 159.
00:09:36
Storing Users as Context Values
-
Урок 160.
00:08:32
Reading Request Context Values
-
Урок 161.
00:14:33
Set the User via Middleware
-
Урок 162.
00:16:17
Requiring a User via Middleware
-
Урок 163.
00:07:48
Accessing the Current User in Templates
-
Урок 164.
00:06:10
Request-Scoped Values
-
Урок 165.
00:07:35
Password Reset Overview
-
Урок 166.
00:10:48
SMTP Services
-
Урок 167.
00:10:43
Building Emails with SMTP
-
Урок 168.
00:06:01
Sending Emails with SMTP
-
Урок 169.
00:06:49
Building an Email Service
-
Урок 170.
00:11:15
EmailService.Send
-
Урок 171.
00:05:05
Forgot Password Email
-
Урок 172.
00:15:48
ENV Variables
-
Урок 173.
00:05:07
Password Reset DB Migration
-
Урок 174.
00:11:28
Password Reset Service Stubs
-
Урок 175.
00:12:50
Forgot Password HTTP Handler
-
Урок 176.
00:05:59
Asynchronous Emails
-
Урок 177.
00:07:53
Forgot Password HTML Template
-
Урок 178.
00:14:21
Initializing Services with ENV Vars
-
Урок 179.
00:05:18
Check Your Email HTML Template
-
Урок 180.
00:08:06
Reset Password HTTP Handlers
-
Урок 181.
00:06:41
Reset Password HTML Template
-
Урок 182.
00:04:24
Update Password Function
-
Урок 183.
00:13:10
PasswordReset Creation
-
Урок 184.
00:13:20
Implementing Consume
Great job :)
thanks
Большое спасибо.