Seit einiger Zeit betreiben wir ein Code Repository mit Subversion. Da es für SVN ein Apache-Module gibt, das mit Hilfe von WebDAV einen externen Zugriff ermöglicht, nutzen wir diesen Service via HTTPS für unterwegs oder im Home-Office.
Sehr bald mussten wir jedoch feststellen, daß wir bei SVN- bzw. WebDAV-MOVE- und -COPY-Operationen die Fehlermeldung "502 bad gateway" erhielten.
Donnerstag, 4. März 2010
502 bad gateway bei SVN und WebDAV via HTTPS und Reverse Proxy
Montag, 18. Januar 2010
Renitente Softwareinstallation unter Mac OS X
Bei der Installation des Apache Directory Servers auf Mac OS X unterlief mir neulich der Fehler, dass ich eine falsche Version installierte. Ich installierte die Version 1.5.5, aber die Version 1.5.4 war aus Kompatibilitätsgründen erforderlich.
Im Installationsteil des Software-Pakets konnte ich keine Hinweise zu einer Deinstallation finden. Daher löschte ich - wie in einem Beitrag im Apache Directory Server Forum beschrieben - die Files:
/Library/LaunchDaemons/org.apache.directory.server.plist
/usr/bin/apacheds
und das Verzeichnis:
/usr/local/apacheds-1.5.5/
Folgende Installation von Version 1.5.4 wurde mit der Meldung abgebrochen, dass auf dem verfügbaren Volume schon eine neuere Version installiert sei.
Mac OS X hat eine Datenbank in der Software-Installationen verwaltet werden können. Daher reicht es wohl nicht in allen Fällen einfach die Installationsfiles zu löschen.
Ich konnte das Problem mit folgenden Kommandos lösen:
pkgutil --pkgs
listet alle installierten Packet-IDs. Hier fand ich den Eintrag org.apache.directory.server.
sudo pkgutil --forget org.apache.directory.server
entfernt die "receipt data" für angegebene Packet-ID.
Danach war ich in der Lage, die gewünschte Version der Software zu installieren
Freitag, 11. Dezember 2009
JAXB mit Apache XMLBeans - GPX in die Java Welt überführen
Da sitzt man nun als Programmierer mit einer mehr oder wenigen komplexen XML-Datei und muss diese in die Java-Welt überführen... SAX oder DOM erfordert viel Fleiß und Zeit aber wer eine zugehörige Schema-Datei besitzt, kann sich glücklich schätzen!
Mit dem JSR 31 "Java Architecture for XML Binding" wurde die Möglichkeit bereitgestellt, Java Klassen aus einem Schema heraus zu generieren, XML sozusagen an Java zu "binden".
Eine beispielhafte Vorgehensweise wird Anhand eines Beispiels mit Apache XMLBeans erklärt.
"JAXB mit Apache XMLBeans - GPX in die Java ... »Mittwoch, 9. Dezember 2009
Eine kleine Nachtmusik: Singleton in ActionScript 3 (Flex)
ActionScript 3 ist IMHO ziemlich erwachsen und sollte für einen geübten Java Entwickler keine große Hürde darstellen, aber der schnelle Entwurf eines Singleton brachte mich nach der Erkenntnis, das private Konstruktoren in ActionScript nicht erlaubt sind, doch zum schmunzeln:
"Eine kleine Nachtmusik: Singleton in ... »Dienstag, 29. September 2009
Too many open files
Did you ever run into the problem of too many open files on Mac OS X? This is not very surprising, because when you open a new shell, you can see that the limit of open files for this process is set to a not very high value:
andromeda:~ martin$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) 6144 file size (blocks, -f) unlimited max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 256 pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 266 virtual memory (kbytes, -v) unlimited"Too many open files" vollständig lesen »
Montag, 7. September 2009
Track'n'Mash: Openstreetmap Karten in Java/Swing mit JXMapViewer
Technologien und Services zur Darstellung und Integration von Karten in Applikationen, haben sich in den letzten Jahren stark verbreitet. Neben dem Platzhirsch Google Maps gibt es u.a. noch Yahoo! Maps oder Bing Maps (früher Windows Live Maps). Die drei genannten Services lassen sich relativ einfach über eine API in eigenen (Web) Anwendungen benutzen, haben aber einen entscheidenen Nachteil: Die Lizenzen lassen eine Benutzung in einem kommerziellen Umfeld nur mehr oder wenig eingeschränkt zu.
Eine Alternative ist das 2004 gegründete OpenStreetMap Projekt. OpenStreetMap sammelt frei verfügbare Geodaten und stellt sie unter Creative Commons Attribution-ShareAlike 2.0 Lizenz zur Verfügung. Die Daten von OpenStreetMap können auf vielfältige Weise in eigene Anwendungen integriert werden, beschrieben werden soll hier der Zugriff aus einer klassischen Java / Swing Desktopanwendung heraus mit JXMapViewer.
"Track'n'Mash: Openstreetmap Karten in ... »Montag, 29. Juni 2009
Generierung von Offline Webapplikationen mit HTML 5 / Beispiel auf dem iPhone
In den Artikeln "Track'n'Mash: Geolocation mit dem Safari auf dem iPhone mit OS 3.0" und "Clientseitige Datenspeicherung im Safari mit Javascript und SQLite" wurde bereits auf einige Möglichkeiten eingegangen, die mit dem kommenden HTML 5 Standard möglich sind. Eine sehr interessante Spezifikation innerhalb von HTML 5 ist die "Offline Web applications API". Dem Entwickler wird dadurch die Möglichkeit gegeben, eine Webapplikation als "echte" "Offline Applikation" zu erstellen. In Kombination mit clientseitiger Datenspeicherung eröffnen sich dadurch gänzlich neue Möglichkeiten, die anhand eines Beispiels auf dem iPhone mit OS 3.0 erläutert werden.
"Generierung von Offline Webapplikationen mit ... »Donnerstag, 25. Juni 2009
Clientseitige Datenspeicherung im Safari mit Javascript und SQLite
Seit der Version 3.1 besitzt Apples Browser Safari eine lokale SQLite Datenbank die sich per Javascript ansprechen lässt.
Der Sinn und Zweck einen Browser mit einer relationalen Datenbank auszustatten, ist vielleicht auf den ersten Blick nicht ersichtlich und mutet ein wenig seltsam an, hat aber große Vorteile bei der Entwicklung von Offline Webapplikationen. Die Widgets im Dashboard von MacOS X sind z.B. letztendlich nichts anderes als Offline Webapplikationen und profitieren von der Möglichkeit Daten in einer Datenbank zu persistieren. Weiterhin ist der Safari Browser im iPhone ebenfalls mit einer SQLite Datenbank ausgerüstet.
Zu erwähnen sei noch, das die Art und Weise des Zugriffs auf die Datenbank im Safari nicht etwa eine nette Eigenheit ist sondern vorbildlicherweise nach Art und Weise der kommenden HTML 5 Spezifikation umgesetzt wurde. Der Zugriff auf die Datenbank wird anhand eines kleinen Beispiels erläutert.
"Clientseitige Datenspeicherung im Safari mit ... »

