لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش بالا و در حال اجرا با Concurrency in Go (Golang) [ویدئو]
Up and Running with Concurrency in Go (Golang) [Video]
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
بر اساس آخرین نظرسنجیهای توسعهدهندگان، Go(lang) یکی از محبوبترین و محبوبترین زبانهای جهان است و توسعهدهندگان آن جزو پردرآمدترین زبانها در جهان هستند. Go همچنین بهترین زبانی است که شرکتها قصد مهاجرت به آن را دارند، به این معنی که مهارتهای Go شما برای سالهای آینده گواهی آینده است.
Concurrency یک موضوع بسیار پیشرفته در Golang است و برخی از دوره های جامع Go اصلاً به آن نمی پردازند. با این حال، ما بر این باوریم که تنها با تعداد معقول ساعت تلاش، میتوانید در راه باشید، با همزمانی راحت باشید و آماده باشید تا ویژگیهای ناهمزمان را به پروژه برنامهنویسی بعدی خود اضافه کنید.
در این دوره، نظریه همزمانی، اصطلاحات، روندها، مزایا و چالش ها را پوشش خواهیم داد. تفاوت بین برنامه ریزی همزمان و موازی/موازی. همچنین گوروتینها، کد مسدود کردن، گروهها و کانالهای انتظار، کدهای محدود شده در مقابل CPU را با نمونههایی از هر کدام، شرایط مسابقه، Mutexes، متغیرهای شرط، متغیرهای اتمی، الگوهای همزمانی بررسی میکنیم.
در پایان این دوره، شما به درک عمیقی از مبانی Go Concurrency خواهید رسید و می توانید آن را در پروژه های آینده خود پیاده سازی کنید.
همه منابع و فایلهای کد قرار داده شدهاند: https://github.com/PacktPublishing/Up-and-Running-with-Concurrency-in-Go-Golang- درباره نظریه همزمانی، اصطلاحات، و موازیهای زندگی روزمره بیاموزید.
در مورد موارد اولیه مانند گروه های انتظار و کانال ها در زبان Go بیاموزید
درباره فرآیندهای I/O-bound در مقابل CPU-bound بیاموزید
الگوهای همزمانی مانند استخرهای کارگری را کاوش کنید
با شرایط مسابقه و بن بست آشنا شوید
mutexes، متغیرهای شرط، متغیرهای اتمی را بدانید این دوره برای کسانی است که با همزمانی و به طور خاص در زبان برنامه نویسی Go شروع می کنند. همچنین برای کسانی که مایل به یادگیری اصول برنامه نویسی همزمان در زبان برنامه نویسی Go هستند.
هیچ پیش نیاز دقیقی وجود ندارد، اما آگاهی از اصول برنامه نویسی کامپیوتر و به طور خاص زبان Go بسیار مفید خواهد بود، به خصوص برای تمرین های کدنویسی. درک عمیق تری از اینکه همزمانی در Golang چیست و چگونه با زندگی روزمره ما مرتبط است به دست آورید * اصطلاحات مختلف Go(lang) را به همراه مثالها کاوش کنید * فرآیند نصب کامپایلر Go را درک کنید و اولین کد خود را بنویسید.
سرفصل ها و درس ها
خوش آمد گویی و بررسی اجمالی دوره
Welcome and Course Overview
به دوره خوش آمدید
Welcome to the Course
معرفی دوره
Course Introduction
نسخه نمایشی همزمانی سریع
Quick Concurrency Demo
ساختار دوره
Course Structure
درک همزمانی – روندها، مزایا و چالش ها
Understanding Concurrency – Trends, Benefits, and Challenges
همزمانی روزانه
Everyday Concurrency
درک اصطلاحات
Understanding the Terminology
روند شماره 1 - تأخیر
Trend #1 - Latency
روند شماره 2 - چند هسته CPU
Trend #2 - Multiple CPU Cores
خلاصه ای از مزایا و چالش ها
Summary of Benefits and Challenges
تنظیم محیط توسعه سفارشی شما
Setting Up Your Custom Development Environment
نصب Go، Course Resources و Your IDE
Installing Go, Course Resources and Your IDE
استفاده از چند صفحه نمایش و سایر ملاحظات فیزیکی
Using Multiple Screens and Other Physical Considerations
ایجاد اولین گوروتین
Creating Your First Goroutine
اجازه دهید ما آن را امتحان کنیم
Let Us Try It
آشنایی با کد مسدود کردن
Understanding Blocking Code
"مسدود کردن" دقیقاً به چه معناست؟
What Exactly Does "Blocking" Mean?
استفاده از گروه های انتظار برای ردیابی وضعیت گوروتین
Using Wait Groups to Track Goroutine Status
بررسی اجمالی گروه ها صبر کنید
Wait Groups Overview
مثال کدنویسی
Coding Example
استفاده از کانال ها برای ارتباط با گوروتین ها
Using Channels to Communicate with Goroutines
بررسی اجمالی هدف و نحو
Purpose and Syntax Overview
استفاده از کانال ها در کد ما
Using Channels in Our Code
استفاده از کانال ها برای همگام سازی گوروتین ها
Using Channels to Synchronize Goroutines
پرسش و پاسخ: چرا و چگونه از گروه های انتظار در Sync3 و Sync4 استفاده کنیم؟
Q&A: Why and How to Use Wait Groups in Sync3 and Sync4?
درک فرآیندهای IO-Bound در مقابل CPU-Bound Processes
Understanding IO-Bound Versus CPU-Bound Processes
مقدمه ای بر IO-Bound در مقابل CPU-Bound
Introduction to IO-Bound Versus CPU-Bound
دموهای محدود به CPU
CPU-Bound Demos
دموهای IO-Bound
IO-Bound Demos
خلاصه IO-Bound در مقابل CPU-Bound
IO-Bound Versus CPU-Bound Summary
شرایط مسابقه: Mutexes، Condition، و متغیرهای اتمی
Race Conditions: Mutexes, Condition, and Atomic Variables
مقدمه ای بر وضعیت مسابقه - نسخه ی نمایشی
Introduction to Race Condition - Demo
معرفی شرایط مسابقه
Race Condition Introduction
راه حل های شرایط مسابقه - Mutex، متغیرهای اتمی
Race Condition Solutions - Mutex, Atomic Variables
نسخه ی نمایشی راه حل وضعیت مسابقه
Race Condition Solution Demo
Packtpub یک ناشر دیجیتالی کتابها و منابع آموزشی در زمینه فناوری اطلاعات و توسعه نرمافزار است. این شرکت از سال 2004 فعالیت خود را آغاز کرده و به تولید و انتشار کتابها، ویدیوها و دورههای آموزشی میپردازد که به توسعهدهندگان و متخصصان فناوری اطلاعات کمک میکند تا مهارتهای خود را ارتقا دهند. منابع آموزشی Packtpub موضوعات متنوعی از جمله برنامهنویسی، توسعه وب، دادهکاوی، امنیت سایبری و هوش مصنوعی را پوشش میدهد. محتوای این منابع به صورت کاربردی و بهروز ارائه میشود تا کاربران بتوانند دانش و تواناییهای لازم برای موفقیت در پروژههای عملی و حرفهای خود را کسب کنند.
استن ونگیلدر مدرک لیسانس علوم در مهندسی برق و کامپیوتر از موسسه فناوری جورجیا و سپس کارشناسی ارشد در مدیریت فناوری دریافت کرد. در طول کار خود در یک شرکت Fortune 150، او اولین پذیرنده فناوری بود و به یک سخنران، مربی، مربی و مشاور مکرر برای مخاطبان بزرگ و کوچک در داخل و خارج از شرکت تبدیل شد. استن در حال حاضر با ایجاد UPnRunning، اشتیاق خود را برای یادگیری و آموزش عمومی به کار می گیرد و دوره های آنلاین را برای ساده کردن موضوعات پیچیده برای پذیرش سریع و کارآمد در پروژه ها و گردش کار شما ارائه می دهد.
نمایش نظرات