Oreilly – Ultimate Go: Advanced Concepts 2024-3
Oreilly – Ultimate Go: Advanced Concepts 2024-3 Downloadly IRSpace

Ultimate Go: Advanced Concepts Course. This comprehensive and in-depth course introduces you to the Go programming language. Focusing on various aspects of the language, from syntax, design, and instructions to concurrency, testing, and profiling, this course is perfect for those who want to brush up on their Go skills or gain a deeper understanding of the language.
This course begins with an in-depth review of the syntax, terminology, implementation, and specifications of the Go language. It then introduces you to the essential principles of software design in Go. With this strong foundation, it teaches the mechanical concepts behind concurrency in Go, covering everything you need to design concurrent software. Finally, it explores the tools that Go provides for testing, tracing, and profiling your programs.
What you will learn:
- Write better, more idiomatic, and more efficient code
- Focus on micro-level engineering decisions
- Use your new understanding of internal concepts to exploit key trade-offs between readability, simplicity, and efficiency.
- Use of data semantics, guidelines, mechanical empathy, data-driven design, and package-driven design
- Structuring your project goals for the long term
- Managing packages, modules, and dependencies
This course is suitable for people who:
- Are learning their first programming language
- Experienced programmers who want to harness the power of Go
- Have completed computer science courses or have at least two years of full-time professional programming experience
- Are familiar with structured and object-oriented programming styles
- Have worked with arrays, lists, queues, and stacks
- Have a strong understanding of processes, threads, and synchronization
Ultimate Go: Advanced Concepts Course Details
- Publisher: Oreilly
- Instructor: William Kennedy
- Training level: Beginner to advanced
- Training duration: 10 hours
- Number of lessons: 97
Course headings
- Lesson 1 Strings and Formatted Output
- 1.1 Prepare Your Mind
- 1.2 Productivity versus Performance
- 1.3 Correctness versus Performance
- 1.4 Code Reviews
- 1.5 If Performance Matters
- Lesson 2 Memory and Data Semantics
- 2.1 Variables
- 2.2 Structure Types
- 2.3.1 Pointers: Pass by Values
- 2.3.2 Pointers: Sharing Data
- 2.3.3 Pointers: Escape Analysis
- 2.3.4 Pointers: Stack Growth
- 2.3.5 Pointers: GC
- 2.4 Constants
- Lesson 3 Data Structures
- 3.1 Arrays: Mechanical Sympathy
- 3.2.1 Arrays: Semantics
- 3.2.1 Arrays: Range Mechanics
- 3.3.1 Slices: Declare, Length, and Reference Types
- 3.3.2 Slices: Appending Slices
- 3.3.3 Slices: Taking Slices of Slices
- 3.3.4 Slices: Strings and References
- 3.3.5 Slices: Strings and Slices
- 3.3.6 Slices: Range Mechanics
- 3.4 Maps
- Lesson 4 Decoupling
- 4.1.1 Methods: Value and Pointer Semantics
- 4.1.2 Methods: Function/Method Variables
- 4.2.1 Interfaces: Polymorphism
- 4.2.2 Interfaces: Method Sets and Address of Value
- 4.2.3 Interfaces: Storage by Value
- 4.2.4 Interfaces: Type Assertion
- 4.3 Embedding
- 4.4 Exporting
- Lesson 5 Composition
- 5.1 Grouping Types
- 5.2 Decoupling
- 5.3.1 Conversion and Assertions Part 1
- 5.3 Conversion and Assertions Part 2
- 5.4 Interface Pollution
- 5.5 Mocking
- Lesson 6 Error Handling
- 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
- 7.1 Language Mechanics Design Guidelines
- 7.2 Package Oriented Design
- Lesson 8 Go Routines
- 8.1 OS Scheduler Mechanics
- 8.2 Go Scheduler Mechanics
- 8.3 Creating Go Routines
- Lesson 9 Data Races
- 9.1 Managing Data Races
- Lesson 10 Channels
- 10.1 Signaling Semantics
- 10.2 Basic Patterns
- 10.3 Fan Out
- 10.4 Wait for Task
- 10.5 Pooling
- 10.6 Fan Out Semaphore
- 10.7 Fan Out Bounded
- 10.8 Drop Pattern
- 10.9 Cancellation Pattern
- Lesson 11 Concurrency Patterns
- 11.1 Failure Detection
- Lesson 12 Testing
- 12.1 Basic Unit Testing
- 12.2 Table Unit Testing
- 12.3 Mocking Web Server Response
- 12.4 Testing Internal Endpoints
- 12.5 Subtests
- 12.6 Code Coverage
- Lesson 13 Benchmarks
- 13.1 Basic Benchmarking
- 13.2 Validate Benchmarking
- 13.3 CPU-Bound Benchmarking
- 13.4 IO-Bound Benchmarking
- Lesson 14 Profiling and Tracing
- 14.1 Profiling Guidelines
- 14.2 Stack Traces
- 14.3 Micro Level Optimization
- 14.4 Macro Level Optimization
- 14.5 Execution Tracing
Course images
Sample course video
Installation Guide
After Extract, view with your favorite player.
Subtitles: English
Quality: 720p
Download link
File(s) password: www.downloadly.ir
File size
8.5 GB