آموزش طراحی برنامه نویسی تابعی در اسکالا (Scala) - آخرین آپدیت

دانلود Functional Program Design in Scala

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: در این دوره خواهید آموخت که چگونه سبک برنامه‌نویسی تابعی (Functional Programming) را در طراحی اپلیکیشن‌های بزرگتر با زبان اسکالا به کار ببرید. شما با مفاهیم مهم و جدید برنامه‌نویسی تابعی، از ارزیابی تنبل (Lazy Evaluation) گرفته تا ساختاربندی کتابخانه‌ها با استفاده از مونادها (Monads) آشنا خواهید شد. ما روی نمونه‌های پیچیده و گسترده‌ای کار می‌کنیم؛ از اکتشاف فضای حالت و تست‌های تصادفی گرفته تا شبیه‌سازهای مدار گسسته. همچنین، بهترین روش‌ها (Best Practices) برای نوشتن کدهای بهینه اسکالا در دنیای واقعی را خواهید آموخت و در نهایت، یاد می‌گیرید چگونه از قابلیت کامپایلر برای استنتاج مقادیر از انواع (Type Inference) بهره ببرید. بخش‌های متعددی از این دوره به بررسی نحوه تعامل برنامه‌نویسی تابعی با حالت‌های تغییرپذیر (Mutable State) می‌پردازد. ما پیامدهای ترکیب توابع و حالت‌ها را بررسی کرده و جایگزین‌های کاملاً تابعی برای حالت‌های تغییرپذیر، با استفاده از ساختارهای داده نامحدود یا برنامه‌نویسی واکنش‌گرای تابعی (FRP) را بررسی خواهیم کرد. پیش‌نیازهای توصیه شده: شما باید حداقل یک سال تجربه برنامه‌نویسی داشته باشید. تسلط بر Java یا #C ایده‌آل است، اما تجربه در زبان‌های دیگر مانند C/C++، پایتون، جاوااسکریپت یا روبی نیز کافی است. همچنین باید با استفاده از خط فرمان (Command Line) آشنایی داشته باشید. این دوره برای گذراندن پس از دوره «اصول برنامه‌نویسی تابعی در اسکالا» طراحی شده است.

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

عبارات For و مونادها For Expressions and Monads

  • مقدمه Introduction

  • مقدمه هفته اول Week 1 Introduction

  • مرور: توابع و تطبیق الگو (Pattern Matching) Recap: Functions and Pattern Matching

  • درس 1.1: پرس‌وجوها با For Lecture 1.1 - Queries with For

  • درس 1.2: ترجمه For Lecture 1.2 - Translation of For

  • درس 1.3: مولدهای تصادفی تابعی Lecture 1.3 - Functional Random Generators

  • درس 1.4: مونادها Lecture 1.4 - Monads

  • درس 1.5: مونادهای استثنایی Lecture 1.5 - Exceptional Monads

ارزیابی تنبل (Lazy Evaluation) Lazy Evaluation

  • مقدمه هفته دوم Week 2 Intrduction

  • درس 2.1: استقراء ساختاری روی درخت‌ها Lecture 2.1 - Structural Induction on Trees

  • درس 2.2: لیست‌های تنبل (Lazy Lists) Lecture 2.2 - Lazy Lists

  • درس 2.3: ارزیابی تنبل Lecture 2.3 - Lazy Evaluation

  • درس 2.4: محاسبات با توالی‌های نامحدود Lecture 2.4 - Computing with Infinite Sequences

  • درس 2.5: مطالعه موردی: مسئله ریختن آب Lecture 2.5 - Case Study: the Water Pouring Problem

برنامه‌نویسی مبتنی بر نوع (Type Directed) Type-Directed Programming

  • مقدمه هفته سوم Week 3 Introduction

  • درس 3.1: انتزاعات زمینه‌ای (Contextual Abstractions) Lecture 3.1 - Contextual abstractions

  • درس 3.2: استفاده از clauses و given instances Lecture 3.2 - Using clauses and given instances

  • درس 3.3: کلاس‌های نوع (Type Classes) Lecture 3.3 - Type classes

  • درس 3.4: جبر انتزاعی و کلاس‌های نوع Lecture 3.4 - Abstract algebra and type classes

  • درس 3.5: انتقال زمینه (Context Passing) Lecture 3.5 - Context passing

  • درس 3.6: انواع توابع ضمنی (Implicit) Lecture 3.6 - Implicit function types

توابع و حالت (State) Functions and State

  • مقدمه هفته چهارم Week 4 Introduction

  • درس 4.1: توابع و حالت Lecture 4.1 - Functions and State

  • درس 4.2: هویت و تغییر Lecture 4.2 - Identity and Change

  • درس 4.3: حلقه‌ها Lecture 4.3 - Loops

  • درس 4.4: مثال گسترده: شبیه‌سازی رویداد گسسته Lecture 4.4 - Extended Example: Discrete Event Simulation

اثرات به‌موقع (Timely Effects) Timely Effects

  • مقدمه هفته پنجم Week 5 Introduction

  • درس 5.1: مدیریت رویداد امری: الگوی Observer Lecture 5.1 - Imperative Event Handling: The Observer Pattern

  • درس 5.2: برنامه‌نویسی واکنش‌گرای تابعی (FRP) Lecture 5.2 - Functional Reactive Programming

  • درس 5.3: یک پیاده‌سازی ساده از FRP Lecture 5.3 - A Simple FRP Implementation

  • نتیجه‌گیری Conclusion

  • جمع‌بندی نهایی Conclusion

نمایش نظرات

آموزش طراحی برنامه نویسی تابعی در اسکالا (Scala)
جزییات دوره
35h 21m
32
(آخرین آپدیت)
61,993
- از 5
دارد
دارد
دارد
Chris Croft
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Chris Croft Chris Croft

مربی مدیریت، سخنران، نویسنده