تسلط به طراحی ساختارهای داده همزمان با ++C مدرن
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- طراحی ساختارهای داده همزمان با استفاده از ++C مدرن
- استفاده از مدل حافظه ++C برای ساخت ساختارهای داده بدون قفل
- استفاده از ویژگیهای ++C مدرن برای ساخت ساختارهای داده با عملکرد بالا
- دامها و چالشهایی که باید در طراحی سیستمهای همزمان با ++C از آنها اجتناب کرد.
توضیحات دوره
این دوره به شما کمک میکند تا عمیقاً به طراحی و پیادهسازی ساختارهای داده همزمان کارآمد با استفاده از آخرین ویژگیها و بهترین شیوههای ++C بپردازید. اینها مهارتهایی هستند که ابزارهایی مانند ChatGPT سالها طول میکشد تا توسعه دهند.
این دوره از دانشجویان انتظار دارد که کدهای مورد بحث را به طور مستقل پیادهسازی کنند. این دوره، افراد خودانگیخته و برنامهنویسان با مهارت متوسط را هدف قرار میدهد که به جزئیات طراحی فراتر از کپی کردن تکالیف علاقهمند هستند.
همزمانی در چشمانداز توسعه نرمافزار امروزی حیاتی است و ایجاد ساختارهای دادهای که چندین thread بتوانند به طور ایمن و کارآمد به آنها دسترسی داشته باشند، ضروری است. در این دوره، شما:
- اصول همزمانی و چالشهای طراحی ساختارهای داده همزمان را درک خواهید کرد.
- ساختارهای داده همزمان مختلف را بررسی کرده و مناسبترین را برای مورد کاربردی خود انتخاب میکنید.
- در مورد تکنیکها و سازوکارهای همگامسازی در ++C برای تضمین ایمنی thread، از جمله mutexها، متغیرهای شرطی و اتمیکها میآموزید.
- مدلهای حافظه مختلف، طراحی ساختارهای داده بدون قفل و بدون انتظار و اصول بازپسگیری حافظه و جمعآوری زباله را درک میکنید.
- بر روی مثالهای عملی و تمرینات کارگاهی برای تقویت دانش خود کار کرده و ساختارهای داده همزمان مانند صفها، پشتهها، جداول درهمسازی و درختها را با استفاده از آخرین ویژگیهای ++C طراحی و پیادهسازی میکنید.
تا پایان این دوره، شما به خوبی مجهز خواهید بود تا ساختارهای داده همزمان با عملکرد بالا در ++C طراحی و پیادهسازی کنید که میتوانند بر روی سیستمهای چند-هستهای مقیاسپذیر بوده و سطوح بالایی از همزمانی را مدیریت کنند.
مزایای یادگیری همزمانی با ++C20 را کشف کنید:
- پشتیبانی استاندارد شده: از ویژگیها و بهبودهای جدید ++C20 برای برنامهنویسی همزمان، از جمله الگوریتمهای موازی، عملیات اتمیک و مدلهای حافظه بهره ببرید.
- عملکرد بالا: از قابلیتهای عملکرد بالای ++C برای ایجاد برنامههای همزمان سریع و کارآمد استفاده کنید.
- بهبودهای مدل حافظه: از مدل حافظه جدید ++C20 برای استدلال در مورد رفتار برنامه همزمان و جلوگیری از باگهای نامحسوس بهره ببرید.
- ایمنی نوع پیشرفته: از ایمنی نوع بهبودیافته در برنامههای همزمان با ویژگیهایی مانند کلاس atomic_ref بهرهمند شوید.
- کاربردهای عملی: رقابتپذیری خود را در بازار کار تقویت کرده و نرمافزارهای با عملکرد بالایی را توسعه دهید که میتوانند درجه بالایی از همزمانی را مدیریت کنند.
همین امروز در این دوره شرکت کنید و قدرت برنامهنویسی همزمان با عملکرد بالا را آزاد کنید!
این دوره برای چه کسانی مناسب است؟
- برنامهنویسان متوسط ++C که در حال بررسی همزمانی در ++C مدرن هستند.
- برنامهنویسان متوسط ++C که به دنبال رشد در نقشهای خود از توسعهدهنده به رهبر تیم هستند.
- برنامهنویسان متوسط ++C که کنجکاو در درک پیادهسازی عملی ابزارهای همزمانی مدرن ++C هستند.
- برنامهنویسان ++C که با سینتکس زبان آشنا هستند اما به دنبال فرصتهایی برای ساخت پروژههای شخصی با استفاده از ویژگیهای پیشرفته زبان میباشند.
- مهندسان نرمافزار ارشد که برنامه دارند در آینده نزدیک به رهبر فنی تبدیل شوند.
- تمامی برنامهنویسان ++C که 12 ماه یا بیشتر به کدنویسی با ++C مشغول بودهاند.
تسلط به طراحی ساختارهای داده همزمان با ++C مدرن
-
مقدمه 04:02
-
مروری بر ویژگیهای استانداردهای ++C از 98 تا 23 04:25
-
ارزیابی سریع None
-
قانون آمدال در برنامههای همزمان 05:23
-
چه زمانی به طور بهینه از همزمانی یا multithreading استفاده کنیم؟ 05:36
-
ارزیابی سریع None
-
مفاهیم بدون انتظار 01:40
-
مفهوم بدون قفل 01:22
-
مفهوم بدون انسداد 02:18
-
ارزیابی سریع None
-
تفکر به صورت تراکنشی مشابه ACID 04:49
-
مرور سریع مفاهیم اتمیک در ++C 02:52
-
ملاحظاتی هنگام استفاده از اتمیکهای ++C 04:06
-
ارزیابی سریع None
-
خلاصه مفهوم در بستر یک threaded 01:41
-
پیادهسازی همزمان با استفاده از mutex و اتمیکها در استاندارد C++11 04:50
-
استفاده از once_flag در C++11 02:57
-
تمیزترین راهحل اولیهسازی همزمان 00:18
-
قفلها، اتمیکها و طراحی همزمان 03:48
-
اهداف طراحی 01:31
-
مرور کلی کلاس با استفاده از ویژگیهای ++C مدرن 02:22
-
بررسی کد پیادهسازی سازنده، مخرب و تابع جستجو 03:47
-
بررسی کد تابع push_front 05:17
-
بررسی کد تابع pop_front 05:10
-
توضیح مشکل ABA 03:34
-
مروری بر راهحلهای ممکن برای مشکل ABA 04:51
-
مروری بر راهحلهای مشکلات مربوط به حذف 04:41
-
لیست پیوندی یکطرفه با استفاده از کلاس Reference و سایر ویژگیهای مدرن C++ 02:53
-
جزئیات پیادهسازی برای استفاده از کلاس مرجع 02:42
-
تحلیل همزمانی رویدادهای mutlithreading در کلاس 03:42
-
اهداف طراحی خواندن، کپی و بروزرسانی (RCU) 02:33
-
مثال RCU با طراحی آرایه پویای همزمان با استفاده از ++C مدرن 07:28
-
اشارهگر خطر 03:58
-
ملاحظات طراحی استخر Thread هنگام استفاده از C++20 یا بالاتر 03:12
-
اعمال تئوری در برنامههای همزمان 01:30
-
مفروضات مهم قبل از ادامه مسیر 00:55
-
چالشها در طراحی همزمان با استفاده از ++C مدرن 02:12
-
توصیههای طراحی برای مواجهه با multithreading در محیط عملیاتی 02:42
-
مروری بر معماری همزمان 09:25
-
انواع رایج باگها در برنامههای multithreading 00:59
-
باگهای مرتبط با مسدودسازی ناخواسته 00:59
-
باگهای مرتبط با شرایط رقابتی 00:58
-
تکنیکهای بازبینی کد برای مدیریت multithreading 03:34
-
بازبینی کد None
-
چالشها در تست کد mutlithreading 04:32
-
طراحی برای تستپذیری 02:06
-
تکنیکهای تست 03:15
-
کتابخانهها، ابزارها و سخنان پایانی 05:54
مشخصات آموزش
تسلط به طراحی ساختارهای داده همزمان با ++C مدرن
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:متوسط
- تعداد درس:48
- مدت زمان :02:27:06
- حجم :792.0MB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy