Apr 11

Durch Ostern war die interessanten Themen nicht so reichlich wie sonst, daher gibt es heute nur 3 Links:

Griffon Validation Plugin
Griffon ist ein Groovy basiertes Framework für Desktop Applikationen. Das Griffon Validation Plugin hilft bei der Validierung von Eingaben.
libimobiledevice – Teaching Penguins to talk to fruits
libimobiledevice – Eine Linux Bibliothek um auf Apple Geräte, wie den ipod zugreifen zu können.
macfuse – mount 3rd-party file systems (ssh, ntfs, …)
macfuse – Mac Tool zum Einbinden von zusätzlichen Datei Systemen (z.B. ssh, ntfs, …)

Ähnliche Artikel:

geschrieben von gklinkmann \\ tags: ,

Apr 02
Nivo Slider – The Most Awesome jQuery Image Slider
Ein wunderschöner Slider der nur 5 KB groß ist und als jquery Plugin daher kommt.
Apache PDFBox – Apache PDFBox – Java PDF Library
Apache PDFBox ist eine Java PDF Library, die ihrem Namen gerecht wird und die Bearbeitung von PDF Dateien ermöglicht.
Joel Ares » Hunter Suite
Kleine Tools für MacOs zum Katalogisieren der eingenen DVD, Bücher und Musiksammlung.
Mediathek für Mac OS X
Noch ein MacOs Tool, das die Mediatheken von ARD, ZDF, ARTE und WDR auf die eigene Festplatte bannt.

Ähnliche Artikel:

geschrieben von gklinkmann \\ tags: ,

Mar 27
CodeIgniter
CodeIgniter – das schlanke PHP Framework im Vergleich mit Zend Framework und CakePHP
skipfish – Security tests for webapps
Skipfish ist ein Tool für performante Security Tests für Webapplikationen.
Nahtlose Integration von Java und Groovy
GroovyEclipse v2, die nahtlose Integration von Java und Groovy in Eclipse. Ein Überblick über die Neuerungen.
Microsoft Research Image Composite Editor (ICE)
Microsoft Research Image Composite Editor (ICE) ist ein kostenloses Tool zur Erstellung von Panorama Fotos.

Ähnliche Artikel:

geschrieben von gklinkmann \\ tags: ,

Mar 26

Reguläre Ausdrücke sind eine feine Sache, aber sie sind alles andere als einfach. Die Grundlagen erlernt man relativ schnell, aber getreu dem Motto “schlimmer geht’s immer”, gibt es Aufgaben, bei denen man mit seinem Latein schnell am Ende ist.

Bei Regulären Ausdrücken war das für mich immer die Negierung von Zeichenketten. Ein Beispiel ist das Apache error_log, auf das man immer ein Auge haben sollte. Aber nicht bei jedem ‘File does not exist’ möchte man alamiert werden.

Nicht interessant sind solche Einträge wie:

[Thu Mar 23 10:52:23 2010] [error] [client 127.0.01] File does not exist: /var/www/foo/bar

Aber fatale PHP Fehler sollten schon auffallen:

[Tue Mar 24 16:50:57 2010] [error] [client 127.0.01] PHP Fatal error: foo bar

Die Lösung heißt negative lookaheads (?!negativePattern) und könnte für die obige Aufgabe so aussehen:

\[error\]\s\[client\s\S+]\s(?!File\sdoes\snot\sexist)

Fertig.

Ähnliche Artikel:

geschrieben von gklinkmann \\ tags: ,

Mar 22

Ich habe ein paar Stunden dafür verwendet mein auf Google Code gehostetes Projekt grum auf den Stand der Dinge zu bringen (es wurde ja auch langsam Zeit). Grum ist eine kleine Grails Anwendung zur Benutzerverwaltung, die es mir ermöglicht mit dem Web Framework Grails “zu spielen”.

Ich habe bei der Umsetzung bewusst auf die vielen Grails Plugins verzichtet, um so wenig Seiteneffekte wie möglich zu haben und es auch für diejenigen einfach zu halten, die einen Einstieg in Grails suchen. So sind in Grum Lösungen enthalten, wie man z.B.:

  • den Zugriff auf eine Mysql Datenbank realisiert
  • 1:1, 1:n und n:m GORM Beziehungen modelliert
  • eigene Tag Libs schreibt
  • die JSP Tag Lib displaytag verwendet, um die Daten seitenweise anzuzeigen, zu gruppieren, zu sortieren und in alle möglichen Formate (excel, csv, xml, pdf) zu exportieren
  • den Upload von Dateien ermöglicht
  • funktionale Tests mit dem webtest Plugin verwendet
  • und die Auslieferung von XML aufgrund von besonderen URL’s (kurz Content Negotiation) umsetzt

Die neue Version 0.3 verwendet jetzt grails 1.2.1 und das Plugin webtest in der Version 2.0.3. Die Sourcen, die SQL Dateien zur Erstellung der Mysql Datenbank und ein Webarchiv mit allen notwendigen Bibliotheken stehen auf Google Code zum Download bereit.

Nutztungshinweise:
Der Code kann frei verwendet werden, kann aber Fehler enthalten, für die ich keine Haftung übernehme. Die Lizenzbedingungen der verwendeten Bibliotheken sind einzuhalten.

Ähnliche Artikel:

geschrieben von gklinkmann \\ tags: , , , ,