Udemy

Functional Streams for Scala with FS2

Enroll Now
  • 692 Students
  • Updated 10/2022
4.6
(95 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
6 Hour(s) 49 Minute(s)
Language
English
Taught by
Leandro Galvan
Rating
4.6
(95 Ratings)

Course Overview

Functional Streams for Scala with FS2

Dealing with flows of data the right way.

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 from http 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!

Course Content

  • 9 section(s)
  • 94 lecture(s)
  • Section 1 Introduction
  • Section 2 Why Streams
  • Section 3 Pure Streams
  • Section 4 Effectful Streams
  • Section 5 Transforming streams
  • Section 6 Concurrency
  • Section 7 Communication
  • Section 8 Final project: a tiny http server
  • Section 9 Conclusion

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


Reviews

  • R
    Rafael Soares
    5.0

    Simple and concise, easy to follow and well explained. Good instructor.

  • B
    Binghao Ng
    4.5

    It was really nice to learn about fs2. Instruction was clear and structured.

  • S
    Sebastien Guillaume
    5.0

    Excellent course ! I had some knowledge about Fs2 but still I learnt a lot ! Thanks Leandro !

  • K
    Kateu Herbert
    4.5

    It's really informative

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed