adesso BLOG
11.05.2023 von Björn Thalheim
ATDD in Spring Boot mit Cucumber
Developer sind recht vertraut mit Unit-Tests, sogar mit integrativen Ansätzen wie @SpringBootTest. Viele haben jedoch keine klare Design-/Entwicklungs-/Teststrategie und bleiben bei ihrer bevorzugten Programmiersprache. Acceptance Test Driven Design (ATDD) ist ein strukturierter Ansatz, bei dem ihr eure Tests und euer Programm von außen nach innen entwerfen und euch auf größere Funktionsblöcke statt auf einzelne Klassen konzentrieren könnt. Dieser Blog-Beitrag zeigt, wie es funktioniert.
weiterlesen04.05.2023 von Frederik Schlemmer
Angular Material Karma-Tests mittels Component Harness vereinfachen
Das Problem ist nahezu jedem Frontend-Entwicklenden bekannt: Ein simpler Unit-Test wird durch die Implementierungsdetails unglaublich komplex. Dies bringt einige Nachteile mit sich, weshalb Angular seit Version 9 Component Harness zur Verfügung stellt. In diesem Blog-Beitrag zeige ich, wie Angular Material Karma-Tests mittels Component Harness vereinfachen werden.
weiterlesen03.05.2023 von Stefano Fiorentino
Wie erleichtern Over-the-Air-Software-Updates das Leben der Entwickler:innen?
Software ist überall. So enthalten beispielsweise Embedded Geräte eine Menge Software. Leider werden Fehler oft erst entdeckt werden, wenn die Software in Betrieb ist. Um dies zu vermeiden, empfehlen wir Ihnen eine FOTA-First-Mentalität (Firmware Over-the-Air).
weiterlesen22.03.2023 von Vincent Scherb
Fehlerbehebung beim Open-Source-NuGet-Paket
Für ein Projekt entschloss ich mich, die libgit2-Bibliothek für die portable C#-Implementierung zu nutzen. Beim Hinzufügen des NuGet-Pakets in der aktuellen Version 0.26.2 (vom 11. Dezember 2019) trat ein Problem während der Laufzeit auf: Die freigegebene Bibliothek konnte nicht geladen werden. In diesem Blog-Beitrag erfahrt ihr mehr über diesen Fehler. Ich erkläre die einzelnen Schritte, wie ihr dieses Problem beheben und mit eurem Projekt fortfahren könnt.
weiterlesen15.03.2023 von Marc Mezger
Eine kurze Einführung in Programmiersprachen: Python – Die Programmiersprache für Data Engineering und KI
Python ist eine hochentwickelte, universelle Programmiersprache, die in verschiedenen Bereichen wie Data Science, maschinellem Lernen, Webentwicklung und Automatisierung weit verbreitet ist. Die Einfachheit der Syntax und die leichte Erlernbarkeit machen Python zu einer idealen Sprache für Anfängerinnen und Anfänger sowie für erfahrene Developer. In diesem Blog-Beitrag werde ich die Anwendungsgebiete sowie die Eigenschaften der Sprache beleuchten und einen Ausblick auf die Zukunft geben.
weiterlesen03.03.2023 von Paul Schüler
GitLab Pipelines für die automatisierte Veröffentlichung einer semantischen Version
Die Versionierung von Software ist ein praktisches Mittel, um den aktuellen Entwicklungsstand festzuhalten. Softwareversionen werden jedoch oft nur inkrementiert und bringen keinen Mehrwert. Da Versionierung in Regeln abgebildet werden kann, sollte dieser Prozess automatisiert werden. Semantische Versionierung gibt Softwareversionen eine Struktur, die allen Stakeholdern und dem Entwicklungsteam wichtige Informationen liefern kann. Wie das funktioniert, zeige ich in diesem Blog-Beitrag.
weiterlesen28.02.2023 von Rico Komenda
Die bösen regulären Ausdrücke
In diesem Blog-Beitrag gehe ich auf reguläre Ausdrücke (Regex) und deren Schattenseiten ein. Dabei gehe speziell darauf ein, wie ein Regex einen Denial-of-Service-Angriff auslösen kann.
weiterlesen28.02.2023 von Lars Schmiedeberg
COMPUTER SOFTWARE ASSURANCE (CSA) – EVIDENCE OF ACCEPTANCE VS. EVIDENCE OF APPROVAL
13.02.2023 von Christoph Kappel
Orchestrierung mit Nomad
Orchestrierung ist in aller Munde und aus vielen Bereichen nicht mehr wegzudenken - aber gibt es neben dem Platzhirsch Kubernetes eigentlich noch Alternativen? In diesem Blog-Beitrag werde ich mich mit dem Job Scheduler Nomad von HashiCorp beschäftigen und anhand von einfachen Beispielen beschreiben, welche Möglichkeiten dieser bietet. Anschließend gehe ich auf Deployments und weiterführende Themen wie Service Discovery und Canary Deployments ein.
weiterlesen