Web-Entwicklung mit Ubuntu

Posted on November 11th, 2009 in Programmierung, Ubuntu | 11 Comments »

Das Vorurteil das man keine Webseiten unter Linux entwickeln kann, möchte ich hiermit mal aus der Welt schaffen. Ich arbeite fast täglich an Webseiten mit Linux, seit Jahren und würde mit keinem Betriebsystem tauschen wollen.

Der Editor

Der Editor ist Geschmackssache dazu will ich nicht viele Worte verlieren. Ich verwende vim und bin durch die ganzen Plugins und der Konfigurationsmöglichkeiten sehr zufrieden damit. Quanta und Bluefish sind zwei speziell für web development zugeschnittene Editoren.

kleine Helfer

Ich finde eine Bildschirmlupe die Bereiche des Bildschirms vergrößert darstellt sehr praktisch dazu verwende ich kmag. Um Pixeln zumessen verwende ich kruler, das ein Bildschirmlineal ist das man in alle 4 Himmelsrichtungen drehen kann. Ksnapshot ist ein Programm das Screenshots erzeugt, es ist unter anderen möglich nur ein Fenster oder nur eine Region auszuwählen.

Firefox-Plugins

Der Firefox ist zum Entwickeln besonders geeignet durch die große Anzahl an Plugins.
Mit Firebug und dem Web Developer ist es möglich Informationen aller Art herauszufinden und direkt CSS oder HTML zu ändern. Tamper Data ist ideal um Werte von Formularen abzufangen und die Einträge zu manipulieren. Mit Selenium IDE kann man Navigationen und Interaktionen auf einer Webseite aufzeichnen und abspielen.

Browserchecks

Webseiten sollten auf allen gängigen Browsern funktionieren. Um Webseiten auf Windows zu testen verwende ich virtual box, eine Virtualisierungs Software mit einer Windows XP Installation und allen möglich installierten Browsern. Es gäbe auch das Programm ie4linux das verschiedene IE Versionen mit wine emulieren kann. Leider ist das sehr langsam, nach meiner Erfahrung. Für Safari den OSX Browser verwende ich Konqeuror der ebenfalls wie Safari Webkit verwendet zum rendern der Webseite und man so ziemlich die selbe Darstellung hat. Mit Lynx kann man auch Webseiten im Textmodus testen. Es gibt auch das Webservice browsershots.org die von einer URL mit beliebig einstellbaren Browsern Screenshots erzeugt.

Validierung

Um zu überprüfen ob die Seite valides HTML und CSS liefert, kann direkt der Validator von w3.org zum überprüfen verwendet werden. Wenn die Seite lokal am Rechner liegt kann man tidy verwenden, es gibt auch das Firefox Plugin Html Validator womit man auch offline validieren kann.

Server-Technik

Da auf den meisten Servern auch ein Linux lauft ist es natürlich klar das man auch die selbe Server-Technik lokal am Desktop installieren kann. Ein Webserver wie den Apachen lässt sich genau so einfach wie MySQL, PHP, Django oder Rails mittels aptitude installieren.

Diese Woche in der Konsole #8

Posted on August 30th, 2009 in Konsole | 2 Comments »

  1. Wissenswerte Tastenkürzeln

    CTRL l Leert den gesamten Bildschirm, das selbe wie der Befehl clear.

    CTRL w Löscht nach links einzelne Wörter ab der Cursorposition.

    CTRL r Inkrementelle Suche durch die Liste der letzt ausgeführten Befehle (bash history).

    ! ! Den letzten Befehl wiederholen.

    CTRL d Um die Sitzung zu beenden, das selbe wie der Befehl exit.

  2. Wenn der letzte Befehl einen einfachen Schreibfehler hat wie hier eine “3″ wo ein “e” sein sollte, so ist es möglich eine Korrektur vorzunehmen:
    $ echo "F3hler"
    F3hler
    
    $ ^3^e
    echo "Fehler"
    Fehler
    
  3. Herausfinden welcher Prozess (Id) auf Port 31337 lauscht.

    $ sudo fuser 31337/tcp
    31337/tcp:           29883
    
  4. Dateien umbennen mit rename. Als Beispiel werden alle .htm zu .html Dateien umbenannt.
    $ rename htm html *htm
  5. In vim Deutsche Rechtschreibprüfung verwenden mit dem Paket vim-spell-de.
    :setlocal spell spelllang=de

    Danach sind alle falsch geschriebenen Wörter farblich markiert.

  6. Dateiinhalte von unten nach oben anzeigen lassen, ein verkehrtes cat eben :)

    $ tac datei.txt
  7. Kopf oder Zahl ohne Münze.
    $ ruby -e 'puts ["Kopf", "Zahl"][rand(2)]'
    Kopf
    

Diese Woche in der Konsole #1

Posted on July 5th, 2009 in Programmierung, Ubuntu | 1 Comment »

Diese Woche in der Konsole

  1. Mit curl von der Komandozeile aus twittern:
    curl -u Benutzername:Passwort \
    -d status="Nachricht" http://twitter.com/statuses/update.xml
  2. Suchen und Ersetzen mit einem Ruby Einzeiler:
    ruby -i.bkp -pe "gsub(/suche/, 'ersetze')" *.php

    Hier werden alle PHP Dateien in dem aktuellen Ordner ersetzt und zusätzlich wird eine Backup Datei (.bkp) erstellt.

  3. Einen Ordner via ssh mittels rsync clonen:
    rsync -avz -e 'ssh -p portnummer' user@host /Quellordner /Zielordner

    Wird der Quellordner ohne abschliessenden / angegeben, so wird der Quellordner selbst kopiert. Ansonsten nur der Inhalt

  4. Datenbank von einem anderen Server via ssh übernehmen:
    ssh user@host mysqldump -u dbuser_server -p dbpwd_server databasename \
    --lock-tables | mysql --verbose -u dbuser_local -p dbpwd_local
  5. Verschlüsselte Text-Datei mit Vim anlegen:
  6. vim -x datei

Suchen und finden mit Vim

Posted on June 29th, 2009 in Programme, Programmierung, Ubuntu | 1 Comment »

vim-logo In einer Datei suchen

Eine Datei wird mit dem Schrägstrich / im Kommandomodus ESC durchsucht. Natürlich kann hier auch regular expression angewendet werden:

/^require

Mit n gelangt man zum nächsten Treffer. Um auf den Treffer davor zu kommen drückt man N.

Auf einer Zeile suchen

Beim Navigieren in einer langen Zeile ist f sehr hilfreich. So springt der Cursor bei f > auf die erste Übereinstimmung, mit dem Zeichen >. Ein F > sucht von der aktuellen Cursor Position von rechts nach links weiter. Um zum nächsten Treffer zu gelangen reicht ein ;.

In mehreren Dateien suchen

Dateien können mit grep durchsucht werden:

:grep require *.rb

Read the rest of this entry »

Mit vim Dateien über FTP bearbeiten

Posted on June 10th, 2009 in Programme, Programmierung, Ubuntu | 1 Comment »

vim-logo

Immer wieder kommt es vor das ich doch noch auf die alte Methode Dateien, die auf einen Webserver liegen, bearbeiten muss und keinen ssh Zugang habe und nur ein FTP Zugang angeboten wird. Anstatt sich aber die Datei immer wieder herunterzuladen, sie zu editieren und dann wieder hochzuladen bearbeite ich sie direkt mit vim über das Programm FTP im Hintergrund. Dazu sollte in ~/.netrc die Login Daten des FTP Server eingetragen werden, damit der Login ohne Aufforderung passiert.

Zunächst wird die netrc neu angelegt und mit vim geöffnet:

vim ~/.netrc

In der netrc werden die Daten des FTP Servers ausgefüllt:

machine ftp.example.com
login example
password example

netrc speichern:

:w!

Die Datei darf nur von User selbst lesbar sein, darum noch ein chmod auf netrc direkt in vim, mit ! werden Befehle in der shell ausgeführt, das % steht für den aktuell offenen Dateinamen:

:!chmod 600 %

Nun sollte es schon möglich sein sich auf den Server zu verbinden, e(dit) steht für Datei bearbeiten:

:e ftp://ftp.example.com

danach sollte man sich im root des Servers befinden und einen Verzeichnis Baum angezeigt bekommen. Es ist natürlich auch möglich direkt eine Datei über den Pfad anzusprechen und sie zu bearbeiten und zu sichern:

:e ftp://ftp.example.com/htdocs/index.html