Ansible improves the automation of IT infrastructure by streamlining deployment, configuration, and management. This workshop teaches its basic concepts, best practices, and how to create playbooks.
The rise of AI has revolutionised our world and opened up countless new possibilities. Although the range of AI solutions is still growing, we're now able to develop applications with advanced language capabilities at a much faster pace.
This workshop focuses on Java libraries such as LangChain4j and Spring AI, covering key topics such as choosing an LLM, prompt engineering, and interacting with an AI.
Lernen Sie anhand eines praktisches Beispiel wie Sie ein eigenes ChatBot mit selbst konfigurierten AI open-source Modell entwickeln.
A hands-on introduction to Test-Driven Development (TDD).
This course covers the basics of TDD, such that participants will be able to incorporate the learnt concepts directly into their daily work.
Programming asynchronous applications is becoming increasingly important in the world of distributed system, for both enterprise applications and microservices. This task can be highly complex and hard depending on the API we use. Thanks to recent development in Java, we can make use of virtual threads.
Der grossen Bedeutung von Softwaredokumentation lässt sich heute mit zeitgemässeren Umgebungen als Word oder Confluence begegnen.
Mit einer vereinfachten Auszeichnungssprache – hier AsciiDoc – lassen sich die Dokumente nämlich in jedem beliebigen Texteditor erstellen und bearbeiten. Dabei bleiben alle Inhalte und Konfigurationen einfach lesbar und editierbar, und das ganz ohne eigenwillige WYSIWYG-Programme oder Wiki-Plattformen.
Softwareentwickler schätzen die Nähe zwischen Programmcode und Dokumentation sowie die Möglichkeit, die Rohdokumente direkt unter Versionsverwaltung zu stellen. Leser aller Zielgruppen schätzen das professionelle, einheitliche und gepflegte Erscheinungsbild einer so generierten Dokumentationsstruktur.
Explore the transformative power of AI tools tailored for software developers in our hands-on workshop. From code generation to debugging assistance, learn how to integrate AI seamlessly into your daily workflow and create smarter, more efficient solutions.
Lerne Hands-On Strategien und Werkzeuge kennen, welche dir "Continuous Deployment & Delivery" auf Kubernetes ermöglichen. Wir beginnen mit dem einfachsten "kubectl apply", schauen uns Helm sowie Kustomize an und gehen in GitOps Ansätze mit Argo CD über.
Java was once a language that dragged along at snail's pace. Thankfully, that's no longer the case. In the recent years the pace of development has accelerated, both in language features and in the JDK improvements.
AI has an extensive impact on our lives, from music recommendations to autonomous driving. Companies need to leverage advanced AI systems to stay competitive and create innovative offerings for their customers. But what does this mean, from a technical perspective, for your business? In this workshop, we want to introduce software professionals to modern Machine Learning problems, in order to develop in one day the understanding of where the journey could go in their own company. We'll look at the basics of supervised and unsupervised learning, discuss the flood of data that needs to be managed and its quality; and round it all off with some MLOps topics. The goal is not to train experts in one day, but to make software experts aware of what challenges can arise in connection with ML in future software projects.
Explore strategies for delineating responsibilities within both monolithic and microservice architectures.
This course delves into the transition from procedural code lacking clear layer distinctions to more structured approaches, including Layered, Hexagonal, Onion, and Clean Architectures. Additionally, we'll examine how CQRS and Vertical Slice Architecture can further refine our systems' organization.
Should we use Spring, Quarkus, or Micronaut. Angular, React, or View. Dynamic, static, or mixed typing? Functional or... will this method give better performance? Each of us have been in what seems like an endless stream of such discussions and sometimes arguments. In this keynote, we will discuss some ways to get deeper understanding of solutions and how we can be effective in making these decisions, by learning from the practices of some of the most admirable artists, scientists, and architects of the world.
Wir widmen uns einen Tag lang den Grundlagen des professionellen Umgangs mit quelloffener Software: http://ospo101.org
Dabei decken wir die relvanten Themen auf den allen Stufen des leichtgewichtigen Open Source Maturitätsmodells der Linux Foundation ab:
- Angefangen bei der bewussten und korrekten Nutzung von quelloffenen Artefakten
- über das Mitwirken an Open Source Projekten
- sowie das Initiieren von eigenen Projekten
Begleiten werden uns durch den Tag eine Vielfalt von Uebungen und Mitmach-Sessions.
Abgerundet wird der Workshop durch eine Reihe von Referenzen und Beispielen aus verschiedenen lokalen sowie globalen Open Source Oekosystemen und deren wirken.
Domain-Driven Design (DDD) hat sich als praxisnahe Methode zur Modellierung von fachlichen Domänen und zur Dekomposition von Softwaresystemen etabliert. DDD-Modelle werden typischerweise am Whiteboard oder mit Post-it Notizen erstellt; nur wenige Software-Tools unterstützen deren Erstellung und kontinuierliche Weiterentwicklung. Context Mapper ist ein Open-Source Tool, welches die Modellierung von Software-Systemen auf Basis der strategischen und taktischen DDD-Patterns mit Hilfe einer Domain-Specific Language (DSL) vereinfacht und beschleunigt. Aus den Modellen können dann grafische Darstellungen, Schnittstellenbeschreibungen und Code generiert werden. Über ein Command Line Interface kann Context Mapper in CI/CD Pipelines integriert werden; Mismatches zwischen Design und Code werden von Extensions entdeckt.
Künstliche Intelligenz (KI) und Machine Learning (ML) sind zu Schlüsseltechnologien in der modernen IT-Landschaft geworden, mit einem beträchtlichen Potenzial, das es zu erschliessen gilt. Gleichzeitig führen die mit diesen Technologien verbundenen Hypes oft zu überhöhten und unbegründeten Erwartungen an diese sogenannten «Wunderwerkzeuge».
Für diejenigen, die die Machbarkeit und den zielführenden Einsatz von maschinellem Lernen für ihre eigenen Projekte evaluieren möchten und ein tieferes Verständnis für dieses Thema entwickeln möchten, bietet dieser eintägige Workshop eine hervorragende Gelegenheit. Teilnehmende erhalten nicht nur Einblicke in die Grundprinzipien der KI, sondern auch in deren Grenzen.
Explore and model business domains with Domain-Driven Design (DDD), Big Picture and Design-Level EventStorming, and software architecture patterns like Clean and Vertical Slice Architecture.
This interactive workshop is designed to equip you with the skills to set up and automate a GitLab CI pipeline from scratch. Suitable for both beginners and those with some experience, this session will focus on implementing continuous deployment for applications combining backend technologies (Java or Python) and frontend frameworks (React or Angular with TypeScript). Key topics include branch management, job dependencies, artifact handling, parallel execution, and environment variables. You will also learn to enforce best practices in software development such as static code analysis, secret scanning, and automated version control. By the end of the workshop, you will have a functional, fully automated CI/CD pipeline in your repository, with a clear understanding of how to extend and optimize it.
In diesem Workshop lernen die Teilnehmenden, wie sie mit Hilfe von Open Source LLMs persönliche Assistenten programmieren können, die Zugriff auf verschiedene Tools haben. Dies ermöglicht es dem LLM Aufgaben zu erledigen, die über Text-Generierung hinausgehen. Anhand eines Beispiels entwickeln die Kursteilnehmenden ihren eigenen LLM-Agent, der sie in ihrem Alltag unterstützt.
Die Verbreitung von Spring als Java-Enterprise Framework in den letzten Jahren ist phänomenal. Mehr und mehr Unternehmen setzen auf Technologien, aus dem über die Jahre immens gewachsenen Spring-Ökosystem. Leider ist bei dem Tempo der Fokus auf die Grundlagen verloren gegangen, was dazu führt, dass grundlegende Teile des Frameworks nur noch verwendet aber nicht wirklich verstanden werden. Dieser Workshop soll Abhilfe verschaffen und die Grundlagen von Spring und Spring Boot verständlich machen. Mit einem guten Verständnis dieser Grundlagen wird dein Alltag mit Spring deutlich einfacher, sowohl während der Entwicklung als auch in Fehlersituationen. Auch das Einarbeiten in weiterführende Technologien aus dem Spring Universum wird deutlich leichter, da diese meistens auf den simplen Grundlagen von Spring basieren.
Die Teilnehmenden lernen an Fallbeispielen das Erstellen von Softwarearchitekturen in vielen kleinen evolutionären Schritten – statt mittels Big-Design-Up-Front.
In der Übung werden einzelne Architekuraspekte wie Datenspeicherung, Skalierung, Kommunikation betrachtet und jeweils potenzielle Evolutionswege erarbeitet.
Ziel ist eine Architektur, welche sich ständig an die aktuellen Bedürfnisse (mehr Benutzer, Wachstum der Codebasis, zusätzlich Anforderungen bezüglich Internationalisierung, Archivierung, etc.) anpassen kann.
Dieser Kurs richtet sich speziell an Einsteiger:innen, welche behutsam in dieses geniale System eingeführt werden möchten. Sie lernen die Grundlagen, die Sie brauchen, um später auf eigene Faust in dieser faszinierenden Welt herumzustöbern und eigene Projekte umzusetzen.
In fachspezifischer Software integrierte Low-Code-Entwicklungsumgebungen befähigen Domänenexperten mit wenig Programmierkenntnissen diese Software an dafür vorgesehenen Stellen selbständig an firmenspezifische Prozesse und Systeme anzupassen. In diesem praxisnahen Workshop lernen die Teilnehmer, wie sie unter Verwendung von Open-Source-Software Low-Code-Entwicklungsumgebungen spezifisch für eigene Applikationen entwickeln und dabei mittels den folgenden Low-Code-Programmiermethoden an das Zielpublikum anpassen: Domänenspezifische Sprachen, visuelle Programmierung, Programmierung mittels Demonstration, Programmierung mittels natürlicher Sprache.
Playwright ist ein Framework für Web-Tests und Automatisierung. Es ermöglicht das Testen von Chromium, Firefox und WebKit mit einer einzigen API. Playwright wurde entwickelt, um eine browserübergreifende Web-Automatisierung zu ermöglichen, die immer aktuell, leistungsfähig, zuverlässig und schnell ist.
Ein interaktiver Schnelleinstieg in das populäre Python