Bernhard Häussner
Tags: Artikel mit dem Tag «Webdev» durchstöbern

Cyberguide 3

31.12.2008, 17:35
Cyberguide 3

Cyberguide 3

Da Bookmarks zu unübersichtlich sind und zu lange brauchen um gefunden zu werden und da diese ganzen Speed Dial und wie sie heißen zu wenig anzeigen und in jedem Browser konfiguriert werden wollen, benutze ich fast seit ich HTML kann eine Browser-Startseite mit allen wichtigen Links und Suchfunktionen. Diese geht nun in die 3. Runde und ist ab sofort verfügbar: Cyberguide 3.

Wen die ganze Geschichte interessiert, der lese hier nach. Sie hat folgende neue Festures:

  • regelmäßige, floatende Linkboxen
  • überarbeitete Links
  • auf diesen Host migriert, vielleicht wird sie irgendwann dynamisch.

Besonders empfehlenswert ist die Firefox-Erweiterung NewTabURL mit der man die Cyberguide automatisch in neuen Tabs öffnen kann.

Kommentare: keine

MySQL von außen via SSH-Tunnel (und KDE GUI)

28.12.2008, 17:04
Lokaler MySQL-Client 
    |
    |
(verschlüsselte SSH-Verbindung)
    |
    v
MySQL-Server

Als Web-Administrator braucht man oft Zugang zu einem MySQL-Server. Das kann man mit phpMyAdmin machen, doch das ist kaum so sicher und weniger komfortabel wie remote-Zugriff über einen SSH-Tunnel.

Was kann der SSH-Tunnel und wie geht das?

En SSH-Tunnel macht, dass, wenn auf den eigenen Rechner von einem Port zugegriffen wird, dann die Packete über die verschlüsselte SSH-Verbindung von dem Verbundenen Rechner (Gateway) aus wieder an einen Rechner weitergeleitet werden. Der Befehl sieht so aus:

ssh -L lokalerport:zielrechner:zielport sshgatewaylogin@gateway

Siehe auch das Diagramm:

Irgendwer 
    |
    |
(Lokaler Port)
    |
    v
Mein Computer
    |
    |
(verschlüsselte SSH-Verbindung)
    |
    v
Gateway, eingeloggt als SSH-Gateway-Login
    |
    |
(Zielport)
    |
    v
Zielrechner

Im Fall MySQL greife nur ich über irgendeinen Port auf meinen Computer zu. Der Gateway-Rechner und Zielrechner sind der MySQL-Server und der greift auf sich selbst zu und zwar über den MySQL-Port (Standard: 3066). Dann sieht das ungefähr so aus:

ssh -L 7777:127.0.0.1:3306 me@mysqlserver -N -f

In Verbindung mit MySQL am besten immer 127.0.0.1 verwenden, das vermeidet Ärger. Das praktische ist nun, dass man MySQL-Clients auf den eigenen Rechner nun mit der Datenbank auf dem Server verwenden kann. Solche Clients sind z.B. der MySQL-Abfrage-Browser oder der MySQL-Administrator oder sogar ein PHP-Skript, das auf dem eigenen Rechner läuft. Man kann damit also nicht nur die Datenbank mit einem schönen GUI verwalten, sondern auch PHP-Skripte, Templates o.ä. auf dem eigenen Rechner testen, nur eben mit der Datenbank auf dem Server. Das ist besonders praktisch, wenn man in einem nicht-lokalen Team zusammenarbeitet, da dann alle auf eine zentrale (Development-)Datenbank zugreifen und nicht jeder ständig seine Datenbank synchronisieren muss. (Außerdem muss nicht jeder einen MySQL-Server installieren. )

Wie man das verwendet ist auf tsunamihost.ch sehr gut beschrieben, für Windows und unixoide Systeme. Es findet sich sogar ein kleines Script für init.d um den Tunnel bei jedem Systemstart zu aktivieren.

(Update 2010-11-21) Um zum Beispiel ein MySQL-Dump über den SSH-Tunnel auf einen entfernten Datenbankserver aufzuspielen genügt dann dieser Befehl:

cat local_path/to/dump.sql | \
   mysql -u db_user -p -P 7777 -h 127.0.0.1 db_schema

Es ist hier wichtig als Host 127.0.0.1 anzugeben, da sonst eine lokale Socket-Verbindung genutzt wird. Und natürlich den Port, über den der Tunnel läuft. (/Update)

Ich will mir keine Befehle und Ports merken und habe KDE

Dann habe ich noch ein kleines Script im Angebot: Es lässt sich z.B. im Startmenü verknüpfen und wenn man es anklickt öffnet sich ein Dialog, der fragt, ob der MySQL-Tunnel benötigt wird. Ein klick auf „Ja“ und der Tunnel wird gestartet bzw. läuft weiter oder ein Klick auf "Nein" und der Tunnel wird, sollte er laufen, gestoppt. Einfacher geht es nicht, oder? Das Sktipt braucht KDE, da es kdialog verwendet und steht hier zum Download bereit:

Kurz die Konfiguration bearbeiten und in den Ordner ~/bin verschieben und der Tunnel kann jederzeit gestartet werden.

Da das Tunnel Aufbauen von meiner Server Management Software YaSvenT erledigt wird, benutze ich inzischen das Sktipt allerdings fast nicht mehr

Kommentare: keine

SVG - Flash killer

27.12.2008, 15:11

Inzwischen ist Flash eine recht weit verbreitete Technik, wenn es um Multimedia-Elemente und Animationen auf Webseiten geht. Eigentlich verwunderlich, da es proprietär ist, man ein Browser-Plugin benötigt und es für Suchmaschinen und Textbrowser kaum verwertbar ist. Es wird meist nicht einmal W3C-Konform in XHTML-Dokumente eingebunden.

Zum Glück gibt es eine Alternative: Scalable Vector Graphics (SVG). Diese Auszeichnungssprache für Vektorgraphiken ist nicht nur frei verfügbar, sondern auch vom W3C standardisiert. Alle Browser, die ich habe, unterstützen SVG nativ ohne Plugin, nur IE tanzt mal wieder aus der Reihe, kann aber mit einem Plugin aufgewertet werden.

Wenn man XHTML-Dokumente erstellen kann, muss man kaum etwas lernen um SVG-Inhalte zu Erstellen. Beides sind XML-Dateien und SVG benutzt auch CSS. Die SVG-Syntax ist zudem recht intuitiv. Nur bei Pfaden wird es etwas kompliziert (per Hand). Dafür gibt es mit Adobe Illustrator und Inkscape recht gute Editoren.

Die Animationen werden wahlweise im Javascript-ähnlichen ECMAScript oder in SMIL geschrieben. Dank des XML-Formats können SVG-Dateien auch leicht von PHP oder anderen Parsern erstellt und bearbeitet werden. In Verbindung mit AJAX lassen sich dann soger komplexe Web-Anwendungen basteln, und das mit Dynamischen Pfaden, Weichzeichnern, Transparenz, Masken, Klonen usw.

Der Grund SVG nicht einzusetzen ist die Browseruntertütztung: Es wird von Browsern meistens nicht sehr vollständig unterstützt.

Wie auch immer, noch ein paar Beispiele: Ich habe mal ein interaktives Spiel gebastelt, es existiert eine Demo eines Graphen dessen Dateien in Echtzeit vom Server geholt werden. Es gibt sogar ein jQuery Plugin für SVG. Es steckt also sehr viel Potential in SVG, man kann nur hoffen, dass es irgendwann auch so gut unterstützt wird wie HTML.

Kommentare: keine

Webdesign von x bis heute

07.12.2008, 21:19

Langsam ist das Internet so alt, dass man schon Geschichten darüber schreiben kann. Eigentlich seltsam, ich erinnere mich noch ganz gut, als ich als Kind im Büro meines Vaters schon Bilder von Autos im Internet anschauen durfte. Damals wusste noch kaum jemand, was das Internet ist. Es gab nicht einmal Google... wie auch immer seit Jahren mache ich Webdesign, manchmal mehr, manchmal weniger intensiv.

Meine erste Webseite überhaupt wurde natürlich nie online gestellt, aber es gibt wohl genug Beispiele von Text mit ein paar bunten Passagen, blockquotes, Lauftexten und ähnlichen Sünden. Meine zweite Webseite benutzte Frames, die aber schon fast wider überholt waren.

Meine dritte Webseite war jedoch recht lange online. Sie war mit damals fortschrittlichen Tabellen gemacht und sah eigentlich recht gut aus, im Vergleich zu anderen damaligen Webseiten. Nur etwas wichtiges fehlte ihr: PHP. Zumindest konnte ich es schaffen mit Javascript eine zentral änderbare Navigation zu basteln, aber das ist natürlich alles andere als schön. Auch andere Javascript-Spielereien waren eingebaut, wie Fenster schließen.

Als ich dann mal von PHP gehört habe, musste ich natürlich sofort damit herum experimentieren, und es enstand eine Seite mit mehreren zusammenhanglosen PHP-Anwendungen.

Und dann kam irgendwann wieder einmal ein Anreiz etwas Webdesing zu pflegen: Web 2.0. Es musste also ein Blog her, mit AJAX und so weiter. Nur das brauchte es schon einige Anläufe. Zuerst hatte ich ein Blog, nur ohne AJAX. Dann habe ich (da der alte wieder unüberschaubar wurde) einen neuen gebaut, und diesmal mit AJAX. Dann war AJAX aber in manchen Browsern total unbenutzbar und damit die Seite hinfällig. Dann waren letztendlich auch Templates total in und dafür musste natürlich wieder ein Blog, diesmal mit Smarty, her. Außerdem habe ich meine Festplatte zwischendurch gelöscht.

Gute Vorraussetzungen also einfach nochmal von ganz vorne anzufangen. Diesmal auch erst ohne AJAX aber dafür mit einem selbst entwickelten Template-System. Später dann vielleicht mit jQuery.

Da bin ich ja mal gespannt, wie es weitergeht.

Kommentare: 10 Einträge
« Vorherige Seite [ Seite 1 2 3 4 ]
 
Χρόνογραφ
© 2008-2017 by Bernhard Häussner - Impressum - Login
Kurz-Link zur Homepage: http://1.co.de/