اهداف یادگیری
زبان برنامه نویسی Rust
توانمندسازی در برنامه نویسی
نوشتن برنامه هایی با دسترسی سطح پایین و سیستم پروگرمینگ
کمک به رفع مشکلات رایج در برنامه ها با استفاده از قابلیت های Rust
افزایش دانش برنامه نویسی و دامنه تفکر برنامه نویسی
Material Includes
- ویدئوهای آموزشی به همراه توضیحات متتنی دوره
- *********آموزش تکمیل شده و در حال باگذاری ویدئوها می باشد و امکان دارد بسته به سوالات کاربران و مشارکت کننده ها مواردی به سرفصل ها اضافه شود*********
مخاطبان هدف
- راست برای چه افرادی هست ؟
- افراد زیاد با کارهای متفاوتی می تونند Rust انتخاب کنند که در ادامه بعضی از این گروه هارو در موردشون صحبت میکنیم .(Rust برای افراد با سطح تجارب گوناگون)
- تیم های توسعه دهنده
- Rust یک مجموعه از ابزارهارو برای کار کردن توسعه دهنده درون تیم بوجود آورده که افراد با سطوح تجربه متفاوت می تونند کنار هم کار کنند و از این ابزار استفاده کنند .برنامه نویسی با دسترسی و کنترل سطوح پائین در اغلب موارد ایجاد باگ و مشکلاتی می کنه که در زبان های دیگه فقط با استفاده از تجربه زیاد و تست های پرهزینه و code review توسط افراد با تجربه تر می تونه ازشون جلوگیری بشه .در زبان Rust این نقش هارو به طور بسیار خوبی Compiler به عهده میگیره و به عنوان یک محافظ در برابر بسیاری از باگ ها عمل می کنه حتی باگ های مثل باگ های مربوط به اجرای همزمان بخش های مختلف برنامه .با اینکار وقتی کامپایلر درگیر این کارها میشه توسعه دهنده می تونند تمرکزشون رو روی توسعه و طراحی و منطق کد بذارند بجای اینکه صرف از بین بردن و پیدا کردن باگ ها کنند .
- علاوه بر این مورد Rust مجموعه ای از ابزار هارو هم ارائه میکنه :
- 1-Cargo یک ابزار بسیار مفید برای مدیریت dependecy ها و مدیریت build و make و compile که عملا تمام موارد کامپایل و بیلد و مدیریت وابستگی هارو بصورت یکپارچه تو کل جامعه Rust به عهده گرفته .
- 2-Rustfmg یکی دیگه از ابزار ها که اطمینان میده همه توسعه دهنده های Rust یک شکل کد توسعه میدند .
- 3-IDE Integration یک سری ابزار برای IDE ها که توسعه Rust در IDE های مختلف راحت تر میکنه .
- با استفاده از این ابزار ها و قابلیت ها اکوسیستم Rust و توسعه دهنده می تونند کدهای خلاقانه تری بزنند موقع توسعه نرم افزار با این زبان .
- دانشجو ها
- Rust برای دانشجوهایی که به دنبال یاد دگیری در مورد مفاهیم سیستمی هستند .
- استفاده از Rust باعث میشه مفاهیمی مثل توسعه سیستم عامل ها را نیز یاد بگیرید. انجمن ها و جامعه های Rust هم به خوبی از سوالاتون دانشجوها استقبال می کنند و پاسخ میدند. در این آموزش همچنین سعی شده مفاهیم سیستمی نیز به شما و برنامه نویسان جدید منتقل بشه .
- شرکت ها
- صدها شرکت کوچک و بزرگ برای تولید محصولات گوناگونی در حال استفاده از Rust هستند، به طور مثال توسعه ابزار های مثل command line tools, web services, DevOps tooling, embedded devices, audio and video analysis and transcoding, cryptocurrencies, bioinformatics, search engines, Internet of Things applications, machine learning و حتی بخش عظیمی از توسعه های مرورگر Firefox .
- توسعه دهنده های Open Source
- Rust برای افرادی که علافه مند به توسعه به صورت متن باز هستند هم هست این افراد می تونند به توسعه خود زبان بپردازند یا داخل انجمن فعالیت کنند و یا کارهایی مانند توسعه ابزار ها و کتابخانه های لازم بپردازند.
- Rust برای تمام افرادی که سرعت و پایداری براشون اهمیت داره
- Rust برای افراد مشتاق به داشتن همزمان سرعت و پایداری در یک زبان هست. منظور از سرعت هم در نوشتن هم در اجرا برنامه هست. کامپایلر Rust وظیفه کمک به پایدار نگه داشتن برنامه رو به عهده داره .به طور ساده این نگه داشتن پایداری با افزودن برخی feature ها و ریفکتور کردن کدهای قدیمی تر هم همچنان وجود خواهد داشت. این به این معنی هست که Rust حتی در مواردی که کدهای قدیمی تر نیاز به ریفکتور یا بروز رسانی دارند با جدا نگه داشتن بعضی لایه ها از همدیگه در پایدار نگه داشتن سیستم همچنان کمک ما خواهد کرد. با اضافه کردن Interface هایی که هزینه نزدیک به صفر در هنگام کامپایل خواهند داشت و عملا مانند وقتی عملا میکنند که در بهترین حالت بصورت سطح پائین یک توسعه دهنده بسیار با تجربه این موارد پیاده کرده این موارد نگه داری کدها امکان پذیر خواهد شد .این خودش باعث میشه همینطور که برنامه شما سریع خواهد بود ایمنی و پایداری هم داشته باشه .
- Rust می تونه پوشش دهنده طیف وسیع تری از نیازمندی ها و افراد با نگرش های گوناگون باشه که فقط به بعضی هاشون انجا اشاره کردیم .ولی در کل یکی از بزرگترین اهداف Rust این هست که trade-off های همیشگی مثل اینکه سرعت و فابلیت های متنوع داشته باشیم یا امنیت و پایداری یا خلاقیت داشته باشیم رو بتونیم همه رو باهم در یک جا داشته باشیم .
- یک فرصت به Rust بدید و خودتون نتیجه رو خواهید دید .
سرفصل ها
5 درس30 ساعت
معرفی و راه اندازی
در این بخش ابتدا به معرفی زبان برنامه نویسی Rust و قدرت و دلیل محبوبیت و رشد این زبان می پردازیم و بعد از شروع به نصب و آماده سازی محیط توسعه و ابزار های لازم برای برنامه نویسی با این زبان می پردازیم .
یک بازی بنویسیم.
در این بخش یک بازی ساده برای آشنایی بیشتر با زبان برنامه نویسی راست Rust می نویسیم
مفاهیم مشترک در زبان های برنامه نویسی در Rust
این بخش توضیحاتی که در اکثر زبان های برنامه نویسی مفهووم مشترکی دارند را آموزش میبینید . مفاهیمی مانند : متغیرها، انواع داده، تایع، کامنت گذاری، کنترلر های جربان برنامه .
مهمترین ویژگی زبان برنامه نویسی راست Rust
در این بخش متفاوت ترین و مهم ترین ویژگی زبان برنامه نویسی راست Rust یعنی مالکیت یاد میدهیم . همینطور مثال ها و موارد متعددی رو برای منتقل شدن کامل این مفهوم بررسی می کنیم .
ساختارمند کردن برنامه با استفاده از Struct و متدها
بخشی جذاب از ساختارها و ویژگی های که با خودشون در این زبان برامون میارند .
قالب ها – انواع داده پیمایشی و ایجاد گروهی از حالت های مختلف
از موارد پرکاربرد و مورد نیاز در برنامه نویسی تطبیق دادن داده ها با یک دیگر می باشد . همینطور ایجاد یک گروه از داده برای پاسخ دادن به حالت های مختلف از بخشی از برنامه .مواردی که در عمل بسیار کاربردی و در عین حال ساده می باشد که در این بخش این سادگی با استفاه از تعدادی برنامه به شما منتقل می شود .
مدیریت پروژه ها و فایل ها
به مرور زمان با پیاده کردن برنامه های پیچیده تر و بزرگ تر شدن برنامه ها نیازمند به مدیریت کردن برنامه ها و کدها و ایجاد فایل های مجزا برای هر بخش از برنامه پیدا می شود . در اینجا با مفاهیمی مانند crate و module ها که مفاهیم و ویژگی های بسیار مهمی هستند آشنا شده و از آنها استفاده می کنیم و برنامه های خود را با استفاده از این ويژگی ها منظم تر و راحت تر می کنیم .
مجموعه های متداول و مشترک
با توجه به اینکه نیاز به کنارهم قرار دادن و دسترسی پذیری راحت به داده های هم نوع امر بسیار مهمی در برنامه نویسی هست مجموعه های متدوال و مشترکی که زبان برنامه نویسی راست Rust در اختیار ما قرار می دهد را آموزش میبنید. همچنین علاوه بر مجموعه های رایج مانند آرایه ها با توجه به اینکه راست از ایمنی زیادی برای کار با حافظه پویا و heap برخوردار هست از مجموعه های پویا تر مانند وکتور Vector و String نیز استفاه می کنیم .
مدیریت خطا
از دیگر ویژگی های زبان برنامه نویسی راست مدیریت خطاست. که توسعه برنامه ها و جلوگیری از اشکالات و مدیریت کردن این اشکالات را بهمراه دارد .
داده های خاص – اشتراک گذاری این داده ها و طول عمر داده ها
در این بخش موارد بسیار مهمی مانند trait ها generic ها و lifetime که هر سه از موارد مهم و پرکاربرد در زبان برنامه نویسی راست Rust هستند را آموزش میبینید .
مدرس دوره
2,500,000 تومان4,800,000 تومان
Material Includes
- ویدئوهای آموزشی به همراه توضیحات متتنی دوره
- *********آموزش تکمیل شده و در حال باگذاری ویدئوها می باشد و امکان دارد بسته به سوالات کاربران و مشارکت کننده ها مواردی به سرفصل ها اضافه شود*********
دوره های مرتبط
دوره جامع متخصص Angular
2,250,000 تومان4,200,000 تومان
آموزش Embedded Rust
2,900,000 تومان5,400,000 تومان