Architektur mit archunit validieren

Mit automatischer Architektur validierung mit JUnit 5 Annotation @ArchTest von archunit kann leicht die Architektur vorgaben überprüft werden. Aber es kann auch leicht verhindert werden, das man z.B. System.out oder System.err verwendet. Oder das verhindert wird, das das interne Java Logging verwendet wird.

Was für mich auch wichtig ist, das der Logger immer LOG heißt, und nicht log oder logger.


Einfach diese JUnit-Test Klasse in alle Projekte einbinden. „Architektur mit archunit validieren“ weiterlesen

Betriebssystem abhängige Tests :-( – EnabledOnOs oder DisabledOnOs für JUnit 5

Seit JUnit 5.1 gibt es das OS Enum. Mit der können leicht Tests in Abhängigkeit des OS durchgeführt werden. Es werden die folgenden Betriebssysteme unterstüzt:

Also nur die Methode z.B. mit der @EnabledOnOs(OS.MAC) Annotation versehen, und der Test läuft nur auf dem Mac 🙂 oder nicht dann mit @DisabledOnOs(OS.MAC): … „Betriebssystem abhängige Tests 🙁 – EnabledOnOs oder DisabledOnOs für JUnit 5“ weiterlesen

ArchUnit gestern in Version 0.18.0 veröffentlicht oder wie validiere ich die Architektur am Beispiel einer Blockchain

Gestern wurde ArchUnit in Version 0.18.0 veröffentlicht.

ArchUnit

Wenn das keine Grund ist mal zu zeigen, wie man eine Package-Abhängigkeit überprüfen kann.
Also wir wollen einen Test schreiben, der durchläuft wenn nur aus dem Package blockchain auf das Package be zugegriffen wird. Wie hier im UML Diagramm gezeigt:… „ArchUnit gestern in Version 0.18.0 veröffentlicht oder wie validiere ich die Architektur am Beispiel einer Blockchain“ weiterlesen

Was tun bei covid-19? Die neue Eclipse Version die heute veröffentlicht wurde installieren! Es fliegen über 5000 Flugzeuge!

Die neue Entwicklungsumgebung Eclipse 2020-03 gibt es seit heute. Das neue Quartalsrelease der IDE bringt unter anderem Unterstützung für Java 14 und mehr Möglichkeiten für die Webentwicklung. Bei Heise.de gibt es weitere Infos und Videos.

Nach dem Update:

Super, es startet:

Dann mal gleich einen ersten JUnit-Quicktest:

Anzahl aller Flugzeuge mit Flughöhen jetzt:

Flugbereich in Meter ; Flughöhe in Meter
Parken 0 ; 371
1-500 ; 418
500-1000 ; 362
1000-2000 ; 450
2000-3000 ; 283
3000-4000 ; 214
4000-5000 ; 221
5000-6000 ; 202
6000-7000 ; 198
7000-8000 ; 257
8000-9000 ; 259
9000-10000 ; 373
10000-10500 ; 317
10500-11000 ; 495
11000-11500 ; 288
11500-12000 ; 587
12000-13000 ; 406
über 13000 ; 111
Summme ; 5812
Zeitpunkt ; Wed Mar 18 21:03:04 CET 2020
Quelle ; The OpenSky Network, http://www.opensky-network.org

Quicktest: JUnit 5.6.0 – „Freut euch immer“

Vor zwei Tagen wurde die neue JUnit Version 5.6.0 veröffentlicht.

Also die BOM aktuallisieren:

Und ein kleiner Test mit zwei Projekten: „Quicktest: JUnit 5.6.0 – „Freut euch immer““ weiterlesen

Quicktest der neuen Eclipse 2019-12 IDE –>OK „Freut euch immer“

Mitten in meinem Indien Urlaub ist eine neue Eclipse Version veröffentlich worden.

Dann mal gleich die neue Repo. URL unter
Window > Preferences > Install/Update > Available Software Sites
hinzugefügt

https://download.eclipse.org/releases/2019-12/

und start des Updates. In der Zwischenzeit (1 Minute) kann mein Urlaubsvideo angeschaut oder ein paar Infos darüber gelesen werden. Oder die zwei neuen Videos in engl. über die Änderungen im Java / Maven Bereich (10 Minuten) und General und Git (8 Minuten).

So dann mal ein Quicktest nach dem Restart der neuen IDE. Der Start scheint gefühlt wieder länger zu dauern. Ein erster JUnit Test, ok:

Jetzt ist auch ein neues Maven 3.6.3 mit dabei und eine bessere JDK 13 Unterstüzung.

Also dann „Freut euch immer“ …

207 Wortformen in der deutschen Schriftsprache machen 50% der ganzen Schriftsprache aus!

207 Wortformen in der deutschen Schriftsprache machen 50% der ganzen Schriftsprache aus (Quelle Wikipedia). Wer also 207 Wörter schreiben kann, kann schon die hälfte des deutschen Textes schreiben. Für einen Textparser brauchte ich eine Java Methode die checkt, ob ein Wort in dieser Liste ist.

Love never fails

Also mal eben eine Java-Zweizeiler um das zu überprüfen. „207 Wortformen in der deutschen Schriftsprache machen 50% der ganzen Schriftsprache aus!“ weiterlesen

Raspberry Pi: Jave UUID perfomance Vergleich Raspberry Pi mit iMac

Wie lange braucht ein Raspberry Pi, im Vergleich zu anderen Rechner, um 100000 UUIDs zu erzeugen und auf der Konsole auszugeben mit einem Test ob doppelte generiert werden. So was ähnliches hatte ich vor 2 Jahren schon mal geschrieben.

Die generierten UUIDs oder Teile davon kann man auch als Passwort verwenden 😉

Hier das kleine Java Programm: „Raspberry Pi: Jave UUID perfomance Vergleich Raspberry Pi mit iMac“ weiterlesen

Java: Rätsel des Tages

Was ist das Ergebnis?

Ergebnis: „Java: Rätsel des Tages“ weiterlesen

JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?

Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge ausgeführt werden? Ab JUnit 5.4 geht das mit der Annotation @TestMethodOrder. Es wird nur die @TestMethodOrder(MethodOrderer.Random.class) Annotation an der jeweiligen Test-Klasse benötigt. Die Zufallsfunktion wird mit Hilfe der System.nanoTime() Funktion erzeugt. Also ein Pseudozufall. Aber für Test reicht es.

Wir verwenden diese Testklasse: „JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?“ weiterlesen

JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in alphabetischer Reihenfolge ausgeführt werden?

Wie können die Testmethoden einer Klasse automatisch in alphabetischer Reihenfolge ausgeführt werden? Ab JUnit 5.4 geht das mit der Annotation @TestMethodOrder

Es wird nur die @TestMethodOrder(MethodOrderer.Alphanumeric.class) Annotation an der jeweiligen Test-Klasse benötigt. Mit dem Alphanumeric wird die Reihenfolge auf alphabetischer gesetzt. „JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in alphabetischer Reihenfolge ausgeführt werden?“ weiterlesen

Java Quickie: Ermitteln der Java Version und Home Verzeichnis

Letzte Woche wurde das JUnit 5.4.0 Release veröffentlicht

Also mal testen ob alle läuft? Kleine Änderung in der pom.xml

Dann mal zwei Projekt umstellen. Siehe da, die Buildpipeline laufen auch noch wie erwartet:

und die auch „Letzte Woche wurde das JUnit 5.4.0 Release veröffentlicht“ weiterlesen

Jubiläum: 20 Jahre Homepage wenzlaff.de!

Heute vor 20 Jahren, am 1.12.1998 ging die Domain wenzlaff.de zum ersten mal ans Netz. Wie die Zeit vergeht.

Es war eine statische Webseite mit Freeware und Sprüche Datenbank mit Newsletter und einigen C++ und Java Programmen zum kostenlosen Download aus meiner Hand. Hier ein etwas unvollständiges Bildschirmfoto, mehr habe ich leider nicht mehr gefunden:

Aber auch schon lange vor dieser Zeit, hatte ich eine Homepage, die aber dann auf den Servern der UNI-Bremen kostenlos gehostet wurde. Da hatte ich als Informatiker einen Zugang mit Akustikkoppler mit 300 Baud und Lochkarten hatten wir da auch noch. Das war wenigstens etwas zum anfassen, batches mit Lochkarten schreiben, cool!

Und es gab keine Werbung im Internet.

Die schöne alte Zeit. Und in der Zwischenzeit gab es immer mal neue Technologie. Vom statischen html zum xhtml und JavaScript über einen eigenen Java html Generator mit Templates bis heute zu den Content-Management-System mit eigener Datenbank.

Bis heute konnte ich auch auf dieser Webseite immer auf Werbung verzichten. Juhu …

Wie soll es weiter gehen? Gibt es noch Themen nach über 1000 Beiträgen? Ideen habe ich noch genug, was fehlt ist die Zeit!

In diesem Sinne, vielen Dank an alle Leser und für das viele Feedback (die über 1000 Kommentare mit Kommentarfunktion habe ich ja abgeschaltet…DSGVO läßt grüßen) das auch nach wie vor erwünscht ist, aber eben über E-Mail 😉

Thanks Mindmap
Danke Mindmap

Java Quickie: Liefere die IP vom Domain Namen

Wie kann die IP von einem Domain Namen ermittelt werden? Das geht mit einer Zeile InetAddress.getByName aus dem java.net.InetAddress Package schon seit JDK 1. Wenn die Domain unbekannt ist gibt es eine UnknownHostException wie diese JUnit Tests zeigen:

Debian Raspberry Pi Desktop in VirtualBox VM installieren

Wer keinen Raspberry Pi hat, kann sich das Image auch in der VM von VirtualBox installieren. So kann man auch alles ohne Pi austesten. Es gibt von der Raspberry Pi Foundation ein eigenes Image für PC und Mac dafür. Das Image basiert auf Debian Stretch Kernel Version: 4.9 Release Datum: 27.06.2018. Wie wird das nun installiert?

Zuerst das Image von der Download Seite laden. Das Laden der 2,4 GB dauer etwas.

Dann „Debian Raspberry Pi Desktop in VirtualBox VM installieren“ weiterlesen

Usability-Verbesserunge: Code Mining (Code CodeLens) mit Eclipse Photon

Wer Zusatzinformationen im Quelltext sehen will, kann das mit dem Code Minig (CodeLens) machen. Folgende Infos werden geboten:

Allgemein
Zeige references
Zeige implementations
Zeige method parameter Namen
Zeige method parameter types
Zeige end statement
JUnit
Zeige JUnit status
Zeige JUnit run
Zeige JUnit debug
Debugging
Zeige variable values inline im debugging
EGit
Zeige revision recent change
Zeige avatar
Zeige date ago
Zeige authors

Man kann sich also z.B. die Git-Information anzeigen lassen, wer wann eine Methode editiert hat. Für JUnit-Tests wird angezeigt, ob sie erfolgreich ausgeführt wurden. Zusätzlich lassen die JUnit-Methoden sich direkt starten bzw. debuggen

Das Code Mining mit Eclipse Photon muss noch über die Update-Site (Update Site http://oss.opensagres.fr/jdt-codemining/snapshot/) installiert werden:

Dann noch in den Einstellungen aktivieren:

Das sieht dann
„Usability-Verbesserunge: Code Mining (Code CodeLens) mit Eclipse Photon“ weiterlesen