WJAX 2018 – Angular, Java 11 und ein wenig ML

Magdalena Piller Datum: 28. Dezember 2018
Autor: Magdalena Piller


Im November war ich mal wieder auf der WJAX und habe mir den „Angular-Day“ herausgesucht, also ein kompletter Tag rund um Angular. Aber auch ein paar andere Themen versprachen Interessantes.

In der Keynote mit dem Titel „Trust and Confidence through Chaos“ präsentierte Russ Miles seine Variante des Chaos Engineerings ganz nach dem Motto „Umarme Deinen Feind“. Denn über was man sich seiner Meinung nach immer im Klaren sein sollte: „production hates you“ und „production wants you dead“. Oh ja, kenne ich!

Im Vortrag „Machine Learning für Softareentwickler“ gab Oliver Zeigermann einen Einblick in verschieden eML-Strategien. Am Beispiel „Schadenskalkulator“ für eine Autoversicherung erläuterte er ,wie sich der Ansatz des Machine Learning von der klassischen Softwareentwicklung unterscheidet. Im klassischen Ansatz würde man hier einen Satz von Regeln implementieren, der dann vermutlich bald recht komplex wird, zumindest wenn man eine höhere Treffergenauigkeit als beim „Raten“ erreichen will. Der passende Ansatz aus dem Machine Learning wäre hier nun das „Supervised Learning“, denn:

  • Ein- und Ausgabe kann man klar formulieren
  • Es sind bereits viel Beispieldaten vorhanden
  • Man kann mit Fehlern leben

Als Lernstrategie eignet sich hier dann KNN (k-Nearest-Neighbor-Algorithmus): Man schaut zusätzlich wie die nächsten Nachbarn in den Beispieldaten aussehen. Deep Learning auf Basis von neuronalen Netzen wäre ein anderer Ansatz. Das System lernt und durch die entstehenden Gruppierungen ergeben sich die Schadensklassen, mit deutlich höherer Treffergenauigkeit als im klassischen Ansatz. Oliver gab dann noch einen weiteren Einblick in die Hype-Themen der KI. Reinforcement Learning wird seiner Meinung nach der Hype in 2019. Ein System erlernt hier selbständig eine Strategie um seine „Belohnung“ zu maximieren. Dieses Verfahren ist dann geeignet, wenn eben keine guten Daten vorliegen, man aber die Umgebung gut simulieren kann. Abgerundet wurde der wirklich gute Vortrag dann noch durch ein paar nette Beispiele aus der KI („real time pose estimation“,“learning to dress“, „explore“ in google sheets).

Im Vortrag „Testgetriebene Entwicklung einer Angular-App“ zeigten zwei Entwickler der Saxonia Systems wie man TDD in Angular Projekten umsetzt. Die Aussage „Komponenten, die zu testen sind, sind gut designed“ ist die Motivation dafür, dass  TDD mittlerweile fester Bestandteil des agilen Entwicklungsprozesses bei ihren Projekten ist. Unter anderem wird  aus den Akzeptanzkriterien der User Stories direkt das Skelett des End-To-End-Tests erstellt. Sehr vorbildlich!  Das Toolset ist klar: Karma für die Unit Tests, Protactor fur die Integration- und Systemtests. An einem Live-Coding Beispiel wurden die einzelnen Schritte des TDD dann durchgespielt. Interessanter Part war für mich hier, wie man den Mock-Server für die e2e-Tests hinterlegt und Protactor konfiguriert. Ein wenig schade war dann allerdings, dass die beiden dann im Live-Coding versunken sind, ich hätte mir da gerne noch ein paar Tips&Tricks gewünscht. Dennoch die Erkenntnis: TDD scheint zu funktionieren!

Der nächste Angular-Vortrag versprach viel Nützliches für die Angular-Entwicklung: „Do’s and Dont’s im Angular-Projektalltag“. „Am Standard bleiben“ ist der zentrale Hinweis des Vortragenden Karsten Sitterberg und damit auch immer alle Angular-Updates mitnehmen, die ja mittlerweile vierteljährlich rauskommen. Darüber hinaus gab es Tipps zum Komponenten- und Modulschnitt in größeren Projekten, sowie zum Umgang mit Linting, Rxjs und ngrx (dem Store von Angular).

Weiter ging es auf dem Angular-Trail mit der Vorstellung eines Angular-Projektes der Firma WPS. Hier wurde eine Kartenanwendung für einen großen Touch-Tisch erfolgreich mit Angular und Openlayers umgesetzt. Als L&F-Framework hat man sich für Material Design entschieden, da die Komponenten wohl optimal für einen Touch-Tisch sind. Die Erfahrungen mit Angular und Material waren wohl überwiegend sehr gut und die Anwendung selbst machte einen Top-Eindruck.

„Java9 ist tot, lang lebe Java11“ lautete der Titel des letzten Vortrags des heutigen Konferenztages. Betrachtet man die neue Release-Zyklen von Oracles JDK so wird schnell klar, weshalb dem so ist. Alle 6 Monate veröffentlicht Oracle nun ein neues Major-Release, angefangen mit Java9 im September 2017. Somit hatten Java9 und Java10 nicht wirklich eine Chance, denn mittlerweile gibt es Java11. Java11 hingegen ist als „Long Term Support Release (LTS)“ veröffentlicht, für welches für jeweils acht Jahre (kostenpflichtiger!) Support verfügbar ist. Wer weiterhin kostenfrei bleiben will, kann auf das OpenJDK umschwenken.

Was die Features in Java11 anbelangt, so ist vieles, was in Java9 und 10 angefangen wurde, nun „rund“ gemacht worden, wie z.B. „Local-Variable Type Inference“. Desweiteren gibt es nun endlich auch feine Factory-Methoden für Collections, sowie ein paar gute Erweiterungen der Streams-Api. Rund ums Toolset von Java gibt es auch Neues wie bspw. Erweiterungen der JShell, der Garbage Collection und dem Modulsystem. Beim Modulsystem notiere ich mir den Satz „Don’t use it until you really need it“. Ahja, scheint sich wohl nicht wirklich durchzusetzen. Insgesamt ein wirklich guter Vortrag in welchem an guten Beispielen die wichtigsten Neuigkeiten aufgezeigt wurden.

Für mich war es ein sehr spannender Tag auf der Wjax, demnächst hoffentlich mal wieder….

 

 

Kommentare

Selber kommentieren:






Weitere Beiträge zum Thema Technologie


imxTools1 und imxTools2 in einem Portal… erste Schritte sind gegangen

Autor: Bastian Schwarz


Technologie


Im Zuge des Schneebayern-Projektes besteht die Anforderung, dass die imxTools1 (für allgemeine imxTools-Inhalte) sowie die imxTools2 (für den Schneehöhenticker) parallel zueinander laufen müssen. Dazu wurde ein neuer Task in der build.xml angelegt, der eigtl genau das gleiche tut wie der register_integration_imxtools, nur dass er das Ziel in einen imxtools2 Ordner anlegt. Auszug aus der build.properties: …


Beitrag lesen
25.
Nov.
2011

Xdebug Stacktrace verbessern

Autor: Florian Müller


Technologie


Ich habe mich heute im Zuge eines kleinen Problems mit einem Stacktrace etwas mit der xDebug Konfiguration beschäftigt. Dabei bin ich auf eine kleine nützliche Option gestoßen, welche ich euch nicht vorenthalten möchte. Die Optionen xdebug.collect_params Es gibt die Option xdebug.collect_params, welche verschiedene Level an Output ermöglicht. Ich habe mich in meiner VM für den …


Beitrag lesen
03.
August
2017

Out now: gråd extra, Ausgabe 4!

Autor: Christine Pfleger


infomax // Projekte // Strategie & Konzeption // Technologie // Tourismus // Über den Tellerrand // User Experience & Design


gråd extra - Das Magazin für e-Tourism | Ausgabe 4 | 2018 | Schwerpunkt "Ideen"
gråd extra - Das Magazin für e-Tourism | Ausgabe 4 | 2018 | Schwerpunkt "Ideen"

Es ist geschafft und wir sind sowas von stolz: Die vierte Ausgabe unseres Magazins gråd extra ist erschienen! Auf 78 Seiten haben wir uns ganz und gar dem Schwerpunkt „Ideen“ verschrieben.


Beitrag lesen
07.
Dez.
2018

lory

Autor: Benjamin Hofmann


Technologie // User Experience & Design


Und schon wieder habe ich eine kleine schöne Javascript-Library gefunden: lory. Diesmal ist es keine Lightbox-Lösung wie PhotoSwipe gestern, sondern ein simpler Slider. Auch dieses Skript ist auf den mobilen Anwendungsfall ausgelegt und kann von Haus aus mit Swipes umgehen. Auch das sogenannte Infinite-Sliding ist möglich und auch dieses Skript lässt sich über RequireJS nutzen …


Beitrag lesen
23.
Sep.
2016