Vor zwei Tagen wurde die neue Version veröffentlicht:
Dann mal die pom.xml updaten und einen Quicktest:
„Neue Version graphviz-java-parent-0.11.0 vor zwei Tagen veröffentlicht“ weiterlesen
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Anleitungen zu allen Themen.
Vor zwei Tagen wurde die neue Version veröffentlicht:
Dann mal die pom.xml updaten und einen Quicktest:
„Neue Version graphviz-java-parent-0.11.0 vor zwei Tagen veröffentlicht“ weiterlesen
Dann wollen wir mal das gestern veröffentlichte Update installieren. Die Installation und Neuerungen sind ja bei Heise beschrieben. Dann mal ein Quicktest:
„Eclipse 2019-09 update in 10 Min installieren und Quicktest –> OK“ weiterlesen
Wer mit Java ical Termine erzeugen will, kann das gut mit der ical4j Lib machen. Es muss dazu in der pom.xml dieser Eintrag hinzugefügt werden.
1 2 3 4 5 |
<dependency> <groupId>org.mnode.ical4j</groupId> <artifactId>ical4j</artifactId> <version>3.0.4</version> </dependency> |
Dann wollen wir zuerst mal ein paar Zeilen für den JUnit Test dafür schreiben:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
@Test void testWriteKalenderInDatei() throws Exception { Calendar icsCalendar = getTestkalenderMitEinTermin(); String icsDateinamen = "JUnit-Testdatei.ics"; Kalender.writeKalenderInDatei(icsCalendar, icsDateinamen); } private Calendar getTestkalenderMitEinTermin() { Calendar icsCalendar = Kalender.createKalender(); TimeZone timezone = Kalender.createTimezoneEuropa(); LocalDateTime eventStartZeitpunkt = LocalDateTime.now(); String eventKommentar = "JUnit Test Kommentar"; String eventTitel = "JUnit Event Titel"; Kalender k = new Kalender(); k.addTermin(icsCalendar, timezone, eventStartZeitpunkt, eventTitel, eventKommentar); return icsCalendar; } |
Wir brauchen noch die Kalender Klasse, die hier kopiert werden kann: „Wie kann in Java ein ical Termin (ics Datei) erzeugt werden?“ weiterlesen
Der Bibelleseplan Generator ist nun mit frei wählbaren start Termin bzw. Bibelbuch für (Mac, Win, Raspberry Pi) veröffentlicht. Es können jetzt Termine für alle Kalender autom. erzeugt werden im isc Format für Google, Apple oder Outlock. Und zwar für ein oder alle Bibelbücher mit frei wählbaren Starttermin. Beschrieben hatte ich ihn ja schon hier.
Die Installation ist schnell in zwei Schriten gemacht.
1. Auf dieser Projekt-Seite die letzte Version landen unter CI/CD – Pipelines – dann Artefakte – Download Install Java 8 Artifacts oder als alternative hier die 0.0.4 Version (4,3 MB) als ZIP laden (artifacts.zip). „Bibelleseplan-Generator 0.0.4 nun mit frei wählbaren Start-Termin bzw. Bibelbuch für (Mac, Windows, Raspberry Pi) veröffentlicht“ weiterlesen
Die Kalender Einstellungen des Google Kalenders ermöglichen es Spammern defalult leicht Termine einzustellen die man nicht will (SPAMM). Wer unerwünschte Termine oder Einladungen erhält, kann es etwas eindämmen. Dazu diese Einstellungen anpassen unter Einstellungen und Allgemein:
Un dann die rot markierten Optionen abwählen bzw. Nein wählen, so das es ungefähr so aussieht: „Wie kann dein Google Kalender in 3 Minuten vor Spammern geschützt werden?“ weiterlesen
Seit ein paar Tagen gib es eine neue Version von Freemarker 2.3.29. Was gibt es da Neues? Fünf Änderungen auf FTL Seite und neun auf Java-Seite. Dann mal ein Projekt Testweise updaten. Dazu nehme ich mal den TWMindmapgenerator.
Quicktest ok! Mehr im Handbuch.
Hier hatte ich gestern ja schon die Biblellesepläne im EXCEL, TXT und PDF Format erzeugt.
Nun habe ich mit dem Generator auch für jeden Tag einen Termin im ics-Kalender Format erzeugt (Google, Apple, Outlock …). Und zwar 1189 Termine die jeweils um 6 Uhr morgens in der Woche 3 und am Wochenende 4 Kapitel angeben. Starten tut alles am 1.9.2019. Die ics-Datei kann hier geladen, und dann in dem Kaleder deiner Wahl importiert werden. Vorher wie immer ein backup (export) des Kalenders machen.
bibelleseplan_2019-08-17-ganze-Bibel.ics
Wer nich gleich mit der ganzen Bible starten will, kann auch mit einem Bibelbuch anfangen, mit Mathäus:
bibelleseplan_2019-08-17-mathaeus.ics
Bei klick auf Import in den Kalender kommt z.B. auf einem Mac, erst noch die Abfrage in welchem Kalender man importieren will:
Anschließend sind am Wochenende jeweils 4 Einträge um 6 Uhr zu finden: „Raspberry Pi: Bibelleseplan im ics Kalender Format mit 1189 Termine“ weiterlesen
Wer die 1189 Kapitel der Bibel in einem Jahr lesen will, kann einfach jeden Wochentag 3 Kapitel und am Wochenende 4 lesen. An vielen Stellen im Internet gibt es auch Bibellesepläne. Ich habe mal ein paar Pläne in unterschiedlichen Formaten generiert, die hier kostenlos geladen werden können:
bibelleseplan_1.9.2019 (PDF)
bibelleseplan_1.9.2019 (Excel)
bibelleseplan_1.9.2019 (TXT)
bibelleseplan_2019-08-17-ganze-Bibel (ics) siehe auch hier
bibelleseplan_2019-08-17-mathaeus (ics) siehe auch hier
Um aber die twbibel von MavenCentral mal zu testen, folgt hier ein kleines Java-Programm. Dieses wird dann noch um eine Oberfläche (GUI) oder Kommandozeilen-Client erweitert um verschiedene Bibellesepläne mit unterschiedlichen Start Datum zu generieren.
Um die Bibel Lib zu nutzen, muss in der pom.xml für das Maven-Projekt dieser Eintrag gemacht werden:
1 2 3 4 5 6 7 |
<dependencies> <dependency> <groupId>de.wenzlaff.twbibel</groupId> <artifactId>de.wenzlaff.twbibel</artifactId> <version>0.0.2</version> </dependency> </dependencies> |
Dann eine Java Klasse mit ungefähr diesem Inhalt: „Raspberry Pi: Bibelleseplan (PDF, Excel, TXT, ics) Generator (mit Java und twbibel)“ weiterlesen
Auch auf dem Raspberry Pi können leicht Verzeichnisse oder Dateien überwacht werden. Dazu muss einmalig die inotify-tools mit
sudo apt-get install inotify-tools
installiert werden.
Das geht ohne neustart und ist in 3 Minuten erledigt. Schon kann dann z.B. mit
inotifywait -mrq -e create –format %w%f /home/pi
das /home/pi Verzeichnis überwacht werden. Nach dem Start können wir in einem anderen Terminal Fenster eine Datei oder zwei anlegen: „Raspberry Pi: Veränderungen an Dateien oder Verzeichnissen mit inotify überwachen“ weiterlesen
Wenn man JavaFX programmieren will, kann man das efxclipse Plugin installieren. Dazu über den Marketplace von Eclipse nach efxclipse suchen …
Kontrolle ob alles installiert wurde dann über … „JavaFX Plugin in Eclipse 2019-06 installieren und neue JavaFX Projekt anlegen in 10 Minuten“ weiterlesen
Manchmal benötigt man alle Tage im Jahr oder alle Tage im Monat oder alle Tage von Start Datum bis zum Ende Datum. Das geht mit Java 8 in einen Zweizeiler:
1 2 3 4 5 6 7 |
// erst die Differenz zwischen Start und Ende Datum berechnen long daysBetween = ChronoUnit.DAYS.between(startDate, endDate); // dann über alle Tage iteriern IntStream.iterate(0, i -> i + 1) .limit(daysBetween) .mapToObj(i -> startDate.plusDays(i) .collect(Collectors.toList()); |
Hier das Ergebnis und die ganze Klasse:
Manchmal braucht man alle Tage im Jahr oder Monat. Z.b. in solch einem Format:
Wie kann die erzeugt werden? „Excel-Quickie: Wie kann ein Spalte mit allen Tagen des Jahres (Monat) erzeugt werden?“ weiterlesen
1. Tabelle kopieren:
2. Auf das Ziel Blatt gehen und Einfügen: „Excel-Quickie: Wie können Excel Tabellen-Referenzen bzw. Verknüpfungen in andere Arbeitsblätter eingefügt werden in Mac OS X?“ weiterlesen
Javalin wurde vor ein paar Tagen in der Version 3.3.0 veröffentlicht. Was dieser Framwork kann, zeigt diese Mindmap:
Mit einem Zweizeiler kann in Java schnell eine Anwendung erstellt werden. Es wird nur die Abhängkeit in der pom.xml erwartet: „Javalin Framwork nicht nur für Java vor ein paar Tagen in Version 3.3.0 veröffentlicht“ weiterlesen
Manchmal wird ein Flow für eine gewisse Zeit nicht mehr benötigt. Man kann ihn leicht deaktivieren bzw. wieder aktivieren. Das geht nicht über ein Menü, sondern über einen doppelklick auf den TAB:
Es erscheint dann dieser Dialog, mit dem Status Schalter „Wie können nicht benötigte Flows in NodeRed deaktiviert werden?“ weiterlesen
Wie können in Excel Felder mit einem sprechenden Namen (Konstante) belegt werden? Damit kann leicht auf ein Feld oder Bereich verwiesen werden. Z.b. kann man sich PI besser merken als C5.
Im Menü: Einfügen – Namen – Namen definieren …
Einen Namen wählen und das Feld bzw. den Bereich eingeben: „Wie können in Excel mit Mac OS X Felder mit einem sprechenden Namen (Konstante) belegt werden?“ weiterlesen
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.
Also mal eben eine Java-Zweizeiler um das zu überprüfen. „207 Wortformen in der deutschen Schriftsprache machen 50% der ganzen Schriftsprache aus!“ weiterlesen
Wie kann mit Java 8 mit dem DOM-Parser einfach eine XML Datei erzeugt werden?
Es sind keine weiteren Abhängigkeiten nötig. Allso keine imports von Fremdjars. Alles ist in Java 8 vorhanden:
1 2 3 4 5 6 7 8 9 |
import java.io.File; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; |
Es muss ein DOM Object mit der Baumstruktur erzeugt werden. Dann kann mit dem Transformer und dem StreamResult in eine Datei geschrieben werden.
Hier nun die drei Schritte:
1. Mit der DocumentBuilderFactory ein neues Document erzeugen:
1 |
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument() |
2. Benötigte Elemente und Attribute erzeugen und dem Dokument hinzufügen „Wie kann mit Java 8 und dem DOM-Parser einfach eine XML Datei erzeugt werden?“ weiterlesen