لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش برنامهنویسی متوسط Rust و مفاهیم پیشرفته
- آخرین آپدیت
دانلود Intermediate Rust Programming and Advanced Concepts
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
بهروزرسانی شده در می ۲۰۲۵.
این دوره اکنون دارای Coursera Coach است!
روشی هوشمندانهتر برای یادگیری با گفتگوهای تعاملی و آنی که به شما کمک میکند دانش خود را آزمایش کنید، فرضیات را به چالش بکشید و در حین پیشروی در دوره، درک خود را عمیقتر کنید.
سفر برنامهنویسی Rust خود را با این دوره جامع که برای توسعهدهندگانی طراحی شده است که به دنبال تسلط بر مفاهیم پیچیدهتر و کاربردهای واقعی هستند، ارتقا دهید. با بررسی ماژولها و کریتهای (Crates) راست شروع کنید و نحوه ایجاد، مدیریت و انتشار بستهها را بیاموزید. ابزارهای ضروری Cargo را برای تجسم سلسلهمراتب ماژولها بررسی کنید و کد خود را با تکنیکهایی مانند بازتوزیع (Re-exporting) بهینه کنید.
در ادامه به موضوع حیاتی اشارهگرهای هوشمند (Smart Pointers) بپردازید که برای مدیریت پیشرفته حافظه در Rust ضروری هستند. مفاهیم پایه و کاربردهای اشارهگرهای مختلف مانند Box، Rc و RefCell را درک کنید. ساختارهای دادهای مانند لیستهای پیوندی تکجهته و دوجهته را بسازید و اصلاح کنید، و بیاموزید که چگونه از pitfalls رایج مانند چرخههای ارجاع که منجر به نشت حافظه میشوند، اجتناب کنید. این بخش تضمین میکند که میتوانید چالشهای پیچیده مدیریت حافظه را با اعتماد به نفس مدیریت کنید.
در بخشهای نهایی، تکنیکهای پیشرفته برنامهنویسی Rust و سناریوهای حل مسئله در دنیای واقعی را به چالش بکشید. بر ماکروها، تستنویسی و روشهای بهینهسازی موثر کد مسلط شوید. دانش خود را برای ساخت برنامههای کاربردی، از الگوریتمهای نتایج جستجو تا راهکارهای ذخیرهسازی داده با استفاده از ساختارهای داده پیشرفته مانند درختهای جستجوی دودویی (Binary Search Trees) به کار بگیرید. این رویکرد عملی، درک شما را تثبیت کرده و شما را برای توسعه حرفهای با Rust آماده میکند.
این دوره برای توسعهدهندگانی که درک پایهای از Rust دارند و میخواهند مهارتهای خود را ارتقا دهند، ایدهآل است. داشتن دانش بنیادی از مفاهیم برنامهنویسی و نحو (Syntax) زبان Rust توصیه میشود.
سرفصل ها و درس ها
ماژولها و کریتهای Rust
Rust Modules and Crates
ماژولهای Rust (بخش اول)
Rust Modules (Part 1)
ماژولهای Rust (بخش دوم)
Rust Modules (Part 2)
ابزارهای Cargo برای تجسم سلسلهمراتب ماژول
Cargo tools to Visualize Module Hierarchy
بازتوزیع با استفاده از pub use
Re-Exporting using Pub use
استفاده از کریتهای خارجی
Using External Crates
انتشار کریت شما
Publishing Your Crate
اشارهگرهای هوشمند
Smart Pointers
مبانی اشارهگرهای هوشمند
Basics of Smart Pointers
اشارهگرهای هوشمند Box و زمان استفاده از آن
Box Smart Pointers and When to Use It
بهینهسازی لیستهای Cons و اشارهگرهای هوشمند تعریف شده توسط کاربر
Refining Cons List and Custom-Defined Smart Pointers
لیست پیوندی تکجهته (بخش اول)
Singly Link List (Part 1)
لیست پیوندی تکجهته (بخش دوم)
Singly Link List (Part 2)
ژنریکها و Deref Coercion در اشارهگرهای هوشمند
Generics and Deref Coercion in Smart Pointers
اشارهگر هوشمند Rc
Rc Smart Pointer
اشارهگر هوشمند RefCell
RefCell Smart Pointer
لیست پیوندی دوجهته (بخش اول)
Doubly Link List (Part 1)
لیست پیوندی دوجهته (بخش دوم)
Doubly Link List (Part 2)
چرخههای ارجاع و ایجاد نشت حافظه
Reference Cycles Creating Memory Leakage
تکنیکهای پیشرفته
Advance Techniques
مبانی ماکروها
Macros Basic
گرفتن انواع (Capturing Types)
Capturing Types
الگوهای تکرار شونده
Repeating Patterns
Unit Type، عبارت در مقابل دستورات و Partial Move
Unit Type, Expression Versus Statements, and Partial Move
استفاده از as_ref و Partial Move در Option
As_ref and Partial Move in Option
استفاده از take و swap برای اجتناب از تخصیص حافظه
Take and Swap for Avoiding Allocations
عملگر علامت سوال (?)
Question Mark Operator
تست کردن کد (بخش اول)
Testing Your Code (Part 1)
تست کردن کد (بخش دوم)
Testing Your Code (Part 2)
تست کردن کد (بخش سوم)
Testing Your Code (Part 3)
کاربردهای واقعی و حل مسئله با Rust
Real-Life Applications and Problem-Solving Using Rust
نتایج جستجو با گروهبندی کلمات با استفاده از HashMaps و حلقههای تودرتو
Search Results Using Word Groupings with HashMaps and Nested Loops
محبوبیت محصول با استفاده از HashMaps
Product Popularity Using HashMaps
بالاترین قیمت سهام با استفاده از MaxStack و ساختارها
Highest Stock Price Using MaxStack and Structures
یافتن کارمندی بدون جلسه با استفاده از آرایههای چندبعدی
Finding an Employee with No Meeting Using Multidimensional Arrays
طولانیترین زمان کاری بدون وقفه کارمند با استفاده از HashSets
Longest Non-Stop Working Employee Using HashSets
پیشنهاد آیتمها با استفاده از HashSets و Vectors
Items Suggestions Using HashSets and Vectors
آیتمهای در بازه با استفاده از درخت جستجوی دودویی (بخش اول)
Items in Ranges Using Binary Search Tree (Part 1)
آیتمهای در بازه با استفاده از درخت جستجوی دودویی (بخش دوم)
Items in Ranges Using Binary Search Tree (Part 2)
استخراج محصولات برتر
Fetching Top Products
ذخیرهسازی و بازیابی موثر با استفاده از ساختار داده Trie
Effective Storage and Retrieval Using Trie Data Structure
آخرین محصول استفاده شده با لیست پیوندی دوجهته و HashMaps (بخش اول)
Most Recently Used Product Using Doubly Link List and HashMaps (Part 1)
آخرین محصول استفاده شده با لیست پیوندی دوجهته و HashMaps (بخش دوم)
Most Recently Used Product Using Doubly Link List and HashMaps (Part 2)
نمایش شرکتکنندگان در یک جلسه آنلاین (بخش اول)
Displaying Participants in an Online Meeting (Part 1)
نمایش شرکتکنندگان در یک جلسه آنلاین (بخش دوم)
Displaying Participants in an Online Meeting (Part 2)
بررسی عمیق Traitها
Deep Dive Into Traits
محدودیتهای Trait (Trait Bounds)
Trait Bounds
انواع مرتبط (Associated Types)
Associated Types
آیتمهای Trait
Trait Items
دامنه Trait، Marker و Super Trait
Scope of a Trait, Marker, and Super Trait
برخی Traitهای کاربردی
Some Useful Traits
ارسال استاتیک در مقابل دینامیک (Trait Objects)
Static Versus Dynamic Dispatch (Trait Objects)
نمایش نظرات