Reaktive Programmierung auf allen Ebenen

Spätestens seit dem Reaktiven Manifest von 2013 ist reaktive Programmierung in aller Munde und en vogue. Ursprünglich als Lösungsansatz für die neuen Herausforderungen beim aufkommenden Cloud Computing erdacht, kann dieses Paradigma aber auch im Embedded-Bereich seine Vorteile ausspielen.

Im Vortrag beleuchten wir die Grundlagen sowie Best Practices aus über drei Jahren Projekterfahrung der reaktiven embedded Programmierung anhand eines Beispiels aus dem Automotive-Bereich. Dabei werden wir sehen, wie man mit ReactiveX eine Fullstack-Infotainment-App mit Java-Backend, RESTful API und HTML5 UI konsequent reaktiv bauen kann ... und ja, wir haben auch Hardware dabei.

Vorkenntnisse

Grundkenntnisse in der Java- und/oder JavaScript/TypeScript-Entwicklung

Lernziele

* Vorstellung reaktiver Programmierung
* Vor- und Nachteile der reaktiven Programmierung
* Best Practices zum Einsatz reaktiver Programmierung
* Reaktive Programmierung in einer Mehrschichtenarchitektur
* Verschicken und Verarbeiten von Sensordaten als Nachrichtenstrom
* Grundlagen zu ReactiveX (RxJava, RxJS ...)

 

Agenda

ab 8.30 Uhr Registrierung und Begrüßungskaffee

9.30 Uhr Beginn

Intro

Machine Learning

  • Was ist Machine Learning?
  • Der typische ML Workflow
  • Was sind neuronale Netze?
  • Jupyter Lab mit Python
  • Eine Einführung in TensorFlow
  • Keras als High-Level API für TensorFlow

Praxisteil: Deep Learning Modelle mit Keras

  • Datengeneratoren
  • Datasets explorativ analysieren
  • Hold-Out vs. Cross Validation

11.00 - 11.15 Uhr: Kaffeepause

Praxisteil: Deep Learning Modelle mit Keras

  • Feed-Forward Netzarchitektur
  • Convolutional Neural Networks als Deep Learning Ansatz
  • Evaluation und Visualisierung des Modells

12.30 - 13.30 Uhr: Mittagspause

Pipelines mit Luigi

  • Anforderungen an produktive Modelle
  • Übersicht über Luigi und dessen Module
  • Bau eines Beispiel-Workflows

Praxisteil: Den Keras-Workflow mit Luigi implementieren

  • Anforderungen an produktive Modelle
  • Übersicht über Luigi und dessen Module
  • Bau eines Beispiel-Workflows

15.30 - 15.45 Uhr: Kaffeepause

Praxisteil: TensorFlow-Serving

  • Übersicht über TensorFlow-Serving
  • Ladestrategien konfigurieren
  • Deployment des Modells

ca. 17.00 Uhr: Ende

 

Referenten

 

Ferdinand Schneider Ferdinand Schneider ist Principal Software Engineer bei e.solutions. Er ist dort als Technical Lead mitverantwortlich für die HMI Architektur hochkomplexer Infotainment-Anwendungen im Automotive-Bereich und bringt dort seine langjährige Projekterfahrung und vor allem auch Leidenschaft für gute Softwarearchitektur, das Java-Ökosystem und Webtechnologien ein.

Yuriy Kulikov Yuriy Kulikov ist Software Engineer bei e.solutions. Er ist im Bereich Framework, Librarys und Infrastruktur für die Entwicklung und Implementierung von Konzepten zuständig. Sein Hauptaugenmerk liegt dabei auf reaktiven Systemen im Embedded-Automotive-Bereich. In seiner Freizeit entwickelt er leidenschaftlich Open-Source-Android-Apps mit Kotlin.

Gold-Sponsor

Deloitte.

Silber-Sponsoren

codecentric
ISO-Gruppe

Herbstcampus-Newsletter

Sie möchten über den Herbstcampus
auf dem Laufenden gehalten werden?

 

Anmelden