Bei der Programmierung gilt: Vermeide Redundanz! Redundante Codezeilen erhöhen den Wartungsaufwand. Auch bei Datenbanken sind doppelte Datensätze nicht sehr hilfreich. Um diese zu verhindern, muss die Datenbank erst normalisiert werden. Ich erkläre hier kurz und knapp, wie man seine Datenbank unter Gesichtspunkten der Normalisierung plant und versuche dabei das Thema so sanft wie möglich anzugehen. Das bedeutet auch, dass ich euch nicht mit den verschiedenen Formen der Normalform bombardiere, sondern die Schilderung der Problematik Problematik und die Lösung so einfach wie möglich halte.
Dieses Blog ist ein Online-Magazin für erfahrene Website-Entwickler und Webdesigner, die PHP und Webdesign lieben.
Archiv: August 2011
UI Design: 13 Schritte zum besseren Formular
Formulare im Internet sind der Schlüssel zur Kommunikation und Interaktion. Kaum eine Webseite kommt ohne sie aus, und nicht selten werden Formulare zur ersten Kontaktaufnahme genutzt. Es ist jedoch so, dass die Internetnutzer eigentlich keine Lust haben, Formulare auszufüllen. Es wird als lästig empfunden, und die Aufgabe eines Webdesigners sollte es sein, das Formular so einfach und ansprechend wie möglich zu halten. Doch wie erstellt man ein gutes Formular? Was sollte vermieden werden? Wie machen wir es dem Benutzer so leicht wie möglich?
Mein jQuery-Plugin: PageScroll (ScrollTo-Alternative)
Wer hat diesen schönen Effekt noch nicht gesehen – bei der seiteninternen Ankernavigation gleitet der Bildschirminhalt sanft herunter, anstatt direkt dorthin zu springen. Dafür gibt es ein bekanntes Plugin von Ariel Fisler: jQuery.localScroll. Dieses Plugin benötigt jedoch ein weiteres Plugin vom gleichen Entwickler: jQuery.scrollTo. Selbst als minified-Version wären zwei HTTP-Requests und 4 kb notwendig, um diese einfache Animation zu implementieren. Das liegt daran, dass Ariel Fisler’s Plugin sehr viel umfangreicher ist und noch mehr Möglichkeiten bietet. Ich habe diese in all meinen Projekten aber noch nie ausgeschöpft, so dass ich mir mein eigenes Plugin geschrieben habe, welches sich auf den Scrolleffekt beschränkt und (minified) äußert schlanke 624kb 624b 662 Bytes groß ist.
Die lustigsten Source Code-Kommentare
Workaround
/*
* OK; before you read the following code know what I am trying to do.
* I needed to get the list of child catagories from the root node so that
* the root node didn't appear in the selection box. But for some stupid
* fucking reason the stupid fucking DBA wont let me access the items using
* indices and I instead have to use their stupid fucking Iterator
* implementation. So there.
*/
$firstList = $this->getRootNode()->getChildren();
foreach ($firstList as $node)
{
$nodes = $node->getChildren();
break; // wtf?
}


