Archive for the ‘Tipps’ Category

JavaScript lernen

Donnerstag, Oktober 2nd, 2008

Wie könnte man JavaScript besser lernen? Nur wenn man Code von anderen Entwicklern anschaut, aber um ihn zu verstehen muss man fundamentale Kenntnisse der Programmierung kennen und wissen wie man sie einsetzt. Die Beispiele die John Resig in dem Learning Advanced JavaScript Projekt zeigt, sind sehr gut zum Verstehen wie JavaScript arbeitet.

Folgende Themen werden in Code Schnipseln behandelt:

  • Defining Functions
  • Named Functions
  • Functions as Objects
  • Context
  • Instantiation
  • Flexible Arguments
  • Closures
  • Temporary Scope
  • Function Prototypes
  • Instance Type
  • Inheritance
  • Built-in Prototypes
  • Enforcing Function Context
  • Bonus: Function Length


PHP vs PHP Benchmark Tests

Mittwoch, September 17th, 2008

Man fragt sich immer wen man den Code schreibt der schnell sein soll wie und welche Methode man gut kombiniert. Um es raus zu finden muss man jedesmal ein Test machen. Hier ist eine Benchmark Sammlung nur mit solchen Tests welche Lösung schneller ist wie z.B: (string) vs. concat, class vs. arrays, preg_replace() vs. str_replace() und foreach vs. while.
Leider hab bei einigen Enttäuschungen erlebt, tja man lernt immer was dazu.



Eine Zeile reicht auch aus

Montag, August 25th, 2008

Es gibt viele Möglichkeiten einen Kurzen Code zu schrieben, ein paar werde ich hier zeigen. Solche Techniken kann man in vielen Programmier Sprachen einsetzen. Durch diese Abkürzungen spart man zum Beispiel im JavaScript an Download Trafic, was bei großer anzahl an Anfragen schon was rein bringt.
Kleiner Rechen Beispiel: Man kürzt den Script sagen wir mal um 8 Bytes das können schon Acht Buchstaben sein. Beim einem Request ist es lächerlich, bei 1000 auch bei einer Million werden es schon 7,8 Mb. Wenn man jetzt aber ein paar Zeilen an Code ersetzt, kann es bei den Größten wie Google und Youtube schon an Tb an Trafic pro Monat ein Sparren. Aber bei den Flatrates ist es eigentlich egal.
Der andere Vorteil ist bei manchen Abkürzungen ist, dass der Code etwas schneller abgearbeitet werden kann. Der Nachteil ist, dass die Leserlichkeit etwas leidet für die die nicht so Fit im Coden sind.

Hier sind ein paar:

function isEqual () {
 if(a == b)
  return true;
 else
  return false;
}

ersetzt durch

function isEqual () { return (a == b ? true : false); }
 
oder
 
function isEqual () { return (a == b); }
function get () { 
 $a = $myClass->getA();
 if($a != null)
  return $a;
 else
  return null; 
}

ersetzt durch

function get () { 
 if(($a = $myClass->getA()) != null)
  return $a;
 else
  return null; 
}
 
oder
 
function get () { return (($a = $myClass->getA()) != null ? $a : null); }

Nur Javascript

function getTime () { 
 var d = new Date();
 return d.getTime();
}

ersetzt durch

function getTime() { return (new Date()).getTime(); }

Durch die () Klammern setzt man eine Verschachtelung die dann direkt weiter bearbeitet oder genutzt werden kann.

Und noch ein Beispiel:

function eventHandler(e) {
 var evt,elm;
 if(e)
  evt = e;
 else 
  evt = window.event
 
 if(evt.target)
  elm= evt.target;
 else 
  elm = evt.srcElement;
}

ersetzt durch

function eventHandler(e) {
 var evt = e ||window.event;
 var elm = evt.target || evt.srcElement;
}

Diese Techniken sind sehr schnell beim Schreiben als auch beim Interpretieren. Beim schnellen Coden fahlen sie aber nicht sofort ein. Nach dem man aber den Code Entwickelt hat, merkt man beim durchschauen, dass solche Techniken schon da reinpassen würden.



Tips für den PHP Anfänger

Mittwoch, April 9th, 2008

Hier sind 40 Tips um sauberes PHP zu schreiben. Viele von denen hab ich mir schon seit Jahren beigebracht, manche waren mir neu. Also schaut es an und lernt was ;)

http://reinholdweber.com/?p=3



Ohne dritten Mann

Dienstag, April 8th, 2008

Vor kurzem hab ich noch ein Trick in der meiner Programmierer Entwicklung gelernt.
Es geht um volgendes, wie kann man einen Wert zwischen 2 Variablen austauschen ohne eine Temp Variable zu nutzen? Ganz einfach:

$a = 1;
$b = 2;
list($a,$b) = array($b,$a);