Functional Streams for Scala with FS2

th_eIcIIlJPLLcD4qMDWxaMO7OpXu6X5Tcq

许多应用程序涉及处理大量数据流。示例是在 ETL 作业中处理文件、从数据库读取结果或从 http 调用获得大响应。处理大量数据通常意味着牺牲可读性或性能。

使用流,您可以两全其美

– 使用恒定数量的内存处理数据,即使数据总量非常大

– 处理是声明式构建的,就好像您正在处理常规列表或序列一样,使用高级方法,如 map、filter 和 flatMap

此外,FS2 中的流是效果感知的。它们在像 IO 这样的效果单子的上下文中工作,这使它们能够执行各种有用的事情,例如并行处理元素、限制、重试失败等等。

在本课程中,我们将把流从里到外,并学习类似的东西

– 创建和合并纯流

– 为我们的流添加效果并学习如何组合它们

– 安全地处理错误和资源

– 应用涉及时间的模式,例如重试、节流和去抖动。

– 使用 Pulls 和 Pipes 构建我们自己的流转换

– 使用许多不同的模式处理并发

– 使用信号、通道、主题和队列等原语在流之间进行通信

加入我的旅程,为您的函数式编程工具包添加另一个惊人的工具!

本课程面向
具有一定经验的 Scala 功能开发人员,他们希望将功能流添加到他们的工具包中

Published 05/2022
MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English + srt | Duration: 92 lectures (6h 48m) | Size: 2.08 GB

Dealing with flows of data the right way

What you’ll learn
Understand the differences between Lists and Streams
Implement memory efficient tasks via streaming (e.g. file i/o)
Build complex flows for your application with streams
Handle concurrency and resource safety declaratively

Requirements
Working knowledge of the Scala language
Knowledge of the Cats Effect library

Description
Many applications involve dealing with large flows of data. Examples are processing files in ETL jobs, reading results from a database or getting a big response fromhttp calls. Handling large amounts of data often means sacrificing either readability or performance.

With streams, you can get the best of both worlds

– Data is processed using a constant amount of memory, even if the total amount of data is very large

– The processing is built declaratively as if you were dealing with regular Lists or Sequences, with high level methods such as map, filter and flatMap

Furthermore, streams in FS2 are effect-aware. They work in the context of an effect monad like IO, which enables them to do all sorts of useful stuff such as processing elements in parallel, throttling, retrying on failure and many more.

In this course we will turn streams inside out and learn things like

– Create and combine pure streams

– Add effects to our streams and learn how to compose them

– Handle errors & resources safely

– Apply patterns involving time, such as retries, throttling and debouncing.

– Build our own stream transformations with Pulls and Pipes

– Handle concurrency using many different patterns

– Communicate between streams using primitives such as Signals, Channels, Topics and Queues

Join me in this journey and add yet another amazing tool to your functional programming toolkit!

Who this course is for
Scala functional developers with some experience who want to add functional stream to their toolkit

资源下载此资源仅限VIP下载,请先
本站资源仅限VIP会员下载点击购买VIP会员

原创文章,作者:steven,如若转载,请注明出处:https://rr3d.cn/33924.html

赞 (0)
steven的头像steven
上一篇 2022年5月30日
下一篇 2022年5月30日

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部