1. Komplexe Permutation in JavaScript

    Stefan · 19.10.10, 14:14 Uhr · Allgemeines, JavaScript · Keine Kommentare

    Wie im anderen Artikel bereits für PHP beschrieben, gibt es hier die gleiche Funktionalität der komplexen Permutation mehrerer Elemente in n Varianten noch mal als JavaScript Funktion, um z.B. durch die XPath Extension auch dort alle relevanten Varianten erstellt werden können:
    » Kompletten Beitrag lesen

  2. HTML5 in der Praxis – Erfahrungen einer Erstimplementation

    Stefan · 27.10.09, 00:31 Uhr · HTML5, Programmierstil · 1 Kommentar

    Das HTML5 ein aktuelles Thema ist, ist nicht mehr zu übersehen. Neben Youtube (komplette Demo Seite für HTML5), GoogleMail und Apple (Promovideos mit Video-Tag gelöst) gibt es zahlreiche andere Demo Seiten im Netz, die sich mit HTML5 beschäftigen.

    Eines Vorweg: HTML5 ist leider noch lange nicht vollständig in den Browsern implementiert, da HTML5 derzeit noch den Status „draft“ besitzt, sprich noch in Bearbeitung ist. Nichts desto trotz kann man verschiedene Features bereits heute nutzen. Daher hatte ich vor kurzem beschlossen, eines unserer neuesten Blogs auf HTML5 zu programmieren.

    » Kompletten Beitrag lesen

  3. Kurioses: HTML und Listen

    Stefan · 16.06.09, 17:45 Uhr · Allgemeines, Programmierstil · Keine Kommentare

    Ich habe heute die Aufgabe gehabt, mir Volltext-XML Dateien inkl. Formatierung aus Redaktionssystemen anzuschauen. Das ist auch eine interessante Art, Aufzählungen/Listen zu schreiben:

    <p><strong> • </strong> ...</p>
    <p><strong>• </strong> ...</p>
    <p><strong>•</strong> ...</p>
    <p><strong> • </strong> . singulair inhaler..</p>

    Mich erstaunt ja, dass es immerhin geschafft wurde, den Punkt als Sonderzeichen einzufügen.

  4. Probleme bei Datenbankkonvertierung UTF8 und Latin1

    Stefan · 14.06.09, 17:28 Uhr · Allgemeines, Movable Type, PHP, Tutorials · Keine Kommentare

    Wer kennt es nicht: Man hat eine uralte MySQL-Datenbank die ursprünglich im latin1-Format gespeichert wurde (MySQL Default latin1_swedish, da MySQL eine schwedische Firma ist) und im Laufe der Zeit wurden Tabellen sowohl in latin1_swedish, utf8_unicode und utf8_general gespeichert. Mit viel tricksen kommen zwar noch im Frontend die richtigen Buchstaben raus, aber sobald man ein Datenbank-Upgrade wegen einer neuen Anwendungsversion braucht, hat man ein Problem. » Kompletten Beitrag lesen

  5. Relaunch HalloHund.de

    Stefan · 06.05.09, 23:27 Uhr · HalloHund, Konzepte · 1 Kommentar

    Heute haben wir unserem Projekt <a href="http://www what is the agile process.hallohund.de“>HalloHund.de einen kleinen Relaunch unterzogen. Wir haben dazu die kompletten Übersichtsseiten neu designed und von Grund auf neu entwickelt, um unseren beiden Hauptzielen Usability- und Performanceoptimierung Rechnung tragen zu können.

    hh_startseite

    » Kompletten Beitrag lesen

  6. Neues MovableType Plugin mt:TemplateModifiedDate und Minify

    Stefan · 22.04.09, 22:37 Uhr · Konzepte, LesMads, Movable Type · Keine Kommentare

    Wir sind ständig am Optimieren der Ladezeiten des Frontends unserer Websites und Blogs. So auch Letztens bei LesMads.de geschehen. Wir versuchen momentan alle Scripte und CSS über Minify zusammenzuführen und die Dateigrößen zu verringern.

    Das Grundprinzip von Minify ist recht einfach: Verschiedene Dateien selben Typs werden in Gruppen zusammengefasst, und diese werden mittels einer URL neu aufgerufen. Nun werden diese Dateien zusammengeführt und verkleinert. Um auch performant zu arbeiten, werden diese Dateien zwischengespeichert (gecached).

    Das ergibt nun folgendes Problem: Wie merkt dieses Script jetzt, wenn eine Änderung in einer der Dateien vorgenommen wurde? Indem man die Dateien versioniert, d.h. einen eindeutige Zeiger mit an die URL hängt. Oftmals werden da zufällige Timestamps genommen, allerdings würden diese das Caching ad absurdum führen. Daher nimmt man bei Nutzung eines CMS entweder – bei vorhandener Versionierung – die Versionierungs-ID, oder aber das letzte Änderungsdatum der Datei.

    Bei unserem oft verwendeten Movable Type (OpenSource) 4+ hat man leider keine Versionierung und einen Standard-MT-Tag der das Modifizerungsdatum eines Templates ermittelt, gibt es ebensowenig. Daher habe ich folgendes kleines Plugin entwickelt, was dieses nun für uns tut:
    » Kompletten Beitrag lesen

  7. PHP5 Tipp: Serialisierte Objekte in Exceptions

    Stefan · 28.10.08, 18:13 Uhr · Allgemeines, PHP, Programmierstil · Keine Kommentare

    Wenn man in PHP5 ordentlich programmiert, dann tut man das in der Regel Objektorientiert und wirft bei Fehlern auch aussagekräftige Exceptions, um spätere Fehlerbehandlungen einfacher zu gestalten.

    In einem meiner derzeitigen Projekte übergebe ich als Hilfsmittel hauptsächlich zum Debuggen in der Exception Message auch das serialisierte Objekt, das den Fehler verursacht hat. Solange man nur public Properties im Objekt hat, ist das auch alles kein Problem. Gestutzt hatte ich als die Exception geworfen wurde und mein serialisiertes Objekt einfach nur zur Hälfte in der Message stand. Schuld war der Geltungsbereich von Properties. Eine als private oder protected deklarierte Eigenschaft wird serialisiert mit folgenden Flags gekennzeichnet: ' . "\0" . ' oder ' . "\0" . '*' . "\0" . '. Und genau das scheinen die Exceptions nicht zu mögen.

    Folgendes Testobjekt

    class Test {
        protected $_property = array(
            'id' => 12,
            'content' => 'test'
        );
    }

    erzeugt folgende Ausgabe in der Serialisierung:

    'O:4:"Test":1:{s:12:"' . "\0" . '*' . "\0" . '_property";a:2:{s:2:"id";i:12;s:7:"content";s:4:"test";}}'

    Das Ganze jetzt in einer Exception gethrowt kam bei mir so an:

    O:4:"Test":1:{s:12:"

    Lösung des Ganzen: Beim Throwen einer Exception statt einem serialize($object) noch zusätzlich ein var_export drumherum setzen, dann klappt das auch mit der Exception:

    throw new Exception(var_export(serialize($object), true));
  8. PHP5 Snippet: Mehrdimensionale Arrays zu eindimensionalen Arrays

    Stefan · 15.10.08, 18:30 Uhr · PHP · 3 Kommentare

    Man braucht immer mal wieder so kleine Helfer in Projekten, da diese eigentlich nützlichen Funktionen in PHP nicht integriert sind. Heute: Wie erzeuge ich aus einem mehrdimensionalen Array einen einfachen eindimensionalen Array der die Inhalte eines bestimmten Array Keys enthält:
    » Kompletten Beitrag lesen

  9. Reminder: Google Developer Day in München

    Stefan · 22.09.08, 12:26 Uhr · Allgemeines · Keine Kommentare

    Morgen (23.09.08) findet der Google Developer Day in München im ICM statt. Die Agenda liest sich gut. Ich werde mir wohl die ganzen OpenSocial Geschichten anschauen.

    Wenn wer noch da ist, kann sich ja dort gerne auf einen kleinen Plausch mit mir treffen.

  10. Programmierrichtlinien / Coding Style Guides

    Stefan · 15.09.08, 16:46 Uhr · Programmierstil · 1 Kommentar

    Heute ist der Zeitpunkt gekommen, unsere Coding Styleguides für unsere Projekte neu anzupassen und neu zu definieren. Im Laufe der Zeit und mit der Anzahl der Projekte kamen immer neue Anforderungen auf uns zu, so dass ich heute die Styles mal wieder aktualisiert und vereinheitlicht habe.
    Wen es interessiert, dem habe ich den Styleguide hier reingepostet:
    » Kompletten Beitrag lesen

Gehe zur polyCODER Startseite