لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش ساختارها و الگوریتم های داده عملی در Rust [ویدئو]
Hands-On Data Structures and Algorithms in Rust [Video]
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
Rust یک زبان برنامه نویسی سیستم های مدرن است که با ایمنی طراحی شده است تا توسعه پروژه های نرم افزاری بزرگ و پیچیده را ساده کند. ساختار داده و الگوریتمها برای کمک به جمعآوری و سازماندهی دادهها برای انجام عملیات روی دادهها و تنظیم دستورالعملها/منطق برای انجام وظایف در این پروژهها کلیدی هستند. این دوره راهنمای شما برای پیادهسازی ساختارهای داده و الگوریتمهای کلاسیک در Rust خواهد بود و به شما کمک میکند تا به عنوان یک برنامهنویس Rust مطمئن باشید.
شما با آغازگر Rust و نحو آن شروع خواهید کرد. سپس زبان پیچیدگی زمان و حافظه را با مقایسه روش های مختلف مرتب سازی کشف خواهید کرد. سپس در مورد لیست ها و درختان باینری یاد می گیرید، آنها را پیاده سازی می کنید و آنها را با هم مقایسه می کنید تا مزایا و موارد استفاده هر کدام را نشان دهید. در مرحله بعد، الگوریتم های مختلف مانند مرتب سازی، نمودار، برنامه نویسی پویا، حریص، تقسیم و تسخیر و موارد دیگر را به طور عمیق پوشش خواهید داد. شما خواهید آموخت که چگونه تکنیک های غیرمستقیم می توانند ساخت پروژه های مقیاس پذیر را آسان تر کنند!
در پایان دوره، دانش کاملی از ساختارهای داده و الگوریتم های کلیدی در Rust خواهید داشت تا با اطمینان آنها را در برنامه های خود پیاده سازی کنید.
لینک Github به این دوره ویدیویی: https://github.com/PacktPublishing/Hands-On-Data-Structures-and-Algorithms-in-Rust
چگونه Rust می تواند به شما کمک کند دسترسی به حافظه خود را ایمن و موثر نگه دارید
چگونه می توانیم از Rust برای ایجاد الگوریتم های عمومی استفاده کنیم که می توانیم بارها و بارها در پایگاه کد خود از آنها استفاده کنیم
الگوریتم های حریص، پویا و تکرار شونده و زمان استفاده از آنها
ساختارهای داده های مختلف مانند نقشه ها، درختان، و لیست های پیوندی و زمانی که استفاده از آنها مناسب است.
چرا و چگونه یک Entity Component System بخشهای مختلف شی را در مناطق ذخیرهسازی مختلف جدا میکند
چگونه می توانیم با استفاده از BTrees فایل هایی بسازیم که مانند پایگاه داده های ساده کار کنند
چگونه می توانیم برنامه های خود را حتی با استفاده از Multithreading با سرعت بیشتری اجرا کنیم این دوره برای برنامه نویسانی است که می خواهند با تمام ساختارهای داده و الگوریتم ها در آخرین نسخه زبان برنامه نویسی Rust آشنا شوند تا به سازماندهی بهتر کد شما و انجام وظایف از پیش تعریف شده کمک کند.
هیچ دانش برنامه نویسی Rust مورد نیاز نیست زیرا در ابتدا اصول اولیه را پوشش خواهیم داد. با Rust به عنوان یک زبان قدرتمند و سریع که طراحی خوب را تشویق می کند آشنا شوید * تمرکز بر نیازهای برنامه نویسی عملی، یادگیری راه حل های موثر برای مشکلاتی که برنامه نویسان اغلب با آن مواجه هستند * تکنیک هایی برای ایجاد کدهای داده گرا و مدیریت روابط بین انواع مختلف داده ها را بیاموزید.
سرفصل ها و درس ها
آشنایی با Rust و نحو آن
Getting to Grips with Rust and its Syntax
بررسی اجمالی دوره
Course Overview
Rust را نصب کنید و یک برنامه ساده را اجرا کنید
Install Rust and Running a Simple Program
ساخت سازه های پیچیده با Struct و Enum
Build complex structures with Struct and Enum
نتایج و گزینه ها
Results and Options
مکانیسم های حلقه در تکرار کننده ها
Looping Mechanisms in Iterators
پشته ساختار داده در Rust
Stack Data Structure in Rust
تغییرپذیری، متغیرها، کپی کردن، و شبیه سازی
Mutability, Variables, Copying, and Cloning
از حافظه به طور موثر با اشاره گرها و طول عمر استفاده کنید
Use Memory Effectively with Pointers and Lifetimes
حافظه خود را روی Heap با جعبه، رشته و Vecs
Own Memory on the Heap with Box, String, and Vecs
تفاوت بین Str و String
Difference Between Str and String
در حال آپلود در Crates
Uploading to Crates
الگوریتم های پیچیدگی و مرتب سازی الگوریتم
Algorithm Complexity and Sorting Algorithms
مرتب سازی با استفاده از مرتب سازی حباب
Sorting Using Bubble Sort
تقسیم و پیروز مرتب سازی با Merge Sort
Divide and Conquer Sorting with Merge Sort
مرتب سازی در محل با مرتب سازی سریع
Sorting in Place with Quick Sort
بهبود مرتب کننده سریع ما با اعداد تصادفی شبه
Improving Our Quick Sorter with Pseudo Random Numbers
تفکیک مرتب سازی سریع با استفاده از موضوعات متعدد
Spiting Quick Sort Using Multiple Threads
اجازه دهید ریون سرعت آن را با سرقت کار افزایش دهد
Let Rayon Speed It Up with Work Stealing
برای افزایش سرعت با برنامه نویسی پویا، گوشه های سمت راست را ببرید
Cut the Right Corners to Increase Your Speed with Dynamic Programming
ساخت فهرست های پیوندی و درختان باینری
Building Linked Lists and Binary Trees
ایجاد یک لیست پیوندی
Creating a Linked List
مشاهده داده ها در هر دو جهت با لیست های پیوندی دوگانه
Viewing Data in Both Directions with Doubly Linked Lists
ساخت یک درخت باینری برای ذخیره و مرتب سازی کارآمد داده ها
Building a Binary Tree to Efficiently Store and Sort Data
تبدیل درخت باینری به درخت تعادل باینری
Converting Binary Tree to a Binary Balance Tree
یادگیری در مورد لیست پرش و مزایای بالقوه آنها
Learning About Skip Lists and Their Potential Advantages
مدیریت ارتفاعات یک لیست پرش
Managing the Heights of a Skip List
محاسبات رمزگذاری هافمن و فشرده سازی داده ها
Computing Huffman Encoding and to Compress Data
مدلسازی موقعیتهای واقعی به عنوان نمودار گرههای متصل
Model Real Situations as Graphs of Connected Nodes
گزینه های ایجاد و ذخیره نمودارها را در نظر بگیرید
Consider the Options for Creating and Storing Graphs
پر کردن نمودار
Filling the Graph
ساختار مسیر
Route Structure
یافتن کوتاه ترین راه
Finding the Shortest Path
راه حلی حریصانه برای فروشنده دوره گرد
A Greedy Solution to the Travelling Salesman
راه حل را با استفاده از روش های تکراری بهبود بخشید
Improve the Solution Using Iterative Methods
دسترسی به داده های زمان ثابت با استفاده از HashMap
Getting Constant Time Data Access Using HashMap
HashMap چیست و چرا و چه زمانی از آنها استفاده می کنیم
What a HashMap Is and Why and When Do We Use Them
ساخت HashMap از ابتدا
Building HashMap from Scratch
ایجاد یک لیست سطلی برای استفاده از HashMap
Building a Bucket List for the HashMap to Use
در حال اتمام HashMap
Finishing the HashMap
آزمایش و بهبود HashMap ما
Testing and Improving Our HashMap
HashMap در مقابل BTreeMap
HashMap versus BTreeMap
سازماندهی داده های خود بر اساس نوع با سیستم های مؤلفه نهاد
Organizing Your Data by Type with Entity Component Systems
درک کنید که ECS چیست و چگونه با ساختارهای سنتی متفاوت است
Understand What an ECS Is and How It Differs from Traditional Structures
ایجاد یک ID Generator
Creating an ID Generator
ایجاد فروشگاه های داده
Creating Data Stores
ساخت سیستم های ECS
Building ECS Systems
ترکیب همه چیز در یک بازی ساده CLI
Combining It All into a Simple CLI Game
مقدمه ای بر مشخصات
Introduction to Specs
ساختار داده های ذخیره سازی پایدار
Persistent Storage Data Structure
ایجاد فایل Blob Data
Creating a Blob Data File
تبدیل هر اندازه داده به رشته بایت
Converting Any Data Size to Byte String
ایجاد فروشگاه Blob
Creating a Blob Store
اضافه شدن به فروشگاه Blob
Adding to the Blob Store
خواندن از فروشگاه Blob
Reading from the Blob Store
حذف یک عنصر از فروشگاه Blob
Removing an Element from the Blob Store
نمایش نظرات
Packtpub یک ناشر دیجیتالی کتابها و منابع آموزشی در زمینه فناوری اطلاعات و توسعه نرمافزار است. این شرکت از سال 2004 فعالیت خود را آغاز کرده و به تولید و انتشار کتابها، ویدیوها و دورههای آموزشی میپردازد که به توسعهدهندگان و متخصصان فناوری اطلاعات کمک میکند تا مهارتهای خود را ارتقا دهند. منابع آموزشی Packtpub موضوعات متنوعی از جمله برنامهنویسی، توسعه وب، دادهکاوی، امنیت سایبری و هوش مصنوعی را پوشش میدهد. محتوای این منابع به صورت کاربردی و بهروز ارائه میشود تا کاربران بتوانند دانش و تواناییهای لازم برای موفقیت در پروژههای عملی و حرفهای خود را کسب کنند.
متیو استودلی یک متخصص و علاقهمند به برنامهنویسی است که به دلیل مصرف کم انرژی و قابلیتهای ایمنی حافظه در ابتدا به یادگیری Rust و تسلط بر ویژگیهای آن کشیده شد. او در درجه اول از Rust برای ساخت بازی های رومیزی استفاده می کند. علاوه بر این، او چندین سال تجربه در Go، PHP و JavaScript نیز دارد.
نمایش نظرات