On Wednesday, November 3rd, 2021 (the day before J-Fall 2021) the NLJUG organizes expert level pre-conference Masterclasses. We will provide you with masterclasses of 4 hours from top level speakers such as Simon Ritter, Urs Peter, Jeroen Rosenberg and Kenny Baas-Schwegler.
Visit these pre-conference masterclasses of J-Fall to really go in-depth and learn all about the newest Java technology. You will be granted entrance to J-Fall when you get your ticket and you will be able to join the network drinks and the exclusive speakers diner afterwards.
A ticket for the pre-conference is 129 euro.
Modern Java Workshop
With two releases every year since 2017, Java developers are now being provided with more new features at a faster pace than at any time in its over quarter-century history.
Many of these new features provide exciting new language level changes, as well as valuable new APIs and better performance of the JVM.
In this workshop, we’ll explore in detail what these changes are and how best to use them (as well as advice on when not to use them). We’ll also explain the significance of preview features and incubator modules.
We’ll cover the following new language features:
• Switch expressions (JDK 12)
• Text blocks (JDK 13)
• Records (JDK 14)
• Pattern matching for instanceof (JDK 14)
• Sealed classes and changes to Records (JDK 15) • Pattern matching for switch (JDK 17)
• Record Patterns and Array Patterns (JDK 18 TBC)
For each recent JDK, we’ll also highlight the most useful additions to the core class libraries, such as the Vector, Foreign-Memory Access and Foreign Function APIs.
To round things out, we’ll look at changes to the JVM and tooling, such as the jpackager.
At the end of this session, you’ll be all set to write modern Java code!
Intermediate / Advanced Kotlin Workshop
Urs Peter & Jeroen Rosenberg
Do you have some Kotlin experience and want to take your skills to the next level? …then our hands-on workshop will get you there in no time.
Our expert track will enlighten you with the sophisticated yet easy-to-use Kotlin features that can unleash tremendous power in your codebase.
The following is on the menu:
Type-Safe Builders and DSLs
• You will learn how to write type-safe builders, which make the creation of internal DSL’s a snap.
Coroutines, Channels, and Flow
• Get to know the mind-blowing approach Kotlin takes on the concurrency side by playing with Coroutines and more advanced Concurrency constructs like Channels and Flow. You will also learn how easy it is to integrate Coroutines in your existing reactive stack like CompletableFuture, WebFlux, etc.
Spring Boot with Coroutines, Channels, and Flow
• Finally, you will rewrite a reactive Spring Boot web application created in Java and WebFlux to Coroutines and experience the ease and peace of mind this approach can offer you. You will also create a streaming API based on ServerSentEvents that brings together all the reactive building blocks you learned previously.
We will provide a web IDE that allows you to complete all the challenges of your preference. So all you need is a browser, and off you go.
CU in class for a tasty cup of Kotlin 😉
Domain-Driven Design heuristics for dealing with legacy software
How can we get better as software designers?
By becoming more aware of our design heuristics and being intentional as we cultivate and refine them. Heuristics aid in the design and even determine our attitude and behaviour. We each have our own (often implicit) heuristics that we have acquired through reading, practice, and experience, and especially when surrounded by legacy software. Let us share these heuristics during a modelling session!
You’ll be presented with a modelling problem by first doing a context mapping exercise for strategic DDD patterns. Then you are presented with a challenge that you will try to design in groups. During designing, we will rotate observers that will capture and map heuristics they see happening. After the heuristics are captured, groups will exchange and try-out other groups’ heuristics. And by adding the four strategies for getting started with DDD when you have a big commitment to legacy systems by Eric Evans we can switch thinking during design and find alternative paths for our design. We finish by formalising our heuristics and explore how we can keep cultivating these heuristics as a team.
You will leave this session with shared knowledge from experience on dealing with legacy software and how you can start Context mapping for strategic Domain-Driven Design patterns while surrounded by legacy!
13:00 Start masterclasses
(4 hours with 2x 15-minute break)
17:30 End masterclasses
18:00 Drinks and networking