نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
این دوره دارای قابلیت Coursera Coach است!
روشی هوشمندانهتر برای یادگیری با گفتگوهای تعاملی و آنی که به شما کمک میکند دانش خود را آزمایش کنید، پیشفرضها را به چالش بکشید و با پیشروی در دوره، درک خود را عمیقتر کنید.
پتانسیل کامل برنامهنویسی راست (Rust) را با موضوعات پیشرفتهای که برای تسلط بر این زبان حیاتی هستند، آزاد کنید. از طریق درسهای کاربردی در مورد زمانبندیها (Lifetimes)، تکرارکنندهها (Iterators)، تستنویسی و اعداد تصادفی، درک عمیقی که برای نوشتن کدهای بهینهتر، قابلاعتمادتر و قابلنگهداری لازم است را به دست خواهید آورد. این دوره مفاهیم پیچیدهای مانند زمانبندیهای غیر-لکسیکال، ویژگیهای تکرارکننده و کریت rand را بررسی میکند و در عین حال به شما کمک میکند مهارتهای حل مسئله خود را تقویت کنید.
دوره با بررسی دقیق زمانبندیها شروع میشود و شما را از طریق مثالهای ملموس، زمانبندیهای نامعتبر و زمانبندیهای جنریک راهنمایی میکند. سپس به دنیای تکرارکنندهها وارد میشوید و یاد میگیرید چگونه مجموعهها را مدیریت کنید و عملیاتی مانند map، filter، fold و سایر توابع را اجرا نمایید. بخش بعدی چارچوب تستنویسی راست را پوشش میدهد، جایی که همه چیز از نوشتن تستهای واحد (Unit Tests) تا تکنیکهای پیشرفته مانند توسعه تست-محور (TDD) و تستهای یکپارچگی (Integration Tests) را خواهید آموخت. در نهایت، اعداد تصادفی را بررسی کرده و بر کریت rand و نحوه بهکارگیری آن در برنامههای خود مسلط میشوید.
این دوره برای برنامهنویسان متوسط تا پیشرفته راست طراحی شده است که میخواهند مهارتهای خود را صیقل داده و بهترین متدها را در پروژههای واقعی به کار بگیرند. پیشفرض این دوره، آشنایی با مفاهیم پایه راست مانند مالکیت (Ownership)، قرضگیری (Borrowing) و نحو پایه است. سطح دشواری دوره پیشرفته است، زیرا جزئیات دقیق راست را برای توسعهدهندگانی که میخواهند تخصص خود را عمیقتر کنند، بررسی میکند.
در پایان این دوره، شما قادر خواهید بود ویژگیهای پیچیده را با استفاده از زمانبندیها، تکرارکنندهها و کلوژرها پیادهسازی کنید، تستهای واحد و یکپارچگی موثری بنویسید و از اعداد تصادفی و مدیریت زمان در برنامههای راست بهره ببرید.
سرفصل ها و درس ها
زمانبندیها (Lifetimes)
Lifetimes
زمانبندیهای ملموس برای مقادیر ۱
Concrete Lifetimes for Values I
زمانبندیهای ملموس برای مقادیر ۲
Concrete Lifetimes for Values II
زمانبندیهای ملموس برای ارجاعات
Concrete Lifetimes for References
زمانبندیهای غیر-لکسیکال
Non-Lexical Lifetimes
زمانبندیهای نامعتبر ۱
Invalid Lifetimes I
زمانبندیهای نامعتبر ۲
Invalid Lifetimes II
عدم امکان بازگشت ارجاع به مقادیر مالک یا پارامترها در توابع
Functions Cannot Return References to Owned Values or Parameters
ارجاعات به عنوان پارامترهای تابع
References as Function Parameters
مقدمهای بر زمانبندیهای جنریک
Intro to Generic Lifetimes
زمانبندیها و ارجاعدهندهها
Lifetimes and Referents
قوانین حذف زمانبندی ۱
Lifetime Elision Rules I
پارامترهای متعدد ۱
Multiple Parameters I
پارامترهای متعدد ۲
Multiple Parameters II
قوانین حذف زمانبندی ۲
Lifetime Elision Rules II
زمانبندیها در استراکتها
Lifetimes in Structs
زمانبندیهای متعدد
Multiple Lifetimes
زمانبندی static
The static Lifetime
راه حل پروژه
Project Solution
مرور بخش
Section Review
کلوژرها (Closures)
Closures
توابع تودرتو
Nested Functions
مقدمهای بر کلوژرها
Intro to Closures
میانبرهای کلوژر
Closure Shortcuts
سلسلهمراتب Traitهای Fn
The Fn Trait Hierarchy
کلوژرهایی که ارجاعات تغییرناپذیر را میگیرند
Closures that Capture Immutable References
کلوژرهایی که ارجاعات تغییرپذیر را میگیرند
Closures that Capture Mutable References
کلوژرها با مالکیت (Ownership)
Closures with Ownership
کلمه کلیدی move
The move Keyword
متد unwrap_or_else
The unwrap_or_else Method
تعریف متدی که کلوژر میپذیرد ۱ (Trait FnOnce)
Defining a Method that Accepts a Closure I (FnOnce Trait)
متد String.retain
The String.retain Method
تعریف متدی که کلوژر میپذیرد ۲ (Trait FnMut)
Defining a Method that Accepts a Closure II (FnMut Trait)
Trait Fn
The Fn Trait
ارسال تابع به پارامتر Trait Fn
Passing in a Function to Fn Trait Parameter
راه حل پروژه
Project Solution
مرور بخش
Section Review
تکرارکنندهها (Iterators)
Iterators
تکرار دستی (Manual Iteration)
Manual Iteration
Traitهای Iterator و IntoIterator
The Iterator and IntoIterator Traits
Trait IntoIterator در عمل
The IntoIterator Trait in Action
اتمام تکرارکننده
Exhausting the Iterator
حلقه for با تکرارکننده
The for Loop with Iterator
چرا تکرارکننده میتواند تغییرناپذیر باشد
Why Iterator Can Be Immutable
متد iter
The iter Method
متد iter_mut
The iter_mut Method
تکرار در HashMap
HashMap Iteration
تکرار در String
String Iteration
حل مسئله با تکرار
Solving a Problem with Iteration
متد for_each
The for_each Method
متد map بخش اول
The map Method I
متد collect
The collect Method
متد map بخش دوم
The map Method II
متدهای filter و find بخش اول
The filter and find Methods I
متدهای filter و find بخش دوم
The filter and find Methods II
متدهای any و all
The any and all Methods
متد cloned
The cloned Method
متد filter_map
The filter_map Method
متد flatten
The flatten Method
متد flat_map
The flat_map Method
متد enumerate
The enumerate Method
متد partition
The partition Method
متد zip
The zip Method
متد fold
The fold Method
متد reduce
The reduce Method
متدهای sum, product, max, min, and count
The sum, product, max, min, and count Methods
متدهای last, nth, nth_back, and position
The last, nth, nth_back, and position Methods
متدهای take, rev, skip, and step_by
The take, rev, skip, and step_by Methods
متدهای sort و sort_by_key
The sort and sort_by_key Methods
متد lines
The lines Method
جمعآوری آرگومانهای خط فرمان ۱
Collecting Command Line Arguments I
جمعآوری آرگومانهای خط فرمان ۲
Collecting Command Line Arguments II
خواندن دایرکتوری
Reading Directory
Trait FromIterator
The FromIterator Trait
پروژه: Wordle
Project: Wordle
راه حل پروژه
Project Solution
مرور بخش
Section Review
تستنویسی (Testing)
Testing
مقدمهای بر تستنویسی
Intro to Testing
نوشتن تست و ماکروی assert_eq!
Writing a Test and the assert_eq! Macro
ماژول tests و ویژگی cfg
The tests Module and the cfg Attribute
شکست تستها
Test Failures
ماکروی assert!
The assert! Macro
تست نابرابری با ماکروی assert_ne!
Testing Inequality with the assert_ne! Macro
کریت pretty_assertions
The pretty_assertions Crate
الزامات Trait برای تایپها در تستنویسی
Trait Requirements for Types in Testing
پیامهای خطای سفارشی
Custom Failure Messages
ویژگی should_panic
The should_panic Attribute
استفاده از Enum Result در تستها
Using Result Enum in Tests
اجرای زیرمجموعهای از تستها
Running A Subset of Tests
نادیده گرفتن تستها
Ignoring Tests
نمایش خروجی چاپ شده از تستهای موفق
Showing Printed Output from Passing Tests
نمایش نظرات