آموزش ایمنی حافظه و ساختاردهی برنامه‌ها در Rust - آخرین آپدیت

دانلود Memory Safety and Structuring Programs

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: این دوره شامل مربی Coursera Coach است! روشی هوشمندتر برای یادگیری با گفتگوهای تعاملی و آنی که به شما کمک می‌کند دانش خود را آزمایش کنید، فرضیات را به چالش بکشید و در حین پیشروی در دوره، درک خود را عمیق‌تر کنید. زبان Rust به دلیل توانایی در تضمین ایمنی حافظه بدون نیاز به Garbage Collector (جمع‌آوری‌کننده زباله) مشهور است و این دوره شما را با ابزارهای لازم برای مدیریت مدل مالکیت (Ownership)، ارجاعات (References)، قرض‌گیری (Borrowing) و موارد دیگر در Rust آشنا می‌کند. از طریق مثال‌های کاربردی و توضیحات جامع، تجربه عملی در مدیریت ایمن حافظه و ساختاردهی موثر برنامه‌ها را کسب خواهید کرد. در پایان این دوره، مفاهیم بنیادی مانند مالکیت، قرض‌گیری و ارجاعات را درک کرده و قادر خواهید بود برنامه‌هایی ایمن و بهینه از نظر حافظه در Rust بنویسید. دوره با معرفی مفهوم مالکیت و اهمیت آن در مدیریت حافظه Rust آغاز شده و سپس به بررسی عمیق ارجاعات و قرض‌گیری می‌پردازد. شما یاد می‌گیرید که چگونه داده‌ها را به طور بهینه مدیریت کنید و حافظه را از طریق مفاهیمی مانند Slices، Structs، Enums و Generics کنترل نمایید. علاوه بر این، برای مدیریت خطاها و مقادیر اختیاری، Enumهای Option و Result را بررسی خواهید کرد تا مطمئن شوید برنامه‌هایی قابل اعتماد و ایمن می‌نویسید. این دوره برای برنامه‌نویسان سطح متوسطی که قصد دارند درک خود را از مدیریت حافظه و ایمنی در برنامه‌نویسی سیستم‌ها ارتقا دهند، ایده‌آل است و برای توسعه‌دهندگانی که علاقه‌مند به یادگیری Rust یا انتقال از زبان‌های دیگر هستند، بسیار مناسب است.

سرفصل ها و درس ها

مالکیت Ownership

  • مقدمه‌ای بر مالکیت Intro to Ownership

  • پشته و توده (Stack and Heap) The Stack and Heap

  • محدوده و مالکیت Scope and Ownership

  • ویژگی Copy The Copy Trait

  • نوع داده String The String Type

  • متد push_str در نوع String The push_str Method on a String Type

  • انتقال (Move) و مالکیت Moves and Ownership

  • تابع drop The drop Function

  • متد clone The clone Method

  • ارجاعات و قرض‌گیری References and Borrowing

  • عملگر Dereference The Dereference Operator

  • مقایسه String، String&، str و str& String, &String, str, and &str

  • ویژگی Copy همراه با ارجاعات The Copy Trait with References

  • مالکیت و پارامترهای تابع Ownership and Function Parameters

  • پارامترهای تغییرپذیر (Mutable) Mutable Parameters

  • مقادیر بازگشتی - بخش اول Return Values I

  • مقادیر بازگشتی - بخش دوم Return Values II

  • راه حل پروژه Project Solution

  • مرور بخش Section Review

ارجاعات و قرض‌گیری References and Borrowing

  • پارامترهای ارجاع تغییرناپذیر و تغییرپذیر Immutable and Mutable Reference Parameters

  • ارجاعات تغییرناپذیر متعدد Multiple Immutable References

  • محدودیت‌های ارجاع تغییرپذیر Mutable Reference Restrictions

  • مالکیت با ارجاعات تغییرناپذیر و تغییرپذیر Ownership with Immutable and Mutable References

  • ارجاعات معلق (Dangling References) Dangling References

  • مالکیت در آرایه‌ها و تاپل‌ها Ownership with Arrays and Tuples

  • راه حل پروژه Project Solution

  • مرور بخش Section Review

برش‌ها (Slices) Slices

  • مقدمه‌ای بر Slices Intro to Slices

  • ایجاد یک String Slice از یک String Create a String Slice from a String

  • برش‌های رشته‌ای و رشته‌های تحت‌اللفظی String Slices and String Literals

  • طول Slices رشته‌ای String Slice Lengths

  • میان‌برهای نحوی Syntactic Shortcuts

  • استفاده از String Slices به عنوان پارامتر تابع String Slices as Function Parameters

  • برش‌های آرایه (Array Slices) Array Slices

  • تبدیل Deref با برش‌های آرایه Deref Coercion with Array Slices

  • برش‌های آرایه تغییرپذیر Mutable Array Slices

  • راه حل پروژه Project Solution

  • مرور بخش Section Review

استراکت‌ها (Structs) Structs

  • تعریف یک Struct Define a Struct

  • ایجاد یک نمونه از Struct Create a Struct Instance

  • دسترسی به فیلدهای Struct Access Struct Fields

  • بازنویسی فیلدهای Struct Overwrite Struct Fields

  • ایجاد Struct در یک تابع Create Structs in a Function

  • نحو کوتاه مقداردهی اولیه فیلدهای Struct Struct Field Initialization Shorthand Syntax

  • نحو به‌روزرسانی Struct Struct Update Syntax

  • ارسال Struct به یک تابع Passing Structs into a Function

  • استخراج ویژگی Debug برای Struct Deriving Debug Trait for Struct

  • تعریف متدهای Struct Defining Struct Methods

  • پارامتر self به عنوان نمونه تغییرپذیر Struct self Parameter as Mutable Struct Instance

  • پارامتر self به عنوان ارجاع تغییرپذیر و تغییرناپذیر self Parameter as Immutable and Mutable References to Struct Instance

  • متدهایی با چندین پارامتر Methods with Multiple Parameters

  • فراخوانی متدها از متدهای دیگر Calling Methods from Other Methods

  • توابع مرتبط (Associated Functions) Associated Functions

  • بلاک‌های impl متعدد Multiple impl Blocks

  • الگوی Builder Builder Pattern

  • تاپل استراکت‌ها (Tuple Structs) Tuple Structs

  • استراکت‌های واحد (Unit-like Structs) Unit-Like Structs

  • راه حل پروژه Project Solution

  • مرور بخش Section Review

انوم‌ها (Enums) Enums

  • مقدمه‌ای بر Enums Intro to Enums

  • انوم با مقادیر مرتبط - بخش اول Enum with Associated Values I

  • انوم با مقادیر مرتبط - بخش دوم Enum with Associated Values II

  • بحث کوتاهی درباره حافظه Enum A Brief Discussion on Enum Memory

  • گونه‌های Struct Struct Variants

  • تودرتو کردن Enumها Nesting Enums in Enums

  • کلمه کلیدی match - بخش اول The match Keyword I

  • کلمه کلیدی match - بخش دوم The match Keyword II

  • کلمه کلیدی match - بخش سوم The match Keyword III

  • تعریف متدها برای Enumها Defining Methods on Enums

  • کلمه کلیدی match - بخش چهارم: گرفتن مقادیر متعدد The match Keyword IV - Catching Multiple Values

  • کلمه کلیدی match - بخش پنجم: تطبیق با مقدار دقیق The match Keyword V - match with Exact Value

  • ساختار if let The if let Construct

  • ساختار let else The let else Construct

  • راه حل پروژه Project Solution

  • مرور بخش Section Review

ژنریک‌ها (Generics) Generics

  • مقدمه‌ای بر Generics Intro to Generics

  • عملگر Turbofish The Turbofish Operator

  • ژنریک‌های متعدد Multiple Generics

  • ژنریک‌ها در Structها Generics in Structs

  • ژنریک‌ها و بلاک‌های impl - بخش اول Generics and impl Blocks I

  • ژنریک‌ها و بلاک‌های impl - بخش دوم Generics and impl Blocks II

  • ژنریک‌ها در Enumها Generics in Enums

  • راه حل پروژه Project Solution

  • مرور بخش Section Review

انوم‌های Option و Result Option and Result Enums

  • انوم Option The Option Enum

  • مثال واقعی از انوم Option (متد get در آرایه) Real Example of Option Enum (The get Method on an Array)

  • متدهای unwrap و expect The unwrap and expect Methods

  • کلمه کلیدی match با انوم Option The match Keyword with Option Enum

  • بازگرداندن انوم Option از یک تابع Returning an Option Enum from a Function

  • گونه‌های سطح بالای Option Top-Level Option Variants

  • متد unwrap_or The unwrap_or Method

  • ساخت Option از ابتدا Building Option from Scratch

  • انوم Result The Result Enum

  • مثال واقعی از انوم Result (متد parse در String) Real Example of Result Enum (The parse Method on a String)

  • بازگرداندن انوم Result از یک تابع Returning a Result Enum from a Function

  • متدهای Result Result Methods

  • ظرافت‌های متد unwrap در Result Nuances of unwrap Method on Result

  • راه حل پروژه Project Solution

  • مرور بخش Section Review

نمایش نظرات

آموزش ایمنی حافظه و ساختاردهی برنامه‌ها در Rust
جزییات دوره
16h 46m
99
(آخرین آپدیت)
114
- از 5
دارد
دارد
دارد
Chris Croft
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Chris Croft Chris Croft

مربی مدیریت، سخنران، نویسنده