tdd

Recursos de programación de tdd
En el mundo del TDD (Test Driven Development) existen dos escuelas, Outside-In e Inside-Out. En esta charla vamos a ver la diferencia entre ambas y cómo podemos usarlas para conseguir un código de mayor calidad, más robusto y otro montón de beneficios. Además aquello de “me funcionó a la primera!” se convertirá en la norma.
Ever wondered about the wonders of Test-Driven Development (TDD)? Curious devs, this session is for you! Get ready to dive into TDD and explore its benefits. We'll see the ""secrets"" behind TDD, its roots, and the rules surrounding it. But that's not all! We'll also uncover the ups and downs of TDD, plus we'll share some tips and tricks... including a live coding session in Java. Get ready to level up your development skills with TDD – more insights, more advantages, and more confidence in your coding adventures! PS: Building tests before production code can sound more fun than it sounds 😉. Nacho Cougil has presented this talk in Codemotion Madrid 2024 ___________ 🌟 Discover all Codemotion community activities: https://community-en.codemotion.it 🦸‍♂️ Become #CodemotionContributor: https://community-en.codemotion.it/community/become-contributor 🧡 Join our community: https://community-en.codemotion.it/community/ 🫶 Become #CodemotionPartner: https://community-en.codemotion.it/partners/proposal #CodemotionConference #CodemotionMadrid #CodemotionCommunity #Codemotion #TechConference
Choosing the Right Architecture Style Debate with Alex Soto, Viktor Farcic, Ana-Maria Mihalceanu, Cristian Cotes Some of the topics and questions we wanted to tackle during this debate were: What is an Architecture Style? Quality Attribute: Relation between Quality Attributes and Architectural Style In the same way that we have the threat modeling environment, how do we move this to our arch environment? The Second System Syndrome And many others. https://gsas.io/ - Viktor Farcic is a Developer Advocate at CloudBees, a member of the Google Developer Experts and Docker Captains groups, and published author. His big passions are DevOps, Microservices, Continuous Integration, Delivery and Deployment (CI/CD) and Test-Driven Development (TDD). Viktor often speaks at community gatherings and conferences. He published The DevOps Toolkit Series and Test-Driven Java Development. His random thoughts and tutorials can be found in his blog TechnologyConversations.com. - Cristian Cotes is CTO of MusicList, a young startup that aims to disrupt how users discover music. Before, he was a software engineer at Telefonica's moonshot factory, where he was the second software engineer that joined the company and helped to create a team with more than 20 engineers in a small period of time. In 2013, while he was a researcher in distributed systems at the University, he co-founded his first startup, a Dropbox-like open source synchronization platform. Due to his experience in companies where the goal is to build new products from scratch, he feels comfortable working in a fast-changing environment where the architecture has to be thought to support radical changes in requirements. - Alex Soto is a software engineer at Red Hat in Developers group. He is passionate about the Java world and software automation, and believes in the open source software model. Alex Soto is the creator of NoSQLUnit and Diferencia projects, member of JSR374 (Java API for JSON Processing) Expert Group, the co-author of the book Testing Java Microservices by Manning, and contributor of several open source projects. A Java Champion since 2017 and international speaker, he has talked about new testing techniques for microservices, and continuous delivery in the 21st century. - Ana-Maria Mihalceanu is a custom application development enthusiast, co-founder of Bucharest Software Craftsmanship Community and a constant adopter of challenging technical scenarios. Some of her older experiments are available on Dzone. In 2016, as tech passionate of cloud application development she achieved IBM Certified Application Developer - Cloud Platform v1. Since then, she has enriched her cloud expertise by learning and certifying as a Salesforce Developer and attained a better understanding on how to integrate different types of cloud offerings. GSAS (2019 edition) -- The Global Software Architecture Summit (GSAS) is a 3-day event that aims to attract and connect software architecture experts from all over the world as well as all those interested in building working software to improve their skills, share knowledge, and connect. The summit is held every year, so if you are interested in attending do not hesitate to buy your ticket. It is an excellent opportunity to give your career a boost and meet professionals in the industry. EVENT ORGANIZER: APIUMHUB Apiumhub is a software development hub that solves complex problems with high-quality solutions. Our purpose is to build scalable software to help our clients strengthen their businesses with powerful technology. Every year, we host this event in Barcelona to support the software architecture community and provide a space for the exchange of new and interesting ideas. -- GSAS website: https://gsas.io/ Organizer site: https://apiumhub.com/
Modern Software Engineering. Building Better Software Faster | Bookclub with Dave Farley. 11 April 12:30h (GMT+2) What really works to help us build better software faster? What are the fundamentals of our profession, that if we get them right, and apply them whatever our goal and whatever our technology, will increase our chances of success. Some of these ideas have been hiding in plain sight, and if we just take them and build our practice and process on them, we do get better results. So what are they, what does that take, and what are the hallmarks of great software development? In this talk Dave Farley explores these ideas, and with examples from software and other industries illustrates each of 10 ideas that when combined can be used to form the basis of a modern, agile, engineering approach to software development. Dave also answers the question “what does ‘quality’ in software really mean?”. Dave Farley is a pioneer of Continuous Delivery, thought-leader and expert practitioner in CD, DevOps, TDD and software design. He was an early adopter of agile development techniques, employing iterative development, continuous integration and significant levels of automated testing, working in large scale distributed systems. Dave has a long track record in creating high-performance teams, shaping organisations for success, and creating outstanding software. Dave is the managing director and founder of Continuous Delivery Ltd, one of the authors of the Reactive Manifesto, and a winner of the Duke Award for the open source LMAX Disruptor project. He is author of two best-selling books - "Continuous Delivery" and "Modern Software Engineering", founder of the CD.Training school and creator of the popular CD YouTube channel. -- Apiumhub is a software development hub that solves complex problems with high-quality solutions. Our purpose is to build scalable software to help our clients strengthen their businesses with powerful technology. Large and well-known companies have trusted us including Inditex, Mango, Bitpanda, Nestle, Axa, Tous, Adidas and more. Our services include web development, mobile app development, devops, quality assurance and software architecture. In addition to offering these services, we have a learning platform called ApiumAcademy where we offer customized courses. We have two digital products. VYou, a user management and access management solution and Koople, a Feature Flags tool. Both developed by developers for developers. Every year, we host the Global Software Architecture Summit (GSAS). An event that brings together hundreds of software architecture experts interested in learning, sharing, and connecting. Successful industry professionals such as Mark Richards, Neal Fords & Carola Lilienthal have attended our event as speakers. -- Visit our site: https://apiumhub.com/ Learn more about our ApiumAcademy courses: https://apiumacademy.com/ Attend our event, Global Software Architecture Summit: https://gsas.io/ VYou, our digital product: https://vyou-app.com/en/ Koople, our Feature Flags tool: https://www.koople.io/ -- Social: https://twitter.com/Apium_hub https://www.linkedin.com/apium_hub https://www.instagram.com/apiumhub/
Analizamos distintos enfoques de testing y vemos en qué tipo de aplicación tendría más sentido optar por una u otra. En este directo contamos con 2 invitados de lujo que contribuirán compartiendo sus experiencias: - Pedro Gómez, Software Engineer en GoodNotes - Ricardo Borillo, CTO en Declarando ﹤🍍﹥ Enlaces ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🔖 Cursos: https://bit.ly/cursos-codely ├ 🔗 Recursos relacionados: | ├ https://www.youtube.com/watch?v=2mKPEDixi7Y | ├ https://www.youtube.com/watch?v=MiWRwGUnCjk | ├ Ejemplo Visual Testing: https://github.com/borillo/codely-tecnicas-testing | ├ Curso de testing en frontend: https://pro.codely.com/library/testing-en-frontend-65916/196940/about/ | ├ Curso de Testing: Introducción y buenas prácticas: https://pro.codely.com/library/testing-introduccion-y-buenas-practicas-44653/90916/about/ | ├ Curso de TDD: https://pro.codely.com/library/tdd-test-driven-development-179143/402368/about/ | ├ Oferta empleo GoodNotes: https://bit.ly/GN_Hiring | └ Oferta empleo Declarando: https://bit.ly/oferta-declarando └ 👋 Redes sociales: ├ https://www.linkedin.com/in/odindelrio/https://twitter.com/CodelyTVhttps://twitter.com/rafaoehttps://instagram.com/CodelyTVhttps://linkedin.com/company/codelytv
Noticias de la semana en el mundo tecnológico, especialmente relacionadas con la programación. Abajo desglose minuto a minuto 🤟☕ ¡Aprovecha el Black Friday de Codely! 💸👉 https://bit.ly/ofertacodely El Café con Codely es el directo semanal que hacemos en Twitch cada viernes a las 9h CET. Algunas veces lo resubimos a YouTube para que se pueda consultar a posteriori a pesar de que se pierda en Twitch 😊 ﹤🍍﹥ Codely ├ 🎥 Suscríbete: https://youtube.com/c/CodelyTV?sub_confirmation=1 ├ 🔖 Cursos: https://bit.ly/cursos-codely └ 👋 Redes sociales: ├ https://twitter.com/CodelyTVhttps://twitter.com/JavierCanehttps://twitter.com/rafaoehttps://instagram.com/CodelyTVhttps://linkedin.com/company/codelytv Desglose minuto a minuto: 00:00:00 Introducción al Café con Codely 00:00:28 ✨ Cómo trabajar con Lean, XP, TDD, TBD, y CI/CD 00:04:16 Diferencias entre Continuous Delivery y Continuous Deployment 00:05:51 Tests post-deploy que hacen rollback 00:08:08 Tests pre-deploy en Trunk-Based Development 00:10:42 Tests integración vs aceptación vs end-to-end 00:16:00 ✨ pkgx: Sucesor de brew para macOS 00:19:08 Black Friday en Codely 00:20:35 Patrón Change Data Capture para salir del legacy 00:23:26 ✨ OpenAI: Resumen del no-cambio de CEO 00:31:20 Cómo hablar del drama de OpenAI en la cena de acción de gracias 00:32:34 Anécdota hablando en entorno no técnicos 00:33:25 Keychron se pasa a los ratones: Keychron M6 Wireless Mouse 00:34:18 Usa Felt y Apify para mostrar trampas para turistas 00:35:50 Cursor: AI-first IDE 00:36:18 Redsys se cae (otra vez) 00:38:15 Homey: Plataforma de Smart Home con UX top 00:45:00 De screenshot a código con IA Open Source 00:45:48 Reservan nombres de paquetes en npm 00:46:32 Home Assistant: Huele a Open Source (UX no tan top) 00:49:03 Por qué se desordenan los mensajes en sistemas distribuidos como RabbitMQ 00:50:01 Seat Guru: Cómo elegir el mejor asiento en un avión 00:50:50 Slack app: Doble swipe para moverte entre canales 00:53:04 Google: La web puede ser mucho más que landings aburridas 00:54:04 Updates en Microsoft Copilot (antes Bing Chat) 00:54:50 Cloudflare pieza clave para aguantar portada en Hacker News 00:55:34 Resumen de cómo funciona el buscador de Google 00:57:32 Setup: ¿Cuántas Stream Deck son suficientes? 00:58:11 IcePanel: Diagramas de sistemas que no se quedan desactualizados 01:00:01 Biome supera el reto de portar prettier a Rust 01:01:49 ✨ Tips para mejorar tus mensajes de error 01:04:38 Infraestructura de Hacker News: 100$/mes 01:05:50 Krea AI: Tú Paint, la IA diseña 01:06:32 Diferencia entre cuenta individual y de empresa en Codely 01:07:47 YouTube perjudica UX si usas AdBlock 01:09:16 Push ifs up and fors down 01:12:40 Anuncio de Google Chrome en Las Vegas Sphere 01:15:10 Virus en el código de una prueba técnica 01:16:34 iMessage para Android: Bug de seguridad de Nothing 01:18:20 ✨ gpt-crawler: Crea tu CustomGPT en base a una web 01:19:52 Fey: Usan dynamic API de Next.js para optimizar 01:21:52 Stable Video Diffusion 01:23:42 Suno: Crea canciones con IA 01:26:18 ✨ Canción de Codely y DDD generada por IA 01:27:19 Nominación a GitHub Stars 01:28:46 Cómo mataron a Mercurial en Mozilla 01:30:31 WhatsApp integra IA y 2FA 01:31:34 GitHub Copilot Chat en JetBrains ya en beta privada 01:39:00 JetBrains AI Assistant vs GitHub Copilot 01:34:31 OPA de Blackstome y Premira a Adevinta 01:34:52 ✨ AltTab: Utilidad para macOS 01:36:06 Lo de interaccionar entre ventanas del navegador 01:36:31 v0.dev Vision: De screenshot a código IA 01:37:16 Claude vs GPT-4-Turbo 01:37:55 Hechos en drama de OpenAI 01:38:11 Despedida
👉 Puedes ver nuestro evento previo sobre DDD completo aquí: https://www.youtube.com/watch?v=m3h_NQdqsmw&ab_channel=Apiumhub Os invitamos a este Q&A sobre arquitectura de Software el próximo 5 de octubre a las 18:30h. El evento abierto se podrá seguir presencialmente en las oficinas de Apiumhub (Passeig de Gràcia 28, 4o. Barcelona), o en remoto a través de este enlace. 🙋‍♂️ Para participar en el chat durante el evento online, deberás estar suscrito al canal de YouTube de Apiumhub. La sesión estará dirigida por Christian Ciceri, un arquitecto de software y cofundador de Apiumhub, una empresa de desarrollo de software reconocida por su excelencia en arquitectura de software. Comenzó su carrera profesional con un interés específico en temas de diseño orientado a objetos, con profundos estudios en patrones y técnicas de diseño a nivel de código y arquitectura. Es un antiguo practicante de metodologías ágiles, particularmente de programación extrema (eXtreme programming), con experiencia en prácticas como TDD, integración continua, pipelines de compilación y diseño evolutivo. Siempre ha buscado un conocimiento tecnológico amplio; es por eso que ha explorado una amplia gama de tecnologías y estilos arquitectónicos, incluyendo Java, .NET, lenguajes dinámicos, lenguajes de script puros, desarrollo de aplicaciones nativas en C++, capas clásicas, centradas en el dominio, SOA (Arquitectura Orientada a Servicios) clásica y buses de servicios empresariales. En sus propias palabras: "Un arquitecto de software debería crear un ecosistema funcional que permita a los equipos tener una producción escalable, predecible y más económica". Christian es un ponente en conferencias internacionales y co-autor del libro "Software Architecture Metrics", escrito en colaboración con Neal Ford, Eoion Woods, Andrew Harmel-Law, Dave Farley, Carola Lilienthal, Michael Keeling, Alexander von Zitzewitz, Joao Rosa y Rene Weiß.
Breve resumen del Open Space sobre DDD con Christian Ciceri Óscar López. Un evento abierto celebrado en Apiumhub en el que nuestros expertos en arquitectura de Software comparten con el público sus impresiones acerca de multitud de temas relacionados con Domain Driven Design, hablando, entre otras cosas de temas como Event Sourching, CQRS, la relación entre Arquitectura Hexagonal y DDD, o cuando partir agregados, entre otros. 📆 Las preguntas pendientes se tratarán el día 5 de octubre de 2023 en el siguiente enlace https://youtube.com/live/x18VrtQZEHg?feature=share 🙋‍♂️ Suscríbete a nuestro canal de YouTube para participar en el chat durante el evento online. 👉 Puedes ver el vídeo del evento completo en este enlace: https://www.youtube.com/watch?v=m3h_NQdqsmw&ab_channel=Apiumhub -- Ofrecemos un descuento del 30% en la inscripción al Global Software Architecture Summit que estamos organizando en octubre para los asistentes del meetup.www.gsas.io -- Sobre Christian Ciceri y Óscar López: Christian Ciceri es un arquitecto de software y cofundador de Apiumhub, una empresa de desarrollo de software reconocida por su excelencia en arquitectura de software. Comenzó su carrera profesional con un interés específico en temas de diseño orientado a objetos, con profundos estudios en patrones y técnicas de diseño a nivel de código y arquitectura. Es un antiguo practicante de metodologías ágiles, particularmente de programación extrema (eXtreme programming), con experiencia en prácticas como TDD, integración continua, pipelines de compilación y diseño evolutivo. Siempre ha buscado un conocimiento tecnológico amplio; es por eso que ha explorado una amplia gama de tecnologías y estilos arquitectónicos, incluyendo Java, .NET, lenguajes dinámicos, lenguajes de script puros, desarrollo de aplicaciones nativas en C++, capas clásicas, centradas en el dominio, SOA (Arquitectura Orientada a Servicios) clásica y buses de servicios empresariales. En sus propias palabras: "Un arquitecto de software debería crear un ecosistema funcional que permita a los equipos tener una producción escalable, predecible y más económica". Christian es un ponente en conferencias internacionales y co-autor del libro "Software Architecture Metrics", escrito en colaboración con Neal Ford, Eoion Woods, Andrew Harmel-Law, Dave Farley, Carola Lilienthal, Michael Keeling, Alexander von Zitzewitz, Joao Rosa y Rene Weiß. Por otro lado, Oscar Lopez es un experto en desarrollo backend con una notable experiencia en la industria. Ha ocupado roles de liderazgo en proyectos, siendo CTO en Groupalia y Nemuru, así como liderando el aspecto técnico del Grupo Europcar como Tech Lead. Oscar cuenta con destacadas habilidades técnicas y personales, y gracias a su experiencia como profesor, sabe cómo enseñar de manera atractiva y efectiva. Actualmente, Oscar es un experto clave en desarrollo backend en Apiumhub, recibiendo constantemente comentarios altamente positivos de los clientes, marcando la diferencia en sus proyectos de software. Ambos poseen una vasta experiencia en DDD y acaban de diseñar un taller enfocado en DDD y arquitectura hexagonal, abordando los siguientes temas: patrones de DDD, modelado de dominios, arquitectura hexagonal, capa de aplicación, servicios de aplicación, capa de dominio, agregados, entidades, objetos de valor, servicios de dominio, capa de infraestructura, patrón de Outbox/Inbox, arquitecturas orientadas a eventos y antipatrones de microservicios. Esta es una oportunidad excepcional para sumergirse en DDD, compartir experiencias, inquietudes y desafíos, y recibir feedback de líderes en la industria.
Acompáñanos en este Open Space sobre DDD con Christian Ciceri Óscar López. Un evento abierto celebrado en Apiumhub en el que nuestros expertos en arquitectura de Software compartirán con el público sus impresiones acerca de multitud de temas relacionados con Domain Driven Design, hablando, entre otras cosas de temas como Event Sourching, CQRS, la relación entre Arquitectura Hexagonal y DDD, o cuando partir agregados, entre otros. 📆 Las preguntas pendientes se tratarán el día 5 de octubre de 2023 en el siguiente enlace https://youtube.com/live/x18VrtQZEHg?feature=share 🙋‍♂️ Suscríbete a nuestro canal de YouTube para participar en el chat durante el evento online. -- 00:00 Introducción 03:00 Preguntas 09:07 Relación entre Arquitectura Hexagonal y DDD 20:02 ¿Cuándo partir un agregado? 36:42 CQRS, cómo y cuándo usarlo correctamente 52:22 Eventsourcing 58:35 Agregados, casos de uso 1:07:37 Despedida -- Christian Ciceri es un arquitecto de software y cofundador de Apiumhub, una empresa de desarrollo de software reconocida por su excelencia en arquitectura de software. Comenzó su carrera profesional con un interés específico en temas de diseño orientado a objetos, con profundos estudios en patrones y técnicas de diseño a nivel de código y arquitectura. Es un antiguo practicante de metodologías ágiles, particularmente de programación extrema (eXtreme programming), con experiencia en prácticas como TDD, integración continua, pipelines de compilación y diseño evolutivo. Siempre ha buscado un conocimiento tecnológico amplio; es por eso que ha explorado una amplia gama de tecnologías y estilos arquitectónicos, incluyendo Java, .NET, lenguajes dinámicos, lenguajes de script puros, desarrollo de aplicaciones nativas en C++, capas clásicas, centradas en el dominio, SOA (Arquitectura Orientada a Servicios) clásica y buses de servicios empresariales. En sus propias palabras: "Un arquitecto de software debería crear un ecosistema funcional que permita a los equipos tener una producción escalable, predecible y más económica". Christian es un ponente en conferencias internacionales y co-autor del libro "Software Architecture Metrics", escrito en colaboración con Neal Ford, Eoion Woods, Andrew Harmel-Law, Dave Farley, Carola Lilienthal, Michael Keeling, Alexander von Zitzewitz, Joao Rosa y Rene Weiß. Por otro lado, Oscar Lopez es un experto en desarrollo backend con una notable experiencia en la industria. Ha ocupado roles de liderazgo en proyectos, siendo CTO en Groupalia y Nemuru, así como liderando el aspecto técnico del Grupo Europcar como Tech Lead. Oscar cuenta con destacadas habilidades técnicas y personales, y gracias a su experiencia como profesor, sabe cómo enseñar de manera atractiva y efectiva. Actualmente, Oscar es un experto clave en desarrollo backend en Apiumhub, recibiendo constantemente comentarios altamente positivos de los clientes, marcando la diferencia en sus proyectos de software. Ambos poseen una vasta experiencia en DDD y acaban de diseñar un taller enfocado en DDD y arquitectura hexagonal, abordando los siguientes temas: patrones de DDD, modelado de dominios, arquitectura hexagonal, capa de aplicación, servicios de aplicación, capa de dominio, agregados, entidades, objetos de valor, servicios de dominio, capa de infraestructura, patrón de Outbox/Inbox, arquitecturas orientadas a eventos y antipatrones de microservicios. Esta es una oportunidad excepcional para sumergirse en DDD, compartir experiencias, inquietudes y desafíos, y recibir feedback de líderes en la industria. Ofrecemos un descuento del 30% en la inscripción al Global Software Architecture Summit que estamos organizando en octubre para los asistentes del meetup.www.gsas.io
Diego Ojeda, fullstack developer en Apiumhub, nos enseña a resolver la kata FizzBuzz utilizando TDD. Esta conocida kata consiste en imprimir los números del 1 al 100 aplicando las siguientes reglas: devuelve "Fizz" si el número es divisible por 3, "Buzz" si es divisible por 5, y "FizzBuzz" si es divisible por 3 y 5. Diego nos guiará en el proceso de crear las pruebas, implementar el código y mejorar nuestras habilidades de desarrollo. Una forma efectiva de abordar este clásico desafío de programación.