search
keyboard_arrow_up

UML-Diagramme aus Text mit PlantUML

Jeder Entwickler weiß, dass Diagramme oft helfen, über Inhalte zu sprechen. Aber Lust sich in eines der grafischen Tools einzuarbeiten, hat man dann meist doch nicht. Jedes verwendet einen anderen Standard und andere Konventionen, um im Wiki darüber zu reden muss man das Diagramm mühsam als Bild exportieren und eigentlich schreibt man ja am liebsten Code und klickt eher ungern. Weiterlesen

Erfolgreiches Git Branching-Modell

Dieser Beitrag ist eine Übersetzung des Artikels „A successful Git branching model“ von Vincent Driessen. Alle Bezüge auf „ich“, „wir“ usw. gelten daher aus seiner Perspektive.

In diesem Beitrag möchte ich das Entwicklungsmodell vorstellen, das ich vor ungefähr einem Jahr für alle meine Projekte (sowohl berufliche als auch private) eingeführt habe und das sich als sehr erfolgreich erwiesen hat. Ich wollte schon seit einiger Zeit darüber berichten, habe bisher jedoch nie wirklich die Zeit gefunden, das auch gründlich zu tun. Ich werde dabei die Projektdetails auslassen und stattdessen nur über die Branching-Strategie und das Release-Management schreiben.

Hier wird der Schwerpunkt auf Git als Tool zur Versionierung unseres gesamten Quellcodes gelegt.

Weiterlesen

ISO-8601-Stolperfalle bei Zend_Date

Jeder der mit Datumswerten gearbeitet hat, weiß (oder sollte zumindest) um die kleinen und großen Untiefen wie Zeitzonen, Zeitumstellung und Schaltjahre die es dabei zu umschiffen gilt. Neben der seit PHP 5.2 verfügbaren DateTime-Klasse gibt es im Zend Framework die ältere Zend_Date-Komponente. Mit beiden lässt sich die Handhabung von Datumswerten in einer Applikation vereinfachen und vereinheitlichen: Weiterlesen

PHP 5.4: Die wichtigsten Änderungen

Vor einigen Tagen war es soweit: PHP 5.4 wurde veröffentlicht. Die Anzahl der Änderungen sind, im Vergleich mit PHP 5.3, überschaubar, aber dennoch sollte man sie kennen. Die wichtigsten Änderungen kurz zusammengefasst:

Einige Code-Beispiele zu den Änderungen sind im zugehörigen Git-Repository: https://bitbucket.org/flagbit/php54.

Die Informationen zu Traits und dem Diamond-Problem sind im seperaten PDF.

Vorsicht bei der Verwendung von isset() mit Arrays

Manchmal sucht man Fehler, die man wieder und wieder überliest, weil man die falschen Annahmen getroffen hat und der Code oberflächlich richtig aussieht. Erfahrungsgemäß gibt es dann ein paar „übliche Verdächtige“, die man sich genauer anschaut. Zuweisungen im if-Statement, Vergleiche ohne Typprüfung, empty() und isset() sind dabei immer heiße Kandidaten.

Wenn man die Handbuch-Seite zu isset() durchliest, klingt es, als wäre es problemlos möglich auch die Existenz von Array-Keys zu prüfen. Sogar ein schönes Beispiel gibt es dazu:

Doch ganz so einfach ist es leider nicht. Weiterlesen

Zend-TwoLevels-Cache speichert Einträge unbegrenzt

Der Zend-TwoLevels-Cache ist an sich eine feine Sache, da er, wie bereits beschrieben, das Schönste aus beiden Cache-Welten vereint. Diese Freude wird jedoch leider immer wieder durch manche Macken des TwoLevels-Caches getrübt.

Die Cache-Priorität wird im TwoLevels-Cache durch eine verkürzte Lebenszeit für niedrig priorisierte Cache-Einträge realisiert: Weiterlesen