آموزش مدیریت افکت عملکردی در اسکالا با اثر گربه

Functional effect handling in Scala with Cats Effect

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: نگاهی به نحوه برخورد کارشناسان برنامه نویسی کاربردی با عوارض جانبی، محاسبات موثر را به روشی خالص مدلسازی و تنظیم می کنند. یک استراتژی مدیریت خطا با در نظر گرفتن عوارض جانبی طراحی کنید. افزایش همزمانی و موازی بودن یک برنامه کاربردی با روش های سطح بالا. از منابعی مانند اتصالات، جریان‌های io، و غیره با خیال راحت استفاده کنید و آن‌ها را آزاد کنید. سناریوهای همزمان پیچیده‌ای را که شامل ارتباط حالت مشترک و رشته‌ای هستند با موارد اولیه کاملاً کاربردی مدیریت کنید. پیش نیازها: دانش کاری زبان اسکالا (کلاس های موردی، تطبیق الگو، ویژگی ها، موارد ضمنی و غیره) (مفید) آشنایی با کلاس های تایپ کاربردی مانند Monads، Applicatives و Functors (مفید) مقداری تجربه با کتابخانه Cats

وقتی برای اولین بار در مورد برنامه نویسی عملکردی می شنوید، ممکن است این تصور را داشته باشید که می توان از آن فقط در نمونه های اسباب بازی یا برای اهداف بسیار آکادمیک استفاده کرد. از این گذشته، FP تماماً در مورد خلوص است و تقریباً هر کار مفیدی که می توانید در یک برنامه انجام دهید ناخالص است: تماس های http، IO فایل و غیره.

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

برای انجام این کار، ما از کتابخانه شگفت‌انگیز Cats Effect استفاده می‌کنیم که یک IO monad برای مدل‌سازی جلوه‌های ما، یک API بسیار غنی برای نوشتن آنها و یک زمان اجرا با عملکرد بالا برای اجرای آنها ارائه می‌کند.

این دوره در بخش‌های کوچک/متوسط ​​بسیاری تشکیل شده است که بر یک موضوع خاص تمرکز دارند. در پایان هر بخش یک تمرین نهایی برای تمرین آموخته‌هایتان و یک مسابقه برای کمک به بررسی یادآوری و درک شما از بخش وجود دارد.

در پایان دوره، شما قادر خواهید بود:

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

  • با در نظر گرفتن عوارض جانبی، استراتژی رسیدگی به خطا را برای برنامه خود طراحی کنید.

  • موازی و همزمانی برنامه های خود را بدون نیاز به رسیدگی به جزئیات سطح پایین افزایش دهید.

  • از منابعی که باید منتشر شوند (اتصالات، جریان‌های io، و غیره) به شیوه‌ای زیبا استفاده و ترکیب کنید.

  • سناریوهای پیچیده شامل ارتباط همزمان حالت مشترک و رشته را با استفاده از اصول اولیه کاملاً کاربردی مدیریت کنید.

امیدواریم که شما نیز در این مسیر سرگرم شوید!


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

معرفی Introduction

  • معرفی Introduction

  • راه اندازی محیط Setting up environment

  • نحوه گذراندن این دوره How to take this course

  • فایل های دوره Course files

اثرات در برنامه نویسی Effects in Programming

  • معرفی Introduction

  • شفافیت ارجاعی Referential transparency

  • مولد شناسه Id generator

  • اختیاری Optionality

  • حالت State

  • رسیدگی به خطا Error handling

  • چاپ روی کنسول Printing to console

  • نوشتن روی دیسک Writing to disk

  • IO شفاف ارجاعی Referentially transparent IO

  • تعاریف و توضیحات Definitions and clarifications

  • مسابقه جلوه ها Effects Quiz

IO Monad The IO Monad

  • مقدمه Intro

  • استفاده اساسی Basic usage

  • IOApp IOApp

  • ورزش Exercise

  • IO Monad Quiz IO Monad Quiz

رسیدگی به خطا Error Handling

  • مقدمه Intro

  • راه اندازی نمونه API Setting up API example

  • اعتبار سنجی ورودی ها با Validated Validating inputs with Validated

  • مدل سازی خطاهای دامنه با هر دو Modeling domain errors with Either

  • بارگیری حساب ها با یک مخزن Loading accounts with a Repository

  • اضافه کردن منطق کسب و کار با یک سرویس Adding business logic with a Service

  • ترکیب منطق در کنترلر نهایی Combining logic into the final Controller

  • آزمایش کردن Testing

  • نادیده گرفتن خطاهای مهلک Ignoring Fatal Errors

  • ورزش Exercise

  • آزمون رسیدگی به خطا Error Handling Quiz

همزمانی و موازی سازی Concurrency and Parallelism

  • مقدمه Intro

  • ParMapN ParMapN

  • ParTraverse ParTraverse

  • نژاد Race

  • ورزش Exercise

  • آزمون همزمانی و موازی سازی Concurrency and Parallelism Quiz

ایمنی منابع Resource Safety

  • مقدمه - براکت Intro - Bracket

  • نوشتن روی فایل ها با براکت Writing to files with bracket

  • مقدمه - منبع Intro - Resource

  • کپی و رمزگذاری فایل ها با Resource Copying and encrypting files with Resource

  • ورزش Exercise

  • آزمون ایمنی منابع Resource Safety Quiz

محاسبات ناهمزمان Asynchronous Computations

  • مقدمه Intro

  • تبدیل آینده با مسدود کردن Transforming a Future by blocking

  • جلوگیری از مسدود شدن با async_ Avoiding blocking with async_

  • استفاده از FromFuture برای مختصر Using fromFuture for conciseness

  • اجرا بر روی استخرهای رشته های مختلف با evalOn Running on different thread pools with evalOn

  • ورزش Exercise

  • آزمون محاسبات ناهمزمان Asynchronous Computations Quiz

حفظ کردن Memoization

  • مقدمه Intro

  • نمونه راه اندازی قالب ها Setting up templates example

  • بارگیری قالب ها مشتاقانه Loading templates eagerly

  • بارگیری الگوها فقط در صورت خطا Loading templates on error only

  • الگوهای به خاطر سپردن Memoizing templates

  • ورزش Exercise

  • آزمون حفظ کردن Memoization Quiz

زمان Time

  • مقدمه Intro

  • رسیدگی به انقضای رمز با زمان واقعی Handling token expirations with realTime

  • اندازه گیری مدت زمان انجام محاسبات با یکنواخت Measuring how long computations run with monotonic

  • ورزش Exercise

  • آزمون زمان Time Quiz

دولت مشترک همزمان قسمت I - Refs Concurrent Shared State Part I - Refs

  • مقدمه Intro

  • بارگیری مشتریان Loading customers

  • ذخیره سیاهههای مربوط در یک Ref Storing the logs in a Ref

  • استفاده از یک Ref برای هر مشتری Using one Ref per customer

  • ورزش Exercise

  • Refs Quiz Refs Quiz

قسمت دوم حالت مشترک همزمان - به تعویق افتاد Concurrent Shared State Part II - Deferred

  • مقدمه Intro

  • نمایش موارد در رابط کاربری گرافیکی Showing items in a GUI

  • اضافه کردن موازی با parMapN Adding parallelism with parMapN

  • فرآیندهای ارتباطی با Deferred Communicating processes with Deferred

  • اضافه کردن رسیدگی به خطا Adding error handling

  • ورزش Exercise

  • آزمون معوق Deferred Quiz

صف Queue

  • مقدمه Intro

  • پردازش رویدادها با صف Processing events with queues

  • ورزش Exercise

  • مسابقه صف Queue Quiz

استخرهای موضوع Thread Pools

  • انواع استخر نخ Types of Thread Pools

  • کار دزدی استخر Work stealing pools

  • استخرهای نامحدود ذخیره شده Cached Unbounded Pools

  • زمینه های اجرایی Execution contexts

  • انتخاب استخر نخ مناسب Choosing the correct thread pool

  • استفاده از محاسبات و مسدود کردن استخرها Using compute and blocking pools

  • ورزش Exercise

  • مسابقه استخرهای موضوع Thread Pools Quiz

فینال بدون برچسب Tagless final

  • مقدمه - کلاس های تایپ در اثر گربه ها Intro - Typeclasses in cats effect

  • مقدمه - موازی Intro - Parallel

  • مقدمه - فینال بدون برچسب Intro - Tagless final

  • راه اندازی نمونه Setting up example

  • یک برنامه IO را به یک برنامه نهایی بدون برچسب تبدیل کنید Convert an IO application into a Tagless Final application

  • ورزش Exercise

  • امتحان نهایی بدون برچسب Tagless Final Quiz

نمایش نظرات

آموزش مدیریت افکت عملکردی در اسکالا با اثر گربه
جزییات دوره
7 hours
81
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
442
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Leandro Galvan Leandro Galvan

مهندس ارشد نرم افزار