Blog

Liquibase mit Postgres und pgbouncer

Versucht man mittels Liquibase auf eine Postgres Instanz zuzugreifen die hinter einem pgbouncer hängt bekommt man eine leider sehr undefinierte Fehlermeldung "Migration Failed: Startup parameter missing". Nach einigen Debuggingversuchen und Recherchen im Internet scheint das Problem nicht an der Postgres Datenbank zu suchen zu sein sondern in der vorgeschalteten pgbouncer Instanz. Alle Work-rounds wie beispielsweise das explizit Definieren des verwendeten Kommunikationsprotokolls waren nicht erfolgreich. Es bleibt einem nichts weiter übrig als die direkte Verbindung zur Postgres Datenbank aufzubauen. Danach funktioniert Liquibase wie gewohnt :)


mehr lesen...


Eintrag von Stephan Hochdörfer am 10.04.2010

Test-Driven Bugfixing mit PHPUnit

Via diesem Beitrag von Jan Sorgalla bin ich auf das (relativ) neue Feature des Test-Driven Bugfixings aufmerksam geworden welches in PHPUnit seit Version 3.4.0 vorhanden ist. Out-of-the-box ist die Anbindung an Trac schon gegeben so dass dem Einsatz in unserer Development-Umgebung nichts entgegensteht, schließlich nutzen wir Trac seit 2005. Ich werde das Feature gleich mal in unsere Default-Framework-Konfiguration mitaufnehmen und bin gespannt was unsere Entwickler dazu sagen werden :)


mehr lesen...


Eintrag von Stephan Hochdörfer am 30.01.2010

OpenOffice Impress: Sun Presenter Console

Die Sun Presenter Console unterstützt beim Vorführen einer Impress-Präsentation. Die Extension für OpenOffice Impress erweitert die Funktionalität der Präsentationssoftware so, dass beim Präsentieren auf Beamern der Bildschirm des PCs eine Folien- und Notizansicht angezeigt wird.


mehr lesen...


Eintrag von Stephan Hochdörfer am 11.01.2010

Zugriff von PHP5 und Debian auf MSSQL Server - Teil 2

Als Alternative zur ODBC Verbindung in die Windows-Welt ist es möglich die MSSQL Extension für PHP nativ unter Linux zu kompilieren und einzubinden. Danne Lundqvist hat dazu in seinem Blog einen entsprechenden Artikel verfasst.


mehr lesen...


Eintrag von Stephan Hochdörfer am 06.01.2010

Zugriff von PHP5 und Debian auf MSSQL Server

In einem aktuell Projekt ist es notwendig dass unsere Anwendung mit einem MSSQL Server zu kommuniziert. Grundsätzlich natürlich kein Problem wenn wir die Möglichkeit hätten auf dem Server per PHP Skript einen direkten Zugriff zu erhalten um von dort aus die Daten in unsere Postgres Datenbank zu pushen. Allerdings haben die Systemadministratoren des Kunden naturgemäß etwas dagegen. Es bleibt also nur der Direktzugriff per unixODBC / FreeTDS von einem der Debian-Server auf dem unsere Anwendung läuft. unixODBC ist eine Open Source Implementation der in der Windows-Welt populären ODBC API. Bei FreeTDS handelt es sich um die freie Implementation des TDS Protokolls, welches unter anderem auch vom Microsoft SQL Server genutzt wird.


mehr lesen...


Eintrag von Stephan Hochdörfer am 03.01.2010

Custom Factories RFC für den PHP Kern

Dank Robert Lemke vom Typo3 Projekt gibt es seit einigen Tagen einen RFC für sog. Custom Factories für PHP. Die grundsätzliche Idee des RFC ist es via SPL die Objekterzeugung beeinflussen zu können, ähnlich wie es bsp. mit spl_autoload möglich ist eigene Klassenloader zu definieren. Er möchte damit Einschränkungen in Legacy Bibliotheken aufbrechen die es aufgrund von fest verdrahteten Abhängigkeiten nicht möglich machen eigene Komponenten innerhalb der Legacy Bibliothek zu verwenden. Im aufgeführten Beispiel wird dies gut anhand eines Logger-Beispiels aufgezeigt. Im Grunde halte ich die Idee für recht interessant. Ich denke viele Entwickler sind in der Vergangenheit über das Problem gestoßen dass sich Frameworks oder Bibliotheken von Drittanbietern an machen Stellen nicht optimal in die eigenen Anwendungsstrukturen einbinden lassen konnten bzw. es nur sehr umständlich möglich war eine Integration zu erreichen.


mehr lesen...


Eintrag von Stephan Hochdörfer am 22.11.2009

PHP Code mit xtext generieren

Gefunden via Twitter: Nils Hartmann beschreibt in seinem Blog wie man mittels Eclipse Xtext und Xpand PHP Code anhand einer domänenspezifischen Sprache (DSL) generieren kann. Der leider etwas knappe Artikel macht Appetit auf mehr und zeigt auf wie man durch eine DSL den Arbeitsablauf optimieren und Routinearbeiten automatisiert durchführen lassen kann. Ich werde mir XText einmal ganuer ansehen und prüfen inwiefern wir dieses Programm in unsere Arbeitsabläufe integrieren können.


mehr lesen...


Eintrag von Stephan Hochdörfer am 02.11.2009

XDebug mit mehreren Usern

Gefunden via planet-php.org: Derik hat in seinem Blog ein Howto veröffenlicht das erläutert via man via dbgproxy mit mehreren Usern gleichzeitig eine XDebug zum Remote-Debuggen nutzen kann. Die Möglichkeit war mir bislang nicht bekannt und von daher das Interesse groß das ganze einmal auszuprobieren.


mehr lesen...


Eintrag von Stephan Hochdörfer am 11.06.2009

File stream wrapper on steroids

Gefunden via planet-php: Alex Netkachov zeigt wie man den internen File stream wrapper überschreiben kann.Sehr nett, vor allem eine weitere interessante Idee für meinen Vortag beim nächsten DevDusk.Mit dieser Technik lassen sich prinzipiell beliebige Dateien zur Laufzeit includen, abhängig von der Implementierung der StreamWrapper Klasse. Man könnte es wohl als "Erweiterung" zu der autoload Funktionalität sehen wobei sich diese ja "nur" auf das Einbinden von Klassen bezieht.


mehr lesen...


Eintrag von Stephan Hochdörfer am 01.04.2009

Dependency Injection everywhere

In den letzten Monaten wurden in einigen Blogs immer mal wieder Beiträge zum Thema Dependency Injection (DI) in PHP verfasst. In einem aktuellen Beitrag von Fabien Potencier, dem Lead-Entwickler von Symfony, stellt er die These auf dass man mitunter keinen IoC Container benötigt um grundsätzlich vom DI Ansatz zu profitieren. Diese Ansicht kann ich nicht teilen. Aus seinem Beispiel und auch den Beispielen aller anderen Blogbeiträge wird der Nutzen von DI, vor allem im Rahmen eines kompletten Frameworks, meines Erachtens nicht klar genug dargestellt. Das Thema ist natürlich viel zu komplex um in einem kurzen Blogeintrag behandelt zu werden. Die Vorteile von DI sind schließlich vielfältiger Natur. Zu erkennen wie sauber der eigene Programmcode werden kann, wie einfach sich die einzelnen Schichten einer Anwendung testen lassen oder was die Austauschbarkeit einzelner Komponenten zur Laufzeit bedeutet, braucht seine Zeit. Das zeigt zumindest meine Erfahrung aus den letzten drei Jahren täglicher Arbeit mit DI mit unserem bitFramework.


mehr lesen...


Eintrag von Stephan Hochdörfer am 28.03.2009

Diese Webseite verwendet Cookies, um die Bedienfreundlichkeit zu erhöhen. Mit der Nutzung unserer Webseite wird das Einverständnis erklärt, dass wir Cookies verwenden. Weitere Informationen.