I'm a dedicated development lead and trainer at Endava, where I lead the development of various projects used in various places in the world, from Europe to EU, and Asia.
As a Java instructor, I delivered thousands of hours of training to 3000+ students in the past 10 years, recently being involved in courses at the Mathematics and Informatics Faculty of Bucharest University. During the previous couple of years, I delivered presentations, tutorials, and workshops at different important events around the world: in Bucharest, New York, San Francisco, Warsaw, Belgrad, Berlin, and many more.
Outside of work, I'm passionate about traveling, music, and scuba diving.
Spring Security Zero to Hero
Security is one of the most essential non-functional requirements in any software system.
A paramount element that one should consider from the very first steps of implementing an app.
The Java ecosystem provides various excellent tools for implementing security capabilities in any application and frameworks assist also with specific implementations that ease the implementation process.
Using Spring - one of the most appreciated application frameworks in the Java ecosystem today - the choice of implementing authentication and authorization in an app is usually simple: the Spring Security project.
In this workshop, we dig with hands-on examples in all the relevant topics you need to know when using Spring Security to protect your Spring application:
- The basic contracts
- Implementing authentication
- Implementing endpoint and method authorization
- OAuth 2, OpenID Connect and SAML
- Securing reactive apps
- Testing your security implementations
Five most useful profiling techniques to use with modern Java apps
Contrary to popular opinion, profiling techniques aren't only for identifying thread-related issues.
In this presentation, you'll learn five most useful profiling techniques that you'll find tremendously helpful with modern Java apps:
- Investigating SQL queries to identify faultily communication between the app and the DBMS
- Finding hot spots in execution to optimize an app's execution
- Finding a call graph for learning new code
- Profile reactive applications
- Analyzing an app's memory usage
Such techniques with a profiling tool are a must for any Java developer regardless of the Java version or framework they use.
Adding these techniques that we'll demonstrate with examples to the definition of done in your development process, you'll minimize the time spent on finding problems and deliver better and more optimal apps.