Donnerstag, 13. Dezember 2018

Mal eben eine virtuelle Maschine bei AWS erzeugen

Welcher Software Entwickler kennt das nicht? Man möchte mal eben seine eigene Software im Internet verfügbar machen oder eine Technologie ausprobieren und benötigt dafür eine virtuelle Maschine mit guter Internetanbindung.

Dafür ist AWS EC2 sehr gut geeignet. Das Erstellen einer EC2 Instanz ist über die WebUI mit wenigen Klicks erledigt. Es geht jedoch noch schneller als mit der WebUI. Und zwar, mit Terraform.

Neben der hohen Geschwindigkeit beim Erzeugen und Zerstören einer Instanz, bietet das Tool noch einen weiteren Vorteil. Der Aufbau der Virtuellen Maschine ist im Code dokumentiert und kann je nach Bedürfnis durch Variablen dynamisch angepasst werden.

Als einfaches Beispiel habe ich dieses GitHub Projekt aufgesetzt. Der Code basiert auf diesem lesenswerten Artikel.

Wer noch kein Konto bei AWS hat, kann dieses hier anlegen und 12 Monate lang kostenfrei experimentieren. Auch nach dem Ablauf der 12 Monate gibt es weiterhin Leistungen, die immer kostenfrei sind.

Wer sich in das Thema AWS einlesen möchte, dem kann ich dieses Buch empfehlen.

Sonntag, 25. November 2018

Spock Konfiguration externalisieren

Wenn du gerade angefangen hast mit dem Testframework Spock deine Applikation zu testen, dann fragst du dich vielleicht, wie du die Tests für verschiedene Testumgebungen konfigurieren kannst.

Hier habe ich ein paar Varianten beispielhaft zusammengetragen:


Montag, 19. November 2018

Scrum unser

Original

Vater unser im Himmel
Geheiligt werde dein Name.
Dein Reich komme.
Dein Wille geschehe,
wie im Himmel, so auf Erden.
Unser tägliches Brot gib uns heute.
Und vergib uns unsere Schuld,
wie auch wir vergeben unsern Schuldigern.
Und führe uns nicht in Versuchung,
sondern erlöse uns von dem Bösen.
Denn dein ist das Reich
und die Kraft und die Herrlichkeit
in Ewigkeit. Amen.

Quelle: https://www.ekd.de/Vater-unser-10784.htm

Meine Scrum Version

Scrum unser im Team
Geheiligt werde dein Vorgehen.
Dein Projekt komme.
Dein Backlog geschehe,
wie im Team, so im Unternehmen.
Unser tägliches Standup gib uns heute.
Und vergib uns unsere technischen Schulden,
wie auch wir vergeben unseren Stakeholdern mit ihren unklaren Anforderungen.
Und führe uns nicht in den Wasserfall,
sondern erlöse uns von dem choatischen Entwicklungsprozess.
Denn dein ist das Projekt
und die Velocity und das funktionierende Produkt just in Time. Amen

Freitag, 3. Juli 2015

Grails und SQL Logging

Problem: Die abgesetzten SQL Statements sollen in das Log, aber nicht in die Konsole.

Hintergrund: Die Ausgabe des SQL wird durch die Standardkonfiguration der Datenquelle in die Konsole geleitet.

Lösung: Die Log4j Konfigurationen nutzen, um die gleiche Ausgabe in einer separaten Logdatei ausgeben zu lassen.

Hier eine Beispielhafte Konfiguration in Grails 2.5.0.

Mittwoch, 1. Juli 2015

Zugriff über eigenen Datenbank-Client auf die H2 Datenbank bei der Entwicklung mit Grails

Problem

Mit einem eigenen Datenbank-Client können keine Datenbankabfragen gegen die voreingestellte Entwicklungsdatenbank von Grails abgesetzt werden.

Hintergrund

Der voreingestellte In-Memory Mode der H2 Datenbank macht den Zugriff auf die Daten der Applikation von einem anderen JVM Prozesses aus unmöglich.

Lösung

Der Automatic Mixed-Mode ermöglicht es die Datenbank gleichzeitig lokal und im Server Modus zu betreiben. Die H2 Datenbank verwaltet die Verbindungen dann so, dass dem ersten Prozess Zugriff im Embedded Mode ermöglicht wird und alle weiteren Prozesse bekommen Zugriff im Server Mode.


Die Dateien der Datenbank liegen bei der obigen Konfiguration in dem Verzeichnis data innerhalb des Projektverzeichnisses.

Der Datenbank-Client verwendet die gleiche Datenbankverbindungskonfiguration wie die Grails Applikation. Zu beachten ist lediglich, dass der Pfad zu den Datenbankdateien in dem Client eventuell angepasst werden muss.

Montag, 29. Juni 2015

Grails Spring Security ACL kann Cache Bean nicht initiieren

Problem: Grails 2.5.0 kann aufgrund der folgenden Ausgabe nicht gestartet werden.


Hintergund: Hibernate verwendet einen Cache und hat diesen bereits gestartet. Das ACL Plugin verwendet ebenfalls einen Cache unter dem gleichen Namen.

Lösung

Schritt 1: Ergänzen der Abhängigkeiten, um des Cache Plugin.


Schritt 2: Konfiguration des Cache, zur gemeinsamen Nutzung.


Montag, 22. Juni 2015

VirtualBox - Unable to load R3 module

Problem
Beim Start einer VM von VirtualBox auf einem Rechner mit Windows 7, wird folgende Fehlermeldung ausgegeben.

Erläuterung
Wichtige Windows Systemdateien wurden durch die Installation von Fremdsoftware verändert.

Lösung 1
In der Konsole von Windows folgenden Befehl ausführen, um die Systemdateien wieder herzustellen.

Lösung 2
Die veraltete Version VirtualBox 4.2.16 installieren.