I often hear online in Scala-related discussions that ZLayer is "too complex" or "unnecessary". Those statements couldn’t be more different from my own experience: I think ZLayer is an incredible lifesaver! While it is true that it had some issues in...| Pierre Ricadat's Tech Blog
After working on several different services and spending a lot of time improving the code to make it easier to use, I discovered a pattern for layering my applications that I found very useful. First, a disclaimer: this architecture is not a one-size...| Pierre Ricadat's Tech Blog
Today, I'm going to answer a question asked by Łukasz Biały on Twitter: Is there a way to get field-level RBAC (Role-Based Access Control)? It turns out there is! However, Caliban's approach to authentication and authorization is quite flexible. In...| Pierre Ricadat's Tech Blog
Let's start with a disclaimer. What is discussed in this article is not the ultimate truth: how to make your application faster highly depends on what your application is actually doing. Depending on your use case, the overhead of ZIO might be comple...| Pierre Ricadat's Tech Blog
Shardcake is a Scala open source library I created in 2022 to easily distribute entities across multiple servers (sharding) and to interact with them using their ID without knowing their actual location (location transparency). To support a real-life...| Pierre Ricadat's Tech Blog
In this new series of posts, I will share walkthroughs of debugging sessions I had to do at work to solve real-life problems, in the hope that both the process and the lessons learned will be useful to others working in the Scala ecosystem. The probl...| Pierre Ricadat's Tech Blog
In my Beginner's Guide to GraphQL in Scala, I created a simplistic resolver that just returned data from an immutable value loaded in memory. In real-life use cases, things are usually quite different: data may come from a database, external APIs, or...| Pierre Ricadat's Tech Blog
In my Beginner's Guide to GraphQL in Scala, I explained how Caliban can automatically transform Scala types into GraphQL types through a process called schema derivation. This mechanism enables you to generate a Schema for user-defined types using a ...| Pierre Ricadat's Tech Blog
Crafting a simple GraphQL API using Scala and Caliban| Pierre Ricadat's Tech Blog
I covered our migration to Scala 3 extensively in my last blog post, but we deployed the migrated code to production only a week ago. Such releases are always a little stressful because you never know what kind of unexpected bug can occur, and on top...| Pierre Ricadat's Tech Blog
April 30, 2024. I decided to dedicate a week to migrate our main project at work (a multiplayer mobile game server in production for over 4 years) from Scala 2.13 to Scala 3. May 7, 2024. I gave up. The removal of several features from Scala 3 (macro...| Pierre Ricadat's Tech Blog