<commit_before>---
layout: event
title:  "Accento @ JUG"
date:   2022-09-27 17:45:00 +0200
tags: events
speakers:
 - cgotz
 - nparlog
 - mphilipp
location: disy2
---

![Javaday Logo](/assets/img/javaday/javaday.png)

**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 (<NAME>)

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 (<NAME>)

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<commit_msg>refactor<commit_after>---
layout: event
title:  "Accento @ JUG"
date:   2022-09-27 17:45:00 +0200
tags: events
speakers:
 - cgotz
 - nparlog
 - mphilipp
location: disy2
---


**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 (<NAME>)

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 (<NAME>)

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
{'fraction_non_alphanumeric': 0.09350237717908082, 'fraction_numerical': 0.045166402535657686, 'mean_word_length': 4.537280701754386, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7307899', 'n_tokens_mistral': 998, 'n_tokens_neox': 929, 'n_words': 339}