لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش مدیریت افکت عملکردی در اسکالا با اثر گربه
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
نمایش نظرات