Kleine Helferlein für Webentwickler

Als Webentwickler hat man viele Tools und kleine Helferlein, die man fast täglich gebraucht. Ob es jetzt die IDE, das Mail-Programm, der Bug-Tracker, Skype oder einfach nur der Browser ist – jeder kennt sie und benutzt sie mehrmals am Tag. Aber was ist mit all den Helferlein, die nicht täglich zum Einsatz kommen? Auch diese kleinen Unterstützer haben es mal verdient gewürdigt zu werden. Hier meine Sammlung an Tools und Helferlein, die zwar nicht regelmäßig zum Einsatz kommen, aber dennoch zur Stelle sind, wenn man sie braucht:

HTTrack
Dieses kleine Tool speichert eine komplette Website für den Offline-Gebrauch. Dabei werden alle Seiten statisch und einzeln als HTML abgespeichert. Das gleiche gilt natürlich auch für die auf der Seite verwendeten Bilder, CSS und JavaScripts.

Handbrake
Handbrake ist ein Programm zum einfachen Konvertieren von Videos. Solchen Programmen gibt es zwar wie Sand am Meer, aber für Webentwickler ist Handbrake wegen der Option „web optimized“ besonders interessant. So lassen sich alle möglichen Video-Formate in streambare MP4-Videos für’s Web verwandeln.

Xenu’s Link Sleuth
Mit diesem Helferlein kann eine Website auf defekte Links überprüft werden. Der Crawler durchsucht alle Seiten nach Links und folgt ihnen. Links, die zu nicht mehr erreichbaren Seiten führen, werden später in einem Bericht dokumentiert.

Wireshark
Das letzte Mittel, wenn es darum geht, Fehler im Netzwerk auszumachen und zu analysieren. Netzwerkfehler, zum Beispiel bei doppelt belegter IP, kommen zwar nur selten vor, aber wenn, dann ist Wireshark zur Stelle – auch wenn die Handhabung an der ein oder anderen Stelle etwas klobig ausfällt.

LanguageTool
Eigentlich sollte das LanguageTool in der Liste für häufig verwendete Tools auftauchen, denn korrekte Rechtschreibung und Grammatik halte ich für so wichtig, dass alle Texte darauf kontrolliert werden sollten. Aber das bleibt wohl ein Traum. Dennoch: Wer mal ein Office-Dokument, eine wichtige Mail oder einen Blog-Artikel schreibt, sollte den Text vorher einmal durch das LanguageTool korrigieren lassen. Und für OpenOffice, LibreOffice und Firefox wird sogar eine Extension bereitgestellt.

JAP
Manchmal kommt es vor, dass eine Website bei mir eine völlig andere Ausgabe erzeugt als jemand anderem. In den meisten Fällen ist daran der Client-Cache Schuld, aber ab und zu liegt es auch an der IP-Adresse, zum Beispiel, wenn man für seine eigene IP eine erweiterte Fehlerausgabe aktiviert hat, die sonst niemand sehen soll. Dann ist es durchaus sinnvoll mal kurz über eine andere IP-Adresse auf die Seite zu schauen. Dafür eignet sich JAP hervorragend, da es nur den Browser über einen Proxy umleitet und nicht den gesamten Internetverkehr des Rechners. Als Alternative ist dabei auch noch TOR zu nennen.

Habt ihr auch nützliche Tools, die ihr nur selten verwendet? Schreibt es in die Kommentare!

PhpStorm > CSV-Darstellung > CSV in HTML umwandeln

Da ich in letzter Zeit immer mal wieder mit CSV-Dateien herumhantierten musste und es mich immer gestört hat, dass dieses Format so schlecht zu lesen ist, habe ich mir ein kleines PHP-Skript geschrieben das dieses Problem löst:

$read = fopen($argv[1], 'r');
$separator = empty($argv[2])?';':$argv[2];
$tmpPath = sys_get_temp_dir().'/csv2.html';
$write = fopen($tmpPath, 'w');
fwrite($write, '<html><head><title>csv2html result</title></head><body><table><thead><tr>');
$row = fgetcsv($read, 2048, $separator);
foreach($row as $key => $value)
{
	fwrite($write, '<th>'.$value.'</th>');
}
fwrite($write, '</tr></thead><tbody>');
while(($row = fgetcsv($read, 2048, $separator)) !== false)
{
	fwrite($write, '<tr>');
	foreach($row as $key => $value)
	{
		fwrite($write, '<td>'.$value.'</td>');
	}
	fwrite($write, '</tr>');
}
fwrite($write, '</tbody></table></body></html>');
fclose($read);
fclose($write);
 
switch(true)
{
	case stristr(PHP_OS, 'DAR'): exec('/usr/bin/open -a "/Applications/Google Chrome.app" \'file:///'.$tmpPath.'\''); break;
	case stristr(PHP_OS, 'WIN'): exec('start "" "file:///'.$tmpPath.'"'); break;
	case stristr(PHP_OS, 'LINUX'): exec('x-www-browser "file:///'.$tmpPath.'"'); break;
	default: echo 'Cannot open html file: Unknown OS.';
}

Dieses Skript wandelt die angegebene CSV-Datei in HTML um und öffnet das HTML-Dokument anschließend im Chrome.
Jetzt habe ich natürlich keine Lust das Skript jedes mal über die Konsole aufzurufen. Deshalb habe ich den Skript-Aufruf in meine Entwicklungsumgebung PhpStorm integriert (siehe Bild: Preferences -> External Tools):

PhpStorm Einstellungen csv2html

Danach lässt sich das Skript über das Datei-Kontextmenü von PhpStorm aufrufen (siehe Bild). Wenn man dann eine CSV-Datei auswählt, öffnet sich im Chrome eine HTML-Ansicht der CSV-Daten.

external-tools-csv2html

Hinweis: Man kann dem Skript als zweiten Parameter auch den Separator übergeben. Falls jemand also nicht mit dem hier definierten Standard-Separator arbeitet (Semikolon), muss der Skript-Aufruf entsprechend erweitert werden.

Unix Timestamp Online-Konverter

Auf dieser Seite lassen sich Unix-Timestamps kinderleicht in ein für Menschen lesbares Format umwandeln.

Timestamp in lesbares Datum konvertieren

Der Unix-Timestamp (Unix-Zeitstempel) entspricht der Anzahl an Sekunden seit dem 01.01.1970 um 0:00 Uhr. Timestamps werden vor allem im Unix-Umfeld (unter anderem auch Linux) eingesetzt um z.B. das Erstellungs- und Bearbeitungsdatum einer Datei in einem einheitlichen Format speichern zu können. Außerdem ist es wesentlich einfacher mit Timestamps zu rechnen als mit formatierten Datumsangaben. Wenn man beispielsweise auf den aktuellen Timestamp plus 60 rechnet, erhält man die Uhrzeit um genau eine Minute später.