10 Gründe warum Nutzer eine Bill of Materials (SBOM) brauchen

Seit ein paar Wochen gibt es die neue Version 2.7.11 von CycloneDX. Wenn das nicht nicht ein Grund ist, einen neue SBOM zu erzeugen. Eine Software Bill of Materials (SBOM) ist eine Liste der Bestandteile und Komponenten einer Softwareanwendung sowie ihrer Beziehungen zueinander. Hier hatte ich ja schon mal beschrieben wie man mit Maven und dem CycloneDX Plugin eine erzeugt. Hier sind die 10 wichtigsten Gründe, warum Benutzer eine SBOM benötigen:

„10 Gründe warum Nutzer eine Bill of Materials (SBOM) brauchen“ weiterlesen

ArchUnit Version 1.2.1 veröffentlicht für eine kontinuierliche Überwachung der Architekturstandards

Das Java Framework ArchUnit ist ein leistungsstarkes Werkzeug für die Gewährleistung von Softwarearchitektur und Code-Qualität in Java-Projekten.

Durch die Möglichkeit, deklarative Regeln zu erstellen und automatisierte Tests zu schreiben, hilft ArchUnit, konsistente und hochwertige Software zu entwickeln. „ArchUnit Version 1.2.1 veröffentlicht für eine kontinuierliche Überwachung der Architekturstandards“ weiterlesen

Quarkus REST-Service mit Swagger-UI in unter 10 Minuten von 0 auf dem Raspberry Pi 4 installieren (Bonus: Panache)

Einen aktuellen Quarkus REST-Service mit Swagger-UI kann in unter 10 Minuten auf dem Raspberry Pi 4 installiert werden. Das längste daran ist noch der erstmalig download. Vor 3 Jahren hatte ich das ja schon in 15 Minuten gemacht.

Also diese 7. Schritte sind auf der Kommandozeile nötig, um einen Aktuellen REST-Server mit Quarkus 3.5.3 zu starten:

Freut euch immer

„Quarkus REST-Service mit Swagger-UI in unter 10 Minuten von 0 auf dem Raspberry Pi 4 installieren (Bonus: Panache)“ weiterlesen

Interquartilsabstand (IQR oder IQA) mit PSPP berechnen (Teil 6)

Der Interquartilsabstand (IQR) ist ein Streuungsmaß in der deskriptiven Statistik. Der IQR ist eine robuste Maßzahl, die in der Lage ist, Ausreißer in Datensätzen zu identifizieren und Informationen über die Streuung der Daten zu liefern. Der Interquartilsabstand, oft abgekürzt als IQR, ist ein Maß für die Streuung oder die Verbreitung von Daten in einem Datensatz. Er basiert auf den Quartilen, die die Daten in vier gleich große Teile aufteilen.

Die Quartile sind: „Interquartilsabstand (IQR oder IQA) mit PSPP berechnen (Teil 6)“ weiterlesen

Quarkus CO2 Server 2.x auf Version 3.4.1 Migration mit update Tool oder per Hand

Der 3. Oktober ist in Deutschland ein Feiertag, wenn das nicht Grund genug ist, mal die Migration eines Quarkus 2.0 CO-2 Servers auf 3.4.1 durchzuführen.

Am dritten Oktober, freu’n wir uns sehr,
Ein Feiertag, der uns vereint, ist hier.
Die Einheit Deutschlands, im Glanz erstrahlt,
Wie Quarkus, stark und neu, die Zukunft malt.

Die Alte 2er Version, längst vergangen Zeit,
Jetzt weichen muss, für Neues, das gedeiht.
Wie Quarkus 3er, frisch und schnell, die Zukunft weist,
Die Migration, sie kommt, wir sind bereit.

Die Server, stark wie Eichen im Revier,
Wie Quarkus, schnell und stabil, das ist ihr Tier.
Die Zukunft winkt, wir schreiten voran,
Mit Feiern und Migration, Hand in Hand.

-Thomas Wenzlaff

Es gibt da ja automatisch Scripte und eine Anleitung.

Es war aber doch etwas Handarbeit angesagt, da das „Quarkus CO2 Server 2.x auf Version 3.4.1 Migration mit update Tool oder per Hand“ weiterlesen

XCA – Certification Authority (Zertifizierungsstelle) mit Elliptische-Kurven-Kryptografie (ECC) secp256k1

In der Informationssicherheit und Verschlüsselung steht „CA“ für Certification Authority. Eine Zertifizierungsstelle ist eine vertrauenswürdige Organisation, die digitale Zertifikate ausstellt und verwaltet. Diese Zertifikate werden verwendet, um die Identität von Websites, Servern und Benutzern in verschlüsselten Kommunikationen zu überprüfen, z. B. bei der SSL/TLS-Verschlüsselung im Web. Hier ein Bild der XCA GUI unter Linux:

Gestern wurde eine neue Version 2.5.0 der XCA veröffentlicht. Dafür gibt es auf dem Raspberry Pi 4 noch kein Package.

Aber man kann es ja auch selbst compilieren und zwar so für den aktuellen dev 2.5.3 Stand:

„XCA – Certification Authority (Zertifizierungsstelle) mit Elliptische-Kurven-Kryptografie (ECC) secp256k1“ weiterlesen

SSL/TLS-Zertifikat mit Elliptische-Kurven-Kryptografie (ECC) secp256k1 und eigener CA erzeugen und per Java einlesen auf dem Raspberry Pi

In der heutigen digitalen Welt ist die Sicherheit von Daten und Kommunikation von höchster Bedeutung. SSL/TLS-Zertifikate spielen eine entscheidende Rolle bei der Verschlüsselung von Datenübertragungen im Internet und der Gewährleistung der Vertraulichkeit und Integrität von Informationen. Das Open-Source-Programm xca ist eine leistungsstarke und vielseitige Anwendung, die die Verwaltung von SSL/TLS-Zertifikaten und vieles mehr erleichtert.

Es kann einfach per sudo apt install xca installiert werden und steht dann im Zubehör-Menü zur Verfügung:

„SSL/TLS-Zertifikat mit Elliptische-Kurven-Kryptografie (ECC) secp256k1 und eigener CA erzeugen und per Java einlesen auf dem Raspberry Pi“ weiterlesen

Warum Leerzeichen im Source-Code von Eclipse entfernen?

Die Möglichkeit, Quellcode in der Eclipse IDE zu vergleichen, ist äußerst nützlich, um Änderungen in Ihrem Code nachzuvollziehen. Das Ausschalten von Leerzeichen während des Vergleichs kann dazu beitragen, Code-Konsistenz zu gewährleisten und Platz zu sparen. Das geht jetzt ganz einfach über die Toolbar über diesen Button:

Die Eclipse Integrated Development Environment (IDE) ist eine der beliebtesten Entwicklungsplattformen für Programmierer weltweit. „Warum Leerzeichen im Source-Code von Eclipse entfernen?“ weiterlesen

Die Arduino IDE 2.2.1: Ein Werkzeug für Innovation und Kreativität in neuer Version mal was anderes als iPhone 17 plus

In einer Welt, in der Technologie und Elektronik einen immer größeren Stellenwert einnehmen, ist die Arduino IDE (Integrated Development Environment) zu einem unschätzbar wertvollen Werkzeug geworden. Arduino ist weithin bekannt für seine Benutzerfreundlichkeit und seine Fähigkeit, Menschen jeden Alters in die Welt der Elektronik und Programmierung einzuführen.

Die Arduino IDE hat sich als unschätzbares Werkzeug für Entwickler, Hobbyisten und Bildungseinrichtungen etabliert. Mit ihrer Benutzerfreundlichkeit, ihrer lebendigen Community und ihren umfangreichen Ressourcen bietet sie eine ideale Plattform, um in die Welt der Elektronik und Programmierung einzutauchen. Ob Sie ein Anfänger sind, der gerade erst anfängt, oder ein erfahrener Entwickler, der komplexe Projekte erstellen möchte, die Arduino IDE bietet die Werkzeuge und Unterstützung, die Sie benötigen, um Ihre Ideen in die Realität umzusetzen.

Hier ein paar allgemeine Vorteile auch zur neuen Version: „Die Arduino IDE 2.2.1: Ein Werkzeug für Innovation und Kreativität in neuer Version mal was anderes als iPhone 17 plus“ weiterlesen

Die wichtigsten Unterschiede zwischen Trust Stores und Key Stores für Java und HTTPS

Die wichtigsten Unterschiede zwischen Trust Stores und Key Stores für Java und HTTPS.

Der Key Store speichert private Schlüssel und zugehörige Zertifikate zur Identifizierung und Authentifizierung.
Der Trust Store speichert Zertifikate von vertrauenswürdigen Zertifizierungsstellen zur Überprüfung der Glaubwürdigkeit von Remote-Entitäten.

Beide Speicher sind wichtig, um eine sichere Kommunikation über HTTPS und andere verschlüsselte Protokolle zu gewährleisten. Der Key Store ermöglicht die Identifizierung und Authentifizierung, während der Trust Store das Vertrauen in die Gegenstelle sicherstellt. Hier die Unterschiede als Mindmap und als Tabelle:

„Die wichtigsten Unterschiede zwischen Trust Stores und Key Stores für Java und HTTPS“ weiterlesen

MP4 ins GIF Format umwandeln (mp2togif) mit ffmpeg

Warum die Konvertierung von MP4 zu GIF sinnvoll sein kann?

Die Konvertierung von Dateiformaten ist eine gängige Praxis in der digitalen Welt, die verschiedene Zwecke erfüllen kann. Ein solches Szenario ist die Umwandlung von MP4-Videos in GIF-Animationen. Obwohl beide Formate ihre eigenen Vorzüge haben, gibt es bestimmte Situationen, in denen die Konvertierung von MP4 zu GIF durchaus sinnvoll sein kann.

Zum Beispiel bietet Blender keinen GIF export. Deshalb habe ich ein kleines Script geschrieben, welche mit ffmpeg die Umwandlung durchfürhrt. Wir haben z.B. dieses MP4 Video „MP4 ins GIF Format umwandeln (mp2togif) mit ffmpeg“ weiterlesen

Das „Haus vom Nikolaus“ mit seinen 88 Möglichkeiten und seine Bedeutung in der Graphentheorie

Das „Haus vom Nikolaus„, ein einfaches geometrisches Muster aus fünf Linien, das die Form eines stilisierten Hauses darstellt, mag auf den ersten Blick wie eine unschuldige Kindermalerei wirken. Doch hinter diesem scheinbar simplen Muster verbirgt sich eine faszinierende Verbindung zur Graphentheorie, einem Teilgebiet der Mathematik, das sich mit den Eigenschaften und Beziehungen von Graphen beschäftigt. Dann mal los, und ein kleines Java Programm dazu.

Was ist das „Haus vom Nikolaus“? „Das „Haus vom Nikolaus“ mit seinen 88 Möglichkeiten und seine Bedeutung in der Graphentheorie“ weiterlesen

Königsberger Brückenproblem oder etwas Graphentheorie mit jgrapht in Java

Das Königsberger Brückenproblem ist eine klassische mathematische Herausforderung, die im 18. Jahrhundert entstand und einen wichtigen Einfluss auf die Entwicklung der Graphentheorie hatte. Es handelt sich um eine Fragestellung bezüglich der Überquerung von Brücken über den Flüssen Pregel und seinen Inseln in der Stadt Königsberg (heute Kaliningrad, Russland). Das Problem wurde erstmals von dem Schweizer Mathematiker Leonhard Euler im Jahr 1735 gelöst und legte den Grundstein für die moderne Graphentheorie.

In Königsberg gab es sieben Brücken, die die Flüsse Pregel und die beiden Inseln verbunden haben. Die Frage war, ob es möglich war, die Stadt zu durchqueren, indem man jede Brücke nur einmal überquerte und schließlich an einem beliebigen Punkt endete.

Euler bewies, dass es keine Möglichkeit gibt, das Königsberger Brückenproblem zu lösen. Er zeigte, dass mindestens zwei der vier Landpunkte eine ungerade Anzahl von Brücken haben müssten, um eine Lösung unmöglich zu machen. Dies führte zur Entwicklung der Graphentheorie, bei der das Problem als ein Graph dargestellt werden kann, wobei die Landpunkte die Knoten und die Brücken die Kanten des Graphen sind.

Da kommt nun die Implementierung mit JGraphT in Java ins Spiel. „Königsberger Brückenproblem oder etwas Graphentheorie mit jgrapht in Java“ weiterlesen

Every main method deserves picocli!

Picocli: Eine leistungsstarke Bibliothek für die Erstellung von Befehlszeilenanwendungen. Hier habe ich schon oft davon berichtet. Da es im Juni die Version 4.7.4 gab, mal hier ein Beispiel dazu.

Die Entwicklung von Software, sei es in Form von Anwendungen oder Tools, erfordert oft die Integration von Befehlszeilenfunktionalität, um Benutzern eine effiziente Interaktion mit der Software zu ermöglichen. Eine der bemerkenswertesten Bibliotheken, die diese Aufgabe erleichtert, ist „Picocli„. Picocli ist eine Java-basierte Open-Source-Bibliothek, die Entwicklern dabei hilft, robuste und benutzerfreundliche Befehlszeilenanwendungen zu erstellen.

Was ist Picocli? „Every main method deserves picocli!“ weiterlesen

Maven Embedder

Der „Maven Embedder“ ist eine Möglichkeit, Maven in Java-Anwendungen einzubetten und Maven-Funktionen programmatisch aufzurufen. Damit kannst du Maven in deinem Code verwenden, um Build- und Dependency-Management-Funktionen auszuführen, ohne externe Prozesse aufrufen zu müssen.

Man braucht nur eine Abhängigkeit:

Das Apache Maven Build-Tool ist ein weit verbreitetes Werkzeug in der Java-Entwicklungswelt, das die Automatisierung von Build-, Test- und Abhängigkeitsverwaltungsaufgaben erleichtert. Normalerweise wird Maven über die Befehlszeile oder in Build-Skripten verwendet. In einigen Szenarien kann es jedoch erforderlich sein, Maven in Java-Anwendungen einzubetten, um Maven-Funktionen programmatisch aufzurufen. Das Maven Embedder ermöglicht genau das. Was ist der Maven Embedder? „Maven Embedder“ weiterlesen

Rot oder Grün, das ist hier die Frage

Zum Wochenende mal ein kleines Quiz. Läuft der Test grün oder rot?

Die Lösung … „Rot oder Grün, das ist hier die Frage“ weiterlesen

Unit test your Java architecture a new release of ArchUnit (v1.1.0) is out.

Leider keine Zeit für eine Reise nach Nashville, TN zum Patient Blood Management and Blood Health: They Top the Charts! Annual Meeting. Dann mal die gestern veröffentlichte Version von ArchUnit testen.

Das Java Framework ArchUnit ist ein leistungsstarkes Werkzeug für die Gewährleistung von Softwarearchitektur und Code-Qualität in Java-Projekten. Durch die Möglichkeit, deklarative Regeln zu erstellen und automatisierte Tests zu schreiben, hilft ArchUnit, konsistente und hochwertige Software zu entwickeln. „Unit test your Java architecture a new release of ArchUnit (v1.1.0) is out.“ weiterlesen

pinout – die GPIO-Schnittstelle des Raspberry Pi

Ein einfaches pinout gibt auf dem Pi die Belegung aus. Cool! Hier die Ausgabe eines Raspberry Pi Zero W

Der Raspberry Pi ist ein vielseitiger Einplatinencomputer, der in den letzten Jahren enorm an Popularität gewonnen hat. Eines seiner bemerkenswertesten Merkmale ist die General Purpose Input Output (GPIO) Schnittstelle. GPIO ermöglicht es dem Raspberry Pi, mit der physischen Welt zu interagieren, indem es digitale Signale sendet und empfängt. „pinout – die GPIO-Schnittstelle des Raspberry Pi“ weiterlesen

Wie kann eine Datei-Liste aller Maven Abhängigkeiten eines Projektes erstellt werden?

Manchmal will man eine Liste aller Abhängigkeite eines Maven-Projektes in einer eigenen Datei.

Das geht einfach mit dem maven-dependency-plugin.

Die effiziente Verwaltung von Abhängigkeiten ist ein grundlegendes Element bei der Entwicklung von Java-Projekten. Maven ist ein weit verbreitetes Build-Management-Tool, das Entwicklern ermöglicht, Abhängigkeiten zu verwalten und den Build-Prozess zu automatisieren. Das Maven-Dependency-Plugin ist eine Erweiterung von Maven, die speziell für die Handhabung von Abhängigkeiten entwickelt wurde.

Also einfach das Plugin in der pom.xml einbinden z.B.: „Wie kann eine Datei-Liste aller Maven Abhängigkeiten eines Projektes erstellt werden?“ weiterlesen

Software Bill of Materials (SBOM) mit CycloneDX Maven Plugin leicht erzeugen

In einer zunehmend vernetzten und digitalisierten Welt sind Softwarekomponenten und -anwendungen allgegenwärtig. Unternehmen verlassen sich auf komplexe Softwarelösungen, um ihre Geschäftsprozesse zu unterstützen und innovative Produkte und Dienstleistungen anzubieten. Angesichts der wachsenden Bedrohungen durch Sicherheitslücken und Compliance-Anforderungen wird die Transparenz über die verwendeten Softwarekomponenten immer wichtiger. Hier kommt die Software Bill of Materials (SBOM) ins Spiel, die eine detaillierte und strukturierte Auflistung aller Softwarekomponenten eines Projekts bietet. Vor einem Jahr hatte ich schon mal davon berichtet. In diesem Artikel werden die Vorteile einer SBOM genauer betrachtet.

Transparenz über Softwarekomponenten:
Eine SBOM ermöglicht eine umfassende Transparenz über die verwendeten Softwarekomponenten in einem Projekt. Sie listet alle Komponenten auf, einschließlich Open-Source-Software, Drittanbieterbibliotheken und proprietäre Codebasis. Dies schafft Klarheit über den Ursprung und die Lizenzierung der Software, was für die Einhaltung von Compliance-Anforderungen und die Vermeidung von rechtlichen Problemen von entscheidender Bedeutung ist.
„Software Bill of Materials (SBOM) mit CycloneDX Maven Plugin leicht erzeugen“ weiterlesen

git -v = git version 2.40.0

Git ist ein weit verbreitetes verteiltes Versionsverwaltungssystem, das eine effiziente und flexible Möglichkeit bietet, Code zu verwalten. Mit Git können Entwickler Änderungen am Code nachverfolgen, zusammenführen und rückgängig machen. Es ist einfach zu erlernen, jedoch mächtig genug, um komplexe Projekte zu handhaben.

Git ermöglicht auch die Zusammenarbeit von Teams, indem es die Verwaltung von Code-Änderungen und die Integration von Features erleichtert.

Am 12.3.2023 ist eine neue Version von git mit diesen Releasenotes veröffentlicht worden. Wenn das kein Grund ist mal ein update durchzuführen. „git -v = git version 2.40.0“ weiterlesen

REST-Server mit statischen HTML Seiten bzw. Bildern in 5 Minuten erstellen

Wie in diesem Beitrag beschrieben, kann leicht ein REST-Server in 5 Minuten erstellt werden. Auch die Sicherheit kann in 5 Minuten mit Helmet erweitert werden, wie hier beschrieben. Wer weitere 5 Minuten hat, kann auch auf ein Verzeichnis mit statischen Resourcen zugreifen.

Eine statische Webseite ist eine Art von Webseite, bei der die Inhalte für jede Seite im Voraus erstellt werden und nicht dynamisch auf Anfrage generiert werden. Dies bedeutet, dass der Inhalt jeder Seite statisch ist und sich nicht ändert, es sei denn, jemand bearbeitet manuell die HTML-Dateien, die die Seiten darstellen.

Statische Webseiten werden oft verwendet, wenn der Inhalt der Seite selten oder nie aktualisiert wird, z.B. bei Landingpages, Informationsseiten oder Blogs mit selten aktualisierten Inhalten. Sie sind einfach zu erstellen und zu verwalten und erfordern keine spezielle Software oder Programmierkenntnisse. „REST-Server mit statischen HTML Seiten bzw. Bildern in 5 Minuten erstellen“ weiterlesen

REST-Server in 5 Minunten erstellen mit Node.js and Express.js

REST (Representational State Transfer) Server sollten genutzt werden, wenn es darum geht, eine Web-API (Application Programming Interface) bereitzustellen, die es ermöglicht, Daten zwischen verschiedenen Systemen auszutauschen.

REST ist ein Architekturstil, der sich auf die Verwendung von HTTP-Methoden wie GET, POST, PUT und DELETE konzentriert, um Ressourcen zu erstellen, abzufragen, zu ändern und zu löschen. Ein REST-Server kann in fast jeder Programmiersprache entwickelt werden und ist eine gute Wahl für die Erstellung von Microservices oder für die Integration von Anwendungen mit anderen Systemen.

Express.js ist ein web Application Framework für Node.js, das es Entwicklern erleichtert, eine HTTP-Server zu erstellen und Routing-Funktionalitäten bereitzustellen. Es ist eines der am weitesten verbreiteten Framework für Node.js und wird oft für die Erstellung von Webanwendungen und REST-APIs verwendet. „REST-Server in 5 Minunten erstellen mit Node.js and Express.js“ weiterlesen