December 18, 2006

Eclipse Plugin patchen

Bei der Arbeit mit dem openarchitectureware Framework entdeckte ich einen Bug im Plugin. Dieser Fehler war für mein Projekt so schwerwiegend, dass ich den Fehler sofort beheben musste - ich konnte nicht aufs nächste Update in ein paar Monaten warten. Also musste ich ersteinmal herausfinden, wie man ein Eclipse Plugin patcht.

Zuerst beschafft man sich den Quellcode per CVS. Zwar ist die CVS Struktur von Eclipse Projekten im ersten Augenblick gewöhnungsbedürftig, aber dann doch recht schlüssig. Mehr Information zum Checkout gibt es hier. Nachdem die Quellcodes heruntergeladen sind, kann der Fehler gefunden und beseitigt werden. Soweit so gut. Aber wie seine Eclipse Installation aktualisieren?

Für Eclipse Plugin Projekte gibt es immer eine plugin.xml im Stammverzeichnis. Nach dem öffnen dieser startet man im Reiter Overview unter Exporting den Export Wizard. Im Wizard können die benötigten Fragmente, die exportiert werden sollen, ausgewählt werden. Nach dem Export liegen die Fragmente als JAR Datei vor. Diese werden dann in den Eclipse Plugin Ordner (eclipse/plugins) kopiert (ggf. noch alte Versionen des Plugins löschen). Zu guter Letzt Eclipse neu starten, fertig ist der Patch des Plugins.

December 15, 2006

Neue Funktionen von Java 6

Anfang Dezember hat Sun Java 6 (Codename Mustang) veröffentlicht. Im Gegensatz zum Sprung von Java 1.4.2 auf Java 5 (Tiger) sind die Veränderungen zwischen Tiger und Mustang nicht so tiefgreifend. Trotzdem bietet das Mustang Release einige sinvolle Neuerungen.

Dazu gehört die intergrierte Web Service API, die die Erstellung eines solchen so einfach wie nie zuvor macht. Außerdem wurden einige Verbesserungen im Bereich Datenbankenzugriff vorgenommen. So wird JDBC 4.0 unterstützt. Daneben kommt Java 6 jetzt auch mit einer eigenen Datenbank (Java DB). Hier handelt es sich im wesentlichen um Apache Derby. Der Vorteil liegt darin, dass in einer Desktop Anwendung diese benutzt werden kann - es muss keine weitere Software eingebunden werden, um Daten persistent abzulegen.

Weiterhin soll die Performance bei Desktop Anwendungen verbessert worden sein, da einige Prüfungen nicht mehr zur Laufzeit sondern bereits beim Kompilieren durchgeführt werden. Auch das Look & Feel der Benutzeroberfläche (GUI) passt sich nun besser dem Betriebssystem an.

Ein sehr guter Überblick hier

September 26, 2006

Spamschutz (Captcha)

Wer ein Gästebuch oder E-Mail Formular auf seiner Website hat, kennt die Belästigug durch Bots. Mit Hilfe eines Bestätigungscodes kann dieses Problem reduziert werden.

Das PHP Skript ist winzig klein und benötigt nur eine installierte GDLib. Auch die Integration ist einfach. Dazu wird dem Formular einfach ein zusätzliches Eingabefeld hinzugefügt, in das der Captcha Code eingetragen werden muss. Nach dem Abschicken des Formulars kann der eingegebene Code überprüft werden.

May 31, 2006

Web 2.0 - Ajax

Im Rahmen unseres Softwareprojekts streifte ich zum ersten mal die neue "Wundertechnik" Ajax. Schon beeindruckend was damit alles möglich ist (siehe Googles Calendar, wenn man es bis auf die Spitze treiben möchte), aber eigentlich nur Javascript.

Egal wie man darüber denkt, ich benötigte einige Zeit, um ein brauchbares und kostenloses Ajax / Javascript Framework zu finden. Nachdem ich Prototype gefunden hatte, musste ich mich nur noch auf die Suche nach einer geeigneten Dokumentation machen.

Außerdem bin ich auch auf Rico gestoßen. Rico setzt auf Prototype auf, bietet aber schon grafische Elemente (z. B. Accordeon) und etwas mehr Dynamik.

April 25, 2006

Stripes Framework für Webanwendungen

Entwickler stehen zu Beginn einer Webanwendung oft vor dem Problem, sich für ein Präsentationsframework entscheiden zu müssen. Jeder der schon einmal mit Struts, JSF und Co. gekämpft hat, weiß wie schwer es ist, sich in diese einzuarbeiten.
Doch mit Stripes scheint eine Rettung in Sicht. Aus eigener Erfahrung kann ich behaupten, dass es einfach ist sich in dieses Framework einzuarbeiten, um schnell (sichtbare) Ergebnisse zu produzieren. Das fiel mir bei den bisherigen Platzhirschen nicht so leicht.

Dabei setzt Stripes stark auf Annotations von Java 5, was die Konfiguration bequem macht.
Einige Vorteile des Frameworks:

  • keine langen, unübersichtlichen Konfigurationsdateien (XML)

  • Zentrales Exceptionhandling

  • Mächtiges Validierung- und Typkonvertierungssystem

  • JUnit Testbarkeit

  • Wiederverwendbares Layout

  • Komplette Dokumentation; super Support


Für mich ein sehr gutes Framework, dass momentan sehr rege verbessert und erweitert wird.

March 19, 2006

Neue JUnit Version

JUnit gibt es nun in der Version 4.0. Das "revolutionär" neue an dieser Version ist, dass es mit Annotations von Java 1.5 arbeitet. Um einen JUnit Test zu schreiben, muss man nun nicht mehr von junit.framework.TestCase ableiten, sondern beschreibt das per Annotation. Die Testklassen sind dadurch auch deutlich kürzer und somit schneller zu erstellen.

Wie das im Detail geht, erfährt man hier in 10 Minuten.

March 14, 2006

Prog: Best Practices

Was sich jeder Programmierer anschauen sollte, ist da Refactoring von Code. Hier gibt es die gängigsten: Refactoring