آموزش Rust & WebAssembly with JS (TS) - راهنمای عملی

Rust & WebAssembly with JS (TS) - The Practical Guide

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: آموزش کدنویسی در Rust کد را در WebAssembly کامپایل کنید. JS/TS frontend را آماده کنید و بازی Snake مبتنی بر مرورگر را ایجاد کنید. ایجاد یک بازی مرورگر ساخته شده در Rust/WebAssembly و Javascript درک زبان Rust به روشی کاربردی و سرگرم کننده استفاده از دانش به دست آمده برای ایجاد برنامه های کاربردی خود در زمینه محیط توسعه هیجان انگیز Rust مستقر شوید پیش نیازها:دانش برنامه نویسی اولیه

Rust چیست؟

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

WebAssembly چیست؟

WebAssembly نوع جدیدی از کد است که می تواند در مرورگرهای وب مدرن اجرا شود - یک زبان اسمبلی سطح پایین با فرمت باینری فشرده است که با عملکرد تقریباً بومی اجرا می شود و زبان هایی مانند C/C++ را ارائه می دهد. سی شارپ، و Rust با یک هدف کامپایل به طوری که بتوانند در وب اجرا شوند. همچنین برای اجرا در کنار جاوا اسکریپت طراحی شده است که به هر دو امکان می دهد با هم کار کنند.

آیا این دوره برای شما مناسب است؟

اگر قصد دارید حرفه خود را به عنوان یک توسعه دهنده شروع کنید یا مهارت های برنامه نویسی خود را بهبود بخشید، این دوره برای شما مناسب است. با نحوه ساخت یک بازی مرورگر با حداقل کد JS و Rust که در دستورالعمل های WebAssembly کامپایل شده است، آشنا شوید.

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

قرار است روی چه چیزی کار کنید؟

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

این دوره با توضیح و مثال های عملی زبان Rust شروع می شود. با ویژگی های Rust مانند "حرکت" و "کپی کردن"

آشنا خواهید شد

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

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

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

بعد از سخنرانی های معرفی Rust، شما شروع به ساخت بازی Snake خود خواهید کرد. شما یاد خواهید گرفت که چگونه برنامه را ماژولار و تمیز ساختار دهید.

شما ظاهر JS خود را خواهید ساخت که از طریق یک سرور توسعه Webpack ساده در معرض دید قرار می گیرد. بعداً، پیاده سازی JS را به TS (Typescript) تبدیل خواهید کرد. این نوع را مشخص می کند و در همان صفحه کد Rust قرار می گیرد.

شما کد باطن زنگ خود را خواهید ساخت، ستون فقرات بازی ما. شما یاد خواهید گرفت که چگونه کد Rust را به کد WebAssembly کامپایل کنید. WebAssembly کدی است که می تواند در مرورگر اجرا شود. این سریعتر (سرعت تقریباً بومی) و کارآمدتر از JS است.

در پایان دوره، یک سرور تولید ایجاد می‌کنیم و بازی خود را در Heroku مستقر می‌کنیم، بنابراین هر کسی در اینترنت می‌تواند بازی ما را بازی کند.


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

معرفی Introduction

  • معرفی Introduction

معرفی Introduction

  • معرفی Introduction

  • [اختیاری] نحوه حل مشکلات [Optional] How to resolve issues

  • [اختیاری] نحوه حل مشکلات [Optional] How to resolve issues

  • [اختیاری] ساختار سخنرانی [Optional] Lecture Structure

  • [اختیاری] ساختار سخنرانی [Optional] Lecture Structure

آماده سازی زنگ Rust Preparation

  • نصب زنگ زدگی Rust Installation

  • تابع اصلی Main Func

  • متغیرهای Mut Mut Variables

آماده سازی زنگ Rust Preparation

  • نصب زنگ زدگی Rust Installation

  • نسخه های زنگ زده Rust Versions

  • نسخه های زنگ زده Rust Versions

  • تابع اصلی Main Func

  • متغیرهای Mut Mut Variables

  • اینیت بار Cargo Init

  • اینیت بار Cargo Init

انواع پایه Basics Types

انواع پایه Basics Types

  • عملکرد جدید New function

  • عملکرد جدید New function

  • انواع ابتدایی Primitive types

  • انواع ابتدایی Primitive types

  • [AI] Prim Numbers 2 [AI] Prim Numbers 2

  • [AI] Prim Numbers 2 [AI] Prim Numbers 2

  • انواع اولیه 3 Primitive Types 3

  • انواع اولیه 3 Primitive Types 3

انتقال و کپی Move & Copy

  • حرکت رشته String Move

  • ارزش جابجا شده را برگردانید Return moved value

  • سن کپی کردن Copying age

انتقال و کپی Move & Copy

  • پشته هوش مصنوعی AI Stack

  • پشته هوش مصنوعی AI Stack

  • AI بیشتر پشته AI More Stack

  • AI بیشتر پشته AI More Stack

  • پشته رشته String Heap

  • پشته رشته String Heap

  • حرکت رشته String Move

  • AI توضیح اضافی را حرکت می دهد AI Moves additional explanation

  • AI توضیح اضافی را حرکت می دهد AI Moves additional explanation

  • ارزش جابجا شده را برگردانید Return moved value

  • سن کپی کردن Copying age

مرجع و قرض گرفتن Reference & Borrowing

  • منابع References

مرجع و قرض گرفتن Reference & Borrowing

  • منابع References

  • وام قابل تغییر Mutable borrow

  • وام قابل تغییر Mutable borrow

  • مثال وام قابل تغییر هوش مصنوعی AI Mutable Borrow Example

  • مثال وام قابل تغییر هوش مصنوعی AI Mutable Borrow Example

  • ارجاع Dereference

  • ارجاع Dereference

  • عدم ارجاع هوش مصنوعی AI Dereferencing

  • عدم ارجاع هوش مصنوعی AI Dereferencing

رشته های Strings

  • برش رشته String slice

  • برش رشته + String Slice +

  • شبیه Clone

رشته های Strings

  • رشته در مقابل &str String vs &str

  • رشته در مقابل &str String vs &str

  • برش رشته String slice

  • برش رشته + String Slice +

  • شبیه Clone

جعبه و سازه Box & Struct

  • نوع جعبه Box type

جعبه و سازه Box & Struct

  • نوع جعبه Box type

  • ساختار Struct

  • ساختار Struct

  • توابع ساختار، روش ها Struct functions, methods

  • توابع ساختار، روش ها Struct functions, methods

  • سازندگان Constructors

  • سازندگان Constructors

Enums Enums

  • Enums Enums

  • مسابقه Enum Enum match

  • بدون فیلدها ساختار دهید Struct no fields

Enums Enums

  • Enums Enums

  • مقادیر Enum Enum values

  • مقادیر Enum Enum values

  • مسابقه Enum Enum match

  • اگر اجازه دهید If Let

  • اگر اجازه دهید If Let

  • بدون فیلدها ساختار دهید Struct no fields

صفات Traits

  • صفت Trait

صفات Traits

  • صفت Trait

  • باریک شدن صفت Trait narrowing

  • باریک شدن صفت Trait narrowing

مدولار بودن Modularity

  • کلمه کلیدی مود Mod keyword

  • ماژول های تو در تو Nested modules

  • کلمه کلیدی فوق العاده Super keyword

  • lib خارجی External lib

  • صفت نمایش Display Trait

مدولار بودن Modularity

  • مدولار بودن Modularity

  • مدولار بودن Modularity

  • گزینه های واردات Import options

  • گزینه های واردات Import options

  • کلمه کلیدی مود Mod keyword

  • ماژول های تو در تو Nested modules

  • زمینه های میخانه Pub fields

  • زمینه های میخانه Pub fields

  • کلمه کلیدی فوق العاده Super keyword

  • lib خارجی External lib

  • صفت نمایش Display Trait

وارد WebAssembly شوید Into to WebAssembly

  • واسم بیشتر More wasm

  • سرور توسعه دهنده وب پک [AI] [AI] webpack dev server

  • کپی افزونه Copy plugin

  • واکشی Fetch wasm

  • واردات به wasm Import to wasm

  • حافظه واسم Wasm Memory

  • حافظه JS JS Memory

وارد WebAssembly شوید Into to WebAssembly

  • WebAssembly start + Link WebAssembly start + Link

  • WebAssembly start + Link WebAssembly start + Link

  • واسم بیشتر More wasm

  • Wasm را در مرورگر بارگیری کنید Load Wasm in Browser

  • Wasm را در مرورگر بارگیری کنید Load Wasm in Browser

  • سرور توسعه دهنده Dev Server

  • سرور توسعه دهنده Dev Server

  • سرور توسعه دهنده وب پک [AI] [AI] webpack dev server

  • کپی افزونه Copy plugin

  • واکشی Fetch wasm

  • واردات به wasm Import to wasm

  • حافظه واسم Wasm Memory

  • حافظه JS JS Memory

آماده سازی بازی Preparing the Game

  • FN را به وب اسمبلی وارد کنید Import FN to webassembly

آماده سازی بازی Preparing the Game

  • بسته بندی وب اسمبلی Pack Webassembly

  • بسته بندی وب اسمبلی Pack Webassembly

  • کد ما را وارد کنید Init Our Code

  • کد ما را وارد کنید Init Our Code

  • فایل های pkg [AI] [AI] pkg files

  • فایل های pkg [AI] [AI] pkg files

  • FN را به وب اسمبلی وارد کنید Import FN to webassembly

  • بوت استرپ Bootstrap

  • بوت استرپ Bootstrap

  • وی تخصیص Wee alloc

  • وی تخصیص Wee alloc

شروع بازی Starting the Game

  • قرعه کشی جهان Draw World

  • مار را بکشید Draw Snake

  • [AI] اشکال زدا [AI] Debugger

شروع بازی Starting the Game

  • ساختار جهانی World struct

  • ساختار جهانی World struct

  • عرض گیرنده Getter width

  • عرض گیرنده Getter width

  • بوم را دریافت کنید Get canvas

  • بوم را دریافت کنید Get canvas

  • قرعه کشی جهان Draw World

  • مار ایجاد کنید Create snake

  • مار ایجاد کنید Create snake

  • مار را بکشید Draw Snake

  • [AI] اشکال زدا [AI] Debugger

جهان را به روز کنید Update the World

  • Timeout را تنظیم کنید Set Timeout

  • تایپ اسکریپت Typescript

  • جهت Direction

  • فانکشن فاکتور Function refactor

جهان را به روز کنید Update the World

  • به روز رسانی جهانی World Update

  • به روز رسانی جهانی World Update

  • Timeout را تنظیم کنید Set Timeout

  • تایپ اسکریپت Typescript

  • idx تصادفی مار Snake random idx

  • idx تصادفی مار Snake random idx

  • جهت Direction

  • در یک ردیف حرکت کنید Move in one row

  • در یک ردیف حرکت کنید Move in one row

  • بالا و پایین Up and Down

  • بالا و پایین Up and Down

  • فانکشن فاکتور Function refactor

مار متحرک Moving Snake

  • سلول های مار Snake Cells

  • سلول Ptr Cell Ptr

  • اشاره گر نامعتبر است Invalid pointer

  • جهت های Refactor Refactor directions

مار متحرک Moving Snake

  • رویدادهای Keydown Keydown events

  • رویدادهای Keydown Keydown events

  • تغییر کارگردان مار Change snake dir

  • تغییر کارگردان مار Change snake dir

  • سلول های مار Snake Cells

  • سلول Ptr Cell Ptr

  • اشاره گر نامعتبر است Invalid pointer

  • همه سلول ها را رندر کنید Render all cells

  • همه سلول ها را رندر کنید Render all cells

  • رنگ مار Snake color

  • رنگ مار Snake color

  • جهت های Refactor Refactor directions

  • پروفایل جهت Direction profiling

  • پروفایل جهت Direction profiling

سلول های مار را حرکت دهید Move Snake Cells

  • چک مار را تغییر دهید Change snake dir check

سلول های مار را حرکت دهید Move Snake Cells

  • سلول ها را جابجا کنید Move cells

  • سلول ها را جابجا کنید Move cells

  • چک مار را تغییر دهید Change snake dir check

  • بهبود کارگردانی مار Improve snake dir

  • بهبود کارگردانی مار Improve snake dir

سلول پاداش Reward Cell

  • بررسی کنید که آیا بدن دارای پاداش است Check if body contains reward

  • سلول پاداش را مصرف کنید Consume reward cell

  • سلول پاداش هوش مصنوعی AI Reward cell

  • سلول پاداش ایجاد تعمیر Reward cell generate fix

سلول پاداش Reward Cell

  • سلول پاداش Reward cell

  • سلول پاداش Reward cell

  • تاریخ واردات به Rust Import Date to Rust

  • تاریخ واردات به Rust Import Date to Rust

  • تابع تصادفی Random function

  • تابع تصادفی Random function

  • بررسی کنید که آیا بدن دارای پاداش است Check if body contains reward

  • سلول پاداش را مصرف کنید Consume reward cell

  • سلول پاداش هوش مصنوعی AI Reward cell

  • Fn به جایزه ژن Fn to gen reward

  • Fn به جایزه ژن Fn to gen reward

  • سلول پاداش ایجاد تعمیر Reward cell generate fix

وضعیت بازی Game status

  • وضعیت بازی Game Status

  • وضعیت بازی را قرعه کشی کنید Draw game status

وضعیت بازی Game status

  • وضعیت بازی Game Status

  • رابط کاربری ساده Simple UI

  • رابط کاربری ساده Simple UI

  • شروع بازی Start the game

  • شروع بازی Start the game

  • وضعیت بازی را کنترل کنید Handle game status

  • وضعیت بازی را کنترل کنید Handle game status

  • وضعیت بازی را قرعه کشی کنید Draw game status

نتایج بازی Game Outcomes

  • پرونده گمشده Lost Case

  • تابع نقشه برداری Mapping function

  • امتیاز اضافه کنید Add points

  • حلقه بازی دسته Handle play loop

نتایج بازی Game Outcomes

  • مورد برد Win Case

  • مورد برد Win Case

  • پرونده گمشده Lost Case

  • تابع نقشه برداری Mapping function

  • مقداری پاداش Some reward

  • مقداری پاداش Some reward

  • امتیاز اضافه کنید Add points

  • حلقه بازی دسته Handle play loop

گسترش Deployment

  • سرور پرود Prod server

گسترش Deployment

  • سرور پرود Prod server

  • نصب CLI CLI installation

  • نصب CLI CLI installation

  • دستورات بسته Package commands

  • دستورات بسته Package commands

  • استقرار و پایان دوره Deployment & Course Finish

  • استقرار و پایان دوره Deployment & Course Finish

نمایش نظرات

آموزش Rust & WebAssembly with JS (TS) - راهنمای عملی
جزییات دوره
13.5 hours
113
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
3,682
4.6 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Eincode by Filip Jerga Eincode by Filip Jerga

آموزش آنلاین Eincode تضمین می کند که بهترین تجربه یادگیری آنلاین را برای مخاطبان خود فراهم می کند. محتوای با کیفیت بالا و مفاهیم برنامه نویسی که در پروژه های واقعی توضیح داده شده اند، زمینه هایی هستند که Eincode در آنها می درخشد! Eincode عمدتا دوره هایی را پوشش می دهد که بر راهنمای برنامه نویسی برای توسعه وب و موبایل تمرکز دارند. اگر به دنبال راهنماهای کامل و جامع هستید، Eincode انتخاب مناسبی برای شماست. دوره ها نیز توسط مربی فیلیپ جرگا منتشر می شود. به سلامتی و به کدنویسی ادامه دهید!

Filip Jerga Filip Jerga

مهندس نرم افزار نام من فیلیپ جرگا است و من یک مهندس نرم افزار با تجربه و توسعه دهنده آزاد هستم. من دارای مدرک کارشناسی ارشد در هوش مصنوعی و چندین سال تجربه کار بر روی طیف گسترده ای از فناوری ها و پروژه ها از توسعه ++C برای دستگاه های اولتراسوند گرفته تا برنامه های موبایل و وب مدرن در React و Angular هستم. در طول زندگی حرفه‌ای‌ام، دانش فنی پیشرفته و توانایی توضیح موضوعات برنامه‌نویسی را به وضوح و با جزئیات برای مخاطبان گسترده کسب کرده‌ام. از شما دعوت می‌کنم دوره آموزشی خود را بگذرانید، جایی که من تلاش زیادی کرده‌ام تا مفاهیم مهندسی وب و نرم‌افزار را به صورت مفصل، عملی و قابل درک توضیح دهم.