Advanced course Ultimate Go developed for those, who want to concentrate on deep learning of language and to understand things that have sense and semanthic.
Ultimate Go
Additional
About the Author: Ardan Labs
Ardan Labs is a US training company founded by William Kennedy, focused almost entirely on Go (Golang) and the systems-engineering disciplines around it. Bill Kennedy is one of the most cited Go educators alive — co-author of Go in Action (Manning), maintainer of the Ardan Labs blog, and the lead instructor on a multi-track Go syllabus that runs from beginner through ultimate-Go advanced engineering.
The CourseFlix listing under this source carries nineteen Ardan Labs courses — covering Go language fundamentals, concurrency, advanced engineering patterns, Kubernetes (Bill teaches Go as the implementation language for cloud infrastructure), and the data-engineering / AI tracks Ardan added in recent years. Material is paid and aimed at engineers serious about Go as a career-defining language rather than as a syntax pickup.
Watch Online 91 lessons
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Intro: Design Guidelines Intro Demo | 00:59 | |
| 2 | 1.1 Prepare Your Mind | 17:39 | |
| 3 | 1.2 - Productivity vs. Performance | 06:24 | |
| 4 | 1.3 - Correctness vs. Performance | 07:14 | |
| 5 | 1.4 - Code Reviews | 19:17 | |
| 6 | 1.5 - If Performance Matters | 03:32 | |
| 7 | Intro: Memory & Data Semantics | 01:13 | |
| 8 | 2.1 Variables | 15:04 | |
| 9 | 2.2 Struct Types | 22:55 | |
| 10 | 2.3.1 - Pointers-Part 1 (Pass by Values) | 17:44 | |
| 11 | 2.3.2 - Pointers-Part 2 (Sharing Data) | 07:51 | |
| 12 | 2.3.3 - Pointers-Part 3 ( Escape Analysis) | 19:47 | |
| 13 | 2.3.4 - Pointers-Part 3 ( Stack Growth) | 07:55 | |
| 14 | 2.3.5 - Pointers-Part 3 ( Garbage Collection) | 23:50 | |
| 15 | 2.4 - Constants | 11:56 | |
| 16 | Garbage Collection Addendum Part 1 | 15:01 | |
| 17 | Garbage Collection Addendum Part 2 | 15:32 | |
| 18 | Garbage Collection Addendum Part 3 | 15:31 | |
| 19 | Intro - Data Structures | 01:00 | |
| 20 | 3.1 - Arrays-Part 1 (Mechanical Sympathy) | 33:21 | |
| 21 | 3.2.1 - Arrays-Part 2 (Semantics) | 11:10 | |
| 22 | 3.2.2 - Arrays-Part 3 (Range Mechanics) | 06:40 | |
| 23 | 3.3.1 - Slices-Part 1 (Declare, Length & Reference Types) | 10:01 | |
| 24 | 3.3.2 - Slices-Part 2 (Appending Slices) | 19:41 | |
| 25 | 3.3.3-Slices-Part 3 (Taking Slices of Slices) | 13:29 | |
| 26 | 3.3.4 - Slices-Part 4 (Slices & References) | 05:35 | |
| 27 | 3.3.5 - Slices-Part 5 (Strings & Slices) | 10:24 | |
| 28 | 3.3.6 - Slices-Part 6 (Range Mechanics) | 04:16 | |
| 29 | 3.4 - Maps | 11:13 | |
| 30 | Intro - Decoupling | 00:58 | |
| 31 | 4.1.1 - Methods-Part 1 (Value & Pointer Semantics) | 16:37 | |
| 32 | 4.1.2 - Methods-Part 2 (Function/Method Variables) | 14:44 | |
| 33 | 4.2.1 - Interfaces-Part 1 (Polymorphism) | 18:20 | |
| 34 | 4.2.2 - Interfaces-Part 1 (Method Sets & Address of Value) | 13:42 | |
| 35 | 4.2.3 - Interfaces-Part 3 (Storage by Value) | 04:54 | |
| 36 | 4.2.4 - Interfaces-Part 4 (Type Assertion) | 05:21 | |
| 37 | 4.3 - Embedding | 09:51 | |
| 38 | 4.4 - Exporting | 09:52 | |
| 39 | Intro - Composition | 01:08 | |
| 40 | 5.1 - Grouping Types | 15:22 | |
| 41 | 5.2.1 - Decoupling-Part 1 | 37:03 | |
| 42 | 5.3.1 - Conversion & Assertions-Part 1 | 04:50 | |
| 43 | 5.3.2 - Conversion & Assertions-Part 2 | 10:30 | |
| 44 | 5.4 - Interface Pollution | 08:52 | |
| 45 | 5.5 - Mocking | 08:16 | |
| 46 | Intro - Error Handling | 01:08 | |
| 47 | 6.1 - Default Error Values | 10:52 | |
| 48 | 6.2 - Error Variables | 03:40 | |
| 49 | 6.3 - Types as Context | 07:00 | |
| 50 | 6.4 - Behavior as Context | 08:14 | |
| 51 | 6.5 - Find the Bug | 04:20 | |
| 52 | 6.6 - Wrapping Errors | 10:17 | |
| 53 | Intro - Packaging | 01:23 | |
| 54 | 7.1 - Language Mechanics & Design Guidelines | 11:15 | |
| 55 | 7.2 - Package-Oriented Design | 15:50 | |
| 56 | Intro - Goroutines | 01:10 | |
| 57 | 8.1 - OS Scheduler Mechanics | 33:01 | |
| 58 | 8.2 - Go Scheduler Mechanics | 27:11 | |
| 59 | 8.3 - Creating Go Routines | 19:37 | |
| 60 | Intro - Data Races | 01:10 | |
| 61 | 9.1 - Managing Data Races | 22:15 | |
| 62 | Intro - Channels | 01:12 | |
| 63 | 10.1 - Signaling Semantics | 11:09 | |
| 64 | 10.2 - Basic Patterns | 06:21 | |
| 65 | 10.3 - Fan Out | 05:18 | |
| 66 | 10.4 - Wait for Task | 02:31 | |
| 67 | 10.5 - Pooling | 05:14 | |
| 68 | 10.6 - Fan Out Semaphore | 05:22 | |
| 69 | 10.7 - Fan Out Bounded | 06:15 | |
| 70 | 10.8 - Drop Pattern | 05:07 | |
| 71 | 10.9 - Cancellation Pattern | 07:29 | |
| 72 | Intro - Concurrency Patterns | 01:12 | |
| 73 | 11.1 - Failure Detection | 18:30 | |
| 74 | Intro - Testing | 01:13 | |
| 75 | 12.1 - Basic Unit Testing | 09:26 | |
| 76 | 12.2 - Table Unit Testing | 04:10 | |
| 77 | 12.3 - Mocking Web Server Response | 07:22 | |
| 78 | 12.4 - Testing Internal Endpoints | 09:02 | |
| 79 | 12.5 - Sub Tests | 05:41 | |
| 80 | 12.6 - Code Coverage | 03:34 | |
| 81 | Intro - Benchmarking | 00:42 | |
| 82 | 13.1 - Basic Benchmarking | 09:25 | |
| 83 | 13.2 - Validate Benchmarking | 07:01 | |
| 84 | 13.3 - CPU-Bound Benchmarking | 07:04 | |
| 85 | 13.4 - IO-Bound Benchmarking | 06:05 | |
| 86 | Intro - Profiling & Tracing | 01:06 | |
| 87 | 14.1 Profiling Guidelines | 05:43 | |
| 88 | 14.2 Stack Traces | 08:29 | |
| 89 | 14.3 Micro Level Optimization | 28:21 | |
| 90 | 14.4 Macro Level Optimization | 24:48 | |
| 91 | 14.5 Execution Tracing | 38:57 |
Get instant access to all 90 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionRelated courses
-
Updated 3mo agoThe Ultimate Guide to Debugging With Go
By: ByteSizeGo, Matt BoyleThe most important skill you were never taught. The ability to debug code locally and in production is critically important for any Go engineer.3h 41m -
Updated 2y agoUltimate Service 3.0
By: Ardan LabsThis updated course teaches you how to build production-level services in Go, leveraging the power of Kubernetes.13h 33m -
Updated 2y agoUltimate Go: Software Design with Kubernetes
By: Ardan LabsThis course teaches you how to build production-level services in Go, leveraging the power of a Domain Driven, Data Oriented Archiecture deployed in Kubernetes.18h 2m