€18.99
per month
Video
Oct 2022
4hrs 58mins
1st Edition
-
Learn by demystifying complex concepts using explanations that are free of confusing jargon
-
Gain the skills to join one of the many companies using functional Scala
-
Learn to think functionally with the help of all requisite resources and learn from scratch
Modern applications often need to describe complex workflows involving multiple external systems. These are notoriously difficult to get right as it requires handling errors, various retry strategies, and non-determinism because of concurrent executions. In this course, you will learn how to solve this problem using both imperative and functional programming.
This course is divided into three parts.
The first part covers building a CLI tool imperatively. Here, you will learn how to test code with external dependencies, handle errors, and retry if something goes wrong. One of the goals of the section is to discover how functional programmers came up with the notion of IO. It’s the commonest way to action the functional programming world.
In the next part, you will create and implement an IO class from scratch; this will solve two different problems, of which one is searching for a flight aggregator. In the final part, you will extend IO to execute tasks concurrently. Here, you will be looking to add concurrency methods to IO implementation so that you can execute some tasks in the background.
By the end of the course, you will be able to read and write code using popular Scala libraries such as cats-effect, Monix, and ZIO. This skill is in high demand.
All the resource files are added to the GitHub repository at: https://github.com/PacktPublishing/Supercharge-Scala-Future---FP-Tower
This course is designed for developers interested in concurrency, functional programming, and backend developers. Scala developers more familiar with Akka, Play, and Future will also gain a lot from this course. Individuals who want to gain the skills to join one of the many companies using functional Scala and learn to think functionally will be best suited to this course.
You will need to have moderate programming experience with Scala. The author will take you through downloading and installing SBT, Scala, and an IDE.
-
Install SBT, Scala, and IntelliJ IDEA
-
Understand the difference between IO (cats-effect, Monix, ZIO) and Future
-
Learn to use lazy evaluation to repeat actions and execute code concurrently
-
Write property-based tests for real-world examples
-
Understand the dangers of blocking code in a concurrent environment
-
Execute a project on flight search aggregator