Quicktest: JDeps (Java Dependency Analysis Tool)

Mit Java 8 wird im bin Verzeichnis auch das JDeps Tool ausgeliefert. Dieses Tool ermöglicht eine statische Kodeanalyse von der Kommandozeile. Es kann die statischen Abhängigkeiten von Klassen und Jars aufzeigen und auch eine Abhängigkeitsgraphen generieren. So ist man dann für Java 9 vorbereitet.

Das wollen wir einmal ausprobieren. Dazu hole ich mir für mein Testprojekt erst einmal alle Jars und untersuche dann das JUnit 4.12.

Also in der pom.xml folgendes Plugin ergänze und ein „mvn package“ ausführen: „Quicktest: JDeps (Java Dependency Analysis Tool)“ weiterlesen

JUnit 5 @ParameterizedTest mit @ValueSource oder 3 Gründe warum man keine JUnit Tests schreiben sollte!

In JUnit 5 gibt es nun die Möglichkeit, Testmethoden mit Parametern ausszuführen. Anstatt der @Test Annnotation verwendet man die @ParameterizedTest. Nun braucht man noch eine Datenquelle mit @ValueSource.

Diese Klassen liegen in: „JUnit 5 @ParameterizedTest mit @ValueSource oder 3 Gründe warum man keine JUnit Tests schreiben sollte!“ weiterlesen

Rest Test Programm: Java Migration von JUnit 4 nach JUnit 5 (1.0.0.-M6)

Wollte mal mein REST Testprogramm auf JUnit 5 umstellen. Die neuen JUnit 5 Feature sind schon sehr interessant. Vor ein paar Tagen ist der neue M6 veröffentlicht worden (JUnit 5.0.0-M6 = Platform 1.0.0-M6 + Jupiter 5.0.0-M6 + Vintage 4.12.0-M6). Auch ist die Architektur nun grundlegend geändert. Und evl. will man schon mal die Neuen Features testen. Es gilt nicht: „Wer testet ist Feige ;-)“

Was ist da so nötig?

JUnit 5 braucht zur Laufzeit Java 8.

Versionen setzen

Die neuen Abhängigkeiten hinzu: „Rest Test Programm: Java Migration von JUnit 4 nach JUnit 5 (1.0.0.-M6)“ weiterlesen

חזרות Wiederholungen mit JUnit 5: @RepeatedTest

Manchmal will man eine Testmethode öfter ausführen. Das ist ja leicht mit einer Schleife möglich.

JUnit 5 bietet nun aber eine schöne Annotation an @RepeatedTest. Mit der kann leicht die Anzahl der Wiederholungen angegeben werden. Über die Methodenparameter TestInfo und RepetitionInfo kann zur Laufzeit auf die Klassennamen, Methodennamen und aktuellen runden Wert zugegriffen werden. Hier mal ein Beispiel:


„חזרות Wiederholungen mit JUnit 5: @RepeatedTest“ weiterlesen

Standalone RESTful Server und Client mit dem Restlet Framework

Manchmal braucht man in Java einen REST Server oder Client oder beides. Das ist mit dem Restlet Framework schnell implementiert.

Es kann entweder das ganze Beispielprojekt von Github geladen werden oder diese Schritte ausgeführt werden:

Zuerst richten wir in Eclipse ein neues Maven Projekt ein und fügen der pom.xml diese Einträge hinzu: „Standalone RESTful Server und Client mit dem Restlet Framework“ weiterlesen

FreeMarker Templates: ftlh Editor der JBoss Tools 4.5.0.AM 1 läuft auch in Eclipse Oxygen 4.7.0!

Wer FreeMarker Templates bearbeiten will, kann dafür den ftlh Editor der JBoss Tools 4.5.0.AM 1 verwenden. Der läuft auch in Eclipse Oxygen 4.7.0!

Installieren über den Marketplace:

Eine ftlh Datei im Editor mit Syntax highlight, syntax error marker, code completion for macro names and bean property names ua.: „FreeMarker Templates: ftlh Editor der JBoss Tools 4.5.0.AM 1 läuft auch in Eclipse Oxygen 4.7.0!“ weiterlesen

Java 9 (jdk-9+176) auf Mac OS X in 10 Minuten installieren

Es gibt zwar noch keinen endgültigen Releasekandidaten, das wurde um ein paar Monate verschoben. Aber die aktuelle Version (jdk-9+176) geht ja auch schon mal für Testzwecke. Die Installation ist wie hier beschrieben schnell erledigt.

1. Laden der Java 9 Version von http://jdk.java.net/9/. Dazu muss die Lizenz akzeptiert werden und das dmg Archive geladen werden, wie hier gezeigt: „Java 9 (jdk-9+176) auf Mac OS X in 10 Minuten installieren“ weiterlesen

Arduino Nano Programm und Video: Anzeige der 100 am meisten verwendeten Wörter in Englisch

Dies Programm zeigt die 100 am meisten verwendeten englischen Wörte an. Diese 100 Wörter machen die Hälfte alles geschriebenen in Englisch aus. Allein die ersten 25 Wörter aus der Liste, sind schon ein Drittel alles gedruckten in englisch.

Hier C++ Programm mit der Wortliste und einen Fortschrittsbalken, unter Verwendung der U8gLib. „Arduino Nano Programm und Video: Anzeige der 100 am meisten verwendeten Wörter in Englisch“ weiterlesen

Eclipse IDE für die Arduino C++ Entwicklung

Vor ein paar Tagen hatte ich hier beschrieben, wie ein Arduino mit der Arduino IDE geflasht wird. Als Java-Entwickler will man am Besten alles in Eclipse machen. Also auch die Arduino-Programmierung. Das geht auch mit dem Eclipse C++ IDE for Arduino 2.0. Für den Anfang ist wohl die Arduino IDE etwas einfacher zu bedienen. Aber mit dieser Anleitung geht es auch in ca. 1 Stunden. Also los …

Über den Eclipse Marketplace installieren:

Das dauert etwas …

Dann ein Arduino Projekt anlegen: „Eclipse IDE für die Arduino C++ Entwicklung“ weiterlesen

Arduino Nano mit OLED Display „Don’t give up!“ Ansteuerung

Hatte noch ein OLED Display liegen. Das wollte ich mal an einen Arduino anschließen. An einem Raspberry Pi geht auch. Da es nur 4 Drähte sind, ist es mit der u8glib schnell gemacht.

Einfach Plus (VDD) an Plus (VDD, Pin4) und Minus (GND) an Minus (GND, Pin2) und SDA an A4, Pin 8 und SCK an A5, Pin 7.

Achtung nicht Plus mit Minus vertauschen. Das hatte ich für ein paar Minuten gemacht, und hatte mich gewundert, warum das Display kochend heiß wird und keinen Text anzeigt. Es hat es aber überstanden, ist also sehr robust!

Hier die Ausgabe eines einfachen „Dont give up!“ Text der nach 2 Sekunden angezeigt wird, nachdem OK, Start… beendet wurde:

Dont give up!

Es geht aber auch einen Menge mehr, wie diese Gallerie zeigt.
„Arduino Nano mit OLED Display „Don’t give up!“ Ansteuerung“ weiterlesen

Feinstaub Tacho mit History 歷史 aus Hannover

In einem Block-Beitrag hatte ich schon mal von der Feinstaubmessung berichtet. Es läuft auch gerade eine Studie an der MHH von Professor Axel Have­rich die zusammenhänge mit Herzinfarkte untersucht. Ich bin auf das Ergebnis gespannt!

Hier nun ein Feinstaub-Tacho mit den Echtzeitwerten aus Hannover in µG/m3 der jede Stunde automatisch aktualisiert wird (PM10).

„Feinstaub Tacho mit History 歷史 aus Hannover“ weiterlesen

Benzin Preise per NodeRED ermitteln und in Echtzeit grafisch darstellen mit dem Raspberry Pi

Tankstellen melden ihre Spritpreise ins Internet. Von dort können sie leicht abgerufen werden. Zum Beispiel die Benzinpreise von Langenhagen. Die Seite hat auch eine öffentliche kostenlose API. Dort kann man nach Anmeldung bis zu 3 Tankstellen kostenlos abfragen.

Ok, dann mal los, hier die Architektur:

So kann man sich dann vor dem tanken informieren und den billigen Sprit tanken: „Benzin Preise per NodeRED ermitteln und in Echtzeit grafisch darstellen mit dem Raspberry Pi“ weiterlesen

In welcher Höhe fliegen Flugzeuge?

Mich hat mal die Frage interessiert, in welcher Höhe die meisten Flugzeuge aktuell so fliegen.

Also habe ich mal ein kleines Java Programm geschrieben, welches in Echtzeit die Daten von The OpenSky Network abfragen kann. Es werden also mal alle Flugzeuge die Transponser haben und von The OpenSky Network erfasst sind berücksichtigt.

Hier das Ergebnis von 3048 Flugzeugen:

Das ist die vom Programm ermittelte Datenbasis: „In welcher Höhe fliegen Flugzeuge?“ weiterlesen