1. Урок 1.00:00:45
    The Course Overview
  2. Урок 2.00:03:26
    Installing Go Binaries
  3. Урок 3.00:03:08
    Quick Look at Go Language
  4. Урок 4.00:03:17
    Trimming Spaces from Beginning and End of Strings
  5. Урок 5.00:02:12
    Extracting Substrings from String Values
  6. Урок 6.00:03:06
    Replacing Parts of a String
  7. Урок 7.00:03:16
    Escaping Characters in Strings
  8. Урок 8.00:02:28
    Capitalizing String Values
  9. Урок 9.00:04:00
    Converting Boolean to String
  10. Урок 10.00:05:56
    Converting Integer and Float Values to String
  11. Урок 11.00:02:38
    Parsing String Values to Boolean
  12. Урок 12.00:03:06
    Parsing String Values to Integer and Float
  13. Урок 13.00:02:12
    Converting a Byte Array to String
  14. Урок 14.00:02:07
    Finding Today's Date and Time
  15. Урок 15.00:03:13
    Adding or Subtracting from Date
  16. Урок 16.00:01:16
    Finding the Difference Between Two Dates
  17. Урок 17.00:02:11
    Parsing Dates and Times from Strings
  18. Урок 18.00:02:47
    Extracting Unique Elements from a List
  19. Урок 19.00:03:01
    Finding an Element from an Array
  20. Урок 20.00:01:31
    Reverting an Array
  21. Урок 21.00:01:51
    Iterating over an Array
  22. Урок 22.00:02:02
    Converting a Map into an Array of Keys and Values
  23. Урок 23.00:01:39
    Merging Arrays
  24. Урок 24.00:02:04
    Merging Maps
  25. Урок 25.00:02:51
    Testing for the Presence of a Key in a Map
  26. Урок 26.00:02:53
    Creating Custom Error Types
  27. Урок 27.00:03:17
    Try/Catch Equivalent in Go
  28. Урок 28.00:02:19
    Doing a Simple Logging in Your App
  29. Урок 29.00:03:42
    Gracefully Dealing with Panics
  30. Урок 30.00:02:11
    Checking the Existence of a File
  31. Урок 31.00:01:15
    Reading the Entire Content of a Text File
  32. Урок 32.00:01:53
    Writing to a File
  33. Урок 33.00:02:05
    Creating Temporary Files
  34. Урок 34.00:01:26
    Counting Lines in a File
  35. Урок 35.00:01:45
    Reading a Particular Line in a File
  36. Урок 36.00:01:36
    Comparing the Contents of Two Files
  37. Урок 37.00:01:12
    Deleting a File
  38. Урок 38.00:02:18
    Copying or Moving a File
  39. Урок 39.00:00:40
    Renaming Files
  40. Урок 40.00:01:15
    Deleting a Directory and Its Contents
  41. Урок 41.00:01:08
    List All the Files under a Directory
  42. Урок 42.00:08:16
    Running Multiple Functions Concurrently
  43. Урок 43.00:03:36
    Passing Data Between Concurrently Running Functions
  44. Урок 44.00:01:59
    Waiting for All Concurrent Functions to Finish
  45. Урок 45.00:03:05
    Selecting the Results of Concurrent Functions
  46. Урок 46.00:03:48
    Catching Signals
  47. Урок 47.00:03:10
    Running Child Processes
  48. Урок 48.00:03:44
    Processing Command-line Arguments
  49. Урок 49.00:01:52
    Downloading a Web Page from Internet
  50. Урок 50.00:01:31
    Downloading Files from Internet
  51. Урок 51.00:04:01
    Creating a Simple Web Server
  52. Урок 52.00:02:19
    Creating a Simple File Server
  53. Урок 53.00:06:22
    Reading Data from SQL Databases
  54. Урок 54.00:01:42
    Inserting Data to Database
  55. Урок 55.00:01:56
    Updating Data in Database
  56. Урок 56.00:02:19
    Deleting Data from Database
  57. Урок 57.00:01:58
    The Course Overview
  58. Урок 58.00:02:16
    Installation
  59. Урок 59.00:03:00
    Programming with Go
  60. Урок 60.00:05:45
    Efficient Handling of Input and Output
  61. Урок 61.00:04:59
    Error Handling Techniques
  62. Урок 62.00:03:26
    Source Code Organization and Packages
  63. Урок 63.00:01:11
    Daily Task: Write a Process Monitor
  64. Урок 64.00:01:50
    Exercise Review
  65. Урок 65.00:04:30
    Go Type System
  66. Урок 66.00:02:54
    All about Strings and Runes
  67. Урок 67.00:01:58
    Function Declarations and Calls
  68. Урок 68.00:04:40
    Pointers and Structs
  69. Урок 69.00:03:59
    Interfaces and Type Modeling
  70. Урок 70.00:01:40
    Container Types
  71. Урок 71.00:02:36
    Channels
  72. Урок 72.00:02:51
    Reflection
  73. Урок 73.00:02:14
    Goroutines
  74. Урок 74.00:02:29
    Daily Task –Implement a Markdown Parser
  75. Урок 75.00:01:59
    Exercise Review
  76. Урок 76.00:01:42
    Aspects of Library Development
  77. Урок 77.00:03:23
    Writing Algorithms and Data Structures Like Trees and Sets
  78. Урок 78.00:05:35
    Writing a GitHub API Library
  79. Урок 79.00:03:51
    Writing a Blockchain SDK
  80. Урок 80.00:01:26
    Daily Task: Write a Logging Library
  81. Урок 81.00:02:12
    Exercise Review
  82. Урок 82.00:00:50
    Aspects of Command-Line Application Development
  83. Урок 83.00:05:55
    Writing a File Search Tool
  84. Урок 84.00:07:49
    Writing a Curl Tool
  85. Урок 85.00:06:22
    Writing a Key-Value Database
  86. Урок 86.00:01:16
    Daily Task – Write a Stack Overflow Search Tool
  87. Урок 87.00:01:28
    Task Overview
  88. Урок 88.00:00:55
    Aspects of Server-Side Application
  89. Урок 89.00:02:54
    Building a TCP Server
  90. Урок 90.00:01:54
    Building a UDP Servers
  91. Урок 91.00:03:57
    Develop a Web Framework
  92. Урок 92.00:01:14
    Daily Task – Writing an CORS Anywhere Server
  93. Урок 93.00:02:08
    Task Overview
  94. Урок 94.00:02:02
    Aspects of Microservice-Based Application
  95. Урок 95.00:10:15
    Domain-Driven Design
  96. Урок 96.00:06:46
    Issue Tracker Microservice – Databases
  97. Урок 97.00:11:14
    Issue Tracker Microservice – Authorization
  98. Урок 98.00:01:17
    Daily Task – Implement a Paginator
  99. Урок 99.00:03:10
    Task Overview
  100. Урок 100.00:06:59
    API Gateways
  101. Урок 101.00:08:38
    Microservice Communication Patterns – RPCs
  102. Урок 102.00:12:10
    Microservice Communications Patterns: Message Queues
  103. Урок 103.00:08:21
    12 Factor Apps
  104. Урок 104.00:02:51
    Daily Task – Issue Tracker Microservice
  105. Урок 105.00:02:39
    Course Overview
  106. Урок 106.00:03:42
    Setting Up VS Code
  107. Урок 107.00:05:06
    Common VS Code Commands
  108. Урок 108.00:02:45
    The Select Statement
  109. Урок 109.00:03:07
    Implementing Timeouts Using Select
  110. Урок 110.00:03:38
    Building Asynchronous Observers with Channels
  111. Урок 111.00:05:14
    Detecting Race Conditions
  112. Урок 112.00:04:29
    Using the Sync Package
  113. Урок 113.00:03:21
    Encoding and Decoding from Streams
  114. Урок 114.00:04:22
    Building Custom (Un)Marshalers
  115. Урок 115.00:04:28
    Unmarshaling into Interface{} Values
  116. Урок 116.00:06:07
    Alternative JSON Libraries
  117. Урок 117.00:02:25
    Generate JSON Types Automatically
  118. Урок 118.00:04:52
    Unit Testing in Go
  119. Урок 119.00:03:46
    Measuring Test Coverage
  120. Урок 120.00:06:10
    Using Mocks in Unit Tests
  121. Урок 121.00:04:06
    Using the CPU Profiler
  122. Урок 122.00:03:39
    Finding and Plugging Memory Leaks
  123. Урок 123.00:07:12
    How to Use the Delve Debugger?
  124. Урок 124.00:04:29
    Consistent Formatting with gofmt
  125. Урок 125.00:02:43
    Finding Common Errors with govet
  126. Урок 126.00:02:44
    Checking Code Style with golint
  127. Урок 127.00:03:35
    Testing Complexity with gocyclo
  128. Урок 128.00:02:00
    Find Unchecked Errors with errcheck
  129. Урок 129.00:02:53
    Find Security Issues with gosec
  130. Урок 130.00:04:32
    Managing Dependencies with Go Modules
  131. Урок 131.00:02:56
    Cross-Compiling for Other Operating Systems
  132. Урок 132.00:04:18
    Building Minimal Docker Images Using the “scratch” Base Image
  133. Урок 133.00:06:04
    Automate Releases Using GoReleaser
  134. Урок 134.00:08:15
    Building a CI/CD Pipeline for a Go Project
  135. Урок 135.00:05:51
    The Course Overview
  136. Урок 136.00:01:06
    Unexpected Literal, Expecting Type
  137. Урок 137.00:01:56
    Unexpected Newline, Expecting Comma or }
  138. Урок 138.00:01:46
    No New Variables on Left Side Of :=
  139. Урок 139.00:01:10
    Multiple-Value in Single-Value Context
  140. Урок 140.00:00:47
    Undefined: fmt
  141. Урок 141.00:01:54
    Main Redeclared in This Block
  142. Урок 142.00:00:56
    Declared and Not Used
  143. Урок 143.00:00:49
    Imported and Not Used
  144. Урок 144.00:02:14
    Deadlocks
  145. Урок 145.00:02:07
    Missing Output from Goroutine
  146. Урок 146.00:02:10
    Variable Used by a Deferred Function
  147. Урок 147.00:02:20
    Wait Groups
  148. Урок 148.00:02:15
    No Install Location Outside GOPATH
  149. Урок 149.00:01:10
    Cannot Find Package in Any Of
  150. Урок 150.00:01:35
    Upstream Changes
  151. Урок 151.00:02:11
    Dependencies Using cgo
  152. Урок 152.00:01:51
    Zero Value for Non-Existent Map Keys
  153. Урок 153.00:00:59
    Syntax Error: _, i := nums Used as Value
  154. Урок 154.00:01:20
    Copy Argument Order Is Not Intuitive
  155. Урок 155.00:02:27
    Using Break with a Select Block
  156. Урок 156.00:01:18
    Using Range with a Slice Returns the Index as the First Argument
  157. Урок 157.00:01:35
    Un-Exported Types Do Not Marshal to JSON
  158. Урок 158.00:01:28
    The Map Type Is Not Thread Safe
  159. Урок 159.00:01:29
    Unexpected Results Using Variables in Goroutine
  160. Урок 160.00:02:22
    Don’t Panic
  161. Урок 161.00:03:11
    Don’t Ignore Errors
  162. Урок 162.00:03:59
    Using Backticks for String Literals to Avoid Excessive Quoting
  163. Урок 163.00:02:17
    Making a Map into a Set
  164. Урок 164.00:03:15
    Do Not Use Mutable Global Variables
  165. Урок 165.00:03:08
    Index Errors
  166. Урок 166.00:02:54
    Nil Pointer Errors
  167. Урок 167.00:04:41
    Memory Leaks
  168. Урок 168.00:03:42
    Failing to Check Type Assertion Success
  169. Урок 169.00:05:07
    Concrete Type Versus Dynamic Type
  170. Урок 170.00:03:50
    Does Not Implement – Method
  171. Урок 171.00:02:28
    Does Not Implement – Pointer
  172. Урок 172.00:03:08
    Mixing Constants and Types
  173. Урок 173.00:03:07
    Variable Shadowing
  174. Урок 174.00:04:12
    time.Duration
  175. Урок 175.00:03:11
    Converting Between Integers to Strings
  176. Урок 176.00:03:41
    Iterating over Strings