
Explore Kafka's core concepts, architecture, and use cases. Learn about its scalability, resilience, and performance, with insights on transactions and potential production pitfalls.

Explore building lightweight, robust reactive systems using MicroProfile, RxJava, React.js, Kafka, and Hazelcast. Learn efficient assembly techniques with Payara Micro for scalable and evolving applications.

Explore API design for evolving systems, focusing on REST principles, architectural context, and strategies for creating flexible, durable APIs that can adapt without breaking clients.

Explore modular monolithic application design using Spring, focusing on code organization, component structure, and bounded context interaction for improved maintainability and scalability.

Explore Java's module system one year after its introduction, covering adoption in open-source libraries, IDEs, and build tools. Learn about new tools and start developing modular Java applications.

Explore the Majestic Modular Monolith approach as an alternative to microservices, examining its design, implementation, and benefits for code organization, productivity, and scalability.

Explore Spring Framework 5.1's enhancements for JDK 8 & 11, including functional API design, Kotlin support, and guidance on upgrading to newer JVM versions.

Explore the complementary nature of Object-Oriented and Functional Programming paradigms, debunking misconceptions and showcasing their combined strengths in modern software development.

Discover how Revolut built a revolutionary banking backend, overcame challenges, and scaled to serve millions. Learn from their mistakes and innovative solutions in fintech.

Explore Twitter's performance optimization using Graal and machine learning, focusing on autotuning inlining parameters to reduce datacenter costs and improve efficiency.

Discover concrete approaches to using continuous profilers in production environments, improving system efficiency, solving performance issues, and reducing infrastructure costs.

Explore challenges and design options for migrating to serverless architecture, focusing on security, integration, and performance optimization for legacy system connectivity.

Explore test-driven development for Spring applications, covering basic components, mocks, test slices, web app testing, and consumer-driven contract testing to enhance code confidence and delivery speed.

Explore coding architecture rules as tests with ArchUnit. Learn to enforce naming conventions, structure, and best practices automatically in Java projects.

Optimizing Twitter services using Graal and Machine Learning for enhanced efficiency and cost reduction. Explores autotuning Graal inlining parameters with Autotune framework for improved performance.

Explore drone-based mapping technology, combining video processing, accelerometer data, and particle filtering for remote terrain visualization and autonomous flight control.

Insane live-coding session showcasing real-life functional programming patterns in Java 8. Learn best practices, anti-patterns, and elegant coding techniques through hands-on exercises and refactoring examples.

Explore the evolution of distributed architecture, from monolithic core banking to modern microservices and serverless, with practical tips, code samples, and insights on security and implementation challenges.

Explore event-driven microservices architecture using Apache Kafka, covering design patterns, advantages, and implementation strategies for efficient, low-latency systems.

Learn to apply Domain-Driven Design and Command Query Separation principles to cloud architectures, using modern technologies like Java, Spring, and Kubernetes for efficient system design and implementation.
![[VDM19] TDD on Legacy Code by Andrea Francia](https://img.youtube.com/vi/y1XnZkIRCJk/mqdefault.jpg)
Tecniche per rendere testabile il codice legacy, applicando seams e refactoring per migliorarne il design e la qualità complessiva.