سیستمهای نرمافزاری مدرن باید با درجه بالایی از همزمانی کار کنند تا از سختافزاری که روی آن اجرا میشوند، استفاده کنند. این دوره به شما میآموزد که چگونه از ویژگیهای Go برای ساختن برنامههای همزمان قوی و زیبا استفاده کنید.
آنچه خواهید آموخت:
یکی از اهداف اصلی طراحی Go سادهسازی است. ایجاد برنامههای همزمان در این دوره، Concurrent Programming in Go، یاد خواهید گرفت که چگونه این کار را انجام دهید. ابتدا، با مرور ابزارهای همزمان ضروری Go - گوروتینها و کانالها، خود را گرم میکنید. در مرحله بعد، این سازهها را بررسی خواهید کرد تا قابلیتهای کامل آنها را بیاموزید. شما برخی از الگوهای طراحی را یاد خواهید گرفت که به سیستمهای همزمانی که قابل پیش بینی و سازماندهی شده باشند اجازه میدهد. در نهایت، با سایر ویژگیهایی که Go ارائه میکند آشنا میشوید تا مطمئن شوید برنامههای همزمان شما کارآمد و خوب هستند. وقتی این دوره را تمام کردید، مهارتها و دانش مربوط به همزمانی Go را برای ایجاد برنامههای همزمان قوی، واضح و کارآمد با Go خواهید داشت.
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [1min]
01-01 Course Overview [1mins]
02 Concurrency in Go [27mins]
02-01 Introduction [2mins]
02-02 Prerequisites and Version Information [2mins]
02-03 Demo- Goroutines and WaitGroups [11mins]
02-04 Demo- Channels [9mins]
02-05 Course Overview [3mins]
03 Goroutines [20mins]
03-01 Introduction [1mins]
03-02 What Is a Goroutine [7mins]
03-03 Lifecycle of a Goroutine [5mins]
03-04 Advice Regarding Goroutines [4mins]
03-05 Summary [3mins]
04 Channels [34mins]
04-01 Introduction [1mins]
04-02 Buffered and Unbuffered Channels [3mins]
04-03 Demo- Buffered and Unbuffered Channels [3mins]
04-04 Directional Channels [3mins]
04-05 Demo- Directional Channels [3mins]
04-06 Control Flow with Channels [1mins]
04-07 Select Statements [5mins]
04-08 Demo- Select Statements [2mins]
04-09 For Loops [4mins]
04-10 Demo- For Loops [7mins]
04-11 Summary [2mins]
05 Common Concurrency Patterns [39mins]
05-01 Introduction [1mins]
05-02 Non-blocking Error Channels [4mins]
05-03 Encapsulating Goroutines [4mins]
05-04 Demo- Non-blocking Error Channels and Encapsulating Goroutines [5mins]
05-05 Messaging Patterns [2mins]
05-06 Demo- Single Producer, Single Consumer Messaging [5mins]
05-07 Demo- Single Producer, Multiple Consumer Messaging [3mins]
05-08 Demo- Multiple Producer, Single Consumer Messaging [7mins]
05-09 Demo- Multiple Producer, Multiple Consumer Messaging [5mins]
05-10 Summary [3mins]
06 Additional Tools to Support Concurrent Programming [43mins]
06-01 Introduction [2mins]
06-02 The Sync Package - Mutexes [3mins]
06-03 Demo- Mutexes [6mins]
06-04 Demo- sync.Once [5mins]
06-05 Demo- The Race Detector [5mins]
06-06 Contexts [3mins]
06-07 Demo- Context with Cancel [10mins]
06-08 Demo- Context with Timeout [4mins]
06-09 Summary [5mins]
[فارسی]
01 نمای کلی دوره [1 دقیقه]
01-01 بررسی اجمالی دوره [1 دقیقه]
02 همزمانی در Go [27 دقیقه]
02-01 مقدمه [2 دقیقه]
02-02 پیش نیازها و اطلاعات نسخه [2 دقیقه]
02-03 نسخهی نمایشی- گوروتینها و گروههای انتظار [11 دقیقه]
02-04 نسخهی نمایشی- کانالها [9 دقیقه]
02-05 نمای کلی دوره [3 دقیقه]
03 گوروتینها [20 دقیقه]
03-01 مقدمه [1 دقیقه]
03-02 گوروتین چیست؟ [7 دقیقه]
03-03 چرخه زندگی یک گوروتین [5 دقیقه]
03-04 مشاوره در مورد گوروتینها [4 دقیقه]
03-05 خلاصه [3 دقیقه]
04 کانالها [34 دقیقه]
04-01 مقدمه [1 دقیقه]
04-02 کانالهای بافر و بافر نشده [3 دقیقه]
04-03 نسخهی نمایشی- کانالهای بافر و بافر نشده [3 دقیقه]
04-04 کانالهای جهت دار [3 دقیقه]
04-05 نسخهی نمایشی- کانالهای جهت دار [3 دقیقه]
04-06 کنترل جریان با کانالها [1 دقیقه]
04-07 انتخاب بیانیهها [5 دقیقه]
04-08 نسخهی نمایشی- بیانیهها را انتخاب کنید [2 دقیقه]
04-09 برای حلقهها [4 دقیقه]
04-10 نسخهی نمایشی- برای حلقهها [7 دقیقه]
04-11 خلاصه [2 دقیقه]
05 الگوهای همزمانی رایج [39 دقیقه]
05-01 مقدمه [1 دقیقه]
05-02 کانالهای خطای غیر مسدود [4 دقیقه]
05-03 گوروتینهای محصور کننده [4 دقیقه]
05-04 نسخهی نمایشی- کانالهای خطا بدون مسدود کردن و گوروتینهای کپسوله کردن [5 دقیقه]
05-05 الگوهای پیام رسانی [2 دقیقه]
05-06 نسخهی نمایشی- تولید کننده واحد، پیام رسانی تنها به مصرف کننده [5 دقیقه]
05-07 نسخهی نمایشی- تولید کننده واحد، پیام رسانی چند مشتری [3 دقیقه]
05-08 نسخهی نمایشی- تولیدکننده چندگانه، پیام رسانی به مصرف کننده منفرد [7 دقیقه]
05-09 نسخهی نمایشی- تولیدکننده چندگانه، پیام رسانی چند مشتری [5 دقیقه]
05-10 خلاصه [3 دقیقه]
06 ابزارهای اضافی برای پشتیبانی از برنامه نویسی همزمان [43 دقیقه]
06-01 مقدمه [2 دقیقه]
06-02 بسته همگامسازی - Mutexes [3 دقیقه]
06-03 نسخهی نمایشی- Mutexes [6 دقیقه]
06-04 نسخهی نمایشی- همگام سازی. یک بار [5 دقیقه]
06-05 نسخهی نمایشی- The Race Detector [5 دقیقه]
06-06 زمینهها [3 دقیقه]
06-07 نسخهی نمایشی- زمینه با لغو [10 دقیقه]
06-08 نسخهی نمایشی- زمینه با مهلت زمانی [4 دقیقه]
06-09 خلاصه [5 دقیقه]
مایکل ون سیکل یک معمار اپلیکیشن در آکرون، اوهایو است. او قبل از تغییر به مهندسی نرم افزار، کار خود را به عنوان یک مهندس مکانیک با طراحی قطعات برای صنعت خودرو آغاز کرد. او مشتاق یادگیری زبان های برنامه نویسی جدید است و به راحتی در جاوا، سی شارپ، جاوا اسکریپت، PHP و F# کار می کند. مایک همچنین دوست دارد در مورد طراحی تجربه کاربری یاد بگیرد و نقش اصلی را در تلاش شرکت خود برای ساخت برنامه های کاربردی شیک و ساده ایفا می کند. هنگامی که او کد نمی نویسد، مایک دوست دارد به کمپینگ برود و با همسر و دو دخترش پیاده روی طولانی انجام دهد.