Spring Data JPA von 0 auf 100 in 60 Minuten

Registration

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

Termin

Der Vortrag findet am 12.03.2020 um 19:00 Uhr in der Uni Mannheim A5, 6 im Raum C013 statt (Anfahrtsbeschreibung).

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.

Jenkins X – Continuously Driving the Kloud

Registration

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

Termin

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

Abstract

Cloud schreibt man im Zeitalter von Kubernetes mit K! Alle Ressourcen werden dynamisch von Kubernetes verwaltet. Alle? Build und Deployment über verschiedene Stages liegt oft noch außerhalb, z.B. in einem Build-Server und verschiedenen Repositories (Artefakte, Docker-Images). Mit Jenkins X wandert alles in einen Kubernetes-Cluster und gewinnt so die nötige Dynamik:

  • Setup der nötigen Infrastruktur in Kubernetes (Jenkins, Nexus, Docker-Registry …),
  • Aufsetzen von Build-Pipelines für jeden Branch und jeden Pull-Request,
  • Deployment in verschiedene Stages (mit Helm),
  • Mandantenfähigkeit (Builds und Environments nach Teams unterscheiden),
  • Steuerung von versionierten Deployment-Konfigurationen (GitOps),
  • Import von bestehenden Projekten,
  • Setup neuer Projekte auf Basis gängiger Microservice-Frameworks (z.B. Spring Boot),
  • u.v.a.m.

Jenkins X ist ein entwicklerfreundliches Command-Line Tool und bündelt eine Vielzahl von Komponenten hinter einer einheitlichen (opinionated) Fassade.

Der Vortrag erklärt die Architektur und Konzepte und führt an ein paar kleinen Beispielen typische Use-Cases vor.

Bio

Gerd Aschemann ist Automatisierungsfanatiker: was gescriptet werden kann, wird auch gescriptet. Er ist als freiberuflicher Software-Entwickler und -Architekt unterwegs, in den letzten Jahren bevorzugt mit Aufgaben im Bereich Continuous Integration und -Delivery. Mit Java beschäftigt er sich schon seit ca. 1996, seit er als wissenschaftlicher Mitarbeiter im Fachgebiet Verteilte Systeme der TU Darmstadt zum Management Verteilter Anwendungen geforscht hat.

Einführung in Gradle

Registration

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

Termin

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

Abstract

Gradle ist als Build Tool mittlerweile etabliert. Dennoch haben viele Java-EntwicklerInnen wenig Erfahrung damit. Außerdem ist der Build ja nicht so wichtig — oder vielleicht doch (und wenn ja, warum)? Daher fangen wir mit den Basics an und steigern uns dann kontinuierlich: Wie legt man mit Gradle ein neues Projekt an? Was ist ein Build Script? Wie definiert man einen eigenen Task? Wie kann man mehr darüber erfahren, wie lange ein Task gedauert hat? Was ist ein inkrementeller Build? Was ist der Build Cache? Wie kann ich den Build an meine Bedürfnisse anpassen? Außerdem möchte ich euch zeigen, wie man Build-Logik wiederverwendbar macht, etwa in dem man sie in separate Build Scripts und schließlich eigene Plugins auslagert. Insgesamt habe ich viel Zeit für eure Fragen eingeplant, die ich hoffentlich alle beantworten kann. Falls nicht, sage ich euch, wo ihr Hilfe bekommt.

Bio

Marc Philipp hat mehr als 10 Jahre Erfahrung in der Entwicklung von Software für Unternehmen und Endkunden sowie als Trainer und Coach für andere Entwickler. In seiner Arbeit bei Gradle widmet er sich der Verbesserung des Entwicklungsalltags von Millionen von Entwicklerinnen und Entwicklern und kann seiner Leidenschaft für Open-Source-Software nachgehen. Er ist seit langem aktiver Committer und Maintainer von JUnit. Außerdem war er Mitinitiator der Crowdfunding-Kampagne JUnit Lambda, die der Anfang von dem war, was nun JUnit 5 ist.