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


PhotoSwipe: Responsive JavaScript Image Gallery

Autor*in: Benjamin Hofmann


Technologie // User Experience & Design


Ich bin gestern auf eine ziemlich geniale Lightbox-Lösung gestoßen: PhotoSwipe. Diese baut auf Vanilla JS auf und ist auf hohe Performance und die mobile Verwendung ausgelegt, bei der ja doch ziemlich viele Lightboxen scheitern oder von uns sogar deaktiviert werden. Und trotz all dieser Features sind das Skript und die dazugehörigen Styles sehr klein was …


Beitrag lesen
22
SEP
16

Dev- Ops Camp Nürnberg

Autor*in: Sascha Nützel


Technologie


Nachdem ich ohnehin einen Teil meiner Wochenenden in Nürnberg verbringe, war ein Besuch des Dev- Ops Camp Nürnberg naheliegend. Das Camp war als „Unkonferenz“ organisiert, sodass Ablauf und Themen direkt vor Ort festgelegt wurden. Leider hatte ich an diesem Tag mehr als einmal die Qual der Wahl, da jeweils 4 Sessions gleichzeitig stattfanden. Da eigens …


Beitrag lesen
14
NOV
16

OOP 2014

Autor*in:


Projekte // Technologie // Über den Tellerrand


Auf geht’s zu Tag 2 auf der OOP in München. Dieses Jahr steht die Konferenz unter dem Motto: Complexity – Managing Today’s Challenges. Und dieses Leitthema wurde gestern in zwei Keynotes von Tim Mattson (Intel Corp.) und Glenda Eoyang (Human System Dynamics Institute) bereits in seinen vielschichtigen Facetten aufgegriffen. Die Quintessenz: Komplexität (in IT-Projekten) lässt …


Beitrag lesen
05
FEB
14

IPC 2011

Autor*in: Bastian Schwarz


Technologie


Hier wie versprochen die Präsentation aus dem developer-Meeting. IPC 2011 Liksammlung: http://joind.in/event/view/806 http://qafoo.com/presentations.html http://sinonjs.org/qunit/ http://packages.zendframework.com/docs/latest/manual/en/index.html http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod


Beitrag lesen
17
NOV
11