Conf42 Enterprise Software 2021
2021-03-25..2021-05-05
-- online --
who it's for
Java developers, backend developers, JVM engineers, software architects, quality engineers, devops engineers, on-call engineers
topics
OpenJ9 garbage collection internals; JVM warm-up benchmarking (HotSpot GraalVM OpenJ9); mutation testing with PIT; CompletableFuture concurrency patterns; migrating to JUnit 5; R2DBC reactive relational SQL; MicroProfile GraphQL APIs; event-driven architectures with Kafka; reactive Kafka consumption patterns; live non-breaking debugging (Rookout); building a dependency injection framework; Java web-app security vulnerabilities (Struts zip-slip)
| title | author | length |
|---|---|---|
| Premiere - Conf42 Enterprise Software 2021 | Liran Haimovitch, Brian Vermeer, Catalin Tudose, Frank Kriegl, Igor Braga, Rafal Leszko, Grace Jansen, Bogdan Sucaciu, Dmitry Vinnik, Ranjan Mohan, Silvia Siu Luo, Jonathan Meek, Mark Hendriks, Naresha K., Phillip Kruger, Rob Hedgpeth, Yehonathan Sharvit, Mappuji Abdurrachman, Denys Makogon, Nicolas Fränkel, Tom Granot, Victor Rentea | 15m |
One videocast bundles ~20 short talks and a live demo: a rookout walkthrough shows rookout non‑breaking breakpoints that collect snapshots without redeploy… | ||
| Why you’re getting understandability wrong | Liran Haimovitch | 15m |
Claim: most companies ignore understandability even though 68% of organizations report flying blind or flying slow. Defines understandability as having source… | ||
| Live hacking: Breaking into your Java web app | Brian Vermeer | 43m |
Live demos exploit Apache Struts RCE to run arbitrary OS commands on a Heroku instance (curl shows environment vars, /etc/passwd), a zip slip overwrite… | ||
| BDD with JUnit 5 and Cucumber | Catalin Tudose | 44m |
Demonstrates BDD for a Java flight-management app using JUnit 5 nested tests then migrating to Cucumber feature files with Gherkin and IntelliJ plugins… | ||
| Benchmarking JVM Warm-Up Performance | Frank Kriegl | 33m |
Benchmarks compare HotSpot (AdoptOpenJDK), GraalVM 20.2 and OpenJ9 using a JMH Sudoku backtracker run for 21,000 iterations, 20 forks and 12 runs (5.04 million… | ||
| Demystifying Garbage Collection in Java | Igor Braga | 31m |
Overview of OpenJ9 GC choices and concrete tradeoffs including throughput versus pause time and memory overhead, with implementation details and numbers… | ||
| Mutation Testing with PIT | Rafal Leszko | 22m |
Explains mutation testing as introducing artificial bugs and checking whether tests kill them, using PIT to generate and report mutants automatically. Shows a… | ||
| Reacting to an Event-Driven World | Grace Jansen | 54m |
Claim: dropping an event backbone into a monolith doesn’t make end-to-end non‑blocking—configuration and architecture do. Demonstrations use Apache Kafka (3+… | ||
| Demystifying Event-Driven Architectures | Bogdan Sucaciu | 31m |
Defines Event-Driven by showing concrete patterns and tools: uses Apache Kafka topics/log-backed logs, a producer that emits one event per second and three… | ||
| Back to the CompletableFuture: Concurrency | Dmitry Vinnik | 28m |
Explains why Java moves from Threads/Runnable to ExecutorService and CompletableFuture, with concrete code patterns: use ExecutorService factories and… | ||
| Debugging JVM performance issues | Ranjan Mohan, Silvia Siu Luo | 40m |
Step-by-step triage shows concrete actions: capture jmap heap dumps and analyze with Eclipse MAT, sample threads with jstack every 30s to spot a busy thread… | ||
| Making the Jump to JUnit 5 | Jonathan Meek | 25m |
Walks through migrating JUnit 4 to JUnit 5 on Spring Boot (requires Java 8+, Spring Boot 2.4+), showing concrete edits: org.junit.jupiter.api package… | ||
| Build your own Dependency Injection framework! | Mark Hendriks | 31m |
Builds a tiny DI framework called the Injectinator using Java reflection and Maven on Java 8/11/15, proving the magic is just code. It defines a @InjectMe… | ||
| Effective Java with Groovy & Kotlin | Naresha K. | 37m |
Shows concrete replacements for boilerplate: Groovy uses @EqualsAndHashCode, @Immutable and @Delegate AST transformations to generate equals/hashCode, final… | ||
| Writing queryable APIs with MicroProfile GraphQL | Phillip Kruger | 44m |
Starts from a JAX-RS + Jackson REST app backed by JPA (people) and a flat-file score store, demonstrates painful over‑ and under‑fetching, then rewires it to… | ||
| Getting Reactive with Relational Databases & R2DBC | Rob Hedgpeth | 56m |
Explains that R2DBC is a non‑blocking reactive spec and shows a working MariaDB driver plus a Spring client: uses MariaDB R2DBC connector, Spring Data R2DBC… | ||
| Data-Oriented programming | Yehonathan Sharvit | 21m |
Argues that refactoring a Java library-management design into split data and code (plain data classes + separate functions) removes tangled methods, eliminates… | ||
| Enjoy Typesafe Web Development with Eta | Mappuji Abdurrachman | 22m |
Demo shows building a small web backend in Eta (Haskell on JVM) using gradle/atlas.run and Docker to resolve dependencies. Code implements a fibonacci API and… | ||
| The Best Country to observe the Northern Lights | Denys Makogon | 19m |
A reproducible scoring system ranks countries by combining solar activity, magnetic disturbance, seasonal visibility and historical weather from Dark Sky API… | ||
| Migrating from Imperative to Reactive | Nicolas Fränkel | 43m |
Migrates a Spring Boot REST app stepwise: annotation-based spring-webmvc to spring-webmvc -> functional routes -> spring-webflux, swapping blocking… | ||
| Getting Back to Sleep ASAP for the On-Call Developer | Tom Granot | 25m |
Walks through a real production incident and shows concrete steps: add real-time instrumentation to a running service, attach transaction traces across billing… | ||
| The Perfect Code Review | Victor Rentea | 17m |
Argues that code reviews should leave engineers energized and shows concrete, repeatable steps: impose small PR size limits, use automated checks (linters, CI)… | ||
| nothing matches | ||