DEV Community

Cover image for 🏹Kotlin&Arrow #1 - Modelando Ausencia
Roger Viñas Alcon for Adevinta Spain

Posted on • Edited on

2

🏹Kotlin&Arrow #1 - Modelando Ausencia

En esta primera sesión con @ivanlorenz analizaremos un caso de uso de 🦄Wonderful Enterprises y su servicio especializado en ofrecer servicios turísticos a destinaciones saludables.

Aprovecharemos este caso de uso para mostrar cómo una simple iteración de producto puede provocar una incidencia y cómo resolverla usando Kotlin y Arrow.

Veremos el modelado de ausencia de valor en Kotlin con Nullables y en Arrow con Option.

Aunque introducimos Arrow no vamos a hacer programación funcional así que usaremos OOP.

En próximas sesiones introduciremos gestión de errores con Either e iremos “pidiendo prestado” algunos recursos de la programación funcional que usaremos junto a la OOP.

Puedes consultar el código fuente aquí 👇

GitHub logo AdevintaSpain / wonderful-freshair-app

🦄 Wonderful FreshAir Application - Kotlin & Arrow sample

... y el vídeo de la primera sesión aquí 👇

0:00 Introducción
1:10 ¿Qué fué antes ... el primer email de la historia o @ivanlorenz?
4:09 Wonderful Enterprises - FreshAirApp
17:31 Primera incidencia si una ciudad no existe
20:34 Solución con Nullables de Kotlin
42:50 Solución con Option de Arrow
1:28:14 Bonus refactor con option.eager 🤯

Ofertas Backend

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more