Testbasierte Entwicklung unter JavaScript

Wer testbasierte unter JavaScript betreiben möchte, stößt da auf eine Menge Frameworks wie z.B. Jasmine, welches für sich für „Behavior Driven Development“ eignet. Persönlich suchte ich allerdings ein Framework für ganz normales Unit-Testing aller xUnit.

Schlussendlich bin ich bei „Enhance JS“ gelandet. Mit dem Framework ist es möglich schnell eigene Tests zu schreiben, um die Funktionsfähigkeit der entsprechenen JavaScript Anwendung zu testen. Bei JavaScript ist dies bei größeren Projekten alleine schon wegen der dynamischen Typisierung von Vorteil.

Die Testausgabe von Enchange JS

Der Quelltext, des unter der Apache Lizenz stehenden Frameworks, ist dabei auf Github zu finden. Die offizielle Seite kann unter http://www.enhance-js.com besucht werden.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/XUnit
http://de.wikipedia.org/wiki/Behavior_Driven_Development
http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks

Webtechniken und ihre Nutzung

In den Zeiten von HTML5 wird uns eine neue Webtechnik nach der anderen um die Ohren geschlagen und da sitzt man nun als Entwickler und überlegt welche Techniken man davon einsetzen kann. Sehr hilfreich bei diesem Problem ist die Seite http://caniuse.com bei welcher man nach der entsprechenden Technik suchen kann (z.B. WebGL) und dann sehen kann, in welchen Browser und Versionen die jeweilige Technik unterstützt wird.

Das ganze wird dabei in einer übersichtlichen (tabellarischen Form) serviert. So sieht man dann z.B. das die Unterstützung für WebWorker aus Android ab Version 2.2 entfernt wurde, es in anderen Browsern aber problemlos nutzen kann.

iptables Regeln zurücksetzen

Auf der Suche nach einer Möglichkeit die iptables Regeln zurückzusetzen, bin ich über die Seite http://insanelabs.com/linux/linux-reset-iptables-firewall-rules/ gestolpert. Dort gibt es ein kleines Skript welches genau für diesen Einsatzzweck geschaffen wurde:

#!/bin/sh
echo "Flushing iptables rules..."
sleep 1
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Einmal ausgeführt entsprechen die iptables Regeln wieder den Standardeinstellungen.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Iptables

Git Repository umziehen

Manchmal möchte man ein Git Repository von Server A auf Server B umziehen (in diesem Fall von Google Code zu Github). Das ganze ist dabei relativ unproblematisch. Zuerst wird das bestehende Repository geklont:

git clone https://code.google.com/p/cscl/

In der GitHub Oberfläche erstellen wir nun ein neues Repository (in diesem Fall mit dem Namen „CSCL“). Danach entfernen wir den alten Remote und weisen einen neuen hinzu:

git remote rm origin
git remote add origin :seeseekey/CSCL.git

Mittels „git remote -v“ kann man sich die bestehenden „Remotes“ anschauen. Nachdem der neue Remote gesetzt wurden laden wir das Repository (mittels „push“) bei GitHub hoch:

git push -u origin master

Damit ist der Umzug abgeschlossen.

Weitere Informationen gibt es unter:
https://help.github.com/articles/removing-a-remote

sprintf für JavaScript

Eine der ersten Sachen welche ich in JavaScript vermisst habe, ist eine „sprintf“ bzw. eine „String.Format“ Methode. Aber JavaScript wäre nicht JavaScript wenn es dafür keine Lösung gäbe. Die Lösung hört in diesem Fall auf den Namen „javascript-sprintf“ und kann unter http://www.diveintojavascript.com/projects/javascript-sprintf bezogen werden. So sieht das ganze dann im Quelltext aus:

var tmp="123456";
sprintf('Ausgabe ist %s.', tmp);

In diesem Fall wird „Ausgabe ist 123456.“ ausgegeben. Neben dieser Möglichkeit gibt es noch einige andere Funktionen in der kleinen Bibliothek wie z.B. „vsprintf“ mit welcher auch Arrays ausgegeben werden können, welche in der Dokumentation auf der Seite erklärt werden.