آموزش استاد زبان برنامه نویسی Rust: مبتدی تا پیشرفته

دانلود Master The Rust Programming Language : Beginner To Advanced

در حال بارگزاری نمونه ویدیو، لطفا صبر کنید...
Video Player is loading.
Current Time 0:00
Duration 0:00
Loaded: 0%
Stream Type LIVE
Remaining Time 0:00
 
1x
    • Chapters
    • descriptions off, selected
    • subtitles off, selected
      نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
      نمونه ویدیوها:
      • در حال بارگزاری، لطفا صبر کنید...
      توضیحات دوره: برنامه نویسی Rust (آخرین نسخه) را گام به گام با تمرینات عملی، از مقدماتی تا سطوح پیشرفته یاد بگیرید. مفاهیم اساسی زبان برنامه نویسی Rust قوانین مالکیت و قرض گیری مراجع رشته و برش رشته مدیر بسته و سیستم ساخت Rust (Cargo) ساختارها و Enums تست واحد در Rust Lifetimes Error Handling Pattern مطابق حلقه ها و تصمیم گیری بیشتر در راه است ( Generics, traits, اشیاء ویژگی، اشاره گرهای هوشمند، بسته ها، تکرار کننده ها و موارد دیگر) پیش نیازها: نیازی به دانش قبلی برنامه نویسی نیست. کد ویژوال استودیو مایکروسافت نصب شد

      println!("### دوره جدید Rust، طراحی شده برای مبتدیان، ### را پوشش می دهد");

      println!("### % اساسی برای موضوعات پیشرفته % ###");

      println!("### برای ساختن یک پایه قوی. ###");


      به‌روزرسانی شماره 5 و 6

      1. تکرارکنندگان: صفت "Iterator"، صفت "IntoIterator"،

      2. ایجاد تکرار کننده سفارشی

      3. اجرای ویژگی "IntoIterator" در نوع سفارشی

      به‌روزرسانی شماره 4

      1. صفات: اشیاء ویژگی، جدول مجازی، DST بوکس، چیدمان حافظه

      2. بسته شدن: به عنوان فیلدهای عضو ساختار، چیدمان حافظه

      به‌روزرسانی شماره 3

      1. بسته شدن: مقدمه، نحو

      2. محیط ضبط بسته‌ها، ویژگی‌های مرتبط با بسته شدن (Fn، FnMut، FnOnce)

      3. انتقال بسته‌ها به عنوان آرگومان‌های تابع

      به‌روزرسانی شماره 2

      1. ویژگی ها: مقدمه، روش ها

      2. انواع مرتبط با یک صفت

      3. اجرای صفت نمایش سفارشی

      4. مرزهای صفت

      به‌روزرسانی شماره 1

      1. عمومی: نحو، توابع، ساختارها، enums

      2. طول عمر: محدوده، حاشیه نویسی، قوانین حذف

      3. حاشیه نویسی مادام العمر: ساختارها، روش ها

      4. Const. و متغیرهای استاتیک


      آیا می خواهید یک زبان برنامه نویسی جدید یاد بگیرید؟

      زبان برنامه نویسی Rust چطور؟

      Rust به دلیل ایمنی و عملکرد حافظه آن به طور فزاینده ای در برنامه نویسی در سطح سیستم محبوب می شود. این یک رقیب قوی برای C++ است و برای کسانی که به دنبال ارتقای مهارت های برنامه نویسی در سطح سیستم خود هستند عالی است. چه مبتدی یا یک برنامه نویس با تجربه باشید، Rust مجموعه ابزار مدرن و قدرتمندی را برای نیازهای توسعه شما ارائه می دهد.

      Learning Rust درهایی را به روی برنامه نویسی با عملکرد بالا، ایمن و قابل اعتماد در سطح سیستم باز می کند


      یافته‌های نظرسنجی توسعه‌دهنده سرریز پشته در سال 2023 نشان می‌دهد که،

      "Rust تحسین برانگیزترین زبان است، بیش از 80٪ از توسعه دهندگانی که از آن استفاده می کنند می خواهند سال آینده دوباره از آن استفاده کنند."

      "پاسخ دهندگان بیشتری نسبت به رقبای برتر مایل به استفاده از Cargo (مدیر بسته رسمی Rust) در سال آینده هستند."


      چرا باید به یادگیری Rust فکر کنید؟

      پاسخ‌های زیادی وجود دارد، اما در اینجا موارد مهم وجود دارد.

      * ایمنی حافظه بدون جمع آوری زباله

      * همزمانی بهتر بدون مسابقه داده

      * کد ایمن و ناامن

      * انتزاعات سازگار با عملکرد

      * Rust به اندازه C و C++

      طراحی شده است

      * ابزارها و اکوسیستم عالی (Cargo (مدیر بسته و سیستم ساخت)، rustfmt (قالب‌بندی کد)، clippy (linting)، و یک کتابخانه استاندارد جامع.)

      * پشتیبانی از تست داخلی

      * پشتیبانی از اصول کلیدی برنامه نویسی شی گرا


      چرا باید دوره ما را در نظر بگیرید؟

      دوره ما با در نظر گرفتن مبتدیان طراحی شده است. ما از متن، تصاویر، گرافیک و انیمیشن ها برای نشان دادن مختصر بسیاری از مفاهیم جذاب Rust استفاده می کنیم. این یک پایه محکم برای درک مفاهیم کلیدی زبان برای شما ایجاد می کند. همچنین، ما چندین قطعه کد کوچک تا بزرگ را برای نشان دادن مفاهیم پوشش می‌دهیم که به شما امکان می‌دهد برنامه‌های پیچیده بسازید.


      موضوعات مهمی که تاکنون در این دوره پوشش داده شده است

      1. متغیرها و انواع داده های اولیه

      2. مالکیت و قرض

      3. معناشناسی را کپی و انتقال دهید

      4. تاپل ها و تطبیق الگو

      5. تصمیم گیری و حلقه ها

      6. تطبیق ساختارها و الگوها

      7. تطبیق فهرست ها و الگوها

      8. Struct/Enum متدها و توابع مرتبط

      9. برش

      10. رشته، قطعه رشته و رمزگذاری UTF

      11. طول عمر

      12. صفات

      13. ژنریک

      14. بسته شدن

      12. موضوعات بیشتری در راه است (تکرار کننده ها، چند رشته ای، اشاره گرهای هوشمند، و غیره). ما دائماً این دوره را به روز می کنیم تا مطمئن شویم که شما آخرین دانش و مهارت ها را دارید


      الزامات سخت افزار/نرم افزار

      1. دستگاه Windows/MAC/Ubuntu با Microsoft VS Code IDE نصب شده


      توجه:

      این دوره بر برنامه نویسی عمومی Rust تمرکز دارد و به طور خاص سناریوهای no_std که معمولاً برای سیستم های جاسازی شده استفاده می شوند را مورد بحث قرار نمی دهد.


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

      مقدمه Introduction

      • مقدمه Introduction

      • Rust چه تفاوتی با سایر زبان های برنامه نویسی دارد؟ تغییرناپذیری How Rust is different from other programming languages? Immutability

      • مخزن دوره Course repository

      • قرض گرفتن Borrowing

      • Rust به طور خودکار حافظه پشته را اختصاص می دهد Rust automatically deallocates heap memory

      • ویژگی های مربوط به استنتاج نوع، مالکیت، رسیدگی به خطا و نشانگر آویزان Features related to type inference,ownership,error handling,and dangling pointer

      • ایجاد، ساخت، اجرای برنامه Rust Create, Build, Run a Rust program

      چاپ می کند Prints

      • ماکروهای مرتبط را در Rust چاپ کنید Print related macros in Rust

      • فرمت!() و مکان دارندگان را نامگذاری کرد format!() and named place holders

      • Exercise-diy-1 Exercise-diy-1

      • ابزار بار مفید Useful cargo tools

      • چاپ در فرمت های هگز و باینری Printing in hex and binary formats

      • Exercise-diy-2 Exercise-diy-2

      • Exercise-diy-3 Exercise-diy-3

      • r و r# برچسب گذاری رشته ها r and r# tagging of strings

      متغیرها و انواع داده ها Variables and Data types

      • توضیح متغیرها، تغییرپذیری و انواع داده ها Variables, mutability and data types explanation

      • کلمه کلیدی 'as' و ذخیره مقادیر ASCII 'as' keyword and storing ASCII values

      • نوع داده char char data type

      • Exercise-diy-4 Exercise-diy-4

      • آرایه و تکرار آرایه Array and array iteration

      • Exercise-diy-5 Exercise-diy-5

      • عملگرهای حسابی و نمادهای دست کوتاه Arithmetic operators and short hand notations

      • نوشتن یک تابع در Rust Writing a Function in Rust

      تست کردن Testing

      • تست واحد Unit testing

      • نوشتن موارد تست Writing test cases

      • کتابخانه استاندارد ماکروهای ادعایی Standard library assert macros

      • نوشتن موارد تست ادامه Writing test cases contd.

      • آیا می توانید به ما کمک کنید؟ Can you help us?

      مراجع References

      • مراجع References

      • قرض، وام گیرنده و مرجع Borrow, Borrower and Referent

      • برش نوع داده slice data type

      • Std. توابع کتابخانه ای از نوع داده برش Std. library functions of the slice data type

      تصمیم گیری Decision making

      • استفاده از if..else به عنوان عبارات و عبارات Using if..else as statements and expressions

      • بیانیه "مطابقت". The 'match' statement

      • استفاده از if..else if..else و if let..else if let...else Using if..else if..else and if let..else if let…else

      • مقایسه و عملگرهای منطقی comparision and logical operators

      • عملگرهای بیتی Bitwise operators

      • Exercise-diy-6 Exercise-diy-6

      • Exercie-diy-6.2 Exercise-diy-6.2

      رشته ها Strings

      • رشته ها در زنگ Strings in Rust

      • رشته ها و فرمت UTF-8 Strings and UTF-8 format

      • برشی از یک رشته Slice of a String

      • تبدیل رشته به Slice و بالعکس Converting String to Slice and vice versa

      • الحاق رشته String concatination

      • فهرست بندی رشته ای String Indexing

      • Exercise-diy-7-Part-1 Exercise-diy-7-Part-1

      • Exercise-diy-7-Part-2 Exercise-diy-7-Part-2

      • Exercise-diy-7-Part-3 Exercise-diy-7-Part-3

      مالکیت Ownership

      • معنای مالکیت، حرکت و کپی کردن Ownership, Move, and Copy semantics

      • تماس با مقدار و تماس با مرجع Call by value and Call by reference

      حلقه ها Loops

      • عبارات حلقه در Rust Loop statements in Rust

      • روش های مختلف تکرار با استفاده از حلقه for..in Different ways of Iteration using for..in loop

      • راه حل Solution

      • while و while اجازه دهید حلقه ها while and while let loops

      • Exercise-diy-8 Exercise-diy-8

      تاپل ها Tuples

      • نوع داده تاپل Tuple datatype

      • تطبیق الگو با تاپل ها Pattern matching with tuples

      • تطبیق چندگانه و حرکت Tuple matching and Move

      • کلمه کلیدی ref ref keyword

      • Exercise-diy-9 Exercise-diy-9

      • Exercise-diy-10 Exercise-diy-10

      ساختار Structure

      • ایجاد و راه اندازی یک ساختار Creating and Initializing a struct

      • آیا ساختار «حرکت» است یا «کپی»؟ Is struct 'move' or 'copy'?

      • ویژگی ساختار و پیش فرض Struct and Default trait

      • Tuple struct و Unit struct Tuple struct and Unit struct

      • روش های ساختار نوشتاری Writing Struct methods

      • عملکرد مرتبط به عنوان سازنده یک سازه Associated function as Constructor of a Struct

      • تطبیق الگو با Struct Pattern matching with Struct

      • استفاده از ref و @ در تطبیق الگو با Struct ref and @ usage in pattern matching with Struct

      Enums Enums

      • تعریف Enum در Rust Defining an Enum in Rust

      • روش ها و توابع مرتبط Enum Methods and associated functions of an Enum

      • تطبیق الگو با استفاده از Enums Pattern matching using Enums

      • نوع گزینه<T> Option<T> type

      • گزینه<T> استفاده Option<T> Usage

      بردارها Vectors

      • مقدمه ای بر وکتورها Introduction to Vectors

      • وکتورهای زیر کاپوت Vectors under the hood

      • نمایه سازی برداری Vector indexing

      • برشی از یک وکتور Slice of a vector

      • متدهای برداری: push()، pop()، shrink_to_fit() Vector methods: push(), pop(), shrink_to_fit()

      • Exercise-diy-11 Exercise-diy-11

      • متدهای برداری: drain()، extract_if() Vector methods: drain(), extract_if()

      • متدهای برداری: retain()، retain_mut() Vector methods: retain(), retain_mut()

      • متدهای برداری: split() و دوستان Vector methods: split() and friends

      • متدهای برداری: splice()، append()، extend() Vector methods: splice(), append(), extend()

      • متدهای برداری: prepend با استفاده از index() و splice() Vector methods: prepend using index() and splice()

      • VecDeque VecDeque

      HashMap HashMap

      • HashMap و روش های آن قسمت 1 HashMap and its methods part-1

      • HashMap و روش های آن قسمت 2 HashMap and its methods part-2

      رسیدگی به خطا Error Handling

      • Enum Result<T, E> Enum Result<T, E>

      • مدیریت خطا با استفاده از Result<T, E> enum Error handling using Result<T, E> enum

      • روی نتیجه <T, E> تمرین کنید Exercise on Result<T, E>

      • عملگر انتشار خطا (?) Error propagation operator ( ? )

      • تبدیل گزینه <T> به نوع نتیجه <T, E> Converting Option<T> to Result<T, E> type

      • متدهای unwrap() و expect(). unwrap() and expect() methods

      • unwrap_err() unwrap_err()

      • Std. انواع خطاهای کتابخانه Std. Library error types

      • Handling std::io::خطا Handling std::io::Error

      • خطاهای عددی: تمرین Numeric Errors : Exercise

      • خطاهای عددی: ادامه تمرین Numeric Errors : Exercise contd

      • تمرین تبدیل خطا Exercise on error conversion

      • تمرین در مورد تبدیل خطا ادامه. Exercise on error conversion contd.

      • استفاده از map_err() map_err() usage

      • تبدیل خودکار خطاها Auto conversion of errors

      • Exercise-diy-12 Exercise-diy-12

      • آیا می توانید به ما کمک کنید؟ Can you help us?

      ژنریک ها Generics

      • نحو ژنریک و نوشتن توابع عمومی Generics syntax and Writing generic functions

      • عملکرد با چند پارامتر نوع عمومی Function with multiple generic type parameters

      • ساختارهای عمومی و Enums Generic structs and Enums

      • Exercise-diy-13 Exercise-diy-13

      طول عمر Lifetimes

      • طول عمر و دامنه Lifetime and scope

      • نمونه حاشیه نویسی مادام العمر Lifetime annotations example

      • قوانین حذف مادام العمر Lifetime elision rules

      • حاشیه نویسی مادام العمر با ساختارها Lifetime annotations with structs

      • حاشیه نویسی مادام العمر با structs contd. Lifetime annotations with structs contd.

      • حاشیه نویسی مادام العمر با روش های ساختاری Lifetime annotations with struct methods

      Const. و استاتیک Const. and Static

      • Const. و متغیرهای استاتیک Const. and Static variables

      صفات Traits

      • مقدمه ای بر روش های صفت و صفت Introduction to Trait and Trait methods

      • انواع مرتبط از یک صفت Associated types of a Trait

      • تمرین: پیاده سازی صفت نمایش برای ساختار تعریف شده توسط کاربر قسمت 1 Exercise: Implementing Display trait for user defined structure part-1

      • تمرین: پیاده سازی صفت نمایش برای ساختار تعریف شده توسط کاربر قسمت 2 Exercise: Implementing Display trait for user defined structure part-2

      • تمرین: پیاده سازی صفت نمایش برای ساختار تعریف شده توسط کاربر قسمت 3 Exercise: Implementing Display trait for user defined structure part-3

      • مرزهای صفت Trait bounds

      • اشیاء صفت و جدول مجازی Trait objects and Virtual table

      • بوکس DST Boxing the DST

      • چیدمان حافظه Box<dyn Trait> Memory layout of Box<dyn Trait>

      بسته شدن Closures

      • مقدمه ای بر بسته ها و نحو Introduction to Closures and Syntax

      • محیط ضبط بسته Closure capturing environment

      • صفات مرتبط با بسته شدن Traits associated with closures

      • رفتار متغیرهای بسته Behaviour of closure variables

      • ارسال بسته شدن به عنوان آرگومان به یک تابع part-1 Passing closure as arguments to a function part-1

      • ارسال بسته شدن به عنوان آرگومان به یک تابع part-2 Passing closure as arguments to a function part-2

      • بسته شدن به عنوان فیلدهای عضو ساختار[استفاده از شیء صفت] Closures as Struct member fields[Using Trait Object]

      • چیدمان حافظه برنامه Memory layout of the program

      • انواع بسته Types of Closures

      • تمرین در بسته شدن Exercise on Closure

      • بسته شدن به عنوان فیلدهای عضو ساختار[با استفاده از Generics] Closures as Struct member fields[Using Generics]

      • بسته شدن و رسیدگی به رویدادها Closures and event handling

      تکرار کننده ها Iterators

      • معرفی Iterators Introduction to Iterators

      • درباره Trait 'Iterator' About Trait 'Iterator'

      • ایجاد یک تکرار کننده سفارشی Creating a custom iterator

      • تکرار بر روی تکرار کننده سفارشی بر اساس ارزش، وام قابل تغییر و تغییرناپذیر Iterating over custom iterator by value, mutable and immutable borrow

      • ایجاد یک تکرار کننده سفارشی: روش "بعدی". Creating a custom iterator: Refactoring 'next' method

      • صفت "Iterator" در مقابل صفت "IntoIterator" Trait 'Iterator' Vs Trait 'IntoIterator'

      • تمرین: پیاده سازی یک تکرار کننده سفارشی Exercise: Implementing a custom iterator

      • راه حل: پیاده سازی یک تکرار کننده سفارشی Solution: Implementing a custom iterator

      • پیاده سازی ویژگی «IntoIterator» برای نوع سفارشی Part-1 Implementing Trait 'IntoIterator' for a custom type Part-1

      • پیاده سازی ویژگی «IntoIterator» برای نوع سفارشی Part-2 Implementing Trait 'IntoIterator' for a custom type Part-2

      • پیاده سازی Trait 'IntoIterator' برای نوع سفارشی Part-3 Implementing Trait 'IntoIterator' for a custom type Part-3

      • پیاده‌سازی ویژگی «IntoIterator» برای نوع سفارشی Part-4-Solution Implementing Trait 'IntoIterator' for a custom type Part-4-Solution

      • روش های تکرار کننده Iterator Methods

      • for_each() به عنوان جایگزینی برای حلقه for for_each() as an alternate to for loop

      • iter()، iter_mut() و into_iter() توضیح می دهند iter(), iter_mut() and into_iter() explanation

      • آداپتورهای تکرار کننده متداول Commonly used iterator adapters

      • توضیح روش map() با مثال map() method explanation with examples

      • جمع آوری () collect()

      • استفاده از collect() با مجموعه سفارشی Using collect() with custom collection

      • پیاده سازی صفت «FromIterator» روی یک نوع Implementing Trait 'FromIterator' on a type

      • فیلتر() filter()

      کد ساختار در Rust: Structuring Code in Rust:

      • بسته، جعبه، محموله.تومل، محموله.قفل package, crate, cargo.toml , cargo.lock

      • بخش [بسته] cargo.toml, Semantic Versioning [package] section of cargo.toml, Semantic Versioning

      • قوانین ساختار بسته Package structuring rules

      • [وابستگی ها] بخش cargo.toml [dependencies] section of cargo.toml

      • نسخه های زنگ Rust editions

      نمایش نظرات

      آموزش استاد زبان برنامه نویسی Rust: مبتدی تا پیشرفته
      جزییات دوره
      24.5 hours
      163
      Udemy (یودمی) Udemy (یودمی)
      (آخرین آپدیت)
      900
      4.6 از 5
      دارد
      دارد
      دارد
      جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

      Google Chrome Browser

      Internet Download Manager

      Pot Player

      Winrar

      FastBit Embedded Brain Academy FastBit Embedded Brain Academy

      روی Firmware و Embedded Engineering کار می کند

      Kiran Nayak Kiran Nayak

      نرم افزار تعبیه شده