Skip to main content

Cats

10h 39m 36s
English
Paid

We Scala programmers love abstractions and Cats is one of the most popular libraries. At the same time, Cats is notorious for having a steep learning curve. Functors, Applicatives, Semigroupals, not to mention the M word. Few people make sense of them all. For the rest of us mortals, it's a brick wall. Certainly was for me when I started.

But it doesn't have to be. After lots of pain, I understood how this library can be fun to learn AND write with, IF - and that's a big if - you follow a clear structure and a smooth sequence. The bad news is that's tough to make. The good news is that I think (there's a good chance that) you have it in front of you.

You're looking at the only course on the web that doesn't cost an arm and a leg (and a real cat) and will get you through everything you need to know to be productive. Down to earth, hands-on, no psychobabble, and no F[_] bombs until you're ready.

This course is for Scala engineers at least at the level of the Advanced Scala course. By the end of this course, you'll be able to use any Cats feature without any problems.

About the Author: rockthejvm.com

rockthejvm.com thumbnail
Rock the JVM aims to be the go-to resource for learning Scala, Akka, Spark and everything JVM. Everything is battle-tested on yours truly. I'm Daniel Ciocîrlan, a developer and teacher from Bucharest, Romania. I've started Rock the JVM to share everything that I learned through pain, blood, sweat and tears and distill everything in action-packed courses with a smooth learning curve. Since 2013, I've been teaching a variety of programming topics to people all over the world and at every level of the game, from senior engineers processing trillions of data points to 7-year-olds moving spaceships on the screen. At first, I mastered Java, then I taught it for 3.5 years to university students. I found Scala 7 years ago when a good friend told me about functional collections. I was blown away, and still am to this day as I discover more of the Scala magic. The rabbit hole only went deeper from there: I learned Akka with my own small projects, then Spark and big data while at Palantir. I left Palantir in mid 2019, but it's very likely my old pipelines are still crunching data every day, as we speak. I hope you enjoy my material - in the meantime, I've just started on Twitter and would love to meet you! A bit more I spend most of my time between Scala, Akka and Spark, and I'm really fortunate I get to work with them and teach them to other developers. I love the expressiveness and the concise power of a good technology. I learn from the community and the people I've had in my courses and I love to share back what I've learned. I love to speak at meetups and conferences and I adore people's faces when something really hard "clicks" in their mind and their face lights up. I don't know how people react to my online courses in real time, but I love the "this changed my life" comments. I've graduated from University Politehnica of Bucharest with a BSc and a MSc in Computer Science. My Bachelor and Master theses were on quantum computation, of all things. That can be explained by the fact that I was really into physics before - I was winning medals at international physics competitions. When I'm not coding, I dance salsa and bachata and I tend to play an absurd amount of Ed Sheeran on my acoustic guitar.

Watch Online 33 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 33 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Welcome
All Course Lessons (33)
#Lesson TitleDurationAccess
1
Welcome Demo
08:16
2
How to Make the Best Out of This Cours
02:33
3
Scala Essentials Recap
31:59
4
Scala Implicits Recap
25:49
5
Type Classes
14:33
6
Introduction to Cats
18:27
7
Type Classes and Variance
22:04
8
Semigroups
00:00
9
Monoids
00:00
10
Functors
28:43
11
Monads, Part 1
00:00
12
Monads, Part 2
00:00
13
Using Monads
35:10
14
Custom Monads
36:04
15
Monad Transformers
33:45
16
Readers
28:57
17
Writers
25:59
18
Evaluation
28:37
19
State
31:56
20
Data Validation, Part 1
16:01
21
Data Validation, Part 2
20:50
22
Semigroupal
23:49
23
Applicative
20:00
24
Weaker Applicatives: Apply
15:47
25
Weaker Monads: FlatMap
13:12
26
Handling Errors
29:24
27
Folding
21:28
28
Traversing, Part 1
21:28
29
Traversing, Part 2
21:54
30
Kleisli
17:16
31
Contravariant
21:00
32
Invariant
24:04
33
You ROCK!
00:31
Unlock unlimited learning

Get instant access to all 32 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription