WJAX 2018 – Angular, Java 11 und ein wenig ML

Datum: 28. Dezember 2018
Autor*in: 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


Bilder SEO – Bisher eigentlich komplett vernachlässigt

Autor*in: Axel Güldner


Technologie // User Experience & Design


Heute möchte ich ein Thema anschneiden, welches bisher wohl so niemand auf dem Schirm hatte (ich zumindest habe bisher keinen Gedanken daran verschwendet). Aber als ich dann in einem anderen Blog darüber gelesen habe, hat mich dann sofort die Faust der Erkenntnis getroffen, ähnlich einer Brockhaus-Enzyklopädie, die einem ins Gesicht fällt. Wir bemühen uns immer …


Beitrag lesen
07
FEB
12

kraken.io: Einfaches Web Interface zur Bild-Optimierung

Autor*in: Benjamin Hofmann


Technologie // User Experience & Design


Auch wenn wir inzwischen vermehrt skalierbare Iconfonts oder SVG-Grafiken einsetzen, so kommt es doch immer wieder vor, dass wir auch Rastergrafiken in den Formaten JPEG, GIF oder PNG im Layout einsetzen. Was wir aber allzu oft übersehen ist, dass man bei diesen einiges an Dateigröße sparen kann. Und das kommt inzwischen nicht nur denen zugute, …


Beitrag lesen
28
NOV
14

WebKit Sibling Bug

Autor*in: Benjamin Hofmann


Technologie // User Experience & Design


Bei kleineren Anpassungen in einem unserer Projekte ist heute im alten Standard-Browser von Android ein Bug[1] aufgefallen, der dazu führte, dass die Listenelemente mit initial verstecktem Inhalt diesen beim Anklicken nicht anzeigten. Nach einer kurzen Recherche bin ich hier auch auf die Lösung gestoßen, den Checkbox Hack on Mobile Webkit[2]. Klingt fies, ist aber nur …


Beitrag lesen
13
MRZ
15

Weitere Neuigkeiten von der JAX 2015

Autor*in:


Technologie


Bevor es zu spät ist und alle Neuigkeiten und Trends von der JAX 2015 in den Tiefen meiner Erinnerungen verschwinden, möchte ich die Gelegenheit nutzen und Euch eine Fortsetzung zu meinem ersten Bericht von der diesjährigen JAX liefern. API-Design mit Java 8 Lambdas (Angelika Langer) Hier gab es eine kurze Einführung zu Lambda-Ausdrücken aus Java …


Beitrag lesen
30
JUL
15