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

Articles tagged with 'scala'

3 Fun Call-by-Name Tricks in Scala

5 min read  •  Apr 28, 2020  •  Guide

Beginner

scala

tricks

Maximize call-by-name semantics in Scala: control when your results are evaluated

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

4 Handy Ways to Read Files in Scala

3 min read  •  Apr 30, 2020  •  Explanation

Beginner

io

scala

Master file reading in Scala with ease: compare it to other languages and discover how our simple API approach is almost as straightforward as Python's read()

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

5 Fun Code Expressiveness Tricks in Scala

4 min read  •  May 21, 2020  •  Guide

Beginner

scala

tricks

Scala is an incredibly expressive language: discover hidden features that even experienced developers might miss!

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

8 Pattern Matching Tricks in Scala

7 min read  •  Mar 29, 2020  •  Guide

Beginner

scala

tricks

Pattern matching is one of the most powerful Scala features: learn to use it to the max and write your best Scala code

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

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 Comprehensive Guide to Choosing the Best Scala Course

12 min read  •  May 23, 2023  •  Guide

Beginner

scala

Discover the best Scala course for your learning journey: explore recommended courses and libraries such as Cats Effect, ZIO, and Apache Spark

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 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 Monad Is a Monoid in the Category of Endofunctors: Scala Explanation

12 min read  •  Apr 6, 2021  •  Explanation

Advanced

category-theory

fp

mathematics

What's the problem?

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Abstract Classes vs Traits in Scala: Practical Differences

3 min read  •  Aug 7, 2020  •  Explanation

Beginner

scala

type-system

Abstract classes and traits share a lot of overlap in Scala: discover how they actually differ

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

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

Building a Full-Stack Scala 3 Application with the Typelevel Stack

26 min read  •  Jan 23, 2024  •  Guide

Advanced

cats-effect

doobie

http4s

Unlock the secrets to crafting a full-stack Scala 3 application from scratch: dive into Cats Effect, doobie, http4s, and Tyrian and build robust, modern software with ease

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Cats Effect 3: Introduction to Fibers

6 min read  •  Apr 22, 2021  •  Explanation

Advanced

cats-effect

scala

An Introduction to Asynchronous Computations with Fibers in Cats Effect 3, Tailored for Scala 3

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Cats Effect 3: Racing IOs Explained

5 min read  •  Apr 29, 2021  •  Guide

Advanced

cats-effect

scala

Following the introduction to concurrency in Cats Effect: explore advanced techniques for managing racing IOs and fibers

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

Compile-time data contracts in Scala 3

38 min read  •  Jan 19, 2026  •  Guide

Advanced

scala

scala-3

macros

Build Scala compile-time data contracts with macros, TypeInspector patterns, and policy-driven validation so schema drift fails at compile time instead of midnight in production

Vitthal Mirji

Vitthal Mirji

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

Controllable Futures in Scala Explained

3 min read  •  Apr 4, 2020  •  Explanation

Beginner

async

scala

Learn how to handle deterministic Futures in Scala using Promises in this article

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

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

Create Your Own Custom String Interpolator

4 min read  •  May 12, 2020  •  Guide

Advanced

scala

tricks

Discover how to create your own custom string interpolator that feels like a native feature of Scala

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

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

Demystifying Variance Positions in Scala

10 min read  •  Nov 10, 2020  •  Explanation

Advanced

scala

type-system

Explore the infamous 'covariant type occurs in contravariant position' problem in Scala: discover effective solutions and best practices

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Deploy a Scala Application to AWS Lambda

4 min read  •  Sep 10, 2020  •  Guide

Beginner

aws

scala

Deploying Scala Code to AWS Lambda Is a Breeze: Discover Our Step-by-Step Tutorial to Guide You Through the Process

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

Enums in Scala 3: Quickly Explained

3 min read  •  Sep 29, 2020  •  Explanation

Beginner

scala

scala-3

Scala 3 Introduces Enums: A Major Update with Significant Implications

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

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

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

Free Monads in Scala Explained

16 min read  •  May 26, 2022  •  Explanation

Advanced

fp

scala

A tutorial on Free Monads in Scala: Explore how they work and discover their benefits

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Functional Collections in Scala

7 min read  •  May 8, 2021  •  Explanation

Advanced

collections

fp

scala

Discover a powerful Scala feature that many developers overlook: a concise guide to functional collections that could revolutionize your Scala programming

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

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 Generics

8 min read  •  May 12, 2022  •  Explanation

Beginner

scala

type-system

Scala generics are a breeze for Java developers, but what about those coming from Python or JavaScript?

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Getting Started with Scala Options

9 min read  •  Jun 2, 2022  •  Explanation

Beginner

scala

type-system

Scala Options are among the first concepts we encounter: Discover what they do, why they're useful, and their importance in programming

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Getting Started with Scala sbt

21 min read  •  Sep 12, 2022  •  Guide

Beginner

sbt

scala

Discover sbt: The popular Scala build tool that simplifies project management and enhances productivity

Yadu Krishnan

Yadu Krishnan

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

Higher-Order Functions for Object-Oriented Programmers

5 min read  •  Apr 6, 2020  •  Explanation

Beginner

fp

scala

For OO programmers looking to dive into functional programming in Scala: a gentle introduction to functions working with other functions

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

How Does the '20 Seconds' Idiom Work in Scala?

4 min read  •  Aug 4, 2020  •  Explanation

Beginner

scala

tricks

Various idioms like '20.seconds' seem built into Scala: discover how these idioms work

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

How to Build a ZIO Full-Stack Web Application

25 min read  •  Oct 15, 2024  •  Guide

Advanced

scala

zio

laminar

Learn how to build a full-stack web application in Scala with ZIO and Laminar, step by step

Olivier Nouguier

Olivier Nouguier

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

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

Make a Snake Game with Scala in 10 Minutes

12 min read  •  Mar 18, 2022  •  Guide

Beginner

scala

scalafx

The ultimate 10-minute guide to building a Snake game in Scala: learn fast and code smarter

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

Much Ado About Nothing in Scala

4 min read  •  Apr 21, 2020  •  Explanation

Beginner

scala

type-system

Explore the `Nothing` type in Scala: A short trip to nothingness and its unexpected usefulness

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Mutability in Scala Quickly Explained

5 min read  •  Feb 18, 2021  •  Explanation

Beginner

scala

Although frowned upon by FP purists, creating and managing mutable data structures is important in any language: Explore Scala's first-class mutability features

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

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

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

Roadmap to Becoming a Successful Data Engineer

16 min read  •  Jun 6, 2022  •  Explanation

Beginner

scala

Discover key insights from one of Rock the JVM's standout students on building a successful career in Data Engineering

Anirban Goswami

Anirban Goswami

Data Engineer | Apple

Scala 3 Inlines Explained

10 min read  •  Feb 1, 2025  •  Explanation

Beginner

scala

scala-3

metaprogramming

Learn Scala 3 inlines - a powerful tool for code expansion at compile time, which can improve type safety and (if you know what you're doing) performance

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

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: Givens and Implicits Quickly Explained

5 min read  •  Apr 2, 2021  •  Explanation

Beginner

scala

scala-3

This quick article demonstrates how Scala 3's given instances integrate seamlessly with Scala 2's implicits

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Givens vs Implicits Quickly Explained

7 min read  •  Nov 18, 2020  •  Explanation

Beginner

scala

scala-3

Building on the previous article's insights into givens, let's explore how they stack up against the traditional Scala implicits

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Indentation Quickly Explained

6 min read  •  Nov 2, 2020  •  Explanation

Beginner

scala

scala-3

Some people love it, some hate it: Scala 3's indented syntax might surprise you with its potential to enhance your code structure

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: New Types Quickly Explained

7 min read  •  Sep 25, 2020  •  Explanation

Beginner

scala

scala-3

type-system

Explore the Game-Changing New Types in Scala 3: What We're Eagerly Anticipating

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 3: The Evolution of a Macro

60 min read  •  Apr 10, 2025  •  Guide

Advanced

fp

scala

scala-3

Discover how a macro can evolve to reduce boilerplate in your code

Daniel Beskin

Daniel Beskin

Scala 3: Traits Quickly Explained

4 min read  •  Sep 29, 2020  •  Explanation

Beginner

scala

scala-3

traits

This article delves into Scala 3's advanced trait functionalities, building on our previous explorations of the language's new features

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Type Lambdas Quickly Explained

4 min read  •  Oct 7, 2020  •  Explanation

Advanced

scala

scala-3

type-system

Exploring type lambdas in Scala 3: a quick yet powerful structure that will elevate your high-level thinking

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Scala 3: Type-Level Programming

84 min read  •  Dec 6, 2023  •  Guide

Advanced

fp

scala

scala-3

Discover how type-level programming can be used to tackle practical problems effectively

Daniel Beskin

Daniel Beskin

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

Sending HTTP Requests with Scala and Akka in 5 Minutes

4 min read  •  Apr 1, 2020  •  Guide

Beginner

akka

akka-http

scala

Learn to use Akka HTTP with Scala and send HTTP requests in just a few minutes with the Akka HTTP server DSL

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Sort Lists in Scala with Tail Recursion

6 min read  •  Jan 25, 2021  •  Guide

Beginner

algorithms

fp

scala

Master List Sorting with Tail Recursion in Scala: Enhance Your Functional Programming Skills and Boost Your Interview Readiness!

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Sync, Async, and (Non-)Blocking in Scala and Akka

5 min read  •  May 8, 2020  •  Explanation

Beginner

akka

scala

We explore the trade-offs between three parallel coding styles in Scala and Akka: focusing on thread usage and other effects

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Tagless Final in Scala Quickly Explained

12 min read  •  Dec 20, 2021  •  Explanation

Advanced

abstract

scala

Demystify the tagless final pattern in Scala: it's not about type classes

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

The Differences Between Null, Nothing, Nil, None, and Unit in Scala

4 min read  •  Jul 31, 2020  •  Explanation

Beginner

fp

scala

type-system

Discover the different flavors of 'nothing-ness' in Scala and how they impact your code

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Things That Don't Make Sense: Scala Loops

5 min read  •  Apr 15, 2020  •  Opinion

Beginner

scala

Daniel dives into another rant about learning (and teaching) Scala with loops: Are they truly useful?

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Things That Don't Make Sense: Scala Variables

3 min read  •  Apr 7, 2020  •  Opinion

Beginner

scala

Daniel shares a candid rant on the challenges of learning and teaching Scala with variables

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Top 10 Skills and Mental Models for Becoming a Scala Developer

10 min read  •  Nov 7, 2022  •  Guide

Beginner

scala

tricks

Mastering Scala can be simple: discover 10 key mental skills to excel as a Scala developer

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Type-Level Programming in Scala 3: Part 1 - Comparing Types

9 min read  •  Oct 4, 2021  •  Guide

Advanced

fp

scala

scala-3

Harness the power of givens to infer type relationships in Scala 3: at compile time

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Type-Level Programming in Scala 3: Part 2 - A Quicksort on Types

16 min read  •  Oct 11, 2021  •  Guide

Advanced

fp

scala

scala-3

Level 90 of type-level programming: implementing a real sorting algorithm on lists as types

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Type-Level Programming in Scala: Part 1 - Numbers and Comparisons

7 min read  •  Aug 10, 2020  •  Guide

Advanced

fp

scala

type-system

Harness the full power of Scala's type system: let the compiler infer complex type relationships for you at compile time

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Type-Level Programming in Scala: Part 2 - Adding Numbers as Types

11 min read  •  Aug 17, 2020  •  Guide

Advanced

fp

scala

type-system

We continue exploring type-level power in Scala: adding numbers as types at compile time

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Type-Level Programming in Scala: Part 3 - Sorting Lists

17 min read  •  Aug 25, 2020  •  Guide

Advanced

fp

scala

type-system

The final chapter in our type-level trilogy: mastering list sorting at compile time

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

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

Underscores are Overloaded in Scala!

4 min read  •  Sep 5, 2020  •  Explanation

Beginner

scala

Scala syntax can be confusing: discover almost all uses of underscores and why understanding their inconsistent philosophy is worthwhile

Daniel Ciocîrlan

Daniel Ciocîrlan

Founder | Rock the JVM

Using Scala as a Junior Developer

27 min read  •  Sep 18, 2023  •  Opinion

Beginner

scala

A journey of a beginner developer discovering and working with Scala

Lucas Nouguier

Lucas Nouguier

Value Classes in Scala Explained

12 min read  •  Feb 19, 2021  •  Explanation

Beginner

scala

type-system

Discover a powerful technique for eliminating hard-to-trace bugs with ad-hoc type definitions: learn how Scala 2's newtypes and Scala 3's opaque types can enhance your code's safety and maintainability

Riccardo Cardin

Riccardo Cardin

SSE | lastminute.com

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 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