Das Gradle-Plug-in application
erzeugt eine praktikable Distribution für eine Java-Applikation, was aber wenn mehr Flexibilität gebraucht wird? Zum Beispiel ein über-JAR oder ein JAR das sich durch Doppelklick startet lässt. „Custom Distribution mit Gradle“ weiterlesen
Festplatte voll? Xcode aufräumen!
Beim der Arbeit mit Xcode verschwindet einiges an Plattenplatz. Nicht nur ist das Programmpaket selbst recht groß, auch legt Xcode einiges an zusätzlichen Informationen im Nutzerverzeichnis unter ~/Library/Developer
ab. Ein paar Sachen davon können relativ bedenkenlos gelöscht werden. „Festplatte voll? Xcode aufräumen!“ weiterlesen
Testen mit JUnit 5
Mit Version 5 von JUnit wird das Testen unter Java noch einfacher. Hier ein paar Beispiele …
Semantic Versioning für Applikationen
Semantic Versioning wird für die meisten Frameworks und Bibliotheken verwendet. Für Maven, NPM und andere Package Manager ist eine semantische Versionierung zwingend notwendig, um Abhängigkeiten korrekt auflösen zu können. Wie kann man aber Applikationen semantisch versionieren?
FTP-Server unter macOS nutzen
Mac OS X, OS X und das aktuelle macOS bringen von Haus einen FTP-Server mit. In früheren Versionen konnten man den ein den Systemeinstellungen unter Freigaben aktivieren und deaktivieren. Mittlerweile ist dafür aber das Terminal zuständig. „FTP-Server unter macOS nutzen“ weiterlesen
BDD mit Cucumber
Behavior Driven Development (BDD), auch Acceptance Test Driven Development (ATDD) genannt, bringt die testgetriebene Entwicklung näher an den Anwender.
AOP mit AspectJ
Die aspektorientierte Programmierung (AOP) bietet zusätzlich zur objektorientierten Programmierung (OOP) eine neue Möglichkeit der Modularisierung von Software. In der OOP werden Funktionalität durch Methoden, Klassen und Pakete modularisiert. Klassen fassen Methoden zu einer Einheit mit einer Verantwortlichkeit zusammen. Pakete gruppieren zusammengehörige Klassen. Diese Modularisierung fokusiert auf die Geschäftslogik von Software.
Einen leeren Branch in Git anlegen
Hin und wieder braucht man einen leeren Branch im Repository. Ein leerer Branch ist ein neuer Branch ohne bisherige Commits, der von keinem anderen Branch abgezweigt wird. Ein Beispiel dafür ist der Branch gh-pages
auf GitHub. Dieser Branch enthält eine HTML-basierte Projektseite und hat ansonsten mit dem Sourcecode nichts gemeinsam.
Task Management mit Xcode
Als Programmierer schreibt man offene Punkte, z. B. FIXME
oder TODO
gerne direkt den Source Code. Wirklich praktisch ist das aber nur, wenn die verwendete IDE einen auch auf die offenen Punkte hinweist.
The Return of the C64
Kennt noch einer den „Brotkasten“ C64? Mich überkam die Tage ein wenig die Nostalgie und ich habe kurzerhand im Terminal unter Mac OS X optisch die Zeit auf die 80er Jahre zurückgedreht.