Java-Klassen visualisieren

Wenn man die Verbindung von Klassen und deren Komponenten analysieren möchte, so kann man dies in vielen Java-IDEs mit Hilfe eines automatisch erzeugten Klassendiagrames. Verfügt die eigene IDE nicht über eine solche Funktionalität, so kann das Werkzeug Class Visualizer genutzt werden, welches unter class-visualizer.net zu finden ist.

Der Class Visualizer nach dem Start

Der Class Visualizer nach dem Start

Das Tool lädt dabei eine Reihe von Klassen aus einer JAR-Datei, bzw. aus einem Verzeichnis und analysiert diese anschließend. Danach kann die Klassenhierarchie durchsucht und die einzelnen Klassen analysiert werden. Dabei werden Ableitungen, Berechtigungen und vieles mehr übersichtlich darstellt, so das man auch komplexe Abhängigkeiten schnell durchschaut hat. Bei der Software handelt es sich um Freeware.

XML-Validator und mehr

Auf der Suche nach einem XML-Validator bin ich Code Beautify gestoßen. Auf der Webseite sind neben einer Reihe von Validatoren für XML, JSON und CSS viele andere Werkzeuge der Kategorien Konverter, Editoren, Validatoren und vielen mehr zu finden.

Tools, Tools und Tools

Tools, Tools und Tools

Die Webseite welche es seit Ende 2013 betrieben wird, wurde dabei Stück für Stück um neue Tools und Utilitys erweitert, so das zur Zeit werden über 160 Werkzeuge für die Nutzer angeboten werden. Besucht werden kann die Webseite unter codebeautify.org. Daneben unterhält die Webseite einen Blog, in welchem vertieft auf Entwicklerthemen eingegangen wird.

IPv4 über DNS tunneln

Viele Netzwerke, wie z.B. öffentliche WLAN-Zugänge lassen Verbindung ohne Authentifikation zu. Nachdem man sich mit dem Netzwerk verbunden hat, muss man sich meist auf einem sogenannten Captive Portal anmelden. Dabei handelt es sich um eine Vorschaltseite, welche einem beim Aufruf einer Webseite angezeigt wird und der Anmeldung bzw. Identifizierung dient. Bei vielen dieser Netzwerken funktioniert die Kommunikation über das DNS-Protokoll ohne weitere Probleme (trotz Captive Portal) und Authentifikation, so das man diese nutzen kann um einen Tunnel ins freie Internet zu errichten.

code.kryo.se/iodine/

code.kryo.se/iodine/

Eine Lösung um einen solchen DNS Tunnel einzurichten ist iodine. Mit iodine ist es möglich IPv4-Verkehr über DNS zu tunneln. Pro DNS-Request können dabei bis zu einem Kilobyte an Daten übertragen werden, was sich positiv auf die Performance und den Durchsatz auswirkt. iodine läuft dabei auf vielen unixodien Systemen, sowie unter Windows. Lizenziert ist iodine unter der ISCL und damit freie Software. Der Quelltext ist auf GitHub zu finden.

maybe

Das Terminal ist geöffnet und ein Befehl wie:

rm -rf img*

soll abgesetzt werden. Nun stellt sich die Frage ob man diesen Befehl wirklich so ausführen möchte. Natürlich könnte es sein, das der Befehl zu weit greift, was dazu führt das man mehr löscht als einem lieb ist. Einen Ausweg aus dieser Misere bietet das in Python geschriebene Tool maybe. Installiert werden kann dieses auf der Konsole mittels:

pip install maybe

Führt man nun ein Skript mittels maybe aus:

maybe test.sh

so ermittelt maybe, welche Operationen das Skript vornehmen möchte und zeigt diese an. Nach einer Bestätigung kann der Befehl anschließend ausgeführt werden. Technisch funktioniert das ganze dabei indem der Prozess unter der Kontrolle von ptrace ausgeführt wird. Hierbei werden allerdings nur einige Systemaufrufe blockiert, so das man maybe nur mit Skripten nutzen sollte, welchen man vertraut. Der Quelltext von maybe ist auf GitHub zu finden. Lizenziert ist das Tool unter der GPL in Version 3 und damit freie Software.