Agustín Ventura
@agustinventura.bsky.social
39 followers 170 following 70 posts
Mostly here for Java and Cloud related things. Sometimes I write things (in spanish!!) in www.agustinventura.dev
Posts Media Videos Starter Packs
agustinventura.bsky.social
Yo de cuaderno llevo como diez años usando Leuchturm 1917 y de pluma Parker Sonnet.
agustinventura.bsky.social
Masterpiece crafted from masterpieces in their own as the OST, script, mechanics and graphics
Reposted by Agustín Ventura
junit.org
#JUnit 6.0.0 is released!

✨ Java 17 and Kotlin 2.2 baseline
🌄 JSpecify nullability annotations
🛫 Integrated JFR support
🚟 Kotlin suspend function support
🛑 Support for cancelling test execution
⏭️ New `--fail-fast` mode for ConsoleLauncher
🧹 Removal of deprecated APIs

docs.junit.org/6.0.0/releas...
JUnit Release Notes
docs.junit.org
agustinventura.bsky.social
Me lo apunto, que precisamente ahora estoy escribiendo sobre Cucumber, más desde un punto de vista técnico, pero haré hincapié en lo que comentas. Y ya que estamos lo enlazaré.
agustinventura.bsky.social
A ver Mario que no eres rico porque no quieres ;P
agustinventura.bsky.social
Me han encantado las diapositivas, llevo años intuyéndolo y diciéndolo pero nunca lo había visto tan bien razonado y justificado.
Mil gracias ❤️
agustinventura.bsky.social
Y turrón de suchard en el CashFresh
Reposted by Agustín Ventura
Reposted by Agustín Ventura
cowbellemoo.lets.abolish.family
Today, thirty years ago, a generation of millennials had their brains lovingly broken by the gender fuckery and incandescent coolness of the movie Hackers 🧵
a BTS photo of Hackers being filmed in Grand Central Station at a bank of phone booths (a phone booth was a place where you kept a phone you could call from for a quarter, or in other clever ways, before cellphones became popular. it's true! anyway angeline jolie is sticking her tongue out.
agustinventura.bsky.social
En mi época de EM de un equipo de sistemas clasificábamos entre producción externa (usuario final, numero potencial de usuarios desconocidos) y producción interna (equipos de producto). Me alegra saber que tenía sentido.
agustinventura.bsky.social
I've used packages and build tool modules. I'm tempted by JPMS, one day I'll test it, however I'm afraid of side effects on frameworks.
agustinventura.bsky.social
Regarding code assignment: it is either a domain entity or business logic (again, mostly a use case) or it is related to an adapter and then goes in infrastructure tier. I can think here about DTOs, mappers, Spring Data repos... That sort of things.
agustinventura.bsky.social
It is a sort of lingua franca architecture. Honestly, when dealing with simple enough apps I've applied good old 3 tier, but P&A allows clear boundaries and expressing use cases (as input ports, like @aleixmorgadas.dev said).
Reposted by Agustín Ventura
madridjug.es
🚀 ¡Estamos de vuelta tras el verano!
Y qué mejor que arrancar con la presentación de #Java 25 ☕️

Únete a nuestra charla grupal sobre todas las novedades

📅 Mar 16 Sep 19:00
📍 Oficinas de Celonis
🧑🏼‍🤝‍🧑🏼 www.meetup.com/madridjug/ev...

¡No te la pierdas! 👇🏼
agustinventura.bsky.social
Es que si quieres que pongan el mismo esfuerzo lo que quieres es un socio con la misma participación que tú... Y buena suerte con eso también
agustinventura.bsky.social
Pues no lo conocía, no. Por lo poco que he leído en diagonal me parece muy similar pero algo más abstracto, no?
agustinventura.bsky.social
Hola Aleix, puedes usar un solo módulo y ArchUnit, pero entonces tendrías que implementar como reglas de ArchUnit el sentido de acceso de las capas. La ventaja de este enfoque es que entonces tampoco necesitas un módulo aparte para ArchUnit, todo puede estar en el mismo.
agustinventura.bsky.social
La solución final para blindar tu arquitectura: ArchUnit ✅

Una librería para crear tests que vigilan tus reglas arquitectónicas automáticamente. ¡Son pruebas unitarias aplicadas a tus reglas arquitectónicas!
agustinventura.bsky.social
Pero cuidado, ni siquiera los módulos de Gradle te salvan de que, por ejemplo, un Controller llame a un Repository dentro de la misma capa de infrastructure, puenteando el dominio. 😱

Aquí es donde le damos una vuelta de tuerca más...
agustinventura.bsky.social
En el post explico por qué creo que la solución más equilibrada son los módulos de Gradle (o Maven).

Configuro paso a paso el settings.gradle.kts y build.gradle.kts para separar en tres módulos: domain, application e infrastructure de forma limpia y segura. 🛠️
agustinventura.bsky.social
La clave es garantizar que las capas no se "hablen" entre sí indebidamente.

Analizo 3 formas de organizar un proyecto en Java:

1️⃣ Paquetes (Simple pero frágil) 
2️⃣ Módulos de Maven o Gradle (Más robusto pero con más configuración) 
3️⃣ Módulos JPMS (Potente pero complejo)