Course Outline
Introduction to Reactive Programming
- Blocking vs. non-blocking systems
- Reactive Streams specification
- Benefits and use cases
Project Reactor and Mono/Flux
- Publisher, Subscriber, and Subscription
- Working with Mono and Flux
- Error handling and backpressure
Setting Up Spring WebFlux
- Creating a Spring Boot WebFlux project
- Configuring dependencies
- Overview of WebClient vs. RestTemplate
Building Reactive REST APIs
- Defining routes and handlers
- Request mapping with RouterFunction
- Reactive controllers and data binding
Integrating with Databases
- Using R2DBC for reactive SQL
- Working with MongoDB in reactive style
- Connecting to external APIs reactively
Testing WebFlux Applications
- Writing unit tests with StepVerifier
- Integration testing with WebTestClient
- Mocking data sources and services
Performance and Best Practices
- Threading and scheduling in WebFlux
- Debugging reactive code
- Design patterns for scalable reactive apps
Deployment and Real-World Examples
- Deploying WebFlux apps
- CI/CD considerations
- Case studies and usage in production
Summary and Next Steps
Requirements
- Understanding of Java programming
- Experience in web application development
- Familiarity with HTTP and RESTful APIs
Target Audience
- Java developers new to reactive programming
- Technical leads and architects exploring Spring WebFlux
- Backend engineers aiming to build non-blocking web applications
Testimonials (2)
I really enjoyed learning about AI attacks and the tools out there to begin practicing and actively using for security testing. I took a lot of knowledge away which I didn't have at the beginning and the course met what I hoped it would be. My favorite part shown from the training was Comet Browser and was amazed at what it could do. Definitely something will be looking into more. Overall it was a great course and enjoyed learning all OWASP GenAI Top 10.
Patrick Collins - Optum
Course - OWASP GenAI Security
That every technical lesson came with multiple practical exercises to nail down the concepts.