Jan Bernecke

Jan Bernecke
Jan Bernecke ist seit 2019 Online-Redakteur bei S&S Media. Zuvor war der rugbyspielende Literaturwissenschaftler im Bereich Online-Marketing tätig.
Beiträge dieses Autors

Per Anhalter durch den JavaScript-Dschungel: Asynchronität in JavaScript – ein Werkzeug für jedes Problem

Der Fall bei Asynchronität in JavaScript ist eigentlich klar: Callbacks sind böse und Promises die einzig richtige Lösung. Nein, eigentlich ist ja async/await die Lösung, was aber wiederum auf Promises aufbaut, bei denen wiederum einige Callbacks im Spiel sind. Also ist doch nicht alles so klar, wie es scheint. Warum diese ganze Asynchronität notwendig ist, werden wir im Folgenden klären.

Sicherheit im Lifecycle mit DevSecOps: Einblicke für alle IT-Disziplinen durch umfassendes Monitoring

Während das Zusammenspiel von Development und Operations dank wachsender Erfahrungswerte immer runder läuft, meldet sich eine weitere wichtige IT-Disziplin zu Wort: Mitarbeiter, die für die Sicherheit einer Infrastruktur verantwortlich sind, wollen ebenfalls stärker in die holistische Betrachtung von technologischen Ökosystemen eingebunden werden. Mit DevSecOps setzt sich eine Denk- und Arbeitsweise durch, bei der die Sicherheit von IT-Infrastrukturen vom ersten Tag an über den gesamten Softwarelebenszyklus hinweg mitgedacht wird. Grundlegende Voraussetzung für ein wirkungsvolles Ineinandergreifen aller drei Disziplinen ist ein einheitlicher Blick auf zentrale Kennzahlen und alle sicherheitsrelevanten Signale.

Per Anhalter durch den JavaScript-Dschungel: Asynchronität in JavaScript – ein Werkzeug für jedes Problem

Der Fall bei Asynchronität in JavaScript ist eigentlich klar: Callbacks sind böse und Promises die einzig richtige Lösung. Nein, eigentlich ist ja async/await die Lösung, was aber wiederum auf Promises aufbaut, bei denen wiederum einige Callbacks im Spiel sind. Also ist doch nicht alles so klar, wie es scheint. Warum diese ganze Asynchronität notwendig ist, werden wir im Folgenden klären.

Nebenbuhler: Erste Schritte mit Quarkus und MicroProfile

Quarkus hat aus unterschiedlichen Gründen große Aufmerksamkeit auf sich gezogen. Es verbindet technologische Innovation und spannende Features mit hoher Produktivität für Entwickler. Gleichzeitig bietet es weitreichende Kompatibilität mit gängigen Lösungen, die Entwicklern seit Langem vertraut sind. Insbesondere bietet Quarkus die Möglichkeit, zeitgemäße Anwendungen für den Betrieb in der Cloud auf Basis von JAX-RS, CDI und Hibernate zu entwickeln, ergänzt um die Features des MicroProfile. Somit eröffnet es für Unternehmen mit Java-EE-Historie einen möglichen Pfad in die Zukunft. Wächst hier ein ernstzunehmender Konkurrent für Spring Boot heran?

Mit dem STM32 ins Internet der Dinge: Wir statten das Nucleo Board mit Ethernet aus

Der STM32 ist ein echter Klassiker: Der Mikrocontroller ist weitverbreitet, günstig und eignet sich hervorragend für den Einstieg ins Internet der Dinge. Also Ärmel hochkrempeln und loslegen: Wir wollen das STM32 Nucleo Board mit Ethernet ausstatten. Auf dem Weg dahin erhalten Sie jede Menge Praxistipps dazu, was Sie beim Programmieren eines Webservers auf einem Mikrocontroller beachten sollten.

Kundendaten in Gefahr: Checkmarx dokumentiert kritische Schwachstellen in Apache Unomi

Die Open-Source-Lösung Apache Unomi gilt unter vielen Webexperten als hervorragende Kundendatenplattform: Die Lösung ist hochskalierbar, bietet ein breites Featureset und punktet gerade in der EU mit ihrem vorbildlichen Privacy Management. Mit Blick auf die Popularität der Plattform nahm das Checkmarx Security Research Team jüngst den Code von Unomi unter die Lupe – und identifizierte gleich zwei kritische Sicherheitslücken. Dr. Jürgen Eitle, Solution Expert bei Checkmarx, erklärt, um welche Schwachstellen es sich handelte und wie sie im Zusammenspiel mit Apache behoben wurden.

Classic Games Reloaded: Intelligente Neuronen und dendritisches Lernen (II)

Das Problem des Handlungsreisenden lässt sich per maschinellem Lernen lösen. Diese anspruchsvolle Aufgabe bedarf allerdings einiger fortgeschrittener Techniken, die im vorigen Teil der Serie noch nicht zur Sprache gekommen sind. Daher ergänzen wir in diesem Artikel das bereits entwickelte Neuronenmodell, sodass es der neuen Herausforderung gewachsen ist.

Das eierlegende Truffle-Schwein: Neue polyglotte Programmierung auf der JVM

Viele, die im Java-Umfeld unterwegs sind, werden von ihr gehört haben: der sagenumwobenen GraalVM. Diese „magische“ neue Virtual Machine für Java soll vor allem für blanke Performance sorgen, indem sie den Java-Bytecode in nativen Code kompiliert. Dadurch fällt insbesondere der Start-up-Overhead weg, da weite Teile der Initialisierung bereits vom Compiler erledigt werden. So oder so ähnlich ist es vielerorts zu lesen [1], [2]. Doch das ist bei weitem nicht das einzige Feature, das Oracle der GraalVM gegeben hat. Hinzu kommt, dass sie zu nichts weniger das Potenzial hat, als eine neue Ära der polyglotten Programmierung auf der JVM einzuläuten. Die Rede ist vom Truffle API, einem generischen Framework zur Implementierung von Interpretern.

Fokus auf die Sicherheit: Aktuelle Möglichkeiten bei API-Gateways

Das Konzept von Microservices ist beinahe deckungsgleich mit Cloud-nativen Anwendungen: kleine Komponenten, die miteinander vernetzt und als lose verknüpfte Services bereitgestellt werden. Um APIs erfolgreich in Microservices-Umgebungen einzusetzen, müssen Unternehmen Tools bereitstellen, die Entwicklern die automatisierte Erstellung, Implementierung und Veröffentlichung von APIs ermöglichen – idealerweise als Teil einer CI/CD Pipeline. Anzustreben ist dabei eine iterative Vorgehensweise mit starkem Fokus auf Sicherheit.

Cruft oder Craft: Wie relevant sind Software-Crafting-Techniken heute noch?

Wir schreiben das Jahr 2020. Wenn die werten Lesenden diesen Artikel zu Gesicht bekommen, wird es 2021 sein – mehr als 25 Jahre, nachdem Kent Beck Extreme Programming entwickelt und damit ein Umdenken hinsichtlich unserer Art, Software zu entwickeln, angestoßen hat. Zeit, sich zu fragen, ob die Programmierpraktiken, die mit agiler Softwareentwicklung verbunden werden, den Anforderungen des 21. Jahrhunderts noch gewachsen sind.