Nach meinem letzten Artikel zum Thema dWb+ habe ich dieses Jahr wieder einmal die Dokumentation kritisch gelesen und festgestellt, dass ein in den letzten Jahren immer mehr ausgebautes Feature dort noch nicht auftauchte.
Prinzipiell ist es ja so, dass es dWb+ erlaubt, beliebige bereits bestehende JavaBeans als Module benutzen zu können, ohne an ihnen Änderungen durchführen zu müssen - das ist einer der großen Vorteile der Lösung. Allerdings sind diese Module dann nicht für Parallelität oder Nebenläufigkeit optimiert - sie laufen alle im selben Thread und das kann zu Performanceengpässen führen.
Nun könnte man diese Module alle mühsam in ein Korsett wie das in diesem Kapitel beschriebene zwängen und immer den gleichen Boilerplate Code schreiben, um aus einer vorliegenden Implementierung eine threaded Variante zu erstellen. Genau vor dieser Art von fehleranfälliger, langwieriger Arbeit möchte aber dWb+ den Anwender schützen - was also ist zu tun?
Man kann feststellen, dass sich manche Funktionalitäten als semantische Kategorien begreifen lassen - so existieren etwa Generatormodule - Module, die auf ein beliebiges Eingangssignal hin ein Datum eines festgelegten Datentyp entsprechend ihrer internen Konfiguration als Ausgabe erzeugen. Eine weitere Kategorie sind Filter: Diese verfügen über einen Eingang, der Daten eines bestimmten Typs empfängt und diese einer - der inneren Konfiguration folgenden - Verarbeitung unterzieht und das Reultat (vom selben Fatentyp wie der Input) am Ausgang zur Verfügung stellt. Eine weitere solche Kategorie sind eindimensionale Funktionen - Diese Kategorie bildet klassische mathematische Funktionen ab und ist somit ein Spezialfall der Filtermodule. Und schließlich sei hier noch die aktell letzte solche Kategorie erwähnt: Validatoren nehmen einen oder mehrere Inputs spezifischer Datentypen und führt darauf eine - der inneren Parametrierung folgende - Validierung der Eingangsdaten aus - Ergebnis ist ein boolescher Wert abhängig davon, ob die Validierung erfolgreich war.
Für solche Kategorien existieren Annotations und entsprechende AnnotationProcessor-Klassen. Der Anwender muss lediglich die Java-Klassen, für die er threaded Module wünscht mit einer entsprechenden Annotation versehen und diese noch mit einigen wenigen Argumenten parametrisieren. Alles weitere übernimmt der AnnotationProcessor: Er erstellt automatisch eine entsprechende Wrapper-Klasse, die dann als Modul in dWb+ genutzt werden kann.
Die ausführliche Dokumentation mit Beispielen findet man wie immer im Dokumentationsprojekt als PDF oder EPUB.
07.02.2025
Da ich mich in den letzten Wochen wieder einmal mit Javas Sicherheitsmechanismen und dem Erzeugen von Animationen beschäftigt habe, habe ich den Entschluss gefasst, die bisher mittels JMF AVIs in dWb+ zu erstetzen - nur wodurch?
07.02.2025
Ich hatte neulich hier einen Link zu Multi-Scale Truchet Patterns und habe seitdem den Algorithmus mit java umgesetzt und ihn als Teil meines Projekts zur Testdatengenerierung veröffentlicht.
Ticketsysteme sind lebende Wesen
29.03.2020
Hier zunächst wieder eine Triggerwarnung: Dieser Artikel wird meine Meinung abbilden. es kann sein, dass sie dem einen oder anderen nicht gefällt - das ist mir aber egal. Und wenn hier irgendwelche Schneeflocken mitlesen, dann sind die selber schuld.
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Jupyter JupyterBinder Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Präsentationen Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Ich berichtete hier bereits über Experimente mit dem Clifford-Attractor, allerdings war ich noch Experimente unter geringfügig geänderten Parametern schuldig...
WeiterlesenEs wurde wieder einmal Zeit für ein neues Feature in meinem Static Site Generator mittels dessen ich ja auch meine Heimatseite im Zwischennetz gestalte und verwalte...
WeiterlesenEs kamen mehrere Faktoren zusammen: die Tatsache, dass ich nicht mehr ganz so kürzlich die 50 überschritten habe hatte ebenso darauf Einfluss wie das heutige trübe Wetter und auch der Fakt, dass ich bereits beinahe alle Wochenendpflichten erledigt habe. Der letzte Stein des Anstoßes war dann aber, dass sich heute zum 125. Mal der Geburtstag von Erich Fromm jährt.
WeiterlesenManche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen Codeberg-Repositories findet man hier.