javax.measure bringt verständliche Einheiten in die Software

Termin

Der Vortrag findet am 20.05.2021 um 19:00 Uhr online statt. Zugangsdaten werden über meetup.com bekannt gegeben.

Abstract

Einheiten im Code bieten immer wieder Herausforderungen. Wofür stand nochmal der eine “double” Wert, wofür der andere “int”? Sind die Dinger “Metrisch”, im “U.S. customary system” oder was ganz eigenes? In diesem Vortrag soll ein Überblick über die Möglichkeiten ausgehend von der Java API javax.measure gegeben werden. Außerdem soll darauf eingegangen werden, wie man die Werte persistiert oder auch in Frontend Clients (v.a. Angular, aber nicht nur) benutzen kann. Und die wichtigste Frage: Was hat das Ganze mit der Raumfahrt zu tun ?!?!?!?

Bio

Felix Schultze arbeitet bei der bridgingIT GmbH als Berater und Software Entwickler und treibt sich meist in Spring Applikationen mit Ausflügen ins Frontend herum. Nebenbei hilft er hier und da auch bei quarano e.V. aus, um unseren Gesundheitsämtern auf deren Wunsch hin das Leben etwas erleichtern zu können.

Property Based Resilience Testing Workshop

Termin

Der Workshop findet am 04.03.2021 um 19:00 Uhr online statt. Zugangsdaten werden über meetup.com bekannt gegeben.

Abstract

Property Based Resilience Testing bedeutet mit Hilfe von Property Based Testing (PBT) die Resilienz eines Systems zu testen. Wikipedia definiert Resilienz als “die Fähigkeit eines Systems bei Störungen oder Teilausfällen nicht vollständig zu versagen, sondern wesentliche Systemdienstleistungen aufrechtzuerhalten” und “[…] trotz massiver externer oder interner Störungen wieder in den Ausgangszustand zurückzukehren.” Wie verhält sich, zum Beispiel, eine Benutzerverwaltung während eines Datenbankausfalls? Was sind die Antwortzeiten? Wie schnell kann der normale Betrieb wieder hergestellt werden? Gerade in verteilten Systemen ist es sehr schwierig alle relevanten Fehlerszenarien zu finden und zu testen. Hier hilft PBT: Anstatt Fehlerszenarien selbst zu finden, wird erwünschtes Verhalten im Fehlerfall als Regelwerk beschrieben und ein PBT-Framework testet ob es von unserem Programm eingehalten wird. Im Fall der Benutzerverwaltung, kann eine Regel besagen, dass der normale Betrieb wieder hergestellt wird sobald der Datenbankausfall behoben wurde.

In diesem Workshop verwenden wir jqwik und testcontainers um container-basierte Systeme auf diese Art und Weise zu testen. Nach einer kurzen Einführung und Motivation des Themas, rekapitulieren wir was Property Based Testing ist und gehen insbesondere auf Modeling und Stateful Properties ein. Wir bauen ein Modell einer Applikation auf und benutzen es um bestimmte Eigenschaften zu falsifizieren. Danach erweitern wir dieses Modell um die Möglichkeit Fehlerzustände abzubilden. Zuletzt werden wir den Ansatz diskutieren und beenden den Workshop mit einer Retrospektive.

Der Workshop richtet sich an Anfänger und Fortgeschrittene und in Kooperation mit der Softwerkskammer Rhein-Neckar statt. Grundkenntnisse über Property Based Testing sind hilfreich aber nicht unbedingt notwendig. Für die Übungen werden die Teilnehmer in Kleingruppen unterteilt. Der Link zur Teilnahme wird noch veröffentlicht.

Voraussetzung

Computer mit Docker (siehe testcontainers für die minimale Version), Git und Java IDE.

Lernziele

Die Zuhörer/-innen lernen

  • wie eine container-basierte Umgebung in Tests aufgebaut wird und
  • wie Stateful Properties bestimmt und mit Hilfe von Modeling getestet werden.

Bio

Gregor Trefs ist Software Development Manager bei LivePerson, Mitorganisator der Java User Group Mannheim und Softwerkskammer Rhein-Neckar. Weiterhin ist er der Autor der testcontainers Extension für jqwik.

Spring Data JPA von 0 auf 100 in 60 Minuten

Registration

Dieser Termin ist aufgrund der aktuellen Situation mit dem neuen Coronavirus (SARS-CoV-2) kurzfristig abgesagt. Obwohl unsere Veranstaltungen einen kleineren Besucherkreis haben, möchten wir der aktuellen Lage mit der notwendigen Aufmerksamkeit begegnen und sehen uns in der Verantwortung potenzielle Infektionsketten zu minimieren.

Wir entschuldigen uns für die Kurzfristigkeit, jedoch haben wir es mit einer dynamischen Entwicklung zu tun bei der wir jeden Tag dazulernen.

Dieser Termin wird nachgeholt sobald sich die Situation entspannt.

Vielen Dank für euer Verständnis!

Termin

Der Vortrag findet nicht statt.

Ursprünglich war dieser am 12.03.2020 um 19:00 Uhr geplant..

Abstract

JPA is the most popular persistence technology for JAVA. In this talk, we’ll look into how it works and how it integrates with Spring by means of Spring Data JPA. We’ll look at the various ways one may use Spring Data from ready-made queries over query derivation, query by example, specifications, paging and sorting to custom method implementations.

We’ll also take a look at common pitfalls of JPA and how to circumvent them. And if time is left we’ll take a glance at other technologies available to Java developers to complement JPA and how these integrate with Spring Data.

Participants will learn to distinguish between JPA and Spring Data JPA, the various features Spring Data JPA offers and when to use which feature to achieve their goal.

Bio

Jens Schauder (@jensschauder) hat vor unglaublich langer Zeit auf einem in Assembler programmierbaren Tischrechner angefangen zu programmieren. Nach über 30 Jahren, davon fast 20 als Consultant für meist große Konzerne, hat er es 2017 geschafft sich beim Spring Data Team einzuschleichen. Dort arbeitet er meist an den Modulen Commons, JPA und JDBC, erzählt davon auf Konferenzen oder hilft anderen Entwicklern auf Stackoverflow. Wenn er nicht programmiert, spielt er mit seinen Kindern, läuft, macht Freeletics, spielt oder organisiert die JUG Ostfalen.

Automated Security-Testing in Continuous Integration

Registration

Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.

Termin

Der Vortrag findet am 04.02.2020 um 19:00 Uhr bei LivePerson in P3 1-3, Mannheim.

Abstract

Fast täglich liest man von Sicherheitsproblemen in (Web-)Anwendungen, zum Teil mit verheerenden Auswirkungen für Firmen und Verbraucher. Zum Schutz sensibler Daten müssen wir in der Entwicklung und im Betrieb stets sicherstellen, dass wir auf bekannte Schwachstellen reagieren und Systeme und Software auf dem aktuellsten Stand halten können.

Um möglichst schnelles Feedback über aktuelle Probleme zu bekommen, empfiehlt es sich, automatisiert nach bekannten Schwachstellen zu suchen. Hierzu bietet sich die Erweiterung bestehender Continuous-Integration-Pipelines an.

Im Vortrag mit Live-Demo werden mehrere Open-Source-Frameworks vorgestellt, mit deren Hilfe man automatisiert Schwachstellen in (Java-)Dependencies, Container-Images und Webapplikationen finden kann. Hierzu werden OWASP Dependency-Check, CoreOS Clair und OWASP ZAProxy genutzt.

Vorkenntnisse

Grundkenntnisse über Continuous Integration

Lernziele

Der Zuhörer/-innen lernen

  • dass man sich und seine Software automatisiert absichern kann, ohne ständig aktiv irgendwelche Tests auszuführen oder News bzw. aktuelle Schwachstellen zu verfolgen.
  • dass Sicherheitstests, genau wie fachliche und integrative Softwaretests, eine Grundabsicherung bieten und “nebenbei” ohne aktive Teilhabe des Entwicklers laufen

Bio

Christian Kühn ist auf dem Weg von Ops zu Dev in der Mitte hängengeblieben! Senior Systementwickler und Berater, Mitorganisator des DevOpsMeetup Karlsruhe, hält Vorträge und schreibt Artikel zu Themen aus DevOps, Cloud und Sicherheit.

Testen von und mit Infrastruktur - Integration Testing done right

Registration

Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.

Termin

Der Vortrag findet am 14.11.2019 um 19:00 Uhr bei Bridging IT in N7 5-6, 68161 Mannheim statt.

Abstract

Heutzutage läuft eine Software nicht für sich alleine, sondern agiert mit Anderen. Die Kommunikation erfolgt meist über verschiedene Protokolle, sprich über verschiedene Infrastruktur-Komponenten. Gerade beim Testen stellt sich die Frage, wie kann der Entwickler Tests so schreiben, dass sie von einem bestimmten Infrastruktur-Setup unabhängig sind. Meistens gelingt es nicht und dann wird dieser Teil der Software erst spät bei den End-2-End-Tests geprüft. Doch gerade mit Microservices und dem Paradigma “Wenn etwas schiefläuft, dann so schnell wie möglich” möchte der Entwickler schon zu einem früheren Testzeitpunkt, z.B. bei Entwicklertests, erfahren, wenn bei diesem Teil der Software etwas schief läuft. Zudem macht die Infrastruktur nicht beim Anwendungscode halt. Mittlerweile wird die Infrastruktur immer mehr mit Hilfe von Code (Provisionierungsskripte, Dockerfiles, (Shell-) Skripte etc. ) beschrieben und automatisiert. Auch bei diesem Code möchte der Entwickler sicher gehen können, dass er so funktioniert wie erwartet. Dieser Vortrag zeigt anhand einer Java-Anwendung, wie man mit Hilfe von 3rd-Party-Libraries die Infrastruktur in den Tests der Anwendung einbinden kann ohne sich gleich von einer bestimmten Infrastruktur abhängig zu machen. Darüber hinaus, wird darauf eingegangen wie die Qualität des Infrastruktur-Codes gesichert werden kann, angefangen bei klassischen Provisionierungswerkzeugen bis hinzu Container.

Bio

Sandra Parsick ist als freiberufliche Softwareentwicklerin und Consultant im Java-Umfeld tätig. Seit 2008 beschäftigt sie sich mit agiler Softwareentwicklung in verschiedenen Rollen. Ihre Schwerpunkte liegen im Bereich der Java Enterprise Anwendungen, agilen Methoden, Software Craftsmanship und in der Automatisierung von Softwareentwicklungsprozessen. Darüber schreibt sie gerne Artikel und spricht darüber auch gerne auf Konferenzen. In ihrer Freizeit engagiert sie sich in der Softwerkskammer Ruhrgebiet.