tag:blogger.com,1999:blog-27583364401596542622024-03-05T16:43:19.204+01:00MadridGUGMadrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.comBlogger87125tag:blogger.com,1999:blog-2758336440159654262.post-36345666230970909402024-02-22T19:00:00.005+01:002024-02-22T19:00:00.142+01:00The Emperor Has No Docs<p><i>Software, like board games, needs instructions. Should I draw a card or play my card first? Will the connection be reused, or should I use a connection pool? In heroic tales, a protagonist needs directions from elder scrolls to user magical artifacts and complete their mission.In this talk, Ignasi will explain his journey from neglecting docs to considering them an important step on the software delivery cycle.<br /><br />Ignasi will share tips ant tricks he’s been collecting over the years and focus on which habits he adopted to make sure he doesn’t forget docs. Ignasi will also share the types of audience and cases where documentation can save time and money to your organization.<br /><br />After discussing the importance of documentation within several teams, Ignasi will try to counter the usual arguments and excuses those who don’t document often use. No, the code is not the documentation, the code doesn’t tell the whole story. You can have a strong type system restricting how to call an API and still be an unusable API: “Hmm, I need a Token here, where do I get it?”.<br /><br />Join Ignasi for a talk about board games, child tales, and embarrassing PRs. This talk targets beginner/daily user/experts alike.</i></p><p></p><p><b>Video</b></p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/06HDbTK4oH8" width="640"></iframe><br />
</center><p><br /></p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-82225174467715573502024-02-08T19:00:00.007+01:002024-02-08T19:00:00.229+01:00Clean Code, ¿de verdad vale la pena?<i>Como developers participamos cada día en la evolución de software, ya sea añadiendo nuevas e interesantes funcionalidades, así como adaptando las actuales o incluso integrando con sistemas o plataformas externos.<br />Pero, ponemos el mismo esfuerzo en hacer que nuestro código sea robusto, mantenible, consistente, seguro, claro y bien probado? Realmente vale la pena invertir tiempo en ello ?<br />En esta charla seguiremos la historia de nuestro héroe y su lucha contra el monstruo del bad code y veremos la importancia del "clean code" así como las ventajas que aporta (y las penas que evita) introduciendo conceptos como el Clean As You Code y herramientas free y opensource.<br />Prepárate para una historia de aventuras, monstruos, luchas, técnicas y victorias al estilo de Juego de Tronos ;)<br />Clean Code va mas allá del software que se produce y de su lenguaje de programación.<br />Es parte fundamental y de crecimiento en la figura de un developer, algo que nos representa sin importar donde o con que lenguaje trabajemos. No perdamos el hilo.</i><p></p><p><b>About Jonathan Vila<br /></b></p><p>Java Champion, Organiser at BarcelonaJUG and cofounder of JBCNConf and DevBcn conferences in Barcelona.<br />Currently working as Developer Advocate in Java for Sonarsource (SonarLint, SonarQube), focused on Clean Code & Security.<br />Former SE at Tetrate, SSE at Red Hat in Keycloak team, SSE at Ocado Technology, SSE at Netcentric.<br />I have worked as a (paid) developer since the first release of The Secret of Monkey Island, about 30 years ago using Go on Kubernetes for a Service Mesh layer on top of Istio | Java on Kubernetes for K8s Operator, Rest API, using Quarkus, GraalVM, Apache Camel | PHP | VB | Python | Pascal | C<br />Very interested in simulated reality, psychology and Java.<br /></p>
<p><b>Video</b></p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/w1qwKE5Mji8" width="640"></iframe><br />
</center><p></p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-72849996371269305762023-11-28T19:00:00.002+01:002024-01-28T11:48:17.154+01:00Couchbase through Examples with Spring Boot<i>You might not yet be familiar with Couchbase. It's a distributed JSON database with an integrated caching layer. It features a variety of services allowing developers to choose, to make their own trade-off, for different use cases like Key/Value, Cache, Document, SQL, Fulltext search, Analytics, Eventing, Data synchronization and more. All in one box. It's more of a Data Platform than a Database. In this presentation, we will offer a tour of Couchbase’s features by building an application using Spring, Liquibase and testcontainer.</i><p></p><p><b>About Laurent Doguin<br /></b></p><p>Laurent is a nerdy metalhead who lives in Paris. He mostly writes code in Java and structured text in AsciiDoc, and often talks about data, reactive programming and other buzzwordy stuff. He is also a former Developer Advocate for Clever Cloud and Nuxeo where he devoted his time and expertise to helping those communities grow bigger and stronger. He now runs Developer Relations at Couchbase.<br /></p>
<p><b>Video</b></p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/J269QwpcunM" width="640"></iframe><br />
</center><p></p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-4377948799415769022023-11-14T19:00:00.002+01:002024-01-28T11:46:32.073+01:00Primeros pasos con Kotlin<i>En esta sesión, de la mano de Juan José Aguililla, vamos a poner la vista en uno de esos lenguajes de la JVM que lleva un tiempo subiendo en popularidad gracias a su potencia, su mayor concisión en la sintáxis y su facilidad de aprendizaje.<br />Y esperamos que esta sea la primera de una nueva serie de charlas sobre Kotlin.</i><p></p><p><b>Video</b></p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/IgsPvPrc3AA" width="640"></iframe><br />
</center><p></p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-38049125013346724482023-10-24T19:00:00.002+02:002024-01-28T11:44:25.060+01:00Tipos Algebraicos en Java 21<i>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.</i><p></p><p><b>Sobre Miguel Rafael Esteban</b></p><p>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.<br /></p>
<p><b>Video</b></p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/7jz-qradXpY" width="640"></iframe><br />
</center><p></p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-30424520911937063272023-10-03T19:00:00.002+02:002024-01-28T11:42:22.064+01:00Let Groovy operate your k8s cluster<i>Did you know you can create an operator for your cluster using Groovy? seriously, you can use it.<br />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.<br />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.<br />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.</i><p></p><p><b>About Jorge Aguilera<br /></b></p><p>Software developer in Groovy and Java for a long time in different environments, such as cash machines, bioinformatics environments or Fintech applications<br />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.<br /></p>
<p><b>Video</b></p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/xajPfakzOBg" width="640"></iframe><br />
</center><p></p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-1647422902508573262023-09-19T19:00:00.002+02:002024-01-28T11:40:45.524+01:00Novedades Java 21<i>¡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.<br />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.<br />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.<br />¡Vente! ¡Te esperamos!</i><p></p><p><b>Video</b></p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/6j3K5K5V_AU" width="640"></iframe><br />
</center><p></p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-48929245761576263952023-09-13T19:00:00.002+02:002024-01-28T11:38:54.401+01:00Developer Productivity Engineering: What's in it for me?<i>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.<br /><br />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?<br /><br />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.<br /><br />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.</i><p></p><p><b>About Trisha</b></p><p>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.<br /><br />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.<br /><br />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”.<br /></p>
<p><b>Video</b></p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/nw1xnDxA_yI" width="640"></iframe><br />
</center><p></p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-46111591186581213472023-06-15T19:00:00.002+02:002024-01-28T11:34:52.938+01:00Mejorando nuestras aserciones sobre el dominio con AssertJ<p>¿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.</p>
<p><b>Jorge Aguiar Martín</b></p>
<p>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.</p>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/E27iK122Cl8" width="640"></iframe><br />
</center><p></p>
Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-15762199147091948192023-05-23T19:00:00.007+02:002023-05-26T11:35:14.772+02:00Micronaut CRaC<p>En esta charla, Sergio del Amo introduce CRaC (Coordinated Restore at Checkpoint) y Micronaut CRaC: </p><p></p><ul style="text-align: left;"><li>Introducción a CRaC (Coordinated Restore at Checkpoint)</li><li>La integración de CRaC en Micronaut framework.</li><li>Micronaut CRaC y AWS Lambda SnapStart.</li><li>Opciones de distribución para CRaC y Micronaut framework.</li></ul>En esta charla aprenderás que es CRaC, sus beneficios e inconvenientes y como usarlo en tus aplicaciones.<p></p><p><b>Sobre Sergio<br /></b>Sergio del Amo es Micronaut Product Development Lead en Unity Foundation. Es miembro del Micronaut Foundation Board Of Directors y del Technology Advisory Board.<br />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,..<br />Sergio <a href="https://sergiodelamo.com/blog/tag/talk.html">da charlas a menudo en conferencias y grupos de usuario sobre Micronaut Framework y otras tecnologías del ecosistema Java</a>. Además es un fan de la automatización y el ecosistema de Apple.</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRcHH7I1WvQY9PQYOiJ1_VhAjhRXGVYjHKuO4iLzzIzuOMYONrzap8qDogimLQfuxhyNSu8Ty-onzuWPlrzBpqJ3GUMG4WrK_LLFuqddIzscSN-q8IRxQ-kCIXvFs-ZYkTuYcSHfRtHXJ3MUDc9so_fyez5hbLM75HAEstXFJ8AujYiZR0df6GISaCMA/s4000/IMG20230523191143.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="3000" data-original-width="4000" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRcHH7I1WvQY9PQYOiJ1_VhAjhRXGVYjHKuO4iLzzIzuOMYONrzap8qDogimLQfuxhyNSu8Ty-onzuWPlrzBpqJ3GUMG4WrK_LLFuqddIzscSN-q8IRxQ-kCIXvFs-ZYkTuYcSHfRtHXJ3MUDc9so_fyez5hbLM75HAEstXFJ8AujYiZR0df6GISaCMA/s600/IMG20230523191143.jpg"/></a></div>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/O_jxlrBgz-Y" width="640"></iframe><br />
</center><p></p>
<p><br /></p>
Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-83991437136242431442023-04-11T19:00:00.004+02:002023-04-17T23:38:54.435+02:00Gestionando memoria en la JVM como si fuera C<p>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.</p><p>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 <i>offheap</i>.</p><p>Esta es una charla <b>técnica</b> y <b>práctica</b> 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.</p><p><b>Sobre Gonzalo</b>
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.</p><p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/EDZdlF9V79k" width="640"></iframe><br />
</center><p></p>
<p>Slides: <a href="https://slidr.io/gortiz/using-memory-in-the-jvm-as-it-was-c#1" target="_blank" rel="nofollow">https://slidr.io/gortiz/using-memory-in-the-jvm-as-it-was-c#1</a></p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-90312659516269619722023-03-28T19:00:00.015+02:002024-01-28T11:35:24.777+01:00Spring + Native + Kubernetes = Sí se puede!<p>Este mes hemos tenido Micronaut, Quarkus en Kubernetes, así que ahora toca a Spring Boot🍃.
En esta sesión tendremos otra perspectiva de como podemos usar Java en Kuberntes sin sufrimiento alguno.
Siguiendo los mismo patrones y herramientas que ya conocemos, empezaremos desde el segundo mejor sitio de Internet 👉 https://start.spring.io, crearemos una aplicación de zero y terminaremos desplegando un nuevo Operador de forma nativa en Kubernetes. ¿Aceptas el reto?
Si no tienes experiencia con Kubernetes o Operadores, únete y lanza todas tus dudas a nuestro presentador!.</p><p><b>Ponente</b><br />Abel Salgado Romero, Ingeniero de Software @ Spring Commercial Team desde 2020. Actualmente trabajando en llevar Spring Cloud Gateway a Kubernetes de forma nativa y facil usando Operadores. Fuera del trabajo, miembro de Barcelona JUG, Open-source advocate, Linux user/gamer y mentenedor de Asciidoctor Maven Plugin.
</p><p><br /></p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/mPqlwkdZtzU" width="640"></iframe><br />
</center><p></p><p>
<a href="https://docs.google.com/presentation/d/1PWeBxzNH7HNHAMmmLAZ9IVtRnGpYQqlv199XIAmQYxM/edit?usp=sharing " target="_blank">Presentación</a> y <a href="https://github.com/abelsromero/spring-operator-demo" target="_blank">código</a> </p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-38629039766851882972023-03-07T19:00:00.002+01:002023-03-08T09:16:10.366+01:00Desarrollo local de aplicaciones Java en Kubernetes<p>En esta charla, veremos cómo utilizar una nueva característica de Eclipse JKube para mejorar nuestra experiencia de desarrollo con Kubernetes. "remote-dev" que es como se llama esta nueva funcionalidad, nos permite programar nuestra aplicación desde el entorno local como si éste se tratase de un contenedor más del cluster. Si combinamos esto con tecnologías como Quarkus que nos permiten programar la aplicación en vivo, podemos obtener un feedback instantáneo del comportamiento de nuestra aplicación cuando se integra con otros componentes. Durante la demo, Marc nos mostrará cómo podemos utilizar esto con distintos frameworks y tecnologías incluso más allá de Java.</p><p> </p>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/NjkNszIr3QQ" width="640"></iframe><br />
</center><p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com1tag:blogger.com,1999:blog-2758336440159654262.post-1195627045302050002023-03-01T19:00:00.001+01:002023-03-08T09:13:40.260+01:00Java de Alto Rendimiento: cuando las librerías estándar son lentas<p>QuestDB es una base de datos open source especializada en series temporales y optimizada para ser muy rápida. Está implementada casi por completo en JAVA, lo que nos planteaba varios retos ya que queríamos tener rendimiento predecible y escapar del garbage collector.<br /><br />Además, queríamos aprovechar al máximo las capacidades del hardware y los sistemas operativos modernos, y trabajar tan a bajo nivel como fuera posible. En la práctica esto significa que nuestro JAVA es bastante atípico y que tuvimos que reescribir una gran parte de las librerías estándar.<br /><br />En esta sesión te contaremos la arquitectura general del proyecto y veremos el ciclo de ejecución de una query para entender algunas de las optimizaciones que hemos desarrollado y el efecto que tienen en el rendimiento.<br /><br /></p>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/zcGFfsSQnaQ" width="640"></iframe><br />
</center><p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-27116944507098375352023-02-23T19:00:00.003+01:002023-03-08T09:10:05.240+01:00Implementando operadores de Kubernetes en Java con Micronaut<p>Sesión conjunta entre Madrid-JUG y Madrid-GUG con Álvaro Sánchez-Mariscal.<br /><br />Micronaut es un framework para la JVM moderno, full stack y diseñado para construir aplicaciones modulares, eficientes y fácilmente testeables.<br /><br />Micronaut soporta un amplio abanico de tecnologías, una de las cuales es Kubernetes, permitiendo a los desarrolladores de aplicaciones construir aplicaciones cloud native que sean desplegadas en un cluster de Kubernetes, y que puedan beneficiarse de funcionalidades como configuración distribuida y descubrimiento de servicios (service discovery). Una de las funcionalidades del módulo Micronaut Kubernetes es el soporte incluido para implementar operadores de Kubernetes.<br /><br />El esta charla, el commiter de Micronaut y autor de Micronaut Kubernetes Álvaro Sánchez-Mariscal, demonstrará como implementar operadores de Kubernetes en Java con Micronaut. Habrá una demostración en vivo que incluye lo siguiente:<br /><br />- Una aplicación, escrita en Micronaut, cuyo propósito es ser desplegada a través de un operador de Kubernetes.<br /><br />- Otra aplicación, también escrita en Micronaut, que contiene la lógica del operador de Kubernetes, y que creará Kubernetes deployments de la aplicación anterior.<br />- Un CRD (Kubernetes custom resource definition) que se usará para gestionar el despliegue de la primera aplicación, y ante el cual reaccionará el operador de Kubernetes.<br /><br /></p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYDmRY2OO22_G9QYCRNxDbcZ_pwr8iYGDFj49vxpFhw3GOSd5lv_NAavCLJjRAho3vMb0pRJ1jOJE3bnlOy7Y25G-7RtKBhgLMAzmZICMTw3HWiDxim3aKSM6Pw1rZ5MN7RnJPCsKL2ty_ceXxZIOvN1lTLLwgV2cBuiV_k-e_LOVN6_TGZGUczvYxEQ/s4000/IMG20230223183603.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="3000" data-original-width="4000" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYDmRY2OO22_G9QYCRNxDbcZ_pwr8iYGDFj49vxpFhw3GOSd5lv_NAavCLJjRAho3vMb0pRJ1jOJE3bnlOy7Y25G-7RtKBhgLMAzmZICMTw3HWiDxim3aKSM6Pw1rZ5MN7RnJPCsKL2ty_ceXxZIOvN1lTLLwgV2cBuiV_k-e_LOVN6_TGZGUczvYxEQ/s600/IMG20230223183603.jpg"/></a></div>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/lI2JwESAmKg" width="640"></iframe><br />
</center><p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com2tag:blogger.com,1999:blog-2758336440159654262.post-29922559203496267362022-11-16T19:00:00.004+01:002023-03-08T09:06:34.466+01:00Proxy Pattern Deep Dive<p>Everybody knows the proxy pattern, but how can you use it effectively? What kinds of proxy patterns are available and how can you build patterns more effectively with these? Why is reflection needed for this? Most importantly, how can we only use the Core JDK?<br /><br />In this talk we will start from the basics and move straight on to DynamicProxies, Dynamic-/Static-ObjectAdapter, DynamicStaticProxies at runtime and more.<br />Would it influence your team members to start using functional aspects in your Core Java Project?<br />How we can combine this with other pattern, Invokedynamic or maybe with another language such as Kotlin?<br /><br />We will have a detailed view on the possibilities to reduce the amount of code with this Pattern, and we will see how we could make it more generic.<br />One of the main points will be the combination of this patterns with for example NestedBuilder-Pattern and more.<br />After this you will have a better understanding of this pattern group from the practical point of usage. All pattern are build up from scratch, to give a feeling of the way to develop your own pattern based on this talk, or how you could change it for the needs of your project.<br /><br />We will have a deep dive into this pattern group, which I am sure you will enjoy. This talk is based on the German book "Dynamic Proxies" written by Dr. Heinz Kabutz and myself.<br /><br /><b>About Sven Ruppert</b>:<br />Sven spent almost 20 years as a consultant worldwide in automotive, aerospace, insurance, banking, UN and WorldBank before joining JFrog as a developer advocate. Sven has been giving lectures at international conferences and regularly publishing online and in classic magazines and books for nearly ten years. As a developer advocate for JFrog, Sven deals with DevSecOps, cybersecurity and cyberdefense, and traditional developer topics such as Core Java/Kotlin, mutation, and distributed unit testing.</p>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/0J13KatA3NY" width="640"></iframe><br />
</center><p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-38704985701966918522022-09-20T19:00:00.004+02:002022-10-13T13:54:53.451+02:00September 2022: Groogle, when Google meet Groovy<p>After the summer break we restart our monthly-ish meetups. In this time Jorge Aguilera (<a href="https://twitter.com/jagedn">@pvidasoftware</a>) will give a talk in <b>ENGLISH</b> about Groogle, a Groovy DSL we built on top of Google APIs.
<p>
<i>After a while working with the Google API Java Library I realized I was repeating lot of lines of code in every project so I wrote a small DSL (domain specific language), who offer the power of these APIs to users without specific programming knowledges
Groogle is a DSL in Groovy who allows to the user work with Drive, Sheet, Gmail and more Google Services without the complexity of Java projects. Only edit the script with your editor and run it from a terminal.</i>
<p><i>In this talk I'll guide to you how easy is to create a new DSL using Groovy and let the user the freedom to write programs they understand basically because they are using their own language.</i></p>
<center>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUH9X1qycRsuo5zE1HnT5g_meKK-UVB-Qej3RYFPgtOuyxZeMzo9RyOkSMIv2lFFQC4DKHeUB4gAjC2CyGTMDTjFJ4pA-1XEmmMvNe6ilyY_TVY3JzoCZypEOP1VEn_gZ9VmRQpXXCdTP_h4X3igL7ptvpJsn0V6E9eI3zql6NpUqbrlT7puNHvjVSuQ/s4000/IMG20220920190829.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="3000" data-original-width="4000" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUH9X1qycRsuo5zE1HnT5g_meKK-UVB-Qej3RYFPgtOuyxZeMzo9RyOkSMIv2lFFQC4DKHeUB4gAjC2CyGTMDTjFJ4pA-1XEmmMvNe6ilyY_TVY3JzoCZypEOP1VEn_gZ9VmRQpXXCdTP_h4X3igL7ptvpJsn0V6E9eI3zql6NpUqbrlT7puNHvjVSuQ/s600/IMG20220920190829.jpg"/></a></div>
</center>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/fuTSO8VXyGI" width="640"></iframe><br />
</center><p>
Source code: <a href="https://gitlab.com/groogle" target="_blank">https://gitlab.com/groogle</a><br />
Slides: <a href="https://groogle.gitlab.io/slides/apacheConf.html" target="_blank">https://groogle.gitlab.io/slides/apacheConf.html</a><br />
--<br />Enlace al meetup: <a href="https://www.meetup.com/es-ES/madrid-gug/events/285795623/">https://www.meetup.com/es-ES/madrid-gug/events/288410861/</a></p>
<p></p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-61879008118313909162022-06-22T19:00:00.002+02:002023-03-08T09:03:14.450+01:00Junio 2022: Demistifying "Event" related software concepts and methodologies<p>No matter exactly what type of software you are building, at least a few terms starting with the word "event" must have tried to invade your professional space. "Event-driven" has already evolved to the level of a magical buzzword in IT marketing and sales activities.</p><p>But the tech terms list is much longer. It includes "event streaming","event storming","event sourcing","event store", "event modeling","event notification","event-carried state transfer",...</p><p>Getting dizzy already? Don't worry. Many developers feel this way.</p><p>This talk is an “event-dizziness” cure. It'll walk you through the entire "event land" and explain what is what. It’ll discuss the origins, intention, and applicability of each term. So the next time you face the "event-driven" label, you can ask the right questions and make educated choices.</p><p><b>About the Speaker: Milen Dyankov.</b></p><p>Milen is a Developer Advocate at AxonIQ on a mission to help fellow Java developers around the globe design and build clean, modular, and future-proof software! After more than 20 years of developing, designing, and consulting on various solutions for leading European companies, he currently spends most of his time supporting communities and organizations, speaking at conferences all over the world and researching his favorite topics around Java modularity, μservices, distributed systems architecture, and software craftsmanship.</p><p></p><p>
<p><b>Video</b>:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/ZQKi7G_ap4E" width="640"></iframe><br />
</center><p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-5504577105420267352022-06-07T19:00:00.044+02:002022-06-10T08:32:11.405+02:00Madrid-GUG Junio 2022: Tomando el pulso a la ciudad<p>Volvemos con nuestro primer meetup presencial desde Febrero de 2020. Nuestro compañero Jorge Aguilera (<a href="https://twitter.com/jagedn">@pvidasoftware</a>) nos va a hablar sobre Kafka, Micronaut y Okteto en una charla muy interesante y práctica.</p><p><i>Tomando el pulso a la ciudad: Jugando con Micronaut, Kafka y Okteto para analizar en tiempo real el estado del tráfico de Madrid.</i></p><p>El Ayuntamiento de Madrid dispone de un OpenData, que se refresca cada 5 minutos, con las mediciones del estado del tráfico en las calles (cerca de 4000 puntos). Por otra parte existen cerca de 500 cámaras repartidas por la ciudad accesibles que se actualizan también en tiempo casi real.</p><p>En esta charla vamos a desarrollarnos un sistema tal que: <br />- descargue en tiempo real las mediciones<br />- mantenga un estado de cada una de ellas de los últimos 20-30 minutos<br />- si detecta saturación en algún punto, capturará las cámaras cercanas y mandará una notificación a un canal.</p><p>Para ello crearemos una serie de servicios Micronaut que hablarán entre ellos de forma desacoplada usando Kafka y todos ellos en un cluster Kubernetes.</p><p>La idea es desarrollarlo en directo desde cero y desplegarlo en producción en Okteto (así que si algo puede fallar, no lo dudes, lo hará)
</p><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqBYLTGX4zmpHDOkHPZT-Vl88HPKtBPHsBW6gInA1Zt3FMFzvUxNJ_ZroaJquqKHOXe4COZWPloPhieGBM1J38LwRshkHTfCjY2SK0d1QT4jdd6sSokA8LPgdvy_mn2mMkivEx4SZ2evr0DLFFJzsm936HNwYrH2SOgqp-JXON3vTg6UzoS7JnQ98mSw/s4608/IMG_20220607_191011.jpg" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="2592" data-original-width="4608" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqBYLTGX4zmpHDOkHPZT-Vl88HPKtBPHsBW6gInA1Zt3FMFzvUxNJ_ZroaJquqKHOXe4COZWPloPhieGBM1J38LwRshkHTfCjY2SK0d1QT4jdd6sSokA8LPgdvy_mn2mMkivEx4SZ2evr0DLFFJzsm936HNwYrH2SOgqp-JXON3vTg6UzoS7JnQ98mSw/s600/IMG_20220607_191011.jpg" width="600" /></a></div>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/ddK5nNwB6C4" width="640"></iframe><br />
</center><p>
Código: <a href="https://puravida-software.gitlab.io/pulso-madrid/" target="_blank">https://puravida-software.gitlab.io/pulso-madrid/</a><br />
Documentacion: <a href="https://gitlab.com/puravida-software/pulso-madrid" target="_blank">https://gitlab.com/puravida-software/pulso-madrid</a><br />
--<br />Enlace al meetup: <a href="https://www.meetup.com/es-ES/madrid-gug/events/285795623/">https://www.meetup.com/es-ES/madrid-gug/events/285795623/</a></p>
<p></p>Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com1tag:blogger.com,1999:blog-2758336440159654262.post-49237899311162042842022-04-26T12:00:00.017+02:002022-04-27T09:10:34.736+02:00Madrid-GUG Abril 2022 (Online): Groovy 4 UpdateWe have a new guest in our group. This time VP Apache Groovy and Chair of the Apache Groovy PMC, Dr Paul King (<a href="https://twitter.com/paulk_asert">@paulk_asert</a>) will talk (in English) about "Groovy 4 Update":
<br/><br/>
<i>This talk looks at the latest features in Groovy 4. Groovy 4 builds on the reworked parrot parser introduced in Groovy 3 adding records, sealed classes, switch expressions and a language integrated query mechanism. In addition, numerous large scale refactoring efforts streamline the Groovy codebase, there are new built-in type checkers and macro methods, a JavaShell, design-by-contract support, TOML parsing and building support, and alignment of numerous features with Java up to JDK 17.
<br/><br/>
<i>About Paul:</i>
Dr Paul King is a JavaOne Rockstar who has been contributing to open source projects for over 30 years. He is an active committer on numerous projects including Groovy, GPars and Gradle. Paul speaks at international conferences, publishes in software magazines and journals, and is a co-author of Manning’s best-seller: Groovy in Action, 2nd Edition. He is also VP Apache Groovy and Chair of the Apache Groovy PMC.
<br/><br/>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIt0nCX4YHp0RoiakhKF7TDgpnx4CPWFqjLvnBRTSiDEmaVwxwjk-W02TP1pyeskuK5L-WMZrbTrSLqTwMyJxVzBqmTxAH3MiWmgEDoVVGfr0l3FQK25ftu0qvoVli9Kl59uDmyso8Y0hFuJKh4oP3m--fz0ydbsxIjaIXosl26eoBZFKoiJylUsETgA/s2555/Paul.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1382" data-original-width="2555" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIt0nCX4YHp0RoiakhKF7TDgpnx4CPWFqjLvnBRTSiDEmaVwxwjk-W02TP1pyeskuK5L-WMZrbTrSLqTwMyJxVzBqmTxAH3MiWmgEDoVVGfr0l3FQK25ftu0qvoVli9Kl59uDmyso8Y0hFuJKh4oP3m--fz0ydbsxIjaIXosl26eoBZFKoiJylUsETgA/s600/Paul.jpg"/></a></div>
<br/><br/>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/I6VCpyrwLv0 " width="640"></iframe><br />
</center>
<p>Slides:
</p><center>
<script async class="speakerdeck-embed" data-id="d46994551ba04be0a7099779b57db542" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>
</center>
--
<br />Enlace al meetup: <a href="https://www.meetup.com/es-ES/madrid-gug/events/285134197/">https://www.meetup.com/es-ES/madrid-gug/events/285134197/</a></p>
Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-48058838526635394812021-12-15T15:00:00.004+01:002021-12-16T10:01:03.918+01:00Madrid-GUG Diciembre 2021 (Online): What’s new in Grails 5We have a new guest in our group. This time Grails Product Lead, Puneet Behl (<a href="https://twitter.com/puneetbhl">@puneetbhl</a>) will talk (in English) about "What's new in Grails 5":
<br/><br/>
<i>In this session, we will highlight what’s new in Grails 5, Micronaut Integration, Groovy 3, and the current developments around Grails framework.
- What’s new in Grails 5
- Differences between Grails 4 and Grails 5
- Key upgrades and new features
- Publishing Grails Plugins
- What Micronaut integration means for you
- What to expect from the upgrade effort going forward</i>
<br/><br/><br/>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg9UY51pArTAvy_k7nS_fm9QsVblQ_rjtET0b7tUBK3JhN7PO6vfE6MAUL2mFNuEBPZnkJasQiEhtBJ2ufi1DDnXvhgAEJBo8XamVW0C2unObMXkzxJVpRumO75yiwQMz_cUOpYvNBG5H5q9xmJkhkMogyR6ouzuYyR6dfKMZDPHjsj7poW2UDMekJv2w=s2555" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1314" data-original-width="2555" src="https://blogger.googleusercontent.com/img/a/AVvXsEg9UY51pArTAvy_k7nS_fm9QsVblQ_rjtET0b7tUBK3JhN7PO6vfE6MAUL2mFNuEBPZnkJasQiEhtBJ2ufi1DDnXvhgAEJBo8XamVW0C2unObMXkzxJVpRumO75yiwQMz_cUOpYvNBG5H5q9xmJkhkMogyR6ouzuYyR6dfKMZDPHjsj7poW2UDMekJv2w=s600"/></a></div>
<center>
<iframe src="//www.slideshare.net/slideshow/embed_code/key/dQPTZB0XvgUwYY" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/puneetbehl/whats-new-in-grails-framework-5" title="What’s new in grails framework 5?" target="_blank">What’s new in grails framework 5?</a> </strong> from <strong><a href="https://www.slideshare.net/puneetbehl" target="_blank">Puneet Behl</a></strong> </div>
</center>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/fX-HWRhk8DQ " width="640"></iframe><br />
</center><p>
--
<br />Enlace al meetup: <a href="https://www.meetup.com/es-ES/madrid-gug/events/282444513/">https://www.meetup.com/es-ES/madrid-gug/events/282444513/</a></p>
Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-4698178988848377882021-11-17T18:00:00.006+01:002021-11-18T09:33:28.014+01:00Madrid-GUG Noviembre 2021 (Online): Micronaut + AOP: A Love StoryWe have a new guest in our group. This time Micronaut Product Lead at OCI, James Kleeh (<a href="https://twitter.com/Schlogen">@Schlogen</a>) will talk (in English) about Micronaut framework and AOP:
<br/><br/>
<i>Micronaut framework uses Aspect Oriented Programming to make the lives of developers easier by allowing a simple interface to query a database, send a message with Kafka, send an HTTP request, and much more. Join me to see how AOP in Micronaut framework works, what use cases it excels at, and how you can leverage it to write custom integrations with other technologies.</i>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiza9Xib9GsVhfX1da6ikywGeDM6pQAe6_1nJsIqJQ4fHh5IA-YbU80vz2NYhff6JM1MhGcMY0SibLz1F1WoyTEYAQnTbjzRGji9ARj652chlizy0Kjfv4UzyGyMAx3ZVMsnqq-xlkXA2l/s2048/Micronaut+%252B+AOP%253A+A+Love+Story.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1153" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiza9Xib9GsVhfX1da6ikywGeDM6pQAe6_1nJsIqJQ4fHh5IA-YbU80vz2NYhff6JM1MhGcMY0SibLz1F1WoyTEYAQnTbjzRGji9ARj652chlizy0Kjfv4UzyGyMAx3ZVMsnqq-xlkXA2l/s600/Micronaut+%252B+AOP%253A+A+Love+Story.png"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqjv89jHDV83EECm9UFAZDDcLP6rvEQIt0wkmfzeljG1-5Zd8xmE6b0AbiNd1fjeULOjbGbOqgh9KO2a1f5QLVLNOxt91yXMhyphenhyphentgR45YBItW055bvj5BGXcPLqZE6IqKBeR0TVSLNmr0Bv/s2048/james.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1153" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqjv89jHDV83EECm9UFAZDDcLP6rvEQIt0wkmfzeljG1-5Zd8xmE6b0AbiNd1fjeULOjbGbOqgh9KO2a1f5QLVLNOxt91yXMhyphenhyphentgR45YBItW055bvj5BGXcPLqZE6IqKBeR0TVSLNmr0Bv/s600/james.png"/></a></div>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/95tSC4r9I9g " width="640"></iframe><br />
</center><p>
--
<br />Enlace al meetup: <a href="https://www.meetup.com/es-ES/madrid-gug/events/281838613/">https://www.meetup.com/es-ES/madrid-gug/events/281838613/</a></p>
Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-64011147863081147022021-10-14T18:00:00.009+02:002021-11-17T23:17:56.342+01:00Madrid-GUG Octubre 2021: Micronaut "Ask Me Anything"Volvemos a la carga con un nuevo formato. Vamos a organizar un Ask Me Anything (AMA) con los committers de Micronaut Iván López (<a href="https://twitter.com/ilopmar">@ilopmar</a>) y Sergio del Amo (<a href="https://twitter.com/sdelamo">@sdelamo</a>). El maestro de ceremonias será Jorge Aguilera (<a href="https://twitter.com/jagedn">@jagedn</a>).
<br/><br/>
Queremos que puedas preguntar todo aquello que siempre te ha pasado por la cabeza pero que nunca te has atrevido: cómo se organiza el equipo, cómo se prioriza, cómo se deciden las issues, quién trabaja en qué, cómo es trabajar en un proyecto opensource, cotilleos, herramientas,... ¡Lo que quieras!
<br/><br/>
Vamos a emitirlo en directo en nuestro canal de Youtube y podréis hacer las preguntas directamente en el chat.
<br/>
<br/>
<center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/NfH7A29c5SQ" width="640"></iframe><br />Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-74166028314399153752021-04-20T18:00:00.004+02:002021-04-22T08:42:03.257+02:00Madrid-GUG Abril 2021 (Online): Try the Monad!<p> In this online talk Luis Muñiz (<a href="https://twitter.com/emfanitek">@emfanitek</a>) will talk <i>Try the Monad!</i></p><p>Introducing something like the Vavr Try Monad in your backend API has consequences throughout all the layers of your application. This talk looks at motivation issues, and solutions to adopting this style.</p><p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7IP6gus0uh49o9MF-wO2yJlhejhfMNjUUjlEygiu4wgDeRhlCxs7nHRzV02N1ucFO0qckG6Gd3glLY2pdTeiDpT8VfxaKq-VuY70vc9l6UwzyU5ZKinbTKO8LGo3l8pnr5xhLqd7-q8DU/s2048/try-the-monad.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1152" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7IP6gus0uh49o9MF-wO2yJlhejhfMNjUUjlEygiu4wgDeRhlCxs7nHRzV02N1ucFO0qckG6Gd3glLY2pdTeiDpT8VfxaKq-VuY70vc9l6UwzyU5ZKinbTKO8LGo3l8pnr5xhLqd7-q8DU/s600/try-the-monad.png"/></a></div>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/GqDLygkjzyU" width="640"></iframe><br />
</center><p>
Slides:
<center><iframe src="//www.slideshare.net/slideshow/embed_code/key/fVXJOVYAsQePsQ" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/LuisMuniz5/try-the-monad-exported" title="Try the monad!" target="_blank">Try the monad!</a> </strong> from <strong><a href="https://www.slideshare.net/LuisMuniz5" target="_blank">Luis Muniz</a></strong> </div></center>
<br/>
--
<br />Enlace al meetup: <a href="https://www.meetup.com/es-ES/madrid-gug/events/277438499/">https://www.meetup.com/es-ES/madrid-gug/events/277438499/</a></p>
Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0tag:blogger.com,1999:blog-2758336440159654262.post-10094406723678019052021-03-16T18:00:00.000+01:002021-03-18T09:23:57.712+01:00Madrid-GUG Marzo 2021 (Online): En mi cluster funciona<p> En esta charla online Jorge Aguilera (<a href="https://twitter.com/jagedn">@jagedn</a>) nos contará que <i>En mi cluster funciona:</i></p><p>Desplegando en prod nuestra primera aplicación Micronaut en Kubernetes de la mano de Okteto.</p><p>En esta sesión intentaré (sic) mostrar en directo cómo crear un api en Micronaut y desplegarla en Internet utilizando la capa gratuita que ofrece Okteto.</p><p>La idea es ir mostrando paso a paso cómo crear una aplicación, depurarla en el propio cluster y por último hacerla accesible desde Internet, explicando de forma básica los detalles de Kubernetes.</p><p>Para hacerla interesante instanciaremos una base de datos posgresql y usaremos micronaut-data para crear un CRUD y si nos da tiempo veremos cómo desplegarla automáticamente en nuestro CD/CI.</p><p>Disclaimers:<br />- No esperes mucha profundidad en los conceptos de Kubernetes pues mi experiencia es sólo jugando con ello<br />- La idea es hacer un live coding así que si algo puede fallar fallará</p><p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQkK53ypP4-llM-O6lziJyzxj5dJl9sgCJjdXoxVekL8fgpbFhziOHsV5zJtBxG5x5vydipvzOk2RMVqW_n9yrgwlM_NFcGk9mi3Vi2io7ZHgX7K503KahslYp81csy5G9cML9-DFb3zUv/s2048/jorge.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="600" data-original-height="1152" data-original-width="2048" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQkK53ypP4-llM-O6lziJyzxj5dJl9sgCJjdXoxVekL8fgpbFhziOHsV5zJtBxG5x5vydipvzOk2RMVqW_n9yrgwlM_NFcGk9mi3Vi2io7ZHgX7K503KahslYp81csy5G9cML9-DFb3zUv/s600/jorge.jpg"/></a></div>
<p>Video:
</p><center><iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/YH4vMXbyQfc" width="640"></iframe><br />
</center><p>
Código y cheat-sheet: <a href="https://gitlab.com/puravida-software/charla-micronaut-y-okteto/-/tree/master" target="_blank">https://gitlab.com/puravida-software/charla-micronaut-y-okteto/-/tree/master</a><br/>
--<br />Enlace al meetup: <a href="https://www.meetup.com/es-ES/madrid-gug/events/276810365/">https://www.meetup.com/es-ES/madrid-gug/events/276810365/</a></p>
Madrid GUGhttp://www.blogger.com/profile/18303330961355840117noreply@blogger.com0