Logo der Java User Group Karlsruhe. Auf dem Bild ist der Java Duke zu sehen und im Hintergrund die Fächerstadt Karlsruhe.


Accento @ JUG

Datum:
27.09.2022, 17:45

17:45 Einlass

18:00 Von Maven zu Bazel, Piece by Piece

19:00 Pause

19:15 Data-Oriented Programming in Java

19:45 Pause

20:00 JUnit 5 wird 5

21:00 Ausklang

Von Maven zu Bazel, Piece by Piece (Carlo Götz)

Wie wir einen 559 Modules Maven Build zuerst in 3 und später in 2163 Bazel Targets zerlegt haben.

  • Warum haben wir das gemacht? (Schnellere Builds.)
  • Wie sind wir vorgegangen? (Code-Generierung.)
  • Welche Probleme haben wir gelöst bzw. umschifft? (Viele.)
  • Welche Lehren können wir für Builds allgemein ableiten? (Ein paar.)

Dieser Talk zeigt, dass eine Build-System-Migration nicht als Big Bang ablaufen muss und welche Unterstützung Bazel bietet, um korrekte und reproduzierbare Builds zu erstellen.

Data-Oriented Programming in Java (Nicolai Parlog)

In Data-Oriented Programming (DOP) modelliert man Daten als Daten und polymorphes Verhalten mit Pattern Matching. In diesem Vortrag stelle ich die vier Prinzipien von DOP vor:

  • modelliere die Daten, die ganzen Daten und nichts als die Daten
  • Daten sind unveränderlich
  • validiere an der Systemgrenze
  • mach unerwünschte Zustände nicht-repräsentierbar

Wir werden außerdem erkunden wie man Pattern Matching als sicheren, mächtigen und wartbaren Mechanismus für ad-hoc Polymorphie auf solchen Daten einsetzt ohne die Typen mit Funktonalität zu überfrachten. Der Vortrag endet mit einer Gegenüberstellung zu OOP, damit ihr nicht nur lernt wie man DOP einsetzt sondern auch wann (nicht).

JUnit 5 wird 5 (Marc Philipp)

Seit dem ersten Release von JUnit 5 im Jahr 2017 sind mittlerweile fast fünf Jahre vergangen. Das JUnit-Team hat danach jedoch keineswegs die Arbeit eingestellt. Im Gegenteil: Seitdem gab es neun weitere Feature- Releases. In diesem Vortrag werden wir uns nach einer kurzen Einführung in JUnit 5 auf die neuen Features der 5.x Releases konzentrieren. Dies sind unter anderem:

  • deklarative Test Suites
  • JFR Events
  • neue Extension Points
  • überarbeiteter Support für temporäre Verzeichnisse
  • Test Method/Class Execution Order
  • ein neues XML Reporting-Format.

Selbstverständlich wird auch Zeit für Fragen und Feedback eurerseits vorhanden sein. Insofern sollten JUnit 5 Anwender:innen jeglichen Erfahrungsstands etwas mitnehmen können.

Carlo Götz

Carlo ist lean VB6 Entwickler. Seitdem er 2000 auf der Microsoft Developer™ Conference über "Developers, Developers, Developers" gehört hat, wusste er genau, dass Developer Synergy Accelerator (SAFe Framework certified) seine Berufung ist. Wie Schienenschweißarbeiten nach DB Ril (826.1020) beschleunigt er Agile Release Trains auf ihre maximale Geschwindigkeit, um somit Builtin Quality und Stakeholder Satisfaction auf ganzer (Bahn)linie sicherzustellen. Dadurch maximiert er nicht nur Development Value Streams, hinsichtlich ihrer KPI, sondern enabled auch On Point Value Delivery durch reduzierte Build Zeiten.

Nicolai Parlog

Nicolai (aka nipafx) ist ein Java-Enthusiast mit Fokus auf Sprachfeatures und APIs, der leidenschaftlich gerne lernt und lehrt. Das macht er in Blog Posts, Newslettern und Büchern; in Tweets, Videos und Streams; in Demo Repositories und auf Konferenzen - mehr dazu auf www.nipafx.dev. Er ist Java Developer Advocate bei Oracle und Organisator von Accento (www.accento.dev). Davon abgesehen kennt man ihn für seine Frisur.

http://www.nipafx.dev http://www.nipafx.dev

@nipafx @nipafx

Marc Philipp

Marc Philipp hat mehr als 10 Jahre Erfahrung in der Entwicklung von Software für Unternehmen und Endanwender sowie als Trainer und Coach für andere Entwickler. Bei Gradle Inc. arbeitet er an Produkten wie Test Distribution und Predictive Test Selection mit dem Ziel, die Produktivität von Entwickler:innen zu verbessern. Er ist seit langem aktiver Committer und Maintainer von JUnit. Außerdem war er Mitinitiator der Crowdfunding-Kampagne JUnit Lambda, ohne die JUnit 5 nicht existieren würde.

Location


Disy Informationssysteme GmbH
Zimmerstraße 3
76137 Karlsruhe

Eine Veranstaltung des iJUG e.V., organisiert durch die JUG Karlsruhe.
Supported by

Powered by Jekyll & Git