-
Урок 1.
00:01:06
Welcome To The Course!
-
Урок 2.
00:01:49
What Is Go? And Why Is It Awesome?
-
Урок 3.
00:01:50
Installing Go (Alternative: Web-based Setup)
-
Урок 4.
00:01:42
Local Code Editor Setup For Go Development
-
Урок 5.
00:02:04
Writing a First Go Program
-
Урок 6.
00:01:24
About The Course & Course Content
-
Урок 7.
00:03:24
How To Get The Most Out Of This Course
-
Урок 8.
00:01:17
Module Introduction
-
Урок 9.
00:03:48
Working with Functions & Values
-
Урок 10.
00:03:54
Organizing Code with Packages
-
Урок 11.
00:01:54
The Important Of The Name "main"
-
Урок 12.
00:04:34
Understanding Go Modules & Building Go Programs
-
Урок 13.
00:03:54
The "main" Function Is Important!
-
Урок 14.
00:02:23
Onwards To A New Project
-
Урок 15.
00:05:36
Working with Variables, Values & Operators
-
Урок 16.
00:05:22
Understanding Value Types
-
Урок 17.
00:03:14
Outputting Values
-
Урок 18.
00:04:22
Type Conversions & Explicit Type Assignment
-
Урок 19.
00:05:28
Using Alternative Variable Declaration Styles
-
Урок 20.
00:04:30
Making Sense of Constant Values ("Constants")
-
Урок 21.
00:06:33
Understanding the Importance Of Variables
-
Урок 22.
00:05:23
Improved User Input Fetching
-
Урок 23.
00:01:19
Exercise: Building a Profit Calculator
-
Урок 24.
00:08:14
Exercise Solution
-
Урок 25.
00:07:30
Formatting Strings (Text) - Basics
-
Урок 26.
00:02:42
Formatting Floats in Strings
-
Урок 27.
00:02:27
Building Multiline Strings
-
Урок 28.
00:03:46
Creating Formatted Strings
-
Урок 29.
00:09:05
Understanding Functions
-
Урок 30.
00:11:08
Functions: Return Values & Variable Scope
-
Урок 31.
00:02:32
An Alternative Return Value Syntax
-
Урок 32.
00:09:00
Exercise: Working with Functions
-
Урок 33.
00:05:29
Onwards to Control Structures
-
Урок 34.
00:05:52
Introducing "if" Statements & Booleans
-
Урок 35.
00:04:22
Working with "else if"
-
Урок 36.
00:02:05
Exercise: "if" Statements
-
Урок 37.
00:02:03
Using "else"
-
Урок 38.
00:04:52
Nested "if" Statements & Using "return" To Stop Function Execution
-
Урок 39.
00:04:04
Repeating Code With "for" Loops
-
Урок 40.
00:05:00
Infinite Loops, "break" & "continue"
-
Урок 41.
00:05:19
Making Sense of "switch" Statements
-
Урок 42.
00:06:09
Writing To Files
-
Урок 43.
00:06:48
Reading From Files
-
Урок 44.
00:08:02
Handling Errors
-
Урок 45.
00:02:05
Time to Panic!
-
Урок 46.
00:01:45
Section Exercise - The Task
-
Урок 47.
00:11:30
Section Exercise - Solution
-
Урок 48.
00:01:09
Module Summary
-
Урок 49.
00:00:54
Module Introduction
-
Урок 50.
00:04:20
Splitting Code Across Files In The Same Package
-
Урок 51.
00:01:33
Why Would You Use More Than One Package?
-
Урок 52.
00:03:42
Preparing Code For Multiple Packages
-
Урок 53.
00:02:42
Splitting Code Across Multiple Packages
-
Урок 54.
00:01:38
Importing Packages
-
Урок 55.
00:02:37
Exporting & Importing Identifiers (Variables, Functions & More)
-
Урок 56.
00:05:37
Using Third-Party Packages
-
Урок 57.
00:01:01
Module Summary
-
Урок 58.
00:00:31
Module Introduction
-
Урок 59.
00:06:05
Understanding Pointers
-
Урок 60.
00:03:18
Writing Code Without Pointers
-
Урок 61.
00:01:40
Creating a Pointer
-
Урок 62.
00:01:57
Pointers as Values
-
Урок 63.
00:03:29
Using Pointers & Passing Pointers To Functions
-
Урок 64.
00:04:09
Using Pointers For Data Mutation
-
Урок 65.
00:01:00
Example: The Scan() Function Uses Pointers
-
Урок 66.
00:00:35
Module Summary
-
Урок 67.
00:00:54
The Starting Project
-
Урок 68.
00:01:08
Module Introduction
-
Урок 69.
00:02:28
Which Problem Do Structs Solve?
-
Урок 70.
00:04:44
Defining A Struct Type
-
Урок 71.
00:03:29
Instantiating Structs & Struct Literal Notation
-
Урок 72.
00:02:24
More On Struct Literals
-
Урок 73.
00:02:25
Alternative Struct Literal Notation & Struct Null Values
-
Урок 74.
00:02:34
Passing Struct Values As Arguments
-
Урок 75.
00:03:22
Structs & Pointers
-
Урок 76.
00:04:29
Introducing Methods
-
Урок 77.
00:06:03
Mutation Methods
-
Урок 78.
00:04:57
Using Creation / Constructor Functions
-
Урок 79.
00:04:53
Using Constructor Functions For Validation
-
Урок 80.
00:05:21
Structs, Packages & Exports
-
Урок 81.
00:05:39
Exposing Methods & A Different Constructor Function Name
-
Урок 82.
00:07:57
Struct Embedding
-
Урок 83.
00:02:58
Structs - A Summary
-
Урок 84.
00:05:17
Creating Other Custom Types & Adding Methods
-
Урок 85.
00:07:36
Practice Project: Getting User Input
-
Урок 86.
00:07:18
Practice Project: Creating a Struct & Constructor Function
-
Урок 87.
00:03:35
Practice Project: Adding a Method
-
Урок 88.
00:06:14
Practice Project: Handling Long User Input Text
-
Урок 89.
00:04:15
Practice Project: Preparing Save To File Functionality
-
Урок 90.
00:05:16
Practice Project: Encoding JSON Content
-
Урок 91.
00:02:14
Practice Project: Fixes
-
Урок 92.
00:04:18
Understanding Struct Tags
-
Урок 93.
00:03:37
Preparing An Interface Use-Case
-
Урок 94.
00:00:26
Module Introduction
-
Урок 95.
00:03:11
Finishing Interface Preparations
-
Урок 96.
00:05:17
Creating a First Interface
-
Урок 97.
00:05:17
Using The Interface
-
Урок 98.
00:06:10
Embedded Interfaces
-
Урок 99.
00:02:08
The Special "Any Value Allowed" Type
-
Урок 100.
00:03:37
Working with Type Switches
-
Урок 101.
00:05:14
Extracting Type Information From Values
-
Урок 102.
00:03:58
Interfaces, Dynamic Types & Limitations
-
Урок 103.
00:05:32
Introducing Generics
-
Урок 104.
00:08:03
Introducing Arrays
-
Урок 105.
00:01:20
Module Introduction
-
Урок 106.
00:06:21
Working with Arrays
-
Урок 107.
00:03:26
Selecting Parts of Arrays With Slices
-
Урок 108.
00:04:30
More Ways Of Selecting Slices
-
Урок 109.
00:09:42
Diving Deeper Into Slices
-
Урок 110.
00:09:24
Building Dynamic Lists With Slices
-
Урок 111.
00:04:13
Exercise - Problem
-
Урок 112.
00:20:00
Exercise - Solution
-
Урок 113.
00:03:30
Unpacking List Values
-
Урок 114.
00:06:43
Introducing Maps
-
Урок 115.
00:03:44
Mutating Maps
-
Урок 116.
00:04:00
Maps vs Structs
-
Урок 117.
00:07:11
Using The Special "make" Function
-
Урок 118.
00:03:09
"make"ing Maps
-
Урок 119.
00:02:34
Working with Type Aliases
-
Урок 120.
00:05:25
For Loops with Arrays, Slices & Maps
-
Урок 121.
00:01:05
Module Introduction
-
Урок 122.
00:15:08
Functions as Values & Function Types
-
Урок 123.
00:06:21
Returning Functions As Values
-
Урок 124.
00:06:35
Introducing Anonymous Functions
-
Урок 125.
00:06:45
Understanding Closures
-
Урок 126.
00:11:23
Making Sense Of Recursion
-
Урок 127.
00:06:50
Using Variadic Functions
-
Урок 128.
00:03:05
Splitting Slices Into Parameter Values
-
Урок 129.
00:01:46
Module Introduction
-
Урок 130.
00:09:46
Building a First, Basic Version Of The Program
-
Урок 131.
00:03:41
Setting Up A First Struct
-
Урок 132.
00:03:06
Adding a Constructor Function
-
Урок 133.
00:07:09
Adding a Method
-
Урок 134.
00:08:14
Loading Data From A File
-
Урок 135.
00:07:14
Working With The File Data
-
Урок 136.
00:05:28
Outsourcing Sharable Logic Into A Package
-
Урок 137.
00:05:40
Outsourcing File Access Into A Package
-
Урок 138.
00:08:36
Storing JSON Data In Files
-
Урок 139.
00:08:17
Adding a FileManager Struct
-
Урок 140.
00:02:47
Adding & Using Struct Tags
-
Урок 141.
00:07:56
Working on a Swappable Struct
-
Урок 142.
00:04:29
Interfaces To The Rescue
-
Урок 143.
00:02:54
Error Handling
-
Урок 144.
00:01:14
Module Summary
-
Урок 145.
00:01:44
Introducing Goroutines
-
Урок 146.
00:00:53
Module Introduction
-
Урок 147.
00:03:19
Running Functions As Goroutines
-
Урок 148.
00:01:43
Understanding Goroutine Behavior
-
Урок 149.
00:04:29
Introducing & Using Channels
-
Урок 150.
00:08:35
Working with Multiple Channels & Goroutines
-
Урок 151.
00:09:58
Goroutines & Channels in a Project
-
Урок 152.
00:03:28
Setting Up An Error Channel
-
Урок 153.
00:05:47
Managing Channels with the "select" Statement
-
Урок 154.
00:02:39
Deferring Code Execution with "defer"
-
Урок 155.
00:01:28
Module Introduction
-
Урок 156.
00:04:10
Planning The API
-
Урок 157.
00:02:18
Installing the Gin Framework
-
Урок 158.
00:11:55
Setting Up A First Route & Handling a First Request
-
Урок 159.
00:04:06
Setting Up An Event Model
-
Урок 160.
00:08:46
Registering a POST Route
-
Урок 161.
00:07:02
Testing Requests & Fixing the POST Request Handler
-
Урок 162.
00:08:28
Adding a SQL Database
-
Урок 163.
00:05:50
Creating A SQL Database Table
-
Урок 164.
00:06:32
Storing Data in the Database (INSERT)
-
Урок 165.
00:08:32
Getting Events From Database (SELECT)
-
Урок 166.
00:12:10
Getting Single Event Data By ID
-
Урок 167.
00:04:02
Refactoring Code & Outsourcing Routes
-
Урок 168.
00:04:47
Registering an "Update Event" Route & Handler
-
Урок 169.
00:08:01
Updating Events
-
Урок 170.
00:05:50
Deleting Events
-
Урок 171.
00:04:15
Adding a "Users" Table To The SQL Database
-
Урок 172.
00:08:32
Adding User Signup
-
Урок 173.
00:01:19
Don't Store Plain-text Passwords!
-
Урок 174.
00:05:02
Hashing Passwords
-
Урок 175.
00:02:24
Getting Started with Auth Tokens (JWT)
-
Урок 176.
00:10:26
Getting Started with the Login Route
-
Урок 177.
00:05:13
Finishing The Login Logic
-
Урок 178.
00:07:54
Generating JWT
-
Урок 179.
00:04:23
Finishing The JWT Logic
-
Урок 180.
00:14:33
Adding Token Verification
-
Урок 181.
00:05:17
Adding Route Protection
-
Урок 182.
00:08:00
Retrieving & Storing User and Event IDs
-
Урок 183.
00:03:52
Adding an Authentication Middleware
-
Урок 184.
00:07:28
Enhancing & Using The Middleware
-
Урок 185.
00:05:59
Adding Authorization To Restrict Users From Editing & Deleting
-
Урок 186.
00:03:03
Adding a Registrations Table
-
Урок 187.
00:07:40
Registering Users
-
Урок 188.
00:02:50
Testing & Fixing the "Register" Route
-
Урок 189.
00:05:20
Cancelling Registrations
-
Урок 190.
00:01:02
Module Summary
-
Урок 191.
00:00:51
Course Roundup