آموزش جریان های کاربردی برای اسکالا با FS2

Functional Streams for Scala with FS2

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: برخورد صحیح با جریان داده ها درک تفاوت بین لیست ها و جریان ها اجرای وظایف کارآمد حافظه از طریق جریان (به عنوان مثال فایل i/o) ساخت جریان های پیچیده برای برنامه خود با استریم ها مدیریت همزمانی و ایمنی منابع به صورت اعلامی پیش نیازها: دانش کاری زبان اسکالا دانش کتابخانه Cats Effect

بسیاری از برنامه ها با جریان های بزرگ داده سروکار دارند. به عنوان مثال می توان به پردازش فایل ها در مشاغل ETL، خواندن نتایج از یک پایگاه داده یا دریافت پاسخ بزرگ از تماس های http اشاره کرد. مدیریت حجم زیاد داده اغلب به معنای قربانی کردن خوانایی یا عملکرد است.

با پخش جریانی، می‌توانید بهترین‌های هر دو جهان را دریافت کنید:

- داده ها با استفاده از مقدار ثابتی از حافظه پردازش می شوند، حتی اگر حجم کل داده ها بسیار زیاد باشد

- پردازش به صورت توضیحی ساخته شده است که گویی با لیست‌ها یا دنباله‌های معمولی سروکار دارید، با روش‌های سطح بالا مانند نقشه، فیلتر و flatMap

به‌علاوه، جریان‌ها در FS2 از تأثیر آگاه هستند. آنها در چارچوب یک موناد اثر مانند IO کار می کنند، که آنها را قادر می سازد انواع کارهای مفید مانند پردازش عناصر به صورت موازی، throttling، تلاش مجدد برای شکست و بسیاری موارد دیگر را انجام دهند.

در این دوره ما جریان‌ها را به داخل تبدیل می‌کنیم و مواردی مانند:

را یاد می‌گیریم

- جریانهای خالص را ایجاد و ترکیب کنید

- افکت‌ها را به جریان‌های خود اضافه کنید و نحوه نوشتن آنها را بیاموزید

- منابع خطاها را ایمن مدیریت کنید

- الگوهای مربوط به زمان را اعمال کنید، مانند تلاش مجدد، throttling و debouncing.

- تحولات جریانی خود را با Pulls and Pipes بسازیم

- همزمانی را با استفاده از الگوهای مختلف مدیریت کنید

- برقراری ارتباط بین جریان‌ها با استفاده از موارد اولیه مانند سیگنال‌ها، کانال‌ها، موضوعات و صف‌ها

در این سفر به من بپیوندید و ابزار شگفت انگیز دیگری را به جعبه ابزار برنامه نویسی کاربردی خود اضافه کنید!


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

معرفی Introduction

  • معرفی Introduction

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

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

چرا جریان Why Streams

  • پردازش یک فایل CSV - نسخه ضروری Processing a CSV File - Imperative Version

  • پردازش یک فایل CSV - نسخه Imperative - قسمت 2 Processing a CSV File - Imperative Version - Part 2

  • پردازش یک فایل CSV - نسخه فهرست Processing a CSV File - List version

  • پردازش یک فایل CSV - نسخه Iterator Processing a CSV File - Iterator version

  • پردازش یک فایل CSV - نسخه جریانی Processing a CSV File - Stream version

  • پردازش یک فایل CSV - نسخه جریانی - قسمت 2 Processing a CSV File - Stream Version - Part 2

  • مسابقه انگیزشی جریان Streams Motivation Quiz

جریان های ناب Pure Streams

  • معرفی Introduction

  • ایجاد جریان های محدود Creating finite streams

  • تکرار کنید Iterate

  • باز کردن Unfold

  • محدوده و ثابت Range & Constant

  • تمرین: تولید الفبا با Iterate Exercise: Producing the alphabet with Iterate

  • تمرین: تولید الفبا با Unfold Exercise: Producing the alphabet with Unfold

  • تمرین: پیاده سازی Iterate از نظر Unfold Exercise: Implementing Iterate in terms of Unfold

  • الحاق Concatenate

  • نقشه Map

  • FlatMap FlatMap

  • فیلتر و برای درک مطلب Filter & For Comprehensions

  • Zip & ZipWith Zip & ZipWith

  • تا کردن Fold

  • تمرین: عدد شانس را با استفاده از نقشه تولید کنید Exercise: produce the odds number using Map

  • تمرین: روش تکرار را اجرا کنید Exercise: implement the repeat method

  • تمرین: روش unNone را پیاده سازی کنید Exercise: implement the unNone method

  • خلاصه Summary

  • آزمون جریان های ناب Pure Streams Quiz

جریان های موثر Effectful Streams

  • معرفی Introduction

  • ارزشیابی Eval

  • مجری Exec

  • کوواری Covary

  • IterateEval IterateEval

  • UnfoldEval UnfoldEval

  • تمرین: صفحه بندی Exercise: Pagination

  • RepeatEval RepeatEval

  • برای درک For comprehensions

  • EvalMap، EvalTap و EvalFilter EvalMap, EvalTap and EvalFilter

  • الحاق Concatenation

  • تمرین: EvalEvery Exercise: EvalEvery

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

  • منابع Resources

  • روش های زمانی پایه Basic Time Methods

  • گاز دادن Throttling

  • منحرف کننده Debouncing

  • دوباره امتحان کنید Retry

  • تمرین: جستجو Exercise: Searching

  • خلاصه Summary

  • آزمون جریان های موثر Effectful Streams Quiz

دگرگونی جریان ها Transforming streams

  • معرفی Introduction

  • کشش بر اساس در مقابل فشار مبتنی بر Pull based vs push based

  • ساختار تکه ای یک جریان Chunk structure of a stream

  • روش های تکه ای Chunk methods

  • ورزش: فشرده Exercise: compact

  • ایجاد کشش از طریق روش های کارخانه Creating pulls via factory methods

  • تبدیل جریان ها به کشش Turning streams into pulls

  • تمرین: skipLimit Exercise: skipLimit

  • لوله تکه اول First chunk pipe

  • قطره لوله Drop pipe

  • تمرین: فیلتر Exercise: filter

  • لوله مجموع در حال اجرا Running sum pipe

  • ورزش: حداکثر دویدن Exercise: running max

  • خلاصه Summary

  • آزمون تبدیل جریان Transforming Streams Quiz

همزمانی Concurrency

  • معرفی Introduction

  • ادغام Merge

  • MergeHaltL و MergeHaltBoth MergeHaltL & MergeHaltBoth

  • تمرین: واکشی نقل قول از دو منبع Exercise: Fetching quotes from two sources

  • ParJoinUnbounded ParJoinUnbounded

  • Par بپیوندید ParJoin

  • تمرین: تولیدکنندگان متعدد و مصرف کنندگان متعدد Exercise: Multiple producers and multiple consumers

  • همزمان Concurrently

  • تمرین: ردیاب پیشرفت Exercise: Progress tracker

  • ParEvalMap ParEvalMap

  • تمرین: ParEvalMapSeq Exercise: ParEvalMapSeq

  • زیپ Zip

  • ZipRight ZipRight

  • ParZip ParZip

  • نرخ ثابت FixedRate

  • تاخیر ثابت FixedDelay

  • AwakeEvery & AwakeDelay AwakeEvery & AwakeDelay

  • خلاصه Summary

  • آزمون همزمانی Concurrency Quiz

ارتباط Communication

  • معرفی Introduction

  • سیگنال ها Signals

  • ورزش: خنک کننده Exercise: Cooler

  • کانال ها Channels

  • ورزش: کولر بهبود یافته Exercise: Improved Cooler

  • موضوعات Topics

  • فشار برگشتی با موضوعات Backpressure with Topics

  • تمرین: ردیاب و اعلام کننده موقعیت خودرو Exercise: Car position tracker & notifier

  • صف ها Queues

  • مدیریت فشار برگشتی با صف Handling backpressure with Queues

  • پایان دادن به سیگنال با None Signalling termination with None

  • تمرین: شبیه سازی سرور Exercise: simulating a server

  • خلاصه Summary

  • مسابقه ارتباطی Communication Quiz

پروژه نهایی: یک سرور کوچک http Final project: a tiny http server

  • پیاده سازی سرور http Implementing an http server

نتیجه Conclusion

  • نتیجه Conclusion

نمایش نظرات

آموزش جریان های کاربردی برای اسکالا با FS2
جزییات دوره
7 hours
94
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
307
4.8 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Leandro Galvan Leandro Galvan

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