Articles tagged with 'scala'
3 Fun Call-by-Name Tricks in Scala
5 min read • • Guide
Maximize call-by-name semantics in Scala: control when your results are evaluated
Founder | Rock The JVM
4 Handy Ways to Read Files in Scala
3 min read • • Explanation
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()
Founder | Rock The JVM
5 Fun Code Expressiveness Tricks in Scala
4 min read • • Guide
Scala is an incredibly expressive language: discover hidden features that even experienced developers might miss!
Founder | Rock The JVM
8 Pattern Matching Tricks in Scala
7 min read • • Guide
Pattern matching is one of the most powerful Scala features: learn to use it to the max and write your best Scala code
Founder | Rock The JVM
A Backtracking Sudoku Solver in Scala
13 min read • • Explanation
Master solving Sudoku and other constraint-satisfaction problems with recursive backtracking in Scala
Founder | Rock The JVM
A Distributed Code Execution Engine in Pekko with Scala
34 min read • • Guide
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
A Functional Load Balancer with Scala, http4s and Cats Effect
38 min read • • Guide
Build an application load balancer with Scala & Cats Effect: achieve efficiency and concurrency with included tests
A Comprehensive Guide to Choosing the Best Scala Course
12 min read • • Guide
Discover the best Scala course for your learning journey: explore recommended courses and libraries such as Cats Effect, ZIO, and Apache Spark
Founder | Rock The JVM
A Monad Is a Monoid in the Category of Endofunctors: Scala Explanation
12 min read • • Explanation
What's the problem?
Founder | Rock The JVM
Abstract Classes vs Traits in Scala: Practical Differences
3 min read • • Explanation
Abstract classes and traits share a lot of overlap in Scala: discover how they actually differ
Founder | Rock The JVM
ADTs (Algebraic Data Types) in Scala
10 min read • • Explanation
Discover ADTs (Algebraic Data Types) in Scala: Answers to all your questions about this essential concept
An Introduction to Monads in Scala
9 min read • • Explanation
A Scala tutorial on Monads that starts with practical needs and builds up from scratch: derive the monad patterns (laws) with no assumptions
Founder | Rock The JVM
Authentication with Scala and http4s: 2FA (Two-Factor Authentication)
23 min read • • Guide
Discover how to implement a two-factor authentication system with one-time passwords (HOTP and TOTP) using Scala and http4s
Authentication with Scala and http4s: OAuth
16 min read • • Guide
Discover how to implement OAuth authentication in Scala with http4s and GitHub as your OAuth provider
Authentication with Scala and http4s
26 min read • • Guide
Learn how to implement HTTP authentication with Scala and http4s: basic, digest, session, and JWT tokens
Building a Full-Stack Scala 3 Application with the Typelevel Stack
26 min read • • Guide
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
Founder | Rock The JVM
Cats Effect 3: Introduction to Fibers
6 min read • • Explanation
An Introduction to Asynchronous Computations with Fibers in Cats Effect 3, Tailored for Scala 3
Founder | Rock The JVM
Cats Effect 3: Racing IOs Explained
5 min read • • Guide
Following the introduction to concurrency in Cats Effect: explore advanced techniques for managing racing IOs and fibers
Founder | Rock The JVM
Cats: Essential Type Class Hierarchy Explained
9 min read • • Explanation
Cats is a complex library for Scala: This article deconstructs the major type classes and explains their connections
Founder | Rock The JVM
Configuring http4s Security: Handling CORS and CSRF
16 min read • • Guide
In this article, learn how to configure an http4s server to effectively guard against cross-origin requests and CSRF attacks
Controllable Futures in Scala Explained
3 min read • • Explanation
Learn how to handle deterministic Futures in Scala using Promises in this article
Founder | Rock The JVM
Create Your Own Custom String Interpolator
4 min read • • Guide
Discover how to create your own custom string interpolator that feels like a native feature of Scala
Founder | Rock The JVM
Custom Pattern Matching in Scala
6 min read • • Guide
Pattern matching is one of Scala's most powerful features: discover how to customize it and create your own patterns in this article
Founder | Rock The JVM
Demystifying Variance Positions in Scala
11 min read • • Explanation
Explore the infamous 'covariant type occurs in contravariant position' problem in Scala: discover effective solutions and best practices
Founder | Rock The JVM
Deploy a Scala Application to AWS Lambda
4 min read • • Guide
Deploying Scala Code to AWS Lambda Is a Breeze: Discover Our Step-by-Step Tutorial to Guide You Through the Process
Founder | Rock The JVM
Enums in Scala 3: Quickly Explained
3 min read • • Explanation
Scala 3 Introduces Enums: A Major Update with Significant Implications
Founder | Rock The JVM
Eta-Expansion and Partially Applied Functions in Scala
5 min read • • Explanation
Explore the intriguing world of eta-expansion: Discover how methods and functions interact in Scala, revealing insights that can elevate your coding game
Founder | Rock The JVM
Evaluation Modes in Scala Explained
4 min read • • Explanation
Explore core Scala constructs from a fresh perspective and uncover new insights into their use and application
Founder | Rock The JVM
Exploiting Implicit Ambiguity in Scala
6 min read • • Explanation
Discover how to use Scala's implicit resolution to enforce type relationships at compile time
Founder | Rock The JVM
Finagle: Twitter's RPC Library for Scala
10 min read • • Explanation
Discover Finagle: a powerful yet deceptively simple library for building distributed systems, offering built-in HTTP support, seamless load balancing, and more
Founder | Rock The JVM
Free Monads in Scala Explained
16 min read • • Explanation
A tutorial on Free Monads in Scala: Explore how they work and discover their benefits
Founder | Rock The JVM
Functional Collections in Scala
7 min read • • Explanation
Discover a powerful Scala feature that many developers overlook: a concise guide to functional collections that could revolutionize your Scala programming
Founder | Rock The JVM
Functional Parallel Programming with Scala and Cats Effect
25 min read • • Guide
Unlock the full potential of functional parallel processing: A hands-on guide to accelerating performance with Scala and Cats Effect fibers
Getting Started with Scala Generics
8 min read • • Explanation
Scala generics are a breeze for Java developers, but what about those coming from Python or JavaScript?
Founder | Rock The JVM
Getting Started with Scala Options
9 min read • • Explanation
Scala Options are among the first concepts we encounter: Discover what they do, why they're useful, and their importance in programming
Founder | Rock The JVM
Getting Started with Scala sbt
21 min read • • Guide
Discover sbt: The popular Scala build tool that simplifies project management and enhances productivity
Getting Started with Scala Slick
20 min read • • Guide
Discover Slick: The popular Scala library for seamless database interactions
gRPC in Scala with FS2 and ScalaPB
22 min read • • Guide
A comprehensive guide to enabling microservices communication with gRPC in Scala
Higher-Order Functions for Object-Oriented Programmers
5 min read • • Explanation
For OO programmers looking to dive into functional programming in Scala: a gentle introduction to functions working with other functions
Founder | Rock The JVM
How Does the '20 Seconds' Idiom Work in Scala?
4 min read • • Explanation
Various idioms like '20.seconds' seem built into Scala: discover how these idioms work
Founder | Rock The JVM
Idiomatic Error Handling in Scala
9 min read • • Guide
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
Founder | Rock The JVM
Immutable Linked Lists in Scala With Call-By-Name and Lazy Values
10 min read • • Guide
Discover how to harness lazy values and call-by-name techniques to craft a fully immutable doubly-linked list in Scala
Founder | Rock The JVM
Learning doobie for the Greater Good
31 min read • • Guide
JDBC struggles with side effects in functional programming: doobie offers a higher-level, effectful API through Cats and Cats Effect
Lenses, Prisms, and Optics in Scala
6 min read • • Explanation
Inspect, extract, and modify deeply nested data structures in Scala with ease: discover a powerful method to handle complex data effortlessly
Founder | Rock The JVM
Make a Snake Game with Scala in 10 Minutes
12 min read • • Guide
The ultimate 10-minute guide to building a Snake game in Scala: learn fast and code smarter
Founder | Rock The JVM
Mastering Skunk: The Scala Library for Database Interaction
20 min read • • Guide
Learn how to use the Skunk library for type-safe, non-blocking PostgreSQL database interactions
Much Ado About Nothing in Scala
4 min read • • Explanation
Explore the `Nothing` type in Scala: A short trip to nothingness and its unexpected usefulness
Founder | Rock The JVM
Mutability in Scala Quickly Explained
5 min read • • Explanation
Although frowned upon by FP purists, creating and managing mutable data structures is important in any language: Explore Scala's first-class mutability features
Founder | Rock The JVM
N-Queens in Scala: How to Approach Algorithm Questions
1 min read • • Explanation
Learn how to tackle a Google-style algorithm interview question in Scala using pure functional programming
Founder | Rock The JVM
Objects and Companions in Scala
5 min read • • Explanation
This article is for beginner Scala programmers: an introduction to singleton objects and companion objects, exploring their uses, benefits, and best practices
Founder | Rock The JVM
Organizing Services with ZIO and ZLayers
12 min read • • Guide
ZIO layers (ZLayers) help structure complex services into independent, composable, and easy-to-understand modules: discover how they can simplify your architecture
Founder | Rock The JVM
Refined Types in Scala Quickly Explained
5 min read • • Explanation
Explore how to impose constraints on values at compile time using the Refined library
Founder | Rock The JVM
Repartition vs Coalesce in Apache Spark
5 min read • • Explanation
Clarifying the differences between two essential repartitioning operations in Apache Spark
Founder | Rock The JVM
REST APIs with Play Framework and Scala
15 min read • • Guide
Master the basics of Play Framework to build robust HTTP APIs with Scala in this comprehensive tutorial
Roadmap to Becoming a Successful Data Engineer
16 min read • • Explanation
Discover key insights from one of Rock the JVM's standout students on building a successful career in Data Engineering
Data Engineer | Apple
Scala 3: Anti-Givens Quickly Explained
4 min read • • Guide
Discover a Scala 3 trick few developers know: leveraging the absence of a given instance to enforce type constraints
Founder | Rock The JVM
Scala 3: Extension Methods Quickly Explained
4 min read • • Explanation
Deconstructing extension methods: one of the most exciting features of the upcoming Scala 3
Founder | Rock The JVM
Scala 3: General Type Projections
7 min read • • Explanation
Scala's general type projections are considered unsound and were removed in Scala 3: discover what this means and how it affects your code
Founder | Rock The JVM
Scala 3: Given and Using Clauses
7 min read • • Explanation
Explore Scala 3's given/using clauses: a crucial feature for modern Scala programming, and learn how to leverage them effectively
Founder | Rock The JVM
Scala 3: Givens and Implicits Quickly Explained
5 min read • • Explanation
This quick article demonstrates how Scala 3's given instances integrate seamlessly with Scala 2's implicits
Founder | Rock The JVM
Scala 3: Givens vs Implicits Quickly Explained
7 min read • • Explanation
Building on the previous article's insights into givens, let's explore how they stack up against the traditional Scala implicits
Founder | Rock The JVM
Scala 3: Indentation Quickly Explained
6 min read • • Explanation
Some people love it, some hate it: Scala 3's indented syntax might surprise you with its potential to enhance your code structure
Founder | Rock The JVM
Scala 3: Mastering Path-Dependent Types and Type Projections
5 min read • • Explanation
Unlock advanced programming techniques with Scala 3: explore dependent types, methods, and functions in this concise tutorial
Founder | Rock The JVM
Scala 3: Match Types Quickly Explained
7 min read • • Explanation
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
Founder | Rock The JVM
Scala 3: New Types Quickly Explained
7 min read • • Explanation
Explore the Game-Changing New Types in Scala 3: What We're Eagerly Anticipating
Founder | Rock The JVM
Scala 3: Opaque Types Quickly Explained
4 min read • • Explanation
Explore opaque type aliases in Scala 3 and learn how to define new types with zero overhead
Founder | Rock The JVM
Scala 3: Traits Quickly Explained
4 min read • • Explanation
This article delves into Scala 3's advanced trait functionalities, building on our previous explorations of the language's new features
Founder | Rock The JVM
Scala 3: Type Lambdas Quickly Explained
4 min read • • Explanation
Exploring type lambdas in Scala 3: a quick yet powerful structure that will elevate your high-level thinking
Founder | Rock The JVM
Scala 3: Type-Level Programming
84 min read • • Guide
Discover how type-level programming can be used to tackle practical problems effectively
Scala Testing with ScalaTest: A Beginner's Guide to Testing Styles
7 min read • • Guide
In this article, we explore the main testing styles in Scala and ScalaTest: understanding what terms like 'FunSuite' and 'FlatSpec' really mean
Founder | Rock The JVM
Self-Types in Scala: A Quick Overview
3 min read • • Explanation
Self-types are a powerful way to enforce type constraints in Scala: learn to use them effectively in just a few minutes
Founder | Rock The JVM
Semigroups and Monoids in Scala
8 min read • • Explanation
This article provides a gentle introduction to Monoids and Semigroups, exploring functional abstractions and the workings of the Cats library
Founder | Rock The JVM
Sending HTTP Requests with Scala and Akka in 5 Minutes
4 min read • • Guide
Learn to use Akka HTTP with Scala and send HTTP requests in just a few minutes with the Akka HTTP server DSL
Founder | Rock The JVM
Sort Lists in Scala with Tail Recursion
6 min read • • Guide
Master List Sorting with Tail Recursion in Scala: Enhance Your Functional Programming Skills and Boost Your Interview Readiness!
Founder | Rock The JVM
Sync, Async, and (Non-)Blocking in Scala and Akka
5 min read • • Explanation
We explore the trade-offs between three parallel coding styles in Scala and Akka: focusing on thread usage and other effects
Founder | Rock The JVM
Tagless Final in Scala Quickly Explained
12 min read • • Explanation
Demystify the tagless final pattern in Scala: it's not about type classes
Founder | Rock The JVM
The Differences Between Null, Nothing, Nil, None, and Unit in Scala
4 min read • • Explanation
Discover the different flavors of 'nothing-ness' in Scala and how they impact your code
Founder | Rock The JVM
Things That Don't Make Sense: Scala Loops
5 min read • • Opinion
Daniel dives into another rant about learning (and teaching) Scala with loops: Are they truly useful?
Founder | Rock The JVM
Things That Don't Make Sense: Scala Variables
3 min read • • Opinion
Daniel shares a candid rant on the challenges of learning and teaching Scala with variables
Founder | Rock The JVM
Top 10 Skills and Mental Models for Becoming a Scala Developer
10 min read • • Guide
Mastering Scala can be simple: discover 10 key mental skills to excel as a Scala developer
Founder | Rock The JVM
Type-Level Programming in Scala 3: Part 1 - Comparing Types
9 min read • • Guide
Harness the power of givens to infer type relationships in Scala 3: at compile time
Founder | Rock The JVM
Type-Level Programming in Scala 3: Part 2 - A Quicksort on Types
16 min read • • Guide
Level 90 of type-level programming: implementing a real sorting algorithm on lists as types
Founder | Rock The JVM
Type-Level Programming in Scala: Part 1 - Numbers and Comparisons
7 min read • • Guide
Harness the full power of Scala's type system: let the compiler infer complex type relationships for you at compile time
Founder | Rock The JVM
Type-Level Programming in Scala: Part 2 - Adding Numbers as Types
11 min read • • Guide
We continue exploring type-level power in Scala: adding numbers as types at compile time
Founder | Rock The JVM
Type-Level Programming in Scala: Part 3 - Sorting Lists
17 min read • • Guide
The final chapter in our type-level trilogy: mastering list sorting at compile time
Founder | Rock The JVM
Types, Kinds, and Type Constructors in Scala
6 min read • • Explanation
Discover Scala's powerful type system: explore type organization, type constructors, and their significance
Founder | Rock The JVM
UDP with Scala and FS2 Explained
30 min read • • Guide
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
Underscores are Overloaded in Scala!
4 min read • • Explanation
Scala syntax can be confusing: discover almost all uses of underscores and why understanding their inconsistent philosophy is worthwhile
Founder | Rock The JVM
Using Scala as a Junior Developer
27 min read • • Opinion
A journey of a beginner developer discovering and working with Scala
Value Classes in Scala Explained
12 min read • • Explanation
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
WebSockets in Scala: Part 1 - http4s
39 min read • • Guide
Learn how to implement WebSockets in Scala with http4s to enable seamless two-way communication between your frontend and backend
WebSockets in Scala: Part 2 - Integrating Redis and PostgreSQL
37 min read • • Guide
Learn how to integrate Redis with Scala using redis4cats and persist records in Postgres with skunk, enhancing your chatroom application with powerful new features
What Is Referential Transparency and Why Should You Care?
7 min read • • Explanation
Discover how referential transparency boosts your productivity as a functional programmer in Scala and why it's crucial
Founder | Rock The JVM
What the Functor? Exploring Functors in Depth
5 min read • • Explanation
Explore one of the most essential concepts in pure functional programming: the Functor, a crucial but abstract idea that will challenge your understanding
Founder | Rock The JVM
Why are Scala Type Classes Useful?
4 min read • • Explanation
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?
Founder | Rock The JVM
Why Is Contravariance So Hard in Scala?
4 min read • • Explanation
Unravel the complexities of Scala's powerful type system with our deep dive into contravariance: we simplify and demystify its challenging aspects
Founder | Rock The JVM
ZIO Fibers: Concurrency and Lightweight Threads
12 min read • • Guide
Explore ZIO's unique fiber model for concurrency: see how it stands out from other effect libraries in the Scala ecosystem
How to Build a ZIO Full-Stack Web Application
25 min read • • Guide
Learn how to build a full-stack web application in Scala with ZIO and Laminar, step by step
ZIO HTTP Explained: The REST of the Owl
22 min read • • Guide
Learn how to effortlessly set up an HTTP server with zio-http: the powerful HTTP library in the ZIO ecosystem
Principal Engineer | Carvana
ZIO Streams: A Long-Form Introduction
22 min read • • Explanation
Unlock the Power of ZIO Streams: Your Comprehensive Guide to a Key ZIO Ecosystem Abstraction
Principal Engineer | Carvana