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.

geschrieben von gklinkmann \\ tags: ,

Jun 20

Unter Entwicklern herrschen unterschiedliche Meinungen darüber, welche Programmierplattform denn die bessere sei. Bezogen auf Webanwendungen gelten Perl und PHP als kompakt, aber nicht sehr sicher. Als Gegensatz dazu gilt Java als sicherer, aber auch komplexer.
Um zu wissenschaftlich fundierten Aussagen zu kommen, haben der Linux Business Campus Nürnberg und die Freie Universität Berlin einen Programmierwettbewerb veranstaltet, in dem eine Webanwendung aufgrund von 150 Vorgaben erstellt werden musste.

Zu den Erkenntnissen gehören unter anderem:

In gleicher Zeit ließen sich mit PHP funktionsreichere Lösungen entwickeln als mit Perl. In Sachen Sicherheit hat das berüchtigte PHP deutlich besser abgeschnitten als allgemein erwartet; alle Plattformen zeigten kein a priori ideales Verhalten. Perl-Lösungen waren am kompaktesten, die Java-Programme am umfangreichsten. Und die Leistungsfähigkeit der Programmierer ist eindeutig nicht generell von der gewählten Programmiersprache abhängig; das Personal ist also wichtiger als die Plattform.

Mehr Informationen zu diesem Programmierwettbewerb, der im nächsten Jahr auch .Net und Ruby on Rails betrachten soll gibt es unter www.plat-forms.org.

Quelle: Computerwoche

geschrieben von gklinkmann \\ tags: , ,