February 16, 2024
@
09:00
–
16:00
Schulung / Training / Kurs / Seminar – 1 Tag remote
Apache Maven ist seit mehr als einem Jahrzehnt als Build– und Reporting-Tool für Java-Projekte etabliert. Der Erfolg dieses Werkzeuges begründete sich vor allem in der einfacheren Lösung des Abhängigkeitsmanagements fremder Programmbibliotheken. Entwickler lassen in ihren Projekten mehrmals täglich lokale Maven Builds laufen, wissen aber oft nicht, wie sie bei Problemen Abhilfe schaffen können.
In diesem Workshop lernen Sie die wichtigsten Grundlagen zu Maven kennen. Schnell gehen wir zu fortgeschrittenen Themen über und lernen wie der Build Lifecycle nicht nur über die Build Logik, sondern auch über die Kommandozeile beeinflusst werden kann. Es handelt sich um einen praxis-orientierten Workshop mit vielen Beispielen aus dem Entwickleralltag.
Durchführungs-Garantie: der Kurs wird auch bei nur einem Teilenmer:in durchgeführt.
Kurs buchen: https://www.gfu.net/seminare-schulungen-kurse/testmanagement_sk92/maven-ueberblick-fuer-entwickler_s2345.html
Jede(r) Teilnehmer(in) erhält eine gedruckte Ausgabe des Buches: Marco Schulz, CI mit Jenkins, Rheinwerk, 2021
Sollten Sie zu den angebotenen Terminen nicht können, beziehungsweise für Ihr Team einen individuellen Termin wünschen, um beispielsweise in einer geschlossenen Runde auf konkrete Problemstellungen eingehen zu können, besteht die Möglichkeit zusätzliche außerplanmäßige Termine zu vereinbaren. Nutzen Sie bitte hierzu mein Kontaktformular unter der Angabe welchen Kurs Sie wünschen, mit Terminvorschlägen und der zu erwartenden Teilnehmerzahl.
Weitere Termine:
- 10.05.2024
- 23.08.2024
- 15.11.2024
November 21
@
19:00
–
19:45
Continuous Stupidities – Myths of DevOps
Even if it used to be called configuration management, it does not mean that the old problems have been eliminated with the beautiful new name DevOps. Due to the increasing complexity of projects and ignorance of the tools, today’s strategies and workflows that are expected of the development teams only achieve a new quality.
Many DevOps teams take the approach of automating all possible work steps. This even goes so far as to try to automate the automation itself. In principle, there would be nothing wrong with this, if the solution would then also help the development teams to work through their daily tasks efficiently. Unfortunately, many of the solutions I have come across in my professional life in recent years are far from that. Rather, they create development environments that hinder the daily work instead of simplifying it. So let’s take a closer look together and discuss what serious effects carelessly made decisions have on the future success of a project. Of course, we will also find one or the other highlight from development that causes more than just a little headache for the company.
December 14
@
09:00
–
December 15
@
16:00
Schulung / Training / Kurs / Seminar – 2 Tage remote
In diesem Intensivseminar wird anhand echter Beispiele vermittelt, wie Sicherheitslücken in Webanwendungen entstehen, aussehen, ausgenutzt und verhindert werden können. Neben klassischen Themen wie den OWASP Top 10 wird auch auf neuartige Angriffsarten eingegangen.
Die Teilnehmenden werden damit befähigt, Sicherheit in ihren Entwicklungsprozess zu integrieren und ihre Webanwendungen zu härten. Der Kurs ist sprachagnostisch.
Durchführungs-Garantie: der Kurs wird auch bei nur einem Teilenmer:in durchgeführt.
Kurs buchen: https://www.gfu.net/seminare-schulungen-kurse/sicherheit_sk74/web-application-security_s1747.html
Jeder Teilenmende erhält eine gedruckte Ausgabe des Buches: Michael Kofler – Hacking & Security – Das umfassende Handbuch
Sollten Sie zu den angebotenen Terminen nicht können, beziehungsweise für Ihr Team einen individuellen Termin wünschen, um beispielsweise in einer geschlossenen Runde auf konkrete Problemstellungen eingehen zu können, besteht die Möglichkeit zusätzliche außerplanmäßige Termine zu vereinbaren. Nutzen Sie bitte hierzu mein Kontaktformular unter der Angabe welchen Kurs Sie wünschen, mit Terminvorschlägen und der zu erwartenden Teilnehmerzahl.
Weitere Termine:
- 14.12 – 15.12.2023 (KW 50)
- 07.03 – 08.03.2024
- 13.06 – 14.06.2024
December 11
@
09:00
–
December 13
@
16:00
Schulung / Training / Kurs / Seminar – 3 Tage remote
Wenn ein Unternehmen sich entscheidet, Software nach der DevOps-Philosophie zu entwickeln, bietet sich eine große Chance, den Kunden robustere Software in kürzeren Entwicklungszyklen bereit zu stellen. Gemeinsam müssen alle Beteiligten die Unternehmenskultur so verändern, dass Konzeption, Entwicklung, Test und Betrieb von Software Hand in Hand gehen.
Für Entwickler bedeutet dies meist eine deutliche Erweiterung von Anforderungen und Verantwortung: Themen wie Containerisierung, Integrationstests, Monitoring und Logging sollten bedacht und beherrscht werden. In diesem Praxisseminar machen Sie sich anhand ‘echter’ Softwareprojekte mit vielen unterschiedlichen Technologien und Methoden vertraut.
Durchführungs-Garantie: der Kurs wird auch bei nur einem Teilenmenden durchgeführt
Kurs buchen: https://www.gfu.net/seminare-schulungen-kurse/java_sk5/devops-werkzeugkasten-entwickler_s2137.html
Jeder Teilenmende erhält eine gedruckte Ausgabe des Buches: Marco Schulz, CI mit Jenkins, Rheinwerk, 2021
Sollten Sie zu den angebotenen Terminen nicht können, beziehungsweise für Ihr Team einen individuellen Termin wünschen, um beispielsweise in einer geschlossenen Runde auf konkrete Problemstellungen eingehen zu können, besteht die Möglichkeit zusätzliche außerplanmäßige Termine zu vereinbaren. Nutzen Sie bitte hierzu mein Kontaktformular unter der Angabe welchen Kurs Sie wünschen, mit Terminvorschlägen und der zu erwartenden Teilnehmerzahl.
Weitere Termine:
- 11.03 – 13.03.2024
- 10.06 – 12.06.2024
April 12
All day
Test Driven: from zero to hero
In the software industry, it is a common agreement that the code base has sufficient test automation. Because this is necessary for a stable DevOps process and secure refactoring. But the reality is completely different. Almost every project I joined during my career didn’t have any lines of test code. If we think about the fact that after more than 40 years, 80% of all commercial software projects fail, we should not be surprised. But this doesn’t have to be like this. In this talk, we demonstrate how easy it is to introduce, even in huge projects, a test-driven approach. The technical setup is a standard Java project with Apache Maven and JUnit 5.
October 30, 2020
All day
Hysterisch gewachsen – Wege zu einer stabilen API
Enterprise Software hat erfahrungsgemäß eine lange Lebenszeit, weswegen die Wartbarkeit ein wichtiger Aspekt während der Entwicklung ist. Wie aber vermeidet man das Chaos in Projekten, welches lang läufig als historisch gewachsen bezeichnet wird? Mit leicht nachvollziehbaren Beispielen, zeige ich wie man mit einer Schichtenarchitektur eine stabile API entwickeln kann. Dabei werden Fragen geklärt wie:
- Qualität und Wartbarkeit
- Architektur und Design Pattern für APIs
- API Dokumentation und Versionierung
- automatisierte Architekturtests
(Tools/Techniques: Maven, Docker, Rest, apiguardian, Swagger, ArchUnit, JUnit)
December 13, 2022
All day
Refactoring – Eine kurze Geschichte des Scheiterns
Für mein kleines Open Source-Projekt TP-CORE, das Sie auf GitHub finden können, hatte ich die großartige Idee, die iText-Bibliothek für OpenPDF zu ersetzen. Nachdem ich einen Plan gemacht hatte, wie ich mein Ziel erreichen könnte, startete ich alle notwendigen Aktivitäten. Aber im wirklichen Leben sind die Dinge nie so einfach, wie wir es uns ursprünglich vorgestellt haben. In diesem Vortrag erfahren Sie was genau passiert ist. Ich spreche über meine Motivation, warum ich die Änderung wollte und wie mein Plan war, alle Aktivitäten zum Erfolg zu führen. Sie werden erfahren wie es war, als ich den Punkt erreichte bei dem mir klar wurde, dass ich so nicht zum Ziel gelange. Ich erkläre kurz, was ich getan habe, dass dieses kurze Abenteuer den Rest des Projekts nicht beeinflusst hat.
November 26, 2022
All day
Rolling Stones on stage: release me
Everyone does it, some even several times a day. But few are aware of the complex interlocking mechanisms that make up a complete software release. This is why it sometimes happens that a package gets in the way of the automated processing chain.
With a bit of theory and a typical example from the Java universe, I show how you can take a little pressure out of the software development process in order to achieve lean, slightly automated processes.
To deal with standards in your own projects is not something bad. A well define release process based on common standards increase your productivity. Learn in this talk how you are able to simplify your daily work.
November 19, 2022
All day
Excepciones Tragadas
El manejo de excepciones debe ser un conocimiento básico para los desarrolladores de Java. Pero un uso seguro no es tan fácil como parece en un primer momento. También varios libros recomiendan no usar excepciones para evitar problemas de rendimiento. En el medio, nuestro propio código está luchando por las excepciones y tenemos que encontrar el punto exacto de donde proviene el problema. No siempre es una tarea fácil. Porque la posición en la que se detectó la excepción a menudo debe mejorarse para recopilar información relevante. En esta charla comparto mi experiencia sobre cómo tratar en general las excepciones. Explico con ejemplos cómo tratar las excepciones y cuándo es mejor evitar el uso de excepciones. Después de esta presentación, la cantidad de información en sus mensajes de error no aumenta, porque obtendremos la información importante para solucionar el problema donde ocurra.
El flujo del programa no solo se define mediante sentencias if-else. Las excepciones le permiten manejar los problemas antes de que ocurran, si lo hace bien. Aprenda cómo recopilar información sobre las excepciones lanzadas y vea la práctica que debe evitar.
September 21, 2022
All day
Swallowed Exceptions in Java
Exception handling gehört zu den Grundkenntnissen eines Java Entwicklers. Die sichere Verwendung ist nicht so einfach, wie es auf den ersten Blick scheint. Erschwert wird alles noch dadurch, dass viele Bücher die Java Programmierung zum Thema haben, gern auch von der Verwendung von Ausnahmebehandlung wegen schwacher Performanz abraten. Dennoch lassen sich Exceptions im eigenen Code nicht vermeiden. Auch die testgetrieben Entwicklung benötigt Strategien Exceptions effizient zu verarbeiten, um so das Problem auf den Punkt zu bringen. Wie aber setzt man Excetions sinnvoll ein, um auch im Fehlerfall alle wichtigen Informationen beisammen zu haben? Diese Frage behandle ich ausführlich in meinem Vortrag.