Startseite

Willkommen auf der Website der Java User Group Freiburg!

In der JUG Freiburg treffen wir uns regelmässig zu Vorträgen und allgemeinem Erfahrungsaustausch rund um das Thema Java.

Treffen werden über unsere Meetup-Gruppe organisiert.

Zukünftige Events

„Behavior driven development with JGiven“
„Externalized Application Configuration with Spring Cloud Config and Vault“

Datum: Mi, 28. 06.
Zeit: 19:30 Uhr
Ort: Haufe-Lexware GmbH & Co. KG
Munzinger Str. 9, Freiburg
Eintritt kostenlos

Anmeldungen bitte über unsere Meetup-Gruppe

Behavior driven development with JGiven

Bei BDD werden die Szenarien traditionsgemäß in Plain-Text verfasst. Das Test-Werkzeug JGiven bricht mit dieser Tradition und sieht Testfälle in reinem Java-Code vor. Warum und wann macht das Sinn? Und was hat es eigentlich mit dem Given-When-Then auf sich?

Portrait Achim Wiedemann
Achim Wiedemann
Ich mache eigentlich schon immer Web. Erst am Kaiserstuhl: Web. Dann in Freiburg: Web. Und schließlich in Kanada: wieder Web. Gerade arbeite ich als Software Entwickler bei der Haufe Gruppe in Freiburg – für ein Webprojekt.
Mein Motto lautet: „It compiles – let’s ship it!“

Externalized Application Configuration with Spring Cloud Config and Vault

Praktisch jede nicht-triviale Web-Applikation muss während des Deployments für die jeweilige Umgebung konfiguriert werden. Wenn die Konfigurationen jedoch komplett dezentral in den einzelnen Umgebungen verwaltet werden, wird es z.B. fehleranfällig, neue Konfigurationsparameter einzuführen – nicht immer kann ein sinnvoller Defaultwert gewählt werden. Teil der Konfiguration sind auch regelmäßige Datenbankpasswörter, private Schlüssel für TLS etc., die nicht jedermann einsehen darf und die auch einem Hacker nicht auf dem Silbertablett präsentiert werden dürfen.

Spring Cloud Config ermöglicht, Konfigurationen zentral zu verwalten und den Applikationen zur Laufzeit zur Verfügung zu stellen.  Spring Cloud Vault stellt einer Spring Boot-Applikation in Hashicorp Vault hinterlegte oder generierte Geheimnisse als Properties zur Verfügung. Die Präsentation wird demonstrieren, wie diese beiden Bibliotheken sich sinnvoll ergänzen können und wie damit TLS-Zertifikate und Schlüssel für Server und Client verwaltet werden können, ohne diese im Filesystem speichern zu müssen.

Portrait Christoph Ludwig
Christoph Ludwig
Als gelernter Mathematiker kam ich über die Computeralgebra zur Kryptografie, weshalb Web Security nach wie vor eines meiner Steckenpferde ist. Als Postdoc arbeitete ich u.a. auf dem Gebiet der Digital Humanities, so dass sich das digitale Publizieren als naheliegendes Tätigkeitsfeld ergab. Seit sieben Jahren bin ich bei der Haufe Gruppe zunächst als Entwickler im Web-Umfeld und mittlerweile als Softwarearchitekt im CTO Office mit Schwerpunkt Content-Produkte beschäftigt.
Motto:
Das ist doch auch nur eine Programmiersprache…

Vergangene Events

Frege – konsequent funktionale Programmierung für die JVM

Datum: Di, 23. 05.
Zeit: 19:30 Uhr
Ort: Grünhof
Belfortstraße 52, Freiburg
Eintritt kostenlos

Die Industrie gewöhnt sich langsam an einen „funktionalen Stil“ in Java und in anderen JVM Sprachen. Das ist ein Fortschritt. Den bisher dominierenden Ansatz von prozeduraler Bewirtschaftung veränderlicher Objekte können wir nun ergänzen durch reine Funktionen, deren Wirkung sich besser vorhersehen lässt.

Die großen Vorteile der funktionalen Programmierung ergeben sich jedoch erst, wenn man sie so konsequent umsetzt wie Frege, das die Eigenschaften von Haskell auf die JVM bringt.

Portrait Dierk König
Dierk König ist Professor an der FHNW und Fellow bei der Canoo Engineering AG in Basel. Er ist Committer in vielen Open-Source Projekten, darunter OpenDolphin, Frege, Groovy, Grails, GPars und GroovyFX. Er liebt einfache Lösungen und sauberes Engineering. Er ist Autor des Bestsellers „Groovy in Action“. Twitter: @Mittie

Going Reactive with Spring 5 & Project Reactor

Datum: Do, 20. 04.
Zeit: 19:30 Uhr
Ort: Inxmail GmbH
Wentzingerstr. 17, Freiburg
Eintritt kostenlos

Spring 5 is almost here! One of the most exciting introductions in this release is support for reactive programming, building on Pivotal’s Project Reactor to support message-driven, elastic, resilient, and responsive services. Spring 5 integrates an MVC-like component model adapted to support reactive processing and a new type of web endpoint, functional reactive endpoints. In this talk, we’ll dive into the net new Netty-based web runtime and see how to integrate it with existing Spring-stack technologies, learn how to leverage powerful new testing mechanisms to make code better and life easier, and tie it all together with a live coding demo. If there’s more to your life than CRUD, you need to be there!

This event will be held in English!

Mark Heckler
Principal Technologist/Developer Advocate at Pivotal Software, Inc.

Java 9 kommt!

Slides:  http://slides.codefx.org/java-9/2017-03-06-jug-fr/#/

Datum: Mo, 06. 03.
Zeit: 19:30 Uhr
Ort: Haufe-Lexware GmbH & Co. KG
Munzinger Str. 9, Freiburg
Eintritt kostenlos

Java 9 kommt und es besteht aus mehr als nur Project Jigsaw. (Ja, ich war auch überrascht.)

In diesem Vortrag lernst du:

  • nette neue Sprachfeatures
  • neue APIs, z.B. Stack Walking und Collection Factory-Methoden
  • Ergänzungen zu existierenden APIs wie ‘Stream’, ‘Optional’, der Process API und anderen
  • Javas REPL, die ‘JShell’
  • und weitere Neuigkeiten

Der Schwerpunkt, Jigsaw, wird natürlich auch behandelt.

Nach diesem Vortrag wirst du vorbereitet sein, vom ersten Tag an mit den neuen Features von Java 9 zu experimentieren.

Porträt Nicolai Parlog
Nicolai Parlog, @nipafx
Java channel editor @sitepointdotcom (https://www.sitepoint.com/java ), developer (mainly #Java, some #JavaScript and #Kotlin), author, Free Software proponent

Spring Messaging –
eine Kommunikationsarchitektur für Websockets

Datum: Mo, 30. 01.
Zeit: 19:30 Uhr
Wo: Inxmail GmbH, Wentzingerstr. 17, Freiburg
Eintritt kostenlos

Websockets werden verbreitet als Lösung für interaktive, beidseitige Kommunikation zwischen Web-Frontend und server-seitiger Anwendung angeboten. Der Websockets-Standard beschreibt allerdings lediglich einen Kommunikationskanal (und zugehörige Javascript-API) vom Abstraktionsgrad ähnlich eines TCP-Sockets. Protokolle und Formate sind nicht spezifiziert und müssen von den Anwendungsentwicklern selbst festgelegt werden. Mit Version 4 hat das Spring Framework das Modul Spring Messaging eingeführt, das eine Publish/Subscribe-Messaging-Architektur auf Basis von Websockets umsetzt. Ich möchte diese Architektur anhand einer Beispiel-Anwendung vorstellen.

Rainer Frey, Softwareentwickler, Inxmail GmbH

Kontakt