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


ML Conference 2018

Autor*in: Tobias Pfannkuche


Technologie // Über den Tellerrand


„Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should.“ Ian Malcolm, Jurassic Park „Machine Learning sucks. It really does.“ Dr. Pieter Buteneers, ML Conference 2018 „Don’t wait for perfection.“ Dr. Ulrich Bodenhausen, ML Conference 2018 Ein Bericht zur ML-Konferenz rund um das Thema Künstliche Intelligenz …


Beitrag lesen
27
JUN
18

OOP 2015 – Tag 1

Autor*in: Marc Kurzmann


Technologie // Über den Tellerrand


Auch dieses Jahr haben die Organisatoren die OOP voll mit interessanten Themen gespickt, vornehmlich aus den Bereichen Software-Architektur, Projekt-Management, agile Prozesse und Technologietrends. Begonnen hat es für mich heute früh mit der Session „NoSQL in transaktionalen Enterprisesystemen“ aus dem Themenslot „Trends & Techniques“. Während der erste Teil des Vortrags einen interessanten Überblick über die NoSQL-Datenbanken …


Beitrag lesen
27
JAN
15

Follow-up zu Vortrag beim imx.Camp – „Technologie-Umstellung bei Twitter“

Autor*in:


Technologie


Wie mir gerade bewusst wird, muss ich eine Aussage aus meinem Vortrag beim imx.Camp korrigieren: Twitter ist nicht bei der US-Präsidentschaftswahl im Jahre 2008 in weiten Teilen von Ruby auf Scala (Java Virtual Machine) umgestiegen, sondern erst während der US-Wahlen im Jahre 2012. Wen’s interessiert, der kann die Hintergründe hier nachlesen: Twitter’s Shift from Ruby …


Beitrag lesen
22
OKT
15

Google EAT

Autor*in: Hannes Heigenhauser


infomax // Strategie & Konzeption // Technologie


Alles neu mit Google EAT? Oder doch eher nur ein Hypethema? Wir erklären Ihnen, was sich hinter EAT verbirgt und worauf Sie achten müssen


Beitrag lesen
31
AUG
20