Complete gig history
Painful days spent optimizing the wrong part of a flow. Repeated attempts to blindly fix a performance issue. Speculative micro-"optimizations" that clutter the code with no measurable benefit. Only to later trace the problem to the most unexpected cause. This talk explains how to correctly zoom in on a performance bottleneck using distributed tracing, metrics, and method profiling. We learn to read a flame graph, then we review a series of bottlenecks typical for backend systems, like connection pool starvation, time-consuming Aspects, network calls, CPU hotpoints, lock contention, and Virtual Thread pinning. Join this session and prepare for the performance issues that any successful system will eventually have.
For updates and more, join our community 👉 https://www.linkedin.com/company/devoxx-united-kingdom An entertaining tour of the most common mistakes in designing a REST API: Domain Leakage, Sensitive Data Exposure, Performance issues, CQRS, PUT overload, and breaking changes. Collected with love from over 150 companies.
An entertaining tour of the most common mistakes in designing a REST API: Domain Leakage, Sensitive Data Exposure, Performance issues, CQRS, PUT overload, and breaking changes. Collected with love from over 150 companies.
Should we use streams everywhere? Certainly, using streams is often clearer and more concise than iterating a collection. But sometimes stream code requires a complex combination of collectors, folding, monads, and nested flatMap operations, which makes the verdict debatable. In this session, we will pick several use cases, workout the best solutions in both imperative and functional styles, and then argue which is better. Of course, you'll get to vote! If you're a Java developer, you shouldn't miss this session! You'll have fun, replenish your energy, and leave with a better idea of where streams excel, and where you should stay with old-fashioned imperative style.
The network is reliable, has zero latency, with infinite, free bandwidth... And then you wake up. The plan was to go to microservices to build those reliable, super-scalable systems you saw in the ad. But your systems only communicate over synchronous protocols and the team never had a serious discussion about timeouts, retries, circuit breakers, and bulkhead patterns. If that’s your crude reality, please attend this session!
🎙 Victor Rentea, Java Champion, Trainer and Consultant @Victor Rentea Consulting SRL 🔗 https://twitter.com/VictorRentea ☑ Website: https://devoxx.com.ua/ ☑ Facebook: https://www.facebook.com/DevoxxUkraine ☑ Instagram: https://www.instagram.com/devoxxua/ ☑ Twitter: https://twitter.com/DevoxxUA ☑ YouTube: https://www.youtube.com/@DevoxxUkraine Devoxx Ukraine 2023 partners: 🫶 Platinum Partner & Organizer - EPAM Ukraine https://careers.epam.ua 🫶 Silver Partner - SPD Technology https://spd.tech/ 🫶 Streaming partner - Mediastream https://mediastream.com.ua/
For more info on the next Devoxx UK event 👉 www.devoxx.co.uk If tests are hard to write, the production design is crappy - goes an old saying. Indeed, writing unit tests gives you one of the most comprehensive, yet brutal, feedback about the design of your production code, but if it comes too late, many developers can’t stand it anymore and they will either stop testing or test more superficially. At the other extreme, others struggle to write contrived, fragile tests full of mocks that end up frustrating more than helping them. This talk reviews the main hints that unit tests provide you, from the most obvious improvements to some of the most subtle design principles.