پیشنهاد فرادرس

آموزش برنامه نویسی با زبان Go - نسخه دوم

دسته بندی ها: آموزش GO ، آموزش طراحی وب ، آموزش های Addison Wesley

این دوره یک دیدگاه فشرده، جامع و اصیل از زبان برنامه نویسی Go را فراهم می کند. این دوره تمرکز بر خصوصیات و پیاده سازی زبان، از جمله موضوعاتی مانند سینتکس زبان، طراحی، دستورالعمل ها برای هم زمانی، تست و پروفایل سازی است. این دوره برای افرادی که می خواهند تازه زبان Go را یاد بگیرند یا یا می خواهند درک کاملتری از زبان را داشته باشند مناسب است. در این دوره با تمام نکات لازم در Go و طراحی نرم افزار در Go آشنا می شوید و به بررسی مکانیک زبان برای طراحی نرم افزار همزمان می پردازید. در نهایت تست، ردیابی و پروفایل اپلیکیشن های شما را نیز فراهم می کند.

سرفصل:

  • معرفی دوره
  • طراحی
  • بهره وری در مقابل عملکرد
  • سینتکس زبان
  • متغیرها
  • Struct Types
  • اشاره گرها
  • به اشتراک گذاری داده
  • تحلیل فرار
  • رشد پشته
  • جمع آوری زباله
  • ساختارهای داده
  • طراحی داده محور
  • Slices و References
  • رشته ها
  • Decoupling
  • متدها
  • کامپوزیشن
  • دستورالعمل های طراحی
  • متغیرهای خطا
  • یافتن باگ
  • بسته بندی
  • مکانیک OS Scheduler
  • مکانیک Go Scheduler
  • Data Races
  • کانال ها
  • الگوهای هم زمانی
  • تست
  • تست واحد
  • Benchmarking
  • و غیره
Ultimate Go Programming, Second Edition Publisher:Addison Wesley Author:William Kennedy Duration:16+ H


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.
Learn How To:
Read code with an understanding of the language mechanics and internals
Understand costs by knowing the different semantics of the language
Code and design software more effectively
Design your Go projects and better ways to package your APIs
Write multithreaded code in Go and learn the things you need to focus on
Unit test your code and write benchmarks to validate assumptions
Profile and trace your Go programs to identify and fix bugs and to make improvements
Introduction
Ultimate Go Programming: Introduction 00:04:28
Lesson 1: Design Guidelines
Topics 00:00:46
1.1 Prepare Your Mind 00:14:27
1.2 Productivity versus Performance 00:04:12
1.3 Correctness versus Performance 00:05:35
1.4 Code Reviews 00:18:52
Lesson 2: Language Syntax
Topics 00:00:49
2.1 Variables 00:16:27
2.2 Struct Types 00:23:28
2.3 Pointers—Part 1 (Pass by Value) 00:15:45
2.3 Pointer—Part 2 (Sharing Data) 00:10:35
2.3 Pointers—Part 3 (Escape Analysis) 00:20:20
2.3 Pointers—Part 4 (Stack Growth) 00:07:32
2.3 Pointers—Part 5 (Garbage Collection) 00:15:14
2.4 Constants 00:15:30
Lesson 3: Data Structures
Topics 00:00:41
3.1 Data-Oriented Design 00:04:53
3.2 Arrays—Part 1 (Mechanical Sympathy) 00:33:11
3.2 Arrays—Part 2 (Semantics) 00:16:43
3.3 Slices—Part 1 (Declare and Length and Reference Types) 00:08:46
3.3 Slices—Part 2 (Appending Slices) 00:15:32
3.3 Slices—Part 3 (Taking Slices of Slices) 00:11:45
3.3 Slices—Part 4 (Slices and References) 00:05:52
3.3 Slices—Part 5 (Strings and Slices) 00:08:30
3.3 Slices—Part 6 (Range Mechanics) 00:04:35
3.4 Maps 00:08:04
Lesson 4: Decoupling
Topics 00:00:56
4.1 Methods—Part 1 (Declare & Receiver Behavior) 00:10:45
4.1 Methods—Part 2 (Value & Pointer Semantics) 00:15:35
4.1 Methods—Part 3 (Function/ Method Variables) 00:13:40
4.2 Interfaces—Part 1 (Polymorphism) 00:20:12
4.2 Interfaces—Part 2 (Method Sets and Address of Value) 00:11:52
4.2 Interfaces—Part 3 (Storage by Value) 00:05:35
4.3 Embedding 00:07:31
4.4 Exporting 00:08:29
Lesson 5: Composition
Topics 00:01:00
5.1 Grouping Types 00:12:38
5.2 Decoupling—Part 1 00:06:59
5.2 Decoupling—Part 2 00:18:25
5.2 Decoupling—Part 3 00:14:37
5.3 Conversion and Assertions 00:09:03
5.4 Interface Pollution 00:06:46
5.5 Mocking 00:05:53
5.6 Design Guidelines 00:03:25
Lesson 6: Error Handling
Topics 00:00:52
6.1 Default Error Values 00:11:34
6.2 Error Variables 00:02:41
6.3 Type as Context 00:07:04
6.4 Behavior as Context 00:09:50
6.5 Find the Bug 00:08:53
6.6 Wrapping Errors 00:14:31
Lesson 7: Packaging
Topics 00:00:53
7.1 Language Mechanics 00:08:32
7.2 Design Guidelines 00:05:49
7.3 Package-Oriented Design 00:18:26
Lesson 8: Goroutines
Topics 00:00:29
8.1 OS Scheduler Mechanics 00:29:00
8.2 Go Scheduler Mechanics 00:20:42
8.3 Creating Goroutines 00:19:44
Lesson 9: Data Races
Topics 00:00:53
9.1 Cache Coherency and False Sharing 00:12:40
9.2 Synchronization with Atomic Functions 00:11:30
9.3 Synchronization with Mutexes 00:14:38
9.4 Race Detection 00:04:48
9.5 Map Data Race 00:04:01
9.6 Interface-Based Race Condition 00:08:14
Lesson 10: Channels
Topics 00:00:43
10.1 Signaling Semantics 00:17:50
10.2 Basic Patterns—Part 1 (Wait for Task) 00:11:12
10.2 Basic Patterns—Part 2 (Wait for Result) 00:04:20
10.2 Basic Patterns—Part 3 (Wait for Finished) 00:06:00
10.3 Pooling Pattern 00:06:23
10.4 Fan Out Pattern—Part 1 00:08:38
10.4 Fan Out Pattern—Part 2 00:06:24
10.5 Drop Pattern 00:07:15
10.6 Cancellation Pattern 00:08:15
Lesson 11: Concurrency Patterns
Topics 00:00:34
11.1 Context—Part 1 00:16:23
11.1 Context—Part 2 00:11:24
11.2 Failure Detection 00:23:17
Lesson 12: Testing
Topics 00:00:41
12.1 Basic Unit Testing 00:13:55
12.2 Table Unit Testing 00:03:19
12.3 Mocking Web Server Response 00:06:59
12.4 Testing Internal Endpoints 00:07:23
12.5 Example Tests 00:09:56
12.6 Sub Tests 00:05:36
12.7 Code Coverage 00:04:44
Lesson 13: Benchmarking
Topics 00:00:47
13.1 Basic Benchmarking 00:07:27
13.2 Sub Benchmarks 00:03:36
13.3 Validate Benchmarks 00:07:41
Lesson 14: Profiling and Tracing
Topics 00:00:55
14.1 Profiling Guidelines 00:10:48
14.2 Stack Traces 00:09:00
14.3 Micro Level Optimization 00:31:18
14.4 Part 1: Macro Level Optimization: GODEBUG Tracing 00:12:49
14.4 Part 2: Macro Level Optimization: Memory Profiing 00:16:07
14.4 Part 3: Macro Level Optimization: Tooling Changes 00:06:04
14.4 Part 4: Macro Level Optimization: CPU Profiling 00:05:53
14.5 Execution Tracing 00:34:25
Summary
Ultimate Go Programming: Summary 00:01:12

پیشنهاد فرادرس