Die neue Softwerker-Ausgabe Vol. 13 präsentiert euch ein Acht-Gänge-Menü: von Machine-Learning-Methoden, Serverless Data Pipelines und Chaos Tools über Kubernetes-Deployment mit Helm und BDD für Alexa Skills bis hin zu Qualitätsmerkmalen einer Softwarearchitektur und vieles mehr.
willkommen zum perfekten Softwerker-Dinner. Gemeinsame Mahlzeiten haben eine lange Tradition als „sozialer Klebstoff“. Beim Essen redet es sich offener und entspannter und das Miteinander wird gefestigt – in Familien, wie auch beim Mittagstisch während der Arbeit. Dieses Prinzip haben wir u. A. schon in Form unserer Brown Paper Bag Lunches angewendet, bei denen Experten Vorträge während eines gemeinsamen Mittagessens halten (S. 21). Und sind wir mal ehrlich: Wer isst nicht gerne?! Deswegen haben wir diese Ausgabe des Softwerkers einmal als Acht-Gänge-Menü konzipiert. Unsere Köche (aka Autoren) haben verschiedene „Gerichte“ für dich zubereitet: von den Qualitätsmerkmalen einer Softwarearchitektur (S. 22) bis hin zu Behavior-Driven Design für Alexa Skills mit Cucumber.js (S. 64).
Dass diese Ausgabe eher aussieht wie ein Kochbuch hat aber noch einen anderen Hintergrund: Metaphern helfen erwiesenermaßen durch Versinnbildlichung Inhalte zu vereinfachen und sich besser zu merken. Und schließlich wollen wir dich mit dem Softwerker ja immer wieder dazu einladen, dein Wissen aufzufrischen, Neues zu lernen und über den technischen Tellerrand zu blicken. Wir hoffen, du bekommst Hunger auf mehr. Hunger darauf, das in den Artikeln Beschriebene anzuwenden und zu verproben. Und vielleicht inspiriert dich ja dein nächstes Mittagessen auch dazu, deinen Kolleginnen und Kollegen etwas über Machine-Learning-Methoden (S. 6) oder Chaos Engineering (S. 48) zu erzählen.
Wir wünschen guten Appetit beim Lesen.
Shirin Glander
Blick in die Blackbox
Beim Machine Learning (ML) nutzen Data Scientists Algorithmen und historische Daten, um Muster und Zusammenhänge zu erkennen. Das Gelernte können sie wiederum als Modell auf neue Daten anwenden, um beispielsweise Vorhersagen zu treffen. Sie arbeiten dabei mit der Grundannahme, dass sie Daten aus vergangenen Vorgängen nutzen können, um sie für die Zukunft zu extrapolieren. Der Computer lernt somit durch Erfahrungen die mathematische Darstellung von Daten, indem er sich viele Beispiele anschaut und optimiert.
Frank Rosner
Mini-Qualitätsmerkmals-Workshop für Architekturentscheidungen
Architektonisch signifikante Anforderungen benötigen besondere Aufmerksamkeit, da eine falsche Architekturentscheidung die Anforderung unerfüllbar machen kann. Wie aber identifiziert man die relevanten Qualitätsmerkmale? In diesem Artikel werden wir eine Technik beleuchten, um Qualitätsmerkmale und -szenarien zu identifizieren und zu priorisieren: den Mini-Qualitätsmerkmals-Workshop.
Nicolas Byl
Kubernetes-Deployments richtig gemacht
Der Paketmanager Helm verspricht, das Deployment von Kubernetes-Applikationen zu vereinfachen. Kubernetes ist derzeit auf seinem Siegeszug in der Container-Welt schwer zu übersehen. Allerdings ist beständiges Schreiben und Anpassen der Objekte mit YAML- oder JSON-Dokumenten nicht unbedingt jedermanns Sache. Der Paketmanager Helm kann helfen, das Deployment von Applikationen und Abhängigkeiten zu vereinfachen.
Daniel Kocot
Ein Voice-UI-System auf Basis der JVM erstellen
Immer mehr Interaktionen mit einem Computer erfolgen über die Stimme. Dabei werden die meisten Konversationen mit Unterstützung von Siri, Alexa, Google und Cortana durchgeführt. Aber warum starten wir nicht auch mit Duke, also einer Applikation auf der Java Virtual Machine (JVM), eine Konversation?
Benjamin Wilms
Willkommen in der Welt der Chaos Tools
Im Java Magazin 3.2019 erschien ein Artikel von mir über Chaos Engineering. An diesen möchte ich gern anschließen und zeigen, wie ihr auf den unteren drei Leveln des Chaos Engineerings einzelne Komponenten angreifen könnt. Wir werden uns nun anschauen, wann es sinnvoll ist, unsere Chaos-Experimente zu automatisieren, und mit welchen Tools wir das sehr elegant und getreu der Open-Source-Philosophie umsetzen können.
Stefan Spittank
Akzeptanztests mit Cucumber.js
Ich habe mich in einer mehrteiligen Blogserie dieses Themas angenommen. Da die gesamte Serie den Rahmen des Softwerkers sprengen würde, gehe ich hier direkt in medias res – die Akzeptanztests mit Cucmber.js.
Daniel Mies
Komponenten ganz einfach gestalten
Egal, welches komponentenbasierte Frontend-Framework wir uns momentan ansehen, eine Frage stellt sich immer wieder: Wie kann man einfache Komponenten entwerfen, die sich gut wiederverwenden lassen? Im Artikel möchte ich gängige Patterns vorstellen und zeigen, wie Vue.js hier aus der Masse etwas heraussticht.
Alexander Melnyk
Schnelles Feedback
Serverless-Architekturen sind ein neues Paradigma in der IT-Welt und erleben gerade einen großen Hype. Die Kombination aus Backend as a Service und Function as a Service ermöglicht, mit wenig Code und flexibler Infrastruktur Software schnell in Produktion zu bringen, dazu noch zu einem niedrigen Preis. Doch dieses Paradigma fordert auch eine Anpassung der Entwicklungsprozesse.
Einer der Kritikpunkte an künstlicher Intelligenz (KI) ist, dass die meisten der maschinell gelernten Modelle sogenannte Blackboxen sind. Damit ist gemeint, dass die von ihnen gelernten Zusammenhänge so komplex und abstrakt sind, dass es mit der begrenzten menschlichen Auffassungsgabe praktisch nicht mehr nachvollziehbar ist, warum das Modell Entscheidungen trifft. Aber wie kann man es schaffen, dass Blackbox-Modelle transparenter werden?
Dr. Shirin Glander