لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش برنامه نویسی چند پارادایم با C++ مدرن [ویدئو]
Multi-Paradigm Programming with Modern C++ [Video]
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
C++ یک زبان چند پارادایم است که به شما امکان می دهد یک مسئله را به روش های مختلف حل کنید و این دوره بهترین روش ها را به شما آموزش می دهد.
علاوه بر این، C++ دوباره اختراع شده است. C++2a بزرگترین پسوند زبان از زمان C++11 است و تقریباً شبیه یک زبان جدید است. توسعه دهندگانی که بر ویژگی های جدید تسلط دارند، می توانند کدهای تمیزتر، سریع تر و همزمان بنویسند. در این دوره، شما با بهترین شیوه های برنامه نویسی C++، از جمله ساختار پروژه، طراحی رابط ها و کلاس ها، دستورالعمل های هسته C++ و جدیدترین استاندارد زبان آشنا خواهید شد. ویژگیهای جدید متعدد هستند و تقریباً همه حوزههای زبان را پوشش میدهند: ماژولها به ما اجازه میدهند برنامههایمان را بهتر سازماندهی کنیم. مفاهیم به ما کمک می کنند API های پاک تری ایجاد کنیم. محدوده ها برای همیشه نحوه نگاه ما به ظروف را تغییر می دهند. ویژگیهای همزمانی، مانند کوروتینها، برنامهنویسی موازی و همزمان را به سطح جدیدی میآورد.
با نمونههای کد کوتاه و واقعی، تجربه عملی زیادی خواهید داشت. در پایان این دوره، شما آماده خواهید بود تا نرم افزارهای بهتری با استفاده از C++ ایجاد کنید.
در اینجا پیوندهای مخزن GitHub آمده است:
https://github.com/PacktPublishing/Multi-Paradigm-Programming-with-Modern-Cpp-daytime
https://github.com/PacktPublishing/Multi-Paradigm-Programming-with-Modern-Cpp-Examples
مهارت های ++C خود را به سطح بعدی ببرید
سبک های مختلف برنامه نویسی را یاد بگیرید
با الگوهای طراحی مفید تجربه عملی کسب کنید
جزئیات کوچکی را که برنامههای ++C عالی میسازد، بدانید
کد همزمان ایمن و کارآمد بنویسید
برخی از مهم ترین دستورالعمل های C++ Core را درک کنید
جزو اولین کسانی باشید که ماژولها، مفاهیم، محدودهها و برنامههای مشترک را یاد میگیرند و استفاده میکنند اگر توسعهدهنده ++C هستید و میخواهید مهارتهای توسعه C++ خود را ارتقا دهید، این دوره آموزشی شماست. دانش کاری C++، از جمله ویژگی های انتخاب شده C++11 (مثلاً لامبدا) مورد نیاز است. دانستن C++17 ضروری نیست، اما درک برخی از جنبه ها را آسان تر می کند.
نه تنها از ویژگی های C++ مدرن بلکه برخی از بهترین شیوه های برنامه نویسی را نیز به دست آورید. * تمام ویژگیهای کلیدی C++2a، از جمله ماژولها، مفاهیم، بلوکهای وظیفه، حافظه تراکنشها، محدودهها، برنامههای مشترک و غیره را در یک دوره واحد درک کنید. * راهنمای عملی برای ارتقاء مهارت های خود به همراه ویژگی های جدید آخرین نسخه های ++C (14، 17 و 20) برای ایجاد نرم افزار بهتر به راحتی.
سرفصل ها و درس ها
مقدمه ای بر C++
Introduction to C++
بررسی اجمالی دوره
The Course Overview
در مورد پارادایم های برنامه نویسی
On Programming Paradigms
تاریخچه مختصر با C++
A Brief History with C++
در مورد ابزارهای توسعه
On Development Tools
ساختار پروژه ها در C++
Structuring Projects in C++
ساختار پروژه های ++C
Structure of C++ Projects
سازماندهی فایل های منبع
Organizing Source Files
بهبود سرعت کامپایل
Improving Compilation Speed
اصطلاح Pimpl
Pimpl Idiom
ماژول ها در C++ 2a
Modules in C++ 2a
ماژول های ساختاری
Structuring Modules
ایجاد رابط های بهتر
Creating Better Interfaces
چه چیزی یک رابط خوب را می سازد
What Makes a Good Interface
ارائه یک انتزاع خوب
Providing a Good Abstraction
عبور از چیزهای اطراف
Passing Things Around
اجرای قرارداد
Enforcing the Contract
رابط با Style
Interface with Style
رابط باینری برنامه
Application Binary Interface
رفتن به شی گرا
Going Object-Oriented
کلاس و سازه ها
Class and Structs
سازندگان و ویرانگرها
Constructors and Destructors
کپی و انتقال دهید
Copy and Move
طراحی سلسله مراتب طبقاتی
Designing Class Hierarchies
مثال سلسله مراتب دوگانه
Dual Hierarchy Example
مدیریت حافظه
Managing Memory
اشاره گر مشترک
Shared Pointer
از توابع تا <functional>
From Functions to <functional>
چه چیزی یک عملکرد خوب را ایجاد می کند
What Makes a Good Function
استدلال ها و ارزش های بازگشتی
Arguments and Return Values
رفتن عملکردی
Going Functional
با استفاده از Lambdas
Using Lambdas
کامپایل-زمان ارزیابی با استفاده از constexpr
Compile-Time Evaluation Using constexpr
نوشتن کد عمومی با الگوها
Writing Generic Code with Templates
زمان استفاده از الگوها
When to Use Templates
نمونه سازی الگو
Instantiating the Template
تخصصی کردن قالب
Specializing the Template
وارد کردن مفاهیم
Entering Concepts
غواصی در مفاهیم
Diving into Concepts
کار با مجموعه ها
Working with Collections
در جستجوی یک ظرف کامل
In Search of a Perfect Container
جستجو و مرتب سازی
Searching and Sorting
دستکاری داده ها
Manipulating Data
محدوده ها را وارد کنید
Enter Ranges
شیرجه رفتن به محدوده
Dive into Ranges
نمونه های محدوده بیشتر
More Range Examples
دسترسی همزمان به داده ها
Concurrent Data Access
حالت های دسترسی به داده
Data Access Modes
همگام سازی با Atomics
Synchronization with Atomics
همگام سازی با Mutexes
Synchronization with Mutexes
همگام سازی با متغیرهای شرط
Synchronization with Condition Variables
STL موازی
Parallel STL
موازی کاری در سطح
Task-Level Parallelism
استخرهای موضوع
Thread Pools
وعده و آینده
Promise and Future
اجرای وظایف ناهمزمان
Running Asynchronous Tasks
ادامه کار
Task Continuation
گروه بندی وظایف با فورک/پیوستن
Grouping Tasks with Fork/Join
توزیع کار
Distributing the Work
مقدمه ای بر کوروتین ها
Introduction to Coroutines
کوروتین چیست؟
What Is a Coroutine?
مکانیک کوروتین
Coroutine Mechanics
ماشین آلات کوروتین
Coroutine Machinery
نوشتن اولین برنامه ما
Writing Our First Coroutine
از سرگیری کوروتین
Resuming the Coroutine
عمیق تر به Coroutine ها شیرجه بزنید
Dive Deeper into Coroutines
کوروتین ها در یک استخر موضوع
Coroutines on a Thread Pool
برنامه ریزی یک کوروتین
Scheduling a Coroutine
ارزش های برگشتی
Returning Values
افزودن قند نحوی
Adding Syntactic Sugar
اجرای ادامه
Implementing Continuations
همه اش را بگذار کنار هم
Putting It All Together
C++ Core Guidelines
C++ Core Guidelines
درباره رهنمودها
About the Guidelines
اجرای دستورالعمل ها
Enforcing the Guidelines
دستورالعمل های عمومی
General Guidelines
نمایش نظرات
Packtpub یک ناشر دیجیتالی کتابها و منابع آموزشی در زمینه فناوری اطلاعات و توسعه نرمافزار است. این شرکت از سال 2004 فعالیت خود را آغاز کرده و به تولید و انتشار کتابها، ویدیوها و دورههای آموزشی میپردازد که به توسعهدهندگان و متخصصان فناوری اطلاعات کمک میکند تا مهارتهای خود را ارتقا دهند. منابع آموزشی Packtpub موضوعات متنوعی از جمله برنامهنویسی، توسعه وب، دادهکاوی، امنیت سایبری و هوش مصنوعی را پوشش میدهد. محتوای این منابع به صورت کاربردی و بهروز ارائه میشود تا کاربران بتوانند دانش و تواناییهای لازم برای موفقیت در پروژههای عملی و حرفهای خود را کسب کنند.
جورجی مهندس ارشد نرم افزار در یکی از ارشدترین ارائه دهندگان نرم افزار برنامه ریزی زنجیره تأمین است. او بیشتر با استفاده از C ++ و Python برنامه نویسی می کند ، و گاهی اوقات یک یا دو خط به زبانهای دیگر کاهش می دهد. او مشتاق ایجاد نرم افزار با کیفیت و قابل اعتماد است. جورجی در کارلیا ، روسیه بزرگ شد. وی مدرک تخصصی خود را در دانشگاه دولتی پتروزاوودسک در CS دریافت کرد و اندکی پس از فارغ التحصیلی به بلژیک رفت. او با سالها تجربه در زمینه تولید نرم افزار ، تصمیم گرفت برخی از مهارتهای خود را در اینجا در Pluralsight به اشتراک بگذارد.
نمایش نظرات