HEC Journal

Lombok

Wer hat sich nicht schon mal über die lästigen Arbeiten geärgert, in Pojos oder Dtos sowohl alle Getter und Setter, als auch equals() und hashCode() zu implementieren. Zwar unterstützt uns die IDE mittlerweile gut dabei, aber übersichtlicher wird der Code dadurch meistens nicht. Hier soll das Projekt Lombok http://projectlombok.org/ Abhilfe schaffen. Per Annotation kann man Lombok […]

0

Wer darf was? Delegieren leicht gemacht mit Delegation Poker

Was bedeutet eigentlich “Delegieren”? Delegieren ist das Übertragen von Handlungskompetenzen vom Delegierenden an einen Delegationsempfänger. Und warum sollte man delegieren? Damit Entscheidungen da getroffen werden wo die höchste Kompetenz vorhanden ist (und nicht da wo die höchste Inkompetenz ist). Ein Beispiel ist die Aufgabenaufteilung in einem Entwicklungsteam. Das Team hat (wenn es ein gutes Team […]

0

Spring ToolBox: Bean- und Methoden Validierung

Das Spring-Framework ist wie ein Schweizer Messer für Java-Entwickler: Es stellt für viele im Programmieralltag aufkommende Problemstellungen eine fertige Lösung zur Verfügung. Dabei stolpert man selbst nach jahrelangem Einsatz immer wieder über Funktionen des Frameworks, die man bisher nicht kannte und für die man stattdessen eigene Implementierungen geschrieben hat. Ein Beispiel hierfür ist die Nutzung der Validierung nicht […]

0

Currying in Java 8

Es hört sich orientalisch an, wie frisch aus der indischen Küche, hat aber nichts damit zu tun. Currying heißt so, weil es nach dem Mathematiker Haskell Brooks Curry benannt ist. Es wurde zwar nicht von ihm erfunden, aber soweit ausgearbeitet, dass es praktisch einsetzbar ist. (Die rein funktionale Programmiersprache Haskell basiert auch auf seiner Arbeit […]

0

Java 8 – Stream API (Teil 2)

Erzeugen von Streams in Java 8 Im vorherigen Beitrag zur Einführung von Streams wurden deren Funktionsweise und einige elementare Funktionen vorgestellt. Das Erzeugen von Streams kann auf viele verschiedene Arten geschehen, teilweise abhängig von den enthaltenen Datentypen. Wir erinnern uns: Streams speichern die zugrundeliegenden Daten nicht, sondern halten nur Verweise auf die Daten zusammen mit […]

0

Java Message Service (JMS)

ActiveMQ JMS kann für das Versenden von Nachrichten über Rechnergrenzen oder zwischen Laufzeitumgebungen (JVM) verwendet werden. Die Art des Nachrichtenkanals bestimmt die Auslieferung der Nachrichten an einen (Queue) oder mehrere (Topic) Teilnehmer. Je nach Problemstellung kann somit die Zustellung von Nachrichten garantiert (Queue) oder einfach als Benachrichtigung für aktuelle Empfänger (Topic) eingesetzt werden. Apache ActiveMQ […]

0

Jasmine: Auch Spione können zählen – Teil 2 Calls

Hinweis: Folgende Beschreibungen sind auf Basis von Jasmine 2.2. In Jasmine: Von Spionen und Zielpersonen – Teil 1 Grundlagen haben wir veranschaulicht, wie man in Jasmine Spione erzeugt und wie diese grundlegend funktionieren. Im zweiten Teil geht es nun um die Funktionalität, die Anzahl und Art der Aufrufe von Funktionen mittels Spionen abzufragen. Dabei wird […]

0

Artikel über die Digitale Transformation und das Viable System Model

Das Ziel einer modernen Organisation ist es, sich marktgerecht und dynamikrobust aufzustellen, den Herausforderungen der Digitalisierung und Globalisierung erfolgreich zu begegnen. Was aber die Transformation wirklich bedeutet, welche Handlungsfelder bearbeitet werden sollten und wie ein spezielles Modell wie das Viable System Model hier unterstützen kann, wird in diesem Artikel dargestellt. Lest mehr unter Die Digitale […]

0

Java 8 – Interface-Methoden

Default-Methoden und statische Methoden in Interfaces Seit Java 8 können Interfaces Methodenimplementierungen enthalten, die an die abgeleiteten Klassen vererbt werden. Damit muss übergeordnete Funktionalität nicht mehr möglichst weit oben in Klassen implementiert werden, sondern sie kann noch höher in Interfaces platziert werden. Default-Methoden Die Implementierung einer Default-Methode in einem Interface wird an alle abgeleiteten Interfaces […]

1

Spring ToolBox: ConversionService

Das Spring-Framework (1) ist wie ein Schweizer Messer für Java-Entwickler: Es stellt für viele im Programmieralltag aufkommende Problemstellungen eine fertige Lösung zur Verfügung. Dabei stolpert man selbst nach jahrelangem Einsatz immer wieder über Funktionen des Frameworks die man bisher nicht kannte und stattdessen eigene Implementierungen geschrieben hat. Ein Beispiel hierfür ist das Konvertieren von Objekten von einem Typ in […]

0

HEC Klo Klug Folge 14: “Einfachheit”

Für die Fertigstellung eines einfachen Designs wird immer weniger Zeit benötigt als für ein komplexes Design. Aus diesem Grund wird im Extreme Programming empfohlen immer das Einfachste umzusetzen, was als nächstes funktionieren könnte. Nicht nur weil Einfachheit etwas Subjektives ist, sind die Ansätze des Extreme Programmings zum Teil umstritten. Trotzdem möchte das aktuelle KloKlug seinen Betrachtern […]

0

Der Ablauf der Sprint Retrospektive

Die Retrospektive ist ein regelmäßiger Workshop, der dazu dient, Ereignisse der eigenen und gemeinschaftlichen Arbeit zu reflektieren. Das Ergebnis dieses Meetings sollten Maßnahmen zur kontinuierlichen Verbesserung des Teamerfolges hervorbringen. Dazu ist eine begleitende Moderation durch den Scrum Master oder ein Teammitglied erforderlich. Die Retrospektive findet am Ende eines Sprints nach dem Review statt. Je nach […]

0

Der Ablauf des Sprint Reviews

Das Sprint Review findet am Ende eines Sprints statt. Ziel des Meetings ist es, zusammen mit den Stake-holdern neue Ideen für die weitere Gestaltung des Produkts zu gewinnen. Dazu werden in der Regel bei einem vierwöchigen Sprint ca. vier Stunden angesetzt. Bei einem zweiwöchigen Sprint plant man zwei Stunden ein. Der Scrum Master koordiniert die […]

0

Der Ablauf des Daily Scrums

Das Daily Scrum ist ein tägliches Zusammentreffen des Entwicklerteams, um das weitere Vorgehen am jeweiligen Tag zu besprechen und zu synchronisieren. Aktive Teilnehmer sind lediglich die Entwickler und der Scrum Master. Der PO und andere Stakeholder können bei Bedarf als Zuhörer eingeladen werden. Das Meeting findet jeden Tag zur selben Zeit am selben Ort statt. […]

1

Der Ablauf des Sprint Plannings

Im Sprint Planning treffen sich Produkt Owner, Scrum Master und das Entwicklerteam zu Beginn eines jeden Sprints, um diesen zu planen. Das Meeting wird in zwei Teile untergliedert. 1. Was kann in diesem Sprint fertiggestellt werden? Im ersten Schritt wird festgelegt, welche Items im Sprint fertiggestellt werden sollen. Hierzu ist es wichtig, ausreichend Informationen über […]

0

Mockito – Vorbereitungen von Mocks – Teil 1

Einführung Ein Einblick in die Verwendung von Mockito wurde bereits im ersten Teil „Mockito – 1 – Einführung“ gegeben. In diesem Abschnitt – Mockito 2 – soll eine Beschreibung der gängigen Vorgehen gegeben werden, wie mit Mockito die Vorbereitung von Mocks durchgeführt werden kann. Hierzu gehört: Definieren von Verhalten eines Mocks (bzgl. Argumente und Rückgabewerte) […]

0

HEC Klo Klug Folge 13: “Entwurfs-Anti-Patterns”

Anti-Patterns sind die “schlechten” Muster in der Softwareentwicklung. In dieser Folge präsentieren wir euch ein paar solcher Muster mit Bezug auf den Entwurf/die Architektur einer Software. Download Klo Klug Folge 13

0

Relaunch ReSyMeSa Version 7

ReSyMeSa – das Recherchesystem Messstellen und Sachverständige wurde von der HEC 2007 erstellt und wird jetzt seit 10 Jahren betreut und weiterentwickelt. Die aktuelle Anwendung ist jetzt doch etwas in die Jahre gekommen, sowohl vom Design als auch technologisch, darum wurde eine komplette Neuentwicklung mit neuer Architektur, neuem Design und einigen neuen Funktionen vorgenommen. Der […]

0

HEC Podcast Folge 8: Testautomatisierung

Zusammen mit Daniel diskutiere ich heute die Testautomatisierung. Was ist Testautomatisierung überhaupt, und wo macht das Sinn? Was sind die Chancen und Risiken?
Wenn diese Fragen euer Interesse wecken, dann hört es euch an.

0

Der Sprung in ein spannendes Hardware-Projekt

Der Auftrag war klar: eine Software zur Steuerung eines Bewegungskräfte-simulierenden Rennsitzes zu entwerfen. Welche Anforderungen und Ausprägungen diese Software definieren dagegen nicht. Der „Sitz“, im Moment nur „MotionBase“ genannt, ist eine, teilweise noch in Entwicklung befindliche, Konstruktion aus zwei Elektromotoren, die eine Platte, auf der sich ein Sitz befindet, in definierte Positionen bewegen. Die den […]

0

HEC Klo Klug Folge 10: “Durchblick Datenbanken”

Praktisch jede unserer Anwendungen basiert auf einer Datenbank als Datenhaltungsschicht. Datenbanksysteme sind zentraler und kritischer Bestandteil einer Unternehmenssoftware. Dieser Klo Klug-Mehrteiler präsentiert Grundlagen und Besonderheiten traditioneller relationaler und moderner non-relationaler Systeme und gibt einen Überblick über die großen kommerziellen und die freien Angebote des Marktes. Hier könnt ihr das aktuelle KloKlug herunterladen: Klo Klug Folge […]

0

The Roots of Scrum

Das Vermächtnis des "New New Product Development Game"-Papers

1986: H. Nonaka und I. Takeuchi veröffentlichen ihr Paper “The New New Product Development Game”. Später bauen J. Sutherland und K. Schwaber darauf basierend ihr Scrum Framework. 2017: Welche Bedeutung hat das Paper nach 30 Jahren? Was können wir in Zeiten der Buzzwords “Digitalisierung”, “Industrie 4.0”, “Internet of Things” davon lernen? Meine Einschätzungen und Gedanken […]

0

Anforderungen haben immer Schuld!

Schuld an schlechten Tests, Schuld an schlechter Entwicklung, Schuld für viele Änderungen, Schuld an einfach allem. Wie macht man also gutes Anforderungsmanagement und schafft es dadurch, noch Komplexität zu reduzieren und so Softwareprojekte einfacher zu gestalten? Mittels einer guten Mischung aus klassischen und agilen Verfahren und Praktiken. Wie diese Mischung genau aussieht, welche Hindernisse auftauchen […]

0

HEC Podcast Folge 7: Weiterbildung

Zusammen mit Jan diskutiere ich heute das Thema Weiterbildung. Mir stellt sich die Frage, wie wichtig Weiterbildung in einer Organisation ist. Wird sie gebraucht? Ist dafür externe Hilfe vonnöten? Welche Vorteile hat die Weiterbildung?

0

Herstellen von initialen / sauberen Datenbankständen mit JUnit

In JUnit Tests werden oftmals Objekte angelegt und verändert, die dann über JPA in die Datenbank geschrieben werden. Für die Ausführung eines einzelnen Tests vielleicht noch kein Problem. Werden aber mehrere Tests (Test A und Test B) nacheinander ausgeführt, kommt es schnell dazu, dass Test A die Datenbank in einem Zustand hinterlässt, den Test B […]

0

Java 8 – Stream API (Teil 1)

Einführung in das Stream API von Java 8 In Java 8 sind mit dem Stream API Erweiterungen für die Arbeit mit Collections aufgenommen worden. Streams erleichtern insbesondere parallele Zugriffe auf Collections, sind aber auch für sequentielle Zugriffe sehr nützlich. Zum Verständnis des Beitrags sind Kenntnisse über Lambda-Ausdrücke und Methodenreferenzen hilfreich. Einfache Stream-Operationen Die Erstellung eines […]

0
Seiten:123
Zur Werkzeugleiste springen