HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Video accessible from your Account page after purchase.
Register your product to gain access to bonus material or receive a coupon.
16+ Hours of Video Instruction
"Ultimate Go is the best intermediate Go training out there. William Kennedy emphasises the fundamentals and the concepts of the language that is often difficult to understand when you begin learning a new language. It is like years of mastery diluted in simple lessons. You were blind and now you see clearly go. Besides, William Kennedy is one of the best teacher I have meet, we all want a tattoo 'Type is life' after watching Ultimate Go training."
–Jeremy Baumont, O'Reilly Online Learning Reviewer
Ultimate Go Programming LiveLessons, Second Edition, provides an intensive, comprehensive, and idiomatic view of the Go programming language. This course focuses on both the specification and implementation of the language, including topics ranging from language syntax, design, and guidelines to concurrency, testing, and profiling. This class is perfect for anyone who wants a jump-start in learning Go or wants a more thorough understanding of the language and its internals.
In this video training, Bill Kennedy starts by providing a deep and intensive dive into Go’s language syntax, idioms, implementation, and specification. Then Bill guides you through the essential things you need to know about designing software in Go. With that strong foundation, Bill then teaches the language mechanics behind Go’s concurrency primitives and covers all the things you need to know to design concurrent software. Finally, Bill covers the tooling Go provides for testing, tracing, and profiling your programs.
About the Instructor
William Kennedy is a managing partner at Ardan Studio in Miami, Florida, a mobile, web, and systems development company. He is also a coauthor of the book Go in Action, the author of the blog "GoingGo.Net," and a founding member of GoBridge, which is working to increase Go adoption through embracing diversity.
Skill Level
Learn How To
Who Should Take This Course
Any intermediate-level developer who has some experience with other programming languages and wants to learn Go. This video is perfect for anyone who wants a jump-start in learning Go or wants a more thorough understanding of the language, its internals and how to design software.
Course Requirements
About Pearson Video Training
Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que Topics include: IT Certification, Programming, Web Development, Mobile Development, Networking, Security, and more. Learn more about Pearson Video training at http://www.informit.com/video. Video Lessons are available for download for offline viewing within the streaming format. Look for the green arrow in each lesson.
Introduction
Part I: Introduction
Lesson 1: Design Guidelines
Topics
1.1 Prepare Your Mind
1.2 Productivity versus Performance
1.3 Correctness versus Performance
1.4 Code Reviews
Part II: Language Mechanics
Lesson 2: Language Syntax
Topics
2.1 Variables
2.2 Struct Types
2.3 Pointers
2.4 Constants
Lesson 3: Data Structures
Topics
3.1 Data-Oriented Design
3.2 Arrays
3.3 Slices
3.4 Maps
Lesson 4: Decoupling
Topics
4.1 Methods
4.2 Interfaces
4.3 Embedding
4.4 Exporting
Part III: Software Design
Lesson 5: Composition
Topics
5.1 Grouping Types
5.2 Decoupling
5.3 Conversion and Assertions
5.4 Interface Pollution
5.5 Mocking
5.6 Design Guidelines
Lesson 6: Error Handling
Topics
6.1 Default Error Values
6.2 Error Variables
6.3 Type as Context
6.4 Behavior as Context
6.5 Find the Bug
6.6 Wrapping Errors
Lesson 7: Packaging
Topics
7.1 Language Mechanics
7.2 Design Guidelines
7.3 Package-Oriented Design
Part IV: Concurrency
Lesson 8: Goroutines
Topics
8.1 OS Scheduler Mechanics
8.2 Go Scheduler Mechanics
8.3 Creating Goroutines
Lesson 9: Data Races
Topics
9.1 Cache Coherency and False Sharing
9.2 Synchronization with Atomic Functions
9.3 Synchronization with Mutexes
9.4 Race Detection
9.5 Map Data Race
9.6 Interface-Based Race Condition
Lesson 10: Channels
Topics
10.1 Signaling Semantics
10.2 Basic Patterns
10.3 Pooling Pattern
10.4 Fan Out Pattern
10.5 Drop Pattern
10.6 Cancellation Pattern
Lesson 11: Concurrency Patterns
Topics
11.1 Context
11.2 Failure Detection
Part V: Testing and Benchmarking
Lesson 12: Testing
Topics
12.1 Basic Unit Testing
12.2 Table Unit Testing
12.3 Mocking Web Server Response
12.4 Testing Internal Endpoints
12.5 Example Tests
12.6 Sub Tests
12.7 Code Coverage
Lesson 13: Benchmarking
Topics
13.1 Basic Benchmarking
13.2 Sub Benchmarks
13.3 Validate Benchmarks
Part VI: Profiling and Tracing
Lesson 14: Profiling and Tracing
Topics
14.1 Profiling Guidelines
14.2 Stack Traces
14.3 Micro Level Optimization
14.4 Macro Level Optimization
14.5 Execution Tracing
Summary