Java poco a poco ha ido adoptando patrones funcionales en sus diferentes versiones. En el caso de los tipos algebraicos (ADT) lo ha hecho poco a poco, casi en silencio, sin darlo ningún tipo de bombo. Primero fueron los los records, después los sealed class /interface para dar finalmente un soporte completo en Java 21 añadiendo Pattern Matching y el Record Pattern. En la charla explicaremos de manera breve que son los tipos algebraicos, como Java los soporta y los posibles usos, como la creación de DSLs (Domain Specific Language), estructuras de datos inmutables como listas, o codificación de efectos de lado como Optionals, o Try.
Sobre Miguel Rafael Esteban
Miguel Rafael Esteban Lleva más de 20 años trabajando como desarrollador y arquitecto de software en diferentes empresas, lenguajes de programación y plataformas. Una de esas personas que es habitual asistente en los meetups de MadridJUG, con un particular interés y experiencia en la programación funcional.
Did you know you can create an operator for your cluster using Groovy? seriously, you can use it. Like many of you, I’m a software developer who deploys into a cluster my applications, create services, configmaps, etc.... but I always thought that creating an operator to automatize my tasks was reserved for Go people. When I realized that you can also use Groovy, I created SwaggerOperator, a Kubernetes operator in Groovy to maintain the OpenApi definitions of my services. In this talk, I'll show you step-by-step how to create and deploy an operator from scratch using a real use case ... all using our favorite language, Groovy.
About Jorge Aguilera
Software developer in Groovy and Java for a long time in different environments, such as cash machines, bioinformatics environments or Fintech applications As I am passionate about Open Source, I like to share my knowledge by giving talks, mainly in the Madrid Groovy User Group, and publishing tech posts on my blog.
¡Java 21 ya está aquí! y vamos a celebrarlo y revisar lo que trae esta nueva versión de nuestro lenguaje y plataforma favoritos. Y lo haremos coincidiendo con la misma fecha de la release. En esta ocasión, como ya anunciamos antes del verano, tendremos una charla un poco distinta, algo un poco más coral en la que varios de nosotros podremos explicar las distintas funcionalidades que trae esta nueva versión. No solo la charla, después de la sesión, durante el networking, podremos compartir experiencias, comentar qué esperamos que nos aporte esta nueva versión o cuál es la funcionalidad que crees que supondrá un verdadero cambio en tu forma de programar. ¡Vente! ¡Te esperamos!
It may surprise you to learn that we developers are a patient, tolerant species. People pay us to do what we enjoy - write code and create working applications. In return, we will put up with all sorts of blockages and toil that get in the way of this - long build times, flaky tests, hard-to-debug toolchain failures and so on.
Is this truly the price we need to pay? Could there be a better world, where the build is as fast as it could possibly be? A world where problems that affect many developers are quickly identified and fixed?
Welcome to the world of Developer Productivity Engineering, where we can get computers to do what they’re good at (automation) to make developers’ lives easier, and make us more effective at our jobs. And while developer joy may be a difficult thing to sell to decision-makers, effective developers who are making the best use of their time, and their hardware, have a direct impact on an organization’s ROI.
In this talk, Trisha will explore what DPE is, give you some practical ways to get started, and discuss ways to help the leaders in your organisation to understand the enormous value DPE could unlock.
About Trisha
Trisha is a software engineer, Java Champion and author. Trisha has developed Java applications for a range of industries of all sizes, including finance, manufacturing and non-profit, and she's a lead developer advocate at Gradle. She has expertise in Java high-performance systems and dabbles with Open Source development.
Trisha’s exceptionally passionate about sharing things that help real developers. That might be: getting them up to speed on the latest version of Java; teaching them tips and tricks to improve their productivity; or promoting healthy technical communities across the globe. Trisha values helping all developers level up their career and skills at every step of their journey.
Read more from Trisha in the books “Head First Java”, “Getting to Know IntelliJ IDEA”, “97 Things Every Java Developer Should Know” and “What to Look for in a Code Review”.
¿Alguna vez has leído un test y has pensado que era muy complejo de entender lo que estabas aseverando? A mi sí, y por eso, tras investigar un poco, creo haber dado con la clave que me ayuda a que mis tests hablen el mismo idioma que mi código y cuenten las mismas historias.
Durante esta charla, veremos qué herramientas nos provee AssertJ para facilitar la comprensión de los tests y que nuestros tests no sólo comprueben datos.
Jorge Aguiar Martín
Desarrollador de software en Lean Mind, músico en la banda del pueblo y amante de los animales. Me apasiona la artesanía del software y buenas prácticas, así como serverless y las arquitecturas orientadas a eventos.
También co-organizo el meetup de Agile & Craftsmanship Canarias para devolver a la comunidad lo que me ha dado a mi.
En esta charla, Sergio del Amo introduce CRaC (Coordinated Restore at Checkpoint) y Micronaut CRaC:
Introducción a CRaC (Coordinated Restore at Checkpoint)
La integración de CRaC en Micronaut framework.
Micronaut CRaC y AWS Lambda SnapStart.
Opciones de distribución para CRaC y Micronaut framework.
En esta charla aprenderás que es CRaC, sus beneficios e inconvenientes y como usarlo en tus aplicaciones.
Sobre Sergio Sergio del Amo es Micronaut Product Development Lead en Unity Foundation. Es miembro del Micronaut Foundation Board Of Directors y del Technology Advisory Board. Sergio es un core committer del framework desde su creación. Ha escrito o editado casi todas las guías de Micronaut framework y contribuido a módulos como seguridad, AWS, Views, RSS, CRaC, MicroStream, Problem+JSON, Email,.. Sergio da charlas a menudo en conferencias y grupos de usuario sobre Micronaut Framework y otras tecnologías del ecosistema Java. Además es un fan de la automatización y el ecosistema de Apple.
Como en otros muchos lenguajes, en Java la memoria heap es gestionada. Esto es, el programa reserva memoria explícitamente, pero no indica cuando liberarla y delega en el recolector de basura.
Esto tiene grandes ventajas, pero también tiene algunos inconvenientes que se hacen más problemáticos cuando el programa tiene que trabajar con gran cantidad de datos o procesarlos muy rápido. Por ejemplo sistemas como Apache Kafka o bases de datos como Apache Pinot evitan en gran medida usar memoria gestionada y en su lugar reservan y liberan memoria manualmente en lo que se conoce como memoria offheap.
Esta es una charla técnica y práctica sobre cómo usar esta memoria en la JVM, cuándo merece la pena usarla y cómo afecta a nuestro código y nuestros despliegues incluyendo ejemplos en aplicaciones y librerías reales.
Sobre Gonzalo
Soy ingeniero de software especializado en desarrollar base datos en Java. Me encanta destripar la magia que hay detrás de las librerías y frameworks que uso en mi día a día y entender cómo diseñar y programar sistemas de alto rendimiento. He trabajado contribuyendo en ToroDB, Logtrust/Devo y Apache Pinot.