Articles

Tips on Scala, functional programming, Akka, Spache Spark and more

New Types in Scala 3

This article is for Scala programmers of all levels, although some of the later parts and questions will be a tad more difficult. We will start exploring the new features that Scala 3 brings, as well as changes in style, syntax, or deprecations.The focus of this article is some of the new...

READ MORE

Lenses, Prisms and Optics in Scala

This article is for Scala programmers of all levels, who are big fans of the DRY principle. We're going to explore deeply nested data structures using the Monocle library and the concepts of "optics" in Scala. BackgroundMonocle is a popular library for traversing, inspecting and editing...

READ MORE

Akka HTTP loves JSON: 3 Libraries You Can Integrate into Akka HTTP

This article is for the Scala programmer who works with Akka HTTP. Probably one of the most common problems for any developer writing HTTP services is, obviously, JSON manipulation.In this article we'll address not one, but 3 different ways to handle JSON in Akka HTTP. The BackgroundTo work...

READ MORE

Refined Types in Scala

This article is for Scala programmers of all levels, although if you're a more advanced programmer or you watched/read the type-level programming mini-series, you will get more value out of it because you'll have a good intuition for what happens behind the scenes.I'm talking about "behind...

READ MORE

How to Deploy a Scala Application to AWS Lambda

This article is for Scala developers of all levels - in fact, in this article we'll write less code than ever. I'll demonstrate how to deploy a Scala application to AWS Lambda, step by step. IntroductionAWS Lambda needs little introduction. It's one of the starters of the serverless...

READ MORE

Underscores are Overloaded in Scala!

This article is for the curious Scala programmer who has seen underscores more times than they'd find comfortable. In this article I'll share almost all the places where you might see an underscore, so that you don't freak out when you see yet another one in a different context.I want to get...

READ MORE

Repartition vs Coalesce in Apache Spark

This article is for the Scala & Spark programmers, particularly those Spark programmers that are starting to dive a little deeper into how Spark works and perhaps attempting to make it faster. I'm expecting you to be at least familiar with:the distributed nature of Sparkthe concept of...

READ MORE

Eta-Expansion and Partially Applied Functions in Scala

This article is for Scala programmers who know at least these essential concepts: what a method is and how to define a function value (lambda). Here we'll discuss the topic of eta-expansion and partially-applied functions, which are often loosely covered and piecemeal. BackgroundLong story...

READ MORE

Type-Level Programming in Scala, Part 3

In this article we will continue what we started in the first and second part of the series and become a badass type-level programmer in Scala. This mini-series is about using the power of the Scala compiler to enforce complex relationships between types that mean something special to us. In...

READ MORE

Type-Level Programming in Scala, Part 2

In this article we will continue what we started in the first part and enhance our type-level capabilities. As a quick reminder, in this mini-series we learn to use the power of the Scala compiler to validate complex relationships between types that mean something special to us, for example...

READ MORE