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


Messung Dokumentgröße

Autor*in: Bastian Schwarz


Projekte // Technologie


Seit kurzem scheint die Anzeige der Dokumentgröße über die Web Developer Toolbar im Firefox nicht mehr korrekt zu funktionieren. Es wird häufig die Komprimierung von Scripten / Stylesheets nicht mehr korrekt erkannt.  Alternative Google Chrome – Developer Tools  Kurzanleitung Über Tools – Entwicklertools öffnen, auf „Network“ Tab wechseln, Seite mit Strg+F5 neuladen. Jetzt sieht man …


Beitrag lesen
16
APR
13

Netbeans und GIT

Autor*in: Florian Müller


Technologie


Ich habe mich mal während der Arbeit mit Git mit den Git Hooks beschäftigt. Ziel war es, unnötige Builds in der Pipeline zu vermeiden, welche aufgrund von Lintern fehlschlagen. Dazu wollte ich einen Pre-Commit Hook einsetzen. Ein simpler Hook, welcher vor einem Commit ausgeführt werden sollte: Wenn man über die Command line commiten will, wird diese auch …


Beitrag lesen
21
APR
17

Lunch & Learn: XR und die virtuelle Welt!

Autor*in: Verena Schmuck


infomax   //   Technologie   //   Über den Tellerrand


Was ist AR,MR,VR und XR? Und wie ist es selber in der virtuellen Welt zu sein? Dafür haben wir eine Woche lang zwei VR-Brillen ausgeliehen.


Beitrag lesen
19
APR
24

Einrichten des GoogleTagManagers

Autor*in:


Technologie


Zum Hintergrund: seit kurzem verwenden wir den GoogleTagManager(GTM) bei den Hörnerdörfern. Ziel ist es die diversen Analytics Accounts die hier verwendet werden (Bolsterlang, Fischen etc.) unter einen Hut zu bringen. Hierzu kann man im Tagmanager Profil Regeln und Tags erstellen, anhand derer das Tracking dann ausgeführt wird (dazu später mehr). Ermöglicht  wird das Ganze über …


Beitrag lesen
26
AUG
14