Facebook down?!

Google skipfish

Mit skipfish stellt Google einen Security-Scanner für Webanwendungen auf Google-Code zur freien Verfügung.
Der in C geschriebene Scanner arbeitet sehr performant und schafft laut Entwicklerangaben in einer schnellen Testumgebung, z.B. im LAN, bis zu 2000 Anfragen/sek., auf einer lokalen Maschine sogar bis zu 7000 Anfragen/sek.

Details »

PHP – Dependency Injection

Der heutige Artikel beschäftigt sich mit dem Entwurfsmuster “Dependency Injection”. Wer sich in PHP mit Frameworks beschäftigt wird über diesen Begriff möglicherweise schon gestolpert sein. So nutzen sowohl das Zend-Framework als auch Symphony das  Entwurfsmuster um die Abhängigkeiten zwischen Systemkomponenten aufzulösen.

Die klassische Vorgehensweise ist es, dass jedes Objekt seine Abhängigkeiten (bspw. Instanzen anderer Klassen) die es verwendet selbst erzeugt. Das setzt aber vorraus, dass das Objekt weiss wie man diese verwendeten Klassen instanziiert. Dependency Injecton geht jetzt her und lagert die Erzeugung dieser Abhängigkeiten aus. Klingt erst einmal ein wenig nach Fabrikmuster, funktioniert allerdings viel allgemeingültiger. Damit ist die grundsätzliche Verwendung von Dependency Injection auch schon verraten. Doch wie und wann setzt man es praktisch ein?

Details »

NoSQL – CouchDB, eine Einführung

Noch sind SQL-Datenbanken wohl der de facto Standard für die meisten Webanwendungen. Doch am relationalen Datenbankhimmel ziehen Wolken auf. Unter dem Stichwort NoSQL- oder Post-relationale-Datenbanken versammelt sich eine neue Generation Datenspeicherer die, wenn nicht einen Umbruch, so wenigstens ein Umdenken bei der Realisierung von Datenbankgestützten Anwendungen einläuten wollen.

CouchDB als einer der Vertreter dieser neuen Gattung ist nach eigenen Angaben eine verteilte, fehlertolerante, schema-freie, dokumentenorientierte Datenbank. Was diese Stichworte  bedeuten und wie man mit einer solchen Datenbank arbeitet will nachfolgender Artikel erläutern.

Details »

PHP – Reflection & Annotations

Die Reflection-Klasse von PHP 5 ermöglicht es zur Laufzeit Klassen, deren Eigenschaften und Methoden zu analysieren.
Diese Funktionalität kann zum einen nützlich sein wenn man fremden Objekten, über eine API, arbeitet die nicht ausreichend dokumentiert sind. Oder wie nachfolgend beschrieben, wenn man die Annotations in den DocComments zur Laufzeit auswerten möchte um das Verhalten des Skripts zu beeinflussen.

Details »

CodeIgniter – Serverspezifische Einstellungen

Das Zend-Framework macht es mit der Application-config vor: für eine Anwendung können, je nach Umgebung (production, testing, staging), verschiedene Konfigurationseinstellungen für das Error-reporting, die Datenbankverbindung, etc. gesetzt werden.

CodeIgniter bietet dafür von Haus aus keine Lösung an, diese ist jedoch recht einfach nachzurüsten.

Details »

jQuery – Input bei Focus leeren

Ein oft gesehener und meiner Meinung nach nützlicher Effekt ist das Leeren der Eingabefelder die mit einem Standardwert belegt sind. Ein typisches Beispiel wäre das Suchfeld einer Webseite oder auch ein Formular bei dem an Stelle der Labels, die zu erwartenden Werte direkt in den Eingabefeldern stehen. Details »