Zürich – Hardbrücke

Zürich - Hardbrücke

Brennweite: 10mm
Blende: 8
Belichtungszeit: 1 sec
Aufnahmedatum: 24.03.2010 – 19:16

Zürich – Industrie

Zürich - Industrie

Brennweite: 70mm
Blende: 8
Belichtungszeit: 1/45
Aufnahmedatum: 29.12.2009 – 11:39

Zürich – Botanischer Garten

Zürich - Botanischer Garten

Brennweite: 300mm
Blende: 5.6
Belichtungszeit: 1/320
Aufnahmedatum: 20.07.2006 – 14:24

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 »

Tee & Schnee

Tee & Schnee

Analog, Ilford FP4 Plus 125
Aufnahmedatum: 22.02.2009 – 12:11

Zürich, Limmat – Nähe Hardbrücke

Limmat - Nähe Hardbrücke

Brennweite: 18mm
Blende: 8
Belichtungszeit: 1/60
Aufnahmedatum: 29.12.2009 – 12:39

Bregenz – Pfänder

Bregenz - Pfänder

Brennweite: 20mm
Blende: 11
Belichtungszeit: 1/2
Aufnahmedatum: 16.04.2008 – 16:42

München – Englischer Garten

München - Englischer Garten

Brennweite: 44mm
Blende: 11
Belichtungszeit: 1/320

Bodensee – Romanshorn

Bodensee - Romanshorn

Brennweite: 18mm
Blende: 7.1
Belichtungszeit: 1/640

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 »