10.09.2019
LOCATION: Rapperswil
KEYWORDS: Hands-On, Technology, Lessons learned, Tools
Mitglieder von jug.ch erhalten eine Ermässigung durch einen Mitglieder-Aktionscode. Dieser kann im Sekretariat angefordert werden.
SPEAKER: Florian Bruhin COMPANY: Bruhin Software
Automatisiertes Testen ist ein essenzielles Werkzeug für qualitativen Python-Code. Das pytest-Framework ermöglicht es, Tests sowohl übersichtlicher als auch unkomplizierter umzusetzen, als dies mit Python-Bordmitteln wie dem “unittest”-Modul möglich wäre.
Pytest lässt sich nahtlos mit existierenden Testsuites integrieren und bietet auch da viele Vorteile. Weiterhin lässt es sich problemlos an die eigenen Ansprüche anpassen und mit diversen Plugins erweitern.
Dieser Workshop bietet eine Einführung zu pytest mit zahlreichen Übungen. Teilnehmende lernen anhand von Beispielen die “best practices” für das Testen von Python-Code.
SPEAKER: Lukas Eder COMPANY: Data Geekery GmbH
Dieser Workshop erlaubt Entwickler*innen SQL als eine erstrangige Sprache in ihren Applikationen einzusetzen. Aufgrund der historischen Kluft zwischen Datenbank- und Applikationsprogrammierfähigkeiten leidet die Mehrheit des von Entwickler*innen verfassten SQLs unter einem der folgenden Probleme:
Alle diese Probleme können behoben werden, indem Entwickler*innen ermutigt werden, SQL mit demselben Respekt zu behandeln, wie ihren „normalen“ Code, indem sie über Performanceauswirkungen aufgeklärt werden und indem sie über die neusten Features aus kommerziellen und Open Source Datenbanken informiert werden. Diese Masterclass erreicht diese drei Ziele.
SPEAKER: Michael Gerber COMPANY: nxt Engineering GmbH
In dem Workshop lernen die Teilnehmenden Keycloak, eine OpenSource IAM Lösung von RedHat kennen. Keycloak lässt sich sehr gut an die verschiedenen Bedürfnisse eines Unternehmens anpassen. Das Design der Login-Masken kann angepasst werden und eigene Authentifizierung Schritte können einfach eingebaut werden. Keycloak unterstützt die Standardprotokolle OpenID Connect, OAuth 2.0 und SAML 2.0. Zudem können einfach Active Directories eingebunden werden.
SPEAKER: Mirco Widmer COMPANY: nxt Engineering GmbH
Wir extrahieren aus einer Datenquelle eine grosse Menge an Informationen mit einem geografischen Bezug. In einem zweiten Schritt bereiten wir diese Informationen auf. Die Daten werden in eine moderne Frontend Webapplikation integriert und anschliessend auf einer Kartenoberfläche visualisiert.
Eingesetzte Technologien: deck.gl, GeoTileProvider (OpenStreetMap, MapBox).
SPEAKER: Markus Leutwyler COMPANY: Nodebots Switzerland
Dieser Praxis-Workshop bietet einen Einstieg in die Themen Digitales Design, digitale Produktion und Robotik. Digitales Design gekoppelt mit digitalen Produktionsmethoden wie 3D-Drucker und Lasercutter erlauben die schnelle Herstellung von individuellen Teilen für einen Roboter.
Darauf aufbauend, lassen leistungsfähige Mikrocontroller und einfach lernbare Programmiersprachen in wenigen Stunden einen voll programmierbaren Roboter entstehen, der mit Sensoren erweitert werden kann. Der fertige Roboter kann nach Abschluss des Workshops mit nach Hause genommen werden.
SPEAKER: Christian Mäder COMPANY: nxt Engineering GmbH
Seitdem Kotlin von Jetbrains veröffentlich wurde, haben viele Entwickler*innen weltweit diese Programmiersprache als moderne Alternative zu Java entdeckt. Unter Android ist seit der Google Developer Conference vom Mai 2019 die Devise sogar „Kotlin First“.
Kotlin bietet eine aufgeräumte Syntax, die kompatibel zu Java und allen weiteren JVM Sprachen ist. Da Kotlin sich perfekt in den bekanntesten Build-Systemen für Java, Maven und Gradle, integriert, kann Kotlin einfach in ein bestehendes Java Projekt eingeführt werden, ohne das ganze Projekt neu entwickeln zu müssen.
Dieser Event findet im Rahmen der „Kotlin/Everywhere“ Community Events statt.
SPEAKER: Jonas Bandi COMPANY: IvoryCode GmbH
JavaScript hat in den letzten Jahren eine massive Modernisierung erfahren. Die Programmiersprache selbst macht eine rasende Entwicklung durch: Seit 2015 erscheint jährlich eine aktualierte Spezifikation von ECMAScript und es werden kontinuierlich moderne und innovative Sprachkonstrukte und Features eingeführt. Die Unterstützung von modernen Browsern ist dabei äusserst zeitnah und für alte Browser existieren JavaScript Kompiler, so dass diese Features auch in Real-World-Projekten sofort verwendet werden können.
Auch als Platform und Ökosystem hat sich JavaScript in den letzten Jahren extrem weiterentwickelt und ist heute wohl die weitest verbreitete Programmiersprache. Moderne Frontend-Frameworks, wie Angular und React bauen zu einem grossen Teil auf den neuen Features von ECMAScript 2015+ auf. TypeScript ist ein Super-Set von JavaScript und hat das Ziel die JavaScript-Entwicklung besser für grosse und komplexe Projekte zu wappnen, indem während der Entwicklung eine starke Typisierung mit einem optionales Typ-System genutzt werden kann. Mit der Entwicklung der Sprache ging aber auch eine Explosion der Tools und Libraries im JavaScript Ökosystem einher. Die Entwicklung geht dabei so rasend schnell voran, dass es schwierig ist einen Überblick zu behalten.
In dem Workshop werden die State-of-the-Art Tools für die Web-Entwicklung mit JavaScript aufgezeit und erklärt. Der Workshop ist die ideale Vorbereitung für die Entwicklung mit modernen JavaScript Frameworks wie Angular oder React, weil die Grundkonzepte der Programmiersprache und die State-of-the-Art Toolchain erlernt werden.
SPEAKER: Farhad Mehta COMPANY: HSR Hochschule für Technik Rapperswil
Functional Programming (FP) has become somewhat of a trend during the last couple of years. Nevertheless, FP is not something new, but has more than 50 years of history behind it. It is claimed that FP offers practical and elegant solutions for a number of challenges faced by software engineers today, especially when dealing with concurrency or ensuring correctness.
Programming in the functional style is a skill that is increasingly relevent: many mainstream programming languages such as Java and C# introduce language constructs from the FP world with each new release. The most widely used functional languages today are developed collaboratively as open source projects and there exist a large number of open source projects that are written in functional programming languages.
SPEAKER: Josef Spillner COMPANY: ZHAW
Immer häufiger werden Software-Anwendungen mit einem Microservice-Technologiemix aus Containern, Cloud-/Lambda-Funktionen, Service-Brokers und konventionellen sprachspezifischen Artefakten umgesetzt. Die eigenen Microservices werden mit weiteren aus öffentlichen Repositorien ergänzt und an die Datenhaltung angebunden. Hierbei stellt sich die Frage nach der Sicherstellung der Qualität einer solchen Komposition. Mit Hilfe von CI/CD-integrierter Qualitätsprüfung sowie der Analyse von Veränderungen über die Zeit lassen sich Qualitätsprobleme in verschiedenen Bereichen (Code, Konfiguration, Metadaten) feststellen und allenfalls automatisiert reduzieren.
Mehrere der in diesem Workshop vorgestellten Werkzeuge und Verfahren sind neu an der Zürcher Hochschule für Angewandte Wissenschaften entwickelt worden, um insbesondere auf die gestiegenen Anforderungen bei Anwendungskompositionen eingehen zu können. Einige dieser Werkzeuge sind bereits bei Schweizer Software-Entwicklungs- und DevOps-Unternehmen im Piloteinsatz. Es werden jedoch auch weitere übliche Validierungswerkzeuge, welche für eine CI/CD-Integration geeignet sind, erläutert. Somit gibt es einen praktischen Wissenstransfer wie auch einen Ausblick auf QA-Werkzeuge, die in den kommenden Jahren an Relevanz gewinnen werden.
JUG Switzerland aims at promoting the application of Java technology in Switzerland.
JUG Switzerland facilitates the sharing of experience and information among its members. This is accomplished through workshops, seminars and conferences. JUG Switzerland supports and encourages the cooperation between commercial organizations and research institutions.
JUG Switzerland is funded through membership fees.