آموزش برنامه‌نویسی مقدماتی Rust

در این دوره باز مجموعه دوره‌های آموزش برنامه نویسی مکتب خونه ا برنامه‌نویسی به زبان Rust آشنا می‌شویم. زبانی جدید همراه با کارایی بسیار بالا. زبانی برای برنامه‌نویسی دسکتاپ، وب و حتی برنامه‌نویسی Embedded. در ...

3.7 (10 امتیاز)
278 دانشجو
مقدماتی
محتوای دوره
پیش‌نیاز‌ها
درباره دوره
نظرات کاربران
درباره استاد

آنچه در این دوره می‌آموزید

آشنایی ابتدایی با اصول برنامه‌نویسی

آشنایی با زبان Rust

درک عمیق مفاهیم پیچیده زبان Rust

آموزش دستورات شرطی در Rust

محتوای دوره

10 فصل 37 جلسه 7 ساعت ویدیو
مقدمه
مفاهیم رایج در برنامه نویسی
کنترل روند
مقایسه سرعت Rust با Python
درک مالکیت (Ownership)
ساختار (Struct)
شمارش (Enum)
آشنایی با Collection
Generics, Traits, Lifetime
مرتب‌کردن کد با Module

پیش‌نیاز‌ها

این دوره به نحوی تهیه و تدوین شده است که مباحث آن به ساده‌ترین شکل ممکن بیان شوند و مخاطبان دوره بتوانند به‌سادگی متوجه موضوعات مطرح شده شوند. به همین جهت برای شرکت در این دوره هیچ پیش‌نیاز به خصوصی وجود ندارد و افراد با هر سطحی از آگاهی و تحصیلات می‌توانند از مباحث این دوره نهایت استفاده را داشته باشند.

درباره دوره

در این دوره باز مجموعه دوره‌های آموزش برنامه نویسی مکتب خونه ا برنامه‌نویسی به زبان Rust آشنا می‌شویم. زبانی جدید همراه با کارایی بسیار بالا. زبانی برای برنامه‌نویسی دسکتاپ، وب و حتی برنامه‌نویسی Embedded.

در دوره آموزش برنامه‌نویسی مقدماتی Rust چه می آموزیم؟

  •  چگونگی نصب Rust را می‌آموزیم.
  •  مفاهیم پایه‌ای برنامه‌نویسی مثل متغیرها، توابع و... را شرح می‌دهیم.
  •  با شرط‌ها و حلقه‌ها آشنا می‌شویم.
  •  مالکیت در Rust را مفصل بررسی می‌کنیم.
  •  با استفاده از struct به داده‌ها ساختار می‌دهیم.
  •  enum را بررسی می‌کنیم و با Option جلو بسیاری از خطاها را می‌گیریم.
  •  با Collectionها داده‌هایی با مقدار نامشخص را ذخیره می‌کنیم.
  •  با Generic کدهایی می‌نویسیم که با انواع داده کار کنند.
  •  با traitها رفتار مشابه برای ساختارها تعریف می‌کنیم.
  •  به بررسی دقیق lifetime در زبان Rust می‌پردازیم.

 و در آخر با استفاده از ماژول‌ها کدهای خود را دسته‌بندی می‌کنیم.

آموزش مقدماتی برنامه نویسی rust

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

چرا باید Rust را یاد بگیرید؟

برخلاف زبان‌های سنتی که مدیریت حافظه را به عهده برنامه‌نویس می‌گذارند، Rust با سیستم مالکیت ایمن (Ownership System ) خود، خیال شما را از خطاهای رایج حافظه راحت می‌کند. این ویژگی باعث می‌شود برنامه‌های شما سریع‌تر، باثبات‌تر و ایمن‌تر اجرا شوند.

علاوه بر این، Rust سرعتی فوق‌العاده دارد و به شما این امکان را می‌دهد که بدون افت کیفیت، برنامه‌های با کارایی بالا توسعه دهید. شباهت‌های Rust به زبان‌های سطح پایین مانند C و C++، آن را به گزینه‌ای ایده‌آل برای توسعه سیستم‌های عامل، هسته‌های پردازنده و سایر برنامه‌های با کارایی حیاتی تبدیل می‌کند.

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

مقدمات اولیه Rust

برای شروع یادگیری Rust، نیاز به نصب کامپایلر Rust (rustc) و ابزار مدیریت بسته (cargo) و یا حتی نیاز به یک دوره آموزش مقدماتی برنامه نویسی rustدارید. خوشبختانه، فرآیند نصب بر روی سیستم‌عامل‌های مختلف بسیار ساده است و می‌توانید راهنمای نصب را مستقیماً از وب‌سایت رسمی Rust دریافت کنید.

پس از نصب، اولین برنامه Rust خود را با دستور cargo new نام پروژه ایجاد کنید. این دستور، یک پوشه جدید با ساختار اولیه برای پروژه شما ایجاد می‌کند.

انواع داده‌ای در Rust

مانند سایر زبان‌های برنامه‌نویسی، Rust نیز دارای انواع داده‌ای مختلفی برای ذخیره اطلاعات است. برخی از انواع داده‌ای رایج در Rust عبارتند از:

  • عدد صحیح (Integer): برای ذخیره اعداد کامل مانند 1، 10، -20 و غیره استفاده می‌شود.
  • عدد حقیقی (Float): برای ذخیره اعداد اعشاری مانند 3.14، 1.23e-5 و غیره استفاده می‌شود.
  • متن (String): برای ذخیره رشته‌های متنی استفاده می‌شود.
  • بولین (Boolean): برای ذخیره مقادیر درست (true) یا غلط (false) استفاده می‌شود.

ساختارهای کنترلی در Rust

Rust از ساختارهای کنترلی رایجی مانند if، else، loop و for برای کنترل جریان برنامه استفاده می‌کند. این ساختارها به شما امکان می‌دهند بر اساس شرایط مختلف، بخش‌های خاصی از کد را اجرا کنید.

توابع در Rust

توابع بلوک‌های قابل استفاده مجدد از کد هستند که وظایف خاصی را انجام می‌دهند.

مدیریت حافظه در Rust

همانطور که در ابتدای مقاله اشاره شد، Rust با سیستم مالکیت ایمن، مدیریت حافظه را به طور خودکار انجام می‌دهد. این سیستم تضمین می‌کند که هر قطعه از حافظه تنها توسط یک متغیر در یک زمان خاص قابل دسترسی است. در نتیجه، از خطاهای رایج حافظه مانند دسترسی به حافظه آزاد شده (dangling pointers) جلوگیری می‌شود.

بردارها (Vectors) در Rust

بردارها آرایه‌های پویایی هستند که می‌توانند در زمان اجرا تغییر اندازه دهند. این ویژگی آن‌ها را برای ذخیره مجموعه‌های داده‌ای با اندازه ناشناخته بسیار انعطاف‌پذیر می‌کند.

رشته‌ها در Rust

رشته‌ها در Rust دو نوع اصلی دارند:

  • رشته‌های مالکیت (String): رشته‌هایی که به طور مستقیم در حافظه ذخیره می‌شوند و می‌توانند تغییر کنند.
  • رشته‌های برشی (String Slice): نمایشی از یک رشته دیگر که می‌توان از آن برای پیمایش یا استخراج بخشی از رشته استفاده کرد.

ماژول‌ها (Modules) در Rust

ماژول‌ها واحدهای سازمانی در Rust هستند که کد شما را به بخش‌های منطقی مجزا تقسیم می‌کنند. این امر به شما کمک می‌کند تا کد خود را به طور مؤثر سازماندهی کرده و از تداخل نام‌ها جلوگیری کنید.

ایجاد پروژه‌های Rust

برای ایجاد پروژه‌های Rust از Cargo، ابزار مدیریت بسته Rust، استفاده کنید. Cargo به شما امکان می‌دهد تا وابستگی‌های پروژه خود را مدیریت کنید، کتابخانه‌های شخص ثالث را نصب کرده و برنامه‌های خود را کامپایلر و اجرا کنید.

منابع یادگیری Rust

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

Rust چه تفاوتی با سایر زبان‌های برنامه‌نویسی دارد؟

Rust با سیستم مالکیت ایمن خود، از خطاهای رایج حافظه مانند دسترسی به حافظه آزاد شده (dangling pointers) جلوگیری می‌کند. این ویژگی Rust را به زبانی قابل اعتماد و ایمن برای توسعه برنامه‌های حساس تبدیل می‌کند.

کاربردهای Rust از سیستم‌های عامل تا وب

زبان برنامه‌نویسی Rust به لطف ترکیبی از سرعت، امنیت و قابلیت اطمینان، طیف گسترده‌ای از کاربردها را در بر می‌گیرد. در اینجا نگاهی به برخی از حوزه‌های استفاده از Rust می‌اندازیم:

سیستم‌های عامل و هسته‌های پردازنده

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

برنامه‌نویسی سمت سرور

با ظهور فریمورک‌های قدرتمندی مانند Rocket و Actix، Rust به دنیای برنامه‌نویسی سمت سرور نیز نفوذ کرده است. این فریمورک‌ها به توسعه‌دهندگان امکان می‌دهند تا APIهای وب با کارایی بالا و ایمن ایجاد کنند.

هوش مصنوعی و یادگیری ماشین

سرعت و کارایی Rust برای محاسبات سنگین مورد نیاز در هوش مصنوعی و یادگیری ماشین بسیار مفید است. کتابخانه‌هایی مانند TensorFlow.rs به توسعه‌دهندگان امکان می‌دهد تا مدل‌های یادگیری ماشین را با کارایی بالا در Rust پیاده‌سازی کنند.

امنیت سایبری

با توجه به امنیت ذاتی Rust ناشی از سیستم مالکیت ایمن، از این زبان برای توسعه ابزارهای امنیتی سایبری مانند فایروال‌ها و ابزارهای تشخیص نفوذ استفاده می‌شود.

بازی‌های ویدئویی

سرعت و کنترل دقیق حافظه Rust، آن را به گزینه‌ای جذاب برای توسعه موتورهای بازی و اجزای بازی‌های ویدئویی با کارایی بالا تبدیل کرده است. برخی از استودیوهای بازی‌سازی از Rust برای توسعه موتورهای بازی خود استفاده می‌کنند.

یادگیری Rust چقدر سخت است؟

Rust زبانی با منحنی یادگیری نسبتاً شیب‌دار است، اما با کمی تلاش و تعهد، می‌توانید به سرعت مهارت‌های لازم برای تسلط بر آن را کسب کنید. منابع آنلاین و آفلاین و همچنین دوره‌های آموزش مقدماتی برنامه نویسی rustمتعددی برای کمک به شما در یادگیری Rust در دسترس هستند.

Rust برای چه نوع برنامه‌هایی مناسب است؟

Rust برای توسعه طیف گسترده‌ای از برنامه‌ها، از سیستم‌های عامل گرفته تا برنامه‌های وب، ایده‌آل است. سرعت، کارایی و قابلیت اطمینان Rust آن را به گزینه‌ای محبوب برای برنامه‌های حساس و با کارایی بالا تبدیل می‌کند.

آیا Rust زبانی مدرن است؟

Rust زبانی نسبتاً جدید است که در سال 2010 معرفی شد. با این حال، به سرعت به یکی از زبان‌های برنامه‌نویسی محبوب برای توسعه برنامه‌های سیستم‌های عامل، هسته‌های پردازنده و سایر برنامه‌های با کارایی حیاتی تبدیل شده است.

آینده Rust چه خواهد شد؟

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

راست (rust) یا پایتون؟

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

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

دوره آموزش مقدماتی برنامه ‌نویسی Rust 

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

علاوه بر این، در این دوره با مفاهیم کلیدی Rust مانند مالکیت (Ownership) و جمع‌آوری (Collection) آشنا خواهید شد و یاد خواهید گرفت که چگونه از آنها برای نوشتن کد ایمن و کارآمد استفاده کنید.

مخاطبان دوره آموزش مقدماتی راست

مخاطبان دوره آموزش مقدماتی برنامه نویسی راست افراد زیر هستند:

  • افراد علاقمند به یادگیری برنامه‌نویسی Rust
  • برنامه‌نویسان با تجربه که می‌خواهند مهارت‌های خود را در Rust ارتقا دهند
  • توسعه‌دهندگانی که به دنبال یادگیری زبانی جدید برای توسعه برنامه‌های سیستم‌های پیچیده هستند.

در آموزش مقدماتی برنامه نویسی راست چه چیزهایی یاد خواهیم گرفت؟

مهارت‌هایی که در این دوره آموزش مقدماتی راست خواهید آموخت به صورت زیر هستند:

  • مفاهیم بنیادی برنامه‌نویسی
  • برنامه‌نویسی شیءگرا در Rust
  • ساختارها، شمارش‌ها و رابط‌ها در Rust
  • مالکیت (Ownership) در Rust
  • جمع‌آوری (Collection) در Rust
  • نوشتن کد ایمن و کارآمد در Rust
  • استفاده از Rust برای توسعه برنامه‌های مختلف

سرفصل‌های دوره آموزش مقدماتی Rust 

سرفصل‌های دوره آموزش مقدماتی راست مکتب خونه به صورت زیر است:

مقدمه 

  • آشنایی با Rust
  • نصب Rust
  • مفاهیم رایج در برنامه‌نویسی 

متغیرها

  • انواع داده
  • عملگرها
  • ساختارهای کنترلی
  • کنترل روند 

شرط‌ها

  • حلقه‌ها
  • مقایسه سرعت Rust با Python

بررسی عملکرد Rust در مقایسه با Python

درک مالکیت (Ownership)

  • مفهوم مالکیت در Rust
  • مزایای مالکیت
  • نحوه استفاده از مالکیت در کد

ساختار (Struct)

  • تعریف ساختار
  • فیلدها و متدها در ساختار
  • استفاده از ساختارها برای سازماندهی کد

شمارش (Enum)

  • تعریف شمارش
  • انواع مختلف شمارش
  • استفاده از شمارش‌ها برای مدل‌سازی داده‌ها

آشنایی با Collection

  • لیست‌ها
  • بردارها
  • مجموعه‌ها
  • فرهنگ لغت‌ها

Generics, Traits, Lifetime

  • برنامه‌نویسی عمومی (Generics)
  • صفات (Traits)
  • طول عمر (Lifetime)

مرتب کردن کد با Module

  • استفاده از ماژول‌ها برای سازماندهی کد
  • وابستگی‌ها بین ماژول‌ها
  • بهترین شیوه‌ها برای استفاده از ماژول‌ها

آموزش مقدماتی برنامه نویسی Rust مکتب خونه
دوره آموزش مقدماتی برنام ه‌نویسی Rust، دوره‌ای جامع و کاربردی برای یادگیری این زبان قدرتمند و جدید است. با شرکت در این دوره، شما پایه و اساس لازم برای تبدیل شدن به یک برنامه‌نویس Rust ماهر را خواهید آموخت. همچنین در مکتب خونه انواع دوره آموزش برنامه نویسی دیگر به عنوان مکمل و پیش نیاز این دوره موجود است.

 

اطلاعات بیشتر

امتیاز و نظرات کاربران

3.7

از مجموع 10 امتیاز

6 نظر

1 سال پیش

به کل اموزش جامعی برای کسایی هستش که مقدماتی میان

دانشجوی دوره

1 سال پیش

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

امیرمهدی حسن زاده

امیرمهدی حسن زاده

1 سال پیش

دوره جالب ای هست نسبت به بقیه زبان های برنامه نویسی یه حس متفاوتی دار خوب و جدید و آینده داره. مدرس دوره هم قشنگ درس میده مسلط هست به سینتکس.

احسان مهرابی

احسان مهرابی

7 ماه پیش

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

حسین زارعی

حسین زارعی

9 ماه پیش

فن بیان استاد اصلا خوب نمی باشد و قادر نیستن مفاهیم رو درست منتقل کنند.

دانشجوی دوره

1 سال پیش

سلام دوره بیش از آن‌که دوره آموزش دادن باشد، تمرین فردی برای آموزش دیدن است. مدرس محترم، در حال آزمون‌و‌خطا با یک‌سری از کدهای زبان rust است، تا شیوه‌ی بدون‌خطا نوشتن و درست اجرا کردن آن‌ها را پیدا کند، و آخرش یک OK بگوید. استانداردِ آموزشی در کار صفر است و هیچ مفهومی، درست و اساسی در طول دوره تشریح و توضیح داده نمی‌شود و مدرس فقط در حال رونویسی کردن کدهایی از کتاب The Rust Programming Language است و حتی این کار را هم بسیار مبتدیانه و با اشتباهات فراوان انجام می‌دهد. بارها مدتی طول می‌کشد و باید چندین‌بار برنامه اجرا شود تا مدرس کلی فکر کند و بفهمد یک متغیر را mutable تعریف نکرده است یا ; را نذاشته است یا جای نادرستی گذاشته است. در بسیاری از ویدئوها مفاهیم، دستورها و متدهای آموزش داده نشده استفاده می‌شود و خواسته می‌شود این‌ها را همین‌طوری حفظ کنید(!) تا بعدا آن‌ها را یاد بگیرید! دوست بزرگوار در نوشتن هیچ یک از کدها، فرمت استاندارد نوشتن کدهای rust را رعایت نمی‌کند تا بخواهد چنین چیزی را آموزش دهد و ... انتشار چنین دوره‌ای در سایت مکتب‌خونه واقعا جای تاسف دارد! از تیم مکتب‌خونه توقع این است که برای آموزش یک موضوع از افراد متخصص و با سابقه‌ی کارِ حرفه‌ای در آن موضوع استفاده نمایند. یا لااقل در نقش ناظر و ویراستار علمی ـ آموزشی، پیش از انتشار آموزش‌ها، از چنین افرادی بهره ببرند.

رضا رحیمی آتانی

رضا رحیمی آتانی

دوره‌های پیشنهادی

درباره استاد

کوروش کاکایی
کوروش کاکایی
1 دوره
278 دانشجو

کوروش کاکایی دارای مدرک کارشناسی ارشد مهندسی کامپیوتر (رایانش امن) است. وی برنامه‌نویسی را از سال ۱۳۹۴ با زبان ++C شروع کردند و در ادامه با تمرکز بر برنامه‌نویسی وب با PHP این مسیر را ادامه دادند.

 

اطلاعات بیشتر

سوالات پرتکرار

پس از سپری شدن زمان دوره، به محتوای دوره دسترسی خواهم داشت؟

بله؛ پس از سپری شدن مدت زمان دوره شما به محتوای دوره دسترسی خواهید داشت و می توانید از ویدئوها، تمارین، پروژه و دیگر محتوای دوره در صورت وجود استفاده کنید ولی امکان تصحیح تمارین توسط پشتیبان و دریافت گواهی نامه برای شما وجود نخواهد داشت.