Rock the JVM Rock the JVM
ROCKTHEJVM
CoursesArticlesPodcastVideosSign InJoin Rock the JVM

Articles marked as 'Intermediate' difficulty

A Backtracking Sudoku Solver in Scala

13 min read  •  Oct 31, 2022  •  Explanation

Intermediate

algorithms

scala

Master solving Sudoku and other constraint-satisfaction problems with recursive backtracking in Scala

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

A Distributed Code Execution Engine in Pekko with Scala

33 min read  •  Jun 14, 2024  •  Guide

Intermediate

pekko

pekko-cluster

pekko-http

A practical guide to building a distributed system with Scala and Pekko: learn how to run other people's code in a real-world scenario

Anzori (Nika) Ghurtchumelia

Anzori (Nika) Ghurtchumelia

A Fresh Perspective on Monads: Generalizing Chained Computations

6 min read  •  Aug 30, 2021  •  Guide

Intermediate

fp

Explore a fresh perspective on monads: Discover new angles on this familiar concept with Rock the JVM

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

A Functional Load Balancer with Scala, http4s and Cats Effect

38 min read  •  Oct 30, 2023  •  Guide

Intermediate

cats

cats-effect

fp

Build an application load balancer with Scala & Cats Effect: achieve efficiency and concurrency with included tests

Anzori (Nika) Ghurtchumelia

Anzori (Nika) Ghurtchumelia

A Scala Project with Akka, Cats, and Cassandra

29 min read  •  Apr 1, 2022  •  Guide

Intermediate

akka

cassandra

cats

Akka, Cats, and Cassandra in a larger Scala project integrating multiple pieces of the Scala ecosystem

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

ADTs (Algebraic Data Types) in Scala

10 min read  •  Jan 20, 2021  •  Explanation

Intermediate

scala

Discover ADTs (Algebraic Data Types) in Scala: Answers to all your questions about this essential concept

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Akka Streams Backpressure Explained

10 min read  •  Nov 21, 2021  •  Guide

Intermediate

akka

akka-streams

Discover how Akka Streams implements backpressure, a key component of the Reactive Streams specification, in this detailed demonstration

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Akka Typed Actors: Stateful and Stateless

7 min read  •  Oct 23, 2020  •  Guide

Intermediate

akka

Akka Typed has transformed actor creation: in this article, we explore various methods for managing state within Akka actors

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Akka Typed: Actor Discovery with Akka Receptionist

11 min read  •  Mar 22, 2022  •  Guide

Intermediate

akka

akka-typed

A common pattern in Akka Typed: discovering how to find actors not explicitly passed around

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Akka Typed: Adapting Messages Explained

8 min read  •  Mar 28, 2021  •  Guide

Intermediate

akka

akka-typed

Learn how to organize code, messages, domains, and logic in an Akka application with Scala

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Akka Typed: How the Pipe Pattern Prevents Anti-Patterns

6 min read  •  Oct 26, 2020  •  Explanation

Intermediate

akka

akka-typed

Discover how Akka Typed revolutionizes actor protocol definitions and dramatically enhances actor mechanics

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

ALL the Joins in Spark DataFrames

7 min read  •  Oct 14, 2020  •  Explanation

Intermediate

spark

Spark supports more types of table joins than you might expect: discover the different join options in this article

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

An Introduction to Monads in Scala

9 min read  •  Jun 1, 2020  •  Explanation

Intermediate

category-theory

fp

mathematics

A Scala tutorial on Monads that starts with practical needs and builds up from scratch: derive the monad patterns (laws) with no assumptions

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Authentication with Scala and http4s

26 min read  •  Jun 6, 2023  •  Guide

Intermediate

http4s

scala

Learn how to implement HTTP authentication with Scala and http4s: basic, digest, session, and JWT tokens

Herbert Kateu

Herbert Kateu

Authentication with Scala and http4s: 2FA (Two-Factor Authentication)

23 min read  •  Jul 27, 2023  •  Guide

Intermediate

http4s

scala

Discover how to implement a two-factor authentication system with one-time passwords (HOTP and TOTP) using Scala and http4s

Herbert Kateu

Herbert Kateu

Authentication with Scala and http4s: OAuth

16 min read  •  Jul 29, 2023  •  Guide

Intermediate

http4s

scala

Discover how to implement OAuth authentication in Scala with http4s and GitHub as your OAuth provider

Herbert Kateu

Herbert Kateu

Broadcast Joins in Apache Spark: An Optimization Technique

7 min read  •  Oct 12, 2020  •  Explanation

Intermediate

spark

Broadcast joins in Apache Spark are a highly effective technique for boosting performance and avoiding memory issues, offering great value for optimization

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Cats: Essential Type Class Hierarchy Explained

9 min read  •  Jun 3, 2021  •  Explanation

Intermediate

cats

scala

Cats is a complex library for Scala: This article deconstructs the major type classes and explains their connections

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Configuring http4s Security: Handling CORS and CSRF

16 min read  •  Apr 21, 2023  •  Guide

Intermediate

http4s

scala

In this article, learn how to configure an http4s server to effectively guard against cross-origin requests and CSRF attacks

Herbert Kateu

Herbert Kateu

Coroutines, Event Loops - Build Your Own in Scala

15 min read  •  Oct 23, 2025  •  Guide

Intermediate

coroutines

graalvm

scala

What better way to learn about concurrency than roll your own?

Chia-Hung Lin

Chia-Hung Lin

Custom Pattern Matching in Scala

6 min read  •  Sep 21, 2021  •  Guide

Intermediate

fp

scala

Pattern matching is one of Scala's most powerful features: discover how to customize it and create your own patterns in this article

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Deploying a Scala Application on Kubernetes

41 min read  •  Mar 11, 2025  •  Guide

Intermediate

kubernetes

scala

devops

Learn how to deploy and scale your Scala application using Kubernetes

Gedeon Tabela

Gedeon Tabela

Elevate Your Tests: Testing Functional Kotlin with Arrow and Raise

18 min read  •  Aug 23, 2024  •  Guide

Intermediate

arrow

kotlin

An extensive guide to testing functional Kotlin code using Arrow and the Raise DSL

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Eta-Expansion and Partially Applied Functions in Scala

5 min read  •  Aug 29, 2020  •  Explanation

Intermediate

fp

scala

Explore the intriguing world of eta-expansion: Discover how methods and functions interact in Scala, revealing insights that can elevate your coding game

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Evaluation Modes in Scala Explained

4 min read  •  Dec 4, 2021  •  Explanation

Intermediate

philosophy

scala

Explore core Scala constructs from a fresh perspective and uncover new insights into their use and application

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Event Streaming in Apache Pulsar with Scala

11 min read  •  Sep 23, 2021  •  Guide

Intermediate

pulsar

Apache Pulsar is a cloud-native, distributed messaging and streaming platform handling hundreds of billions of events daily: discover its strengths and see how to use Scala with the pulsar4s client library to interact with it

Giannis Polyzos

Giannis Polyzos

Software Architect | Ververica

Exploiting Implicit Ambiguity in Scala

6 min read  •  Jul 7, 2021  •  Explanation

Intermediate

scala

Discover how to use Scala's implicit resolution to enforce type relationships at compile time

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Finagle: Twitter's RPC Library for Scala

10 min read  •  Nov 28, 2022  •  Explanation

Intermediate

finagle

scala

Discover Finagle: a powerful yet deceptively simple library for building distributed systems, offering built-in HTTP support, seamless load balancing, and more

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

From Akka Streams to Actors and Back

18 min read  •  Feb 13, 2023  •  Guide

Intermediate

akka

akka-streams

Discover how to seamlessly integrate Akka Streams with actors using practical code examples

Niklas Uhrberg

Niklas Uhrberg

FS2: More Than Functional Streaming in Scala

24 min read  •  Feb 10, 2022  •  Guide

Intermediate

fs2

typelevel

Discover the ultimate tutorial on purely functional streams in Scala with FS2

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Functional Error Handling in Kotlin: Part 1 - Absent Values

21 min read  •  May 3, 2023  •  Guide

Intermediate

kotlin

fp

type-system

Master error handling in Kotlin with ease: discover how nullable types and Arrow Option types tackle errors efficiently, whether you're using object-oriented or functional approaches

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Functional Error Handling in Kotlin: Part 2 - Result and Either

28 min read  •  Jun 16, 2023  •  Guide

Intermediate

kotlin

fp

type-system

Continue your functional error handling journey: explore how to effectively use the Result and Either data types in Kotlin

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Functional Error Handling in Kotlin: Part 3 - The Raise DSL

41 min read  •  Sep 20, 2023  •  Guide

Intermediate

kotlin

fp

type-system

Wrap up your Kotlin functional error handling journey: discover the Raise DSL in Arrow 1.2.0 for managing typed errors with Kotlin contexts

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Functional Parallel Programming with Scala and Cats Effect

25 min read  •  Mar 18, 2024  •  Guide

Intermediate

cats

cats-effect

http4s

Unlock the full potential of functional parallel processing: A hands-on guide to accelerating performance with Scala and Cats Effect fibers

Anzori (Nika) Ghurtchumelia

Anzori (Nika) Ghurtchumelia

Getting Started with Scala Slick

20 min read  •  Jun 21, 2022  •  Guide

Intermediate

scala

slick

Discover Slick: The popular Scala library for seamless database interactions

Yadu Krishnan

Yadu Krishnan

gRPC in Scala with FS2 and ScalaPB

21 min read  •  Oct 2, 2023  •  Guide

Intermediate

scala

A comprehensive guide to enabling microservices communication with gRPC in Scala

Herbert Kateu

Herbert Kateu

Guide to Scala 3 Macros

20 min read  •  Feb 21, 2025  •  Guide

Intermediate

scala

metaprogramming

A long-form guide on Scala 3 macros - learn how to use them, how Scala macros work, and why they exist

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

How Akka Typed Incentivizes Writing Good Code

5 min read  •  May 11, 2020  •  Explanation

Intermediate

akka

akka-typed

Explore how Akka Typed integrates good practices directly into the API

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

http4s: Unleashing the Power of HTTP APIs Library

29 min read  •  Jun 7, 2021  •  Guide

Intermediate

cats

cats-effect

fp

Master functional programming basics: use http4s with the Cats ecosystem to seamlessly create powerful HTTP APIs

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Idiomatic Error Handling in Scala

9 min read  •  Feb 4, 2021  •  Guide

Intermediate

scala

Error handling can be one of the most frustrating aspects of programming: let's explore how Scala offers better and worse ways to manage it

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Immutable Linked Lists in Scala With Call-By-Name and Lazy Values

10 min read  •  Dec 4, 2020  •  Guide

Intermediate

data-structures

scala

Discover how to harness lazy values and call-by-name techniques to craft a fully immutable doubly-linked list in Scala

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Kafka 101: Clients Quickly Explained

21 min read  •  Jan 30, 2023  •  Guide

Intermediate

kafka

kotlin

streaming

Discover tips and code examples to make your Kafka clients run blazing fast

Giannis Polyzos

Giannis Polyzos

Software Architect | Ververica

Kafka 101: Streams Quickly Explained

31 min read  •  Oct 21, 2021  •  Explanation

Intermediate

kafka

kafka-streams

streaming

Apache Kafka is the leading technology for message brokers: Kafka Streams builds a robust stateful streaming system on top of it

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Kotlin 101: Context Receivers Quickly Explained

18 min read  •  Jul 10, 2023  •  Guide

Intermediate

kotlin

Explore Kotlin context receivers: a new feature for creating clean and manageable abstractions in Kotlin

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Kotlin 101: Coroutines Quickly Explained

31 min read  •  Jan 3, 2023  •  Guide

Intermediate

concurrency

coroutines

kotlin

Discover Kotlin coroutines: a powerful tool for asynchronous programming within structured concurrency, and learn about their key features and strengths in this tutorial

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Kotlin 101: Flows Quickly Explained

41 min read  •  Apr 10, 2024  •  Guide

Intermediate

concurrency

coroutines

kotlin

This article delves into Kotlin Flows: a crucial reactive data structure in Kotlin Coroutines that, once discovered, becomes indispensable

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Kotlin 101: Type Classes Quickly Explained

18 min read  •  Feb 6, 2024  •  Guide

Intermediate

fp

kotlin

type-system

Discover type classes in Kotlin: a powerful pattern to organize your code for improved readability, maintainability, and flexibility

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Learning doobie for the Greater Good

31 min read  •  Dec 28, 2021  •  Guide

Intermediate

cats

doobie

scala

JDBC struggles with side effects in functional programming: doobie offers a higher-level, effectful API through Cats and Cats Effect

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Lenses, Prisms, and Optics in Scala

6 min read  •  Sep 18, 2020  •  Explanation

Intermediate

monocle

scala

Inspect, extract, and modify deeply nested data structures in Scala with ease: discover a powerful method to handle complex data effortlessly

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Mastering Skunk: The Scala Library for Database Interaction

20 min read  •  Apr 25, 2024  •  Guide

Intermediate

scala

skunk

Learn how to use the Skunk library for type-safe, non-blocking PostgreSQL database interactions

Derick Bomen

Derick Bomen

N-Queens in Scala: How to Approach Algorithm Questions

1 min read  •  Mar 14, 2021  •  Explanation

Intermediate

algorithms

fp

scala

Learn how to tackle a Google-style algorithm interview question in Scala using pure functional programming

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Never Call APIs Inside Database Transactions

33 min read  •  Apr 20, 2026  •  Guide

Intermediate

pekko

postgresql

microservices

Learn why calling external APIs inside database transactions leads to inconsistent state and how to fix it with Transactional Outbox, Result Tables, and Saga Compensation patterns, with a complete working implementation in Scala

Haruhiko Nishi

Haruhiko Nishi

Objects and Companions in Scala

5 min read  •  Jan 15, 2021  •  Explanation

Intermediate

scala

This article is for beginner Scala programmers: an introduction to singleton objects and companion objects, exploring their uses, benefits, and best practices

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Organizing Services with ZIO and ZLayers

12 min read  •  Mar 1, 2021  •  Guide

Intermediate

scala

zio

ZIO layers (ZLayers) help structure complex services into independent, composable, and easy-to-understand modules: discover how they can simplify your architecture

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Refined Types in Scala Quickly Explained

5 min read  •  Sep 9, 2020  •  Explanation

Intermediate

scala

type-system

Explore how to impose constraints on values at compile time using the Refined library

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Repartition vs Coalesce in Apache Spark

5 min read  •  Aug 31, 2020  •  Explanation

Intermediate

scala

spark

Clarifying the differences between two essential repartitioning operations in Apache Spark

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

REST APIs with Play Framework and Scala

15 min read  •  Sep 5, 2023  •  Guide

Intermediate

akka

http

play

Master the basics of Play Framework to build robust HTTP APIs with Scala in this comprehensive tutorial

Dimitris Tsolis

Dimitris Tsolis

Scala 3: Anti-Givens Quickly Explained

4 min read  •  Jun 30, 2021  •  Guide

Intermediate

scala

scala-3

type-system

Discover a Scala 3 trick few developers know: leveraging the absence of a given instance to enforce type constraints

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Extension Methods Quickly Explained

4 min read  •  Apr 12, 2021  •  Explanation

Intermediate

scala

scala-3

type-system

Deconstructing extension methods: one of the most exciting features of the upcoming Scala 3

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: General Type Projections

7 min read  •  May 17, 2022  •  Explanation

Intermediate

scala

scala-3

type-system

Scala's general type projections are considered unsound and were removed in Scala 3: discover what this means and how it affects your code

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Given and Using Clauses

7 min read  •  Nov 16, 2020  •  Explanation

Intermediate

scala

scala-3

Explore Scala 3's given/using clauses: a crucial feature for modern Scala programming, and learn how to leverage them effectively

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Mastering Path-Dependent Types and Type Projections

5 min read  •  Nov 27, 2020  •  Explanation

Intermediate

scala

scala-3

type-system

Unlock advanced programming techniques with Scala 3: explore dependent types, methods, and functions in this concise tutorial

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Match Types Quickly Explained

7 min read  •  Feb 2, 2021  •  Explanation

Intermediate

scala

scala-3

type-system

Scala 3 comes with lots of new features: in this episode, we dive into match types, a powerful tool for pattern matching on types and more accurate type checking

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Opaque Types Quickly Explained

4 min read  •  Oct 2, 2020  •  Explanation

Intermediate

scala

scala-3

type-system

Explore opaque type aliases in Scala 3 and learn how to define new types with zero overhead

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala Testing with ScalaTest: A Beginner's Guide to Testing Styles

7 min read  •  May 17, 2021  •  Guide

Intermediate

scala

testing

In this article, we explore the main testing styles in Scala and ScalaTest: understanding what terms like 'FunSuite' and 'FlatSpec' really mean

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Self-Types in Scala: A Quick Overview

3 min read  •  Apr 3, 2020  •  Explanation

Intermediate

scala

type-system

Self-types are a powerful way to enforce type constraints in Scala: learn to use them effectively in just a few minutes

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Semigroups and Monoids in Scala

8 min read  •  Mar 19, 2021  •  Explanation

Intermediate

category-theory

cats

fp

This article provides a gentle introduction to Monoids and Semigroups, exploring functional abstractions and the workings of the Cats library

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Stateful Streams with Apache Pulsar and Apache Flink

21 min read  •  Jun 14, 2022  •  Guide

Intermediate

flink

pulsar

streaming

Discover how to integrate Apache Pulsar with Apache Flink: perform advanced data enrichment using state from multiple topics

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Streaming Analytics with Apache Pulsar and Spark Structured Streaming

13 min read  •  Jan 29, 2022  •  Explanation

Intermediate

pulsar

spark

spark-structured-streaming

Explore Apache Pulsar's role in event streaming and computing: discover practical use cases and learn when to integrate advanced computing engines for sophisticated stream processing

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

The Effect Pattern and Effect Systems in Scala

35 min read  •  Feb 17, 2026  •  Explanation

Intermediate

scala-3

fp

effect-systems

Explore Scala effect systems from monadic approaches (Cats Effect, ZIO, Kyo) to novel direct-style handlers using context functions, including Ox and YAES

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

The Ultimate Guide to Java Virtual Threads

32 min read  •  Mar 8, 2023  •  Guide

Intermediate

java

Project Loom and virtual threads: Explore how they promise to bring modern concurrency paradigms from Kotlin and Scala to Java, even while still in preview

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

Types, Kinds, and Type Constructors in Scala

6 min read  •  Oct 6, 2020  •  Explanation

Intermediate

scala

type-system

Discover Scala's powerful type system: explore type organization, type constructors, and their significance

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

UDP with Scala and FS2 Explained

29 min read  •  Dec 18, 2023  •  Guide

Intermediate

fs2

scala

Learn how UDP works and discover how to transition from an old Java NIO implementation to a more modern and expressive API like FS2 in Scala

Herbert Kateu

Herbert Kateu

Understanding Spark DAGs (Directed Acyclic Graphs)

6 min read  •  Apr 23, 2020  •  Guide

Intermediate

spark

Discover the essential skill for optimizing Spark performance: mastering the Spark UI and understanding the job execution graph

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Understanding Spark Query Plans

6 min read  •  Apr 8, 2020  •  Guide

Intermediate

spark

In this article, you'll learn one of the most important Spark skills: reading how your job will run, which is foundational for any further Spark optimization

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

WebSockets in Scala: Part 1 - http4s

39 min read  •  Feb 19, 2024  •  Guide

Intermediate

http4s

scala

Learn how to implement WebSockets in Scala with http4s to enable seamless two-way communication between your frontend and backend

Herbert Kateu

Herbert Kateu

WebSockets in Scala: Part 2 - Integrating Redis and PostgreSQL

37 min read  •  May 23, 2024  •  Guide

Intermediate

postgresql

redis

scala

Learn how to integrate Redis with Scala using redis4cats and persist records in Postgres with skunk, enhancing your chatroom application with powerful new features

Herbert Kateu

Herbert Kateu

What Is Referential Transparency and Why Should You Care?

7 min read  •  Jul 29, 2021  •  Explanation

Intermediate

fp

scala

Discover how referential transparency boosts your productivity as a functional programmer in Scala and why it's crucial

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

What the Functor? Exploring Functors in Depth

5 min read  •  Jan 5, 2021  •  Explanation

Intermediate

category-theory

cats

mathematics

Explore one of the most essential concepts in pure functional programming: the Functor, a crucial but abstract idea that will challenge your understanding

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Why are Scala Type Classes Useful?

4 min read  •  Jun 11, 2020  •  Explanation

Intermediate

fp

scala

type-system

FP fans discuss the challenge of type classes in pure functional programming with Scala: why are they difficult, and why do we really need them?

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Why Is Contravariance So Hard in Scala?

4 min read  •  Mar 31, 2020  •  Explanation

Intermediate

scala

type-system

Unravel the complexities of Scala's powerful type system with our deep dive into contravariance: we simplify and demystify its challenging aspects

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

ZIO Fibers: Concurrency and Lightweight Threads

12 min read  •  Jun 24, 2021  •  Guide

Intermediate

concurrency

scala

zio

Explore ZIO's unique fiber model for concurrency: see how it stands out from other effect libraries in the Scala ecosystem

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

ZIO HTTP Explained: The REST of the Owl

22 min read  •  Sep 15, 2022  •  Guide

Intermediate

scala

zio

zio-http

Learn how to effortlessly set up an HTTP server with zio-http: the powerful HTTP library in the ZIO ecosystem

Mark Rudolph

Mark Rudolph

Principal Engineer | Carvana

ZIO Kafka: A Practical Streaming Tutorial

23 min read  •  Aug 19, 2021  •  Guide

Intermediate

kafka

zio

Discover how to leverage ZIO to seamlessly interact with Apache Kafka: the proven, scalable solution for reliable communication between distributed application components

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

ZIO Streams: A Long-Form Introduction

22 min read  •  Aug 10, 2022  •  Explanation

Intermediate

scala

zio

zio-streams

Unlock the Power of ZIO Streams: Your Comprehensive Guide to a Key ZIO Ecosystem Abstraction

Mark Rudolph

Mark Rudolph

Principal Engineer | Carvana

This site uses cookies. Check our cookie policy (TLDR: no personal information is stored). For more information see our cookie policy.

Footer

Subscribe to our newsletter!

This site is built on trust, and your data is safe. Check out the privacy policy .

Thank you for subscribing! Check your email for confirmation.

Content

  • Articles
  • Courses
  • Videos
  • Scala Courses
  • Kotlin Courses
  • Typelevel Courses
  • ZIO Courses
  • Apache Spark Courses
  • Apache Flink Courses
  • Akka/Pekko Courses

Support

  • Contact
  • Memberships

Company

  • About

Policies

  • Cookie
  • Privacy
  • Refund
  • Terms
  • Trademark
  • Facebook
  • GitHub
  • LinkedIn
  • Twitter
  • YouTube
  • RSS

© 2017–2026 Accelerated Learning System SRL