Techlog

12.04.07, 10:39 von Gordon Friebe Link Arrow_up

Eclipse unter Ubuntu einrichten

Einrichtung einer Eclipse Entwicklungsumgebung fürs Webdevelopment mit php und Rails

Eclipse zählt sicher zu den mächtigsten und attraktivsten Entwicklungsumgebungen im open source umfeld, daher gibt es im folgenden eine kurze Übersicht über den möglichen Ausbau einer Eclipseumgebung mit diversen Plugins fürs Webdevelopment.
Im wesentlichen stehen dann folgende Funktionen zur Verfügung:

  • Code Completion für PHP,Javascript,CSS (eingeschränkt für Ruby/Rails)
  • Code Highlighting
  • Endlich!! FTP Zugriff, ähnlich Dreamweaver
  • Aufgabenbasierte Entwicklung und Sync Möglichkeit mit z.B. Trac
  • Outlining
  • Debugging
  • und viele weitere Plugin spezifische Funktionen
Wichtig bei der Installation unter Ubuntu ist die zusätzliche Installation der sun java Pakete, sonst wird man bei einigen Plugins (z.B. Subclipse) mit Fehlermeldungen überhäuft. Und los gehts:
Unter Synaptec oder mit apt folgende Pakete installieren:
eclipse sun-java6-bin
Danach werden inklusive zahlreicher Dependencies einige hundert MB Daten heruntergeladen.
Damit das neue java auch als default java VM genutzt wird,
sudo update-alternatives --config java
eingeben und die entsprechende Option (bei mir war es 3) wählen.
Jetzt sollte eine funktions und ausbaufähige Eclipseinstallation zur Verfügung stehen!
Für eine vollständige Webentwicklungsumgebung habe ich folgende Plugins installiert:
  • Subclipse
    Subversion Plugin (http://subclipse.tigris.org/update_1.2.x)
  • mylar
    Task Management (http://download.eclipse.org/technology/mylar/update-site/e3.2)
  • phpeclipse
    PHP Plugin (http://phpeclipse.sourceforge.net/update/releases)
  • Ruby
    (http://updatesite.rubypeople.org/release)
  • Rails
    (http://radrails.sourceforge.net/update)
  • Aptana
    JavaScript-focused IDE for building dynamic web applications (http://update.aptana.com/install/)
Die angegebenen Links sind im Update Manager(find and install) als "new Remote Site" einzutragen. Einige der angegebenen Links beziehen sich spezifisch auf die Eclipseversion 3.2 ! Nun kann man sich innerhalb von Eclipse alles nach Belieben zurecht konfigurieren.

 
11.04.07, 11:48 von Gordon Friebe Link Arrow_up

ssh Verbindung ohne Passworteingabe

ssh / scp Verbindungen mit Hilfe generierter Schlüssel automatisieren

Ssh Verbindungen ohne Passworteingabe aufzubauen ist in erster Linie für die automatisierte Verbindung zwischen Servern interessant, etwa um Backups via rsync durchzuführen. Hier die Schritte zur passwortfreien Verbindung:

  1. ssh-keygen -t rsa
    generiert auf dem Quellrechner, also dem Rechner von dem die Verbindung initiiert werden soll, die erforderlichen privaten und öffentlichen Schlüssel. Wichtig ist, die Frage nach dem Passwort nur mit Return zu bestätigen also und kein Passwort einzugeben.
  2. Der generierte öffentliche Schlüssel muss nun dem Zielserver bekannt gemacht werden. Dafür den Inhalt der Datei id_rsa.pub (Standardname) in die Datei ~/.ssh/authorized_keys auf dem Zielserver kopieren. Falls die Datei noch nicht existiert - anlegen!
Jetzt sollte es bereits möglich sein, sich via
ssh remote_user@remote_server
anzumelden. Zu beachten ist lediglich, dass der Zielserver diese Form der Authentifizierung auch unterstützt. In der Konfigurationsdatei (/etc/ssh/ssh_config) sollte
RSAAuthentication yes
aktiviert sein.

Ein Schusselfehler der mich ein wenig Zeit gekostet hat:
die in der authorized_keys-Datei eingetragenen Schlüssel müssen dort zeilenweise abgelegt sein, sprich eine Zeile pro Schlüssel. Fügt man die Schlüssel z.B. mit vi und copy/paste in die Datei ein, kann es sein, dass Zeilenumbrüche entstehen und der Schlüssel danach nicht mehr lesbar ist. In /var/log/messages findet sich dann folgender Fehler (falls debug logging eingeschaltet ist):
error: key_read: uudecode ... failed
Also Zeilenumbrüche entfernen, dann gehts!

 
06.04.07, 21:51 von Gordon Friebe Link Arrow_up

Mit Eclipse unter Linux remote arbeiten

Eclipse greift auf mit sshfs gemountete shares zu

Das FTP Plugin für Eclipse hat sich in meiner Erfahrung als höchst instabil und umständlich erwiesen, so dass ich nach einer alternativen Möglichkeit gesucht habe, um entfernte Dateien direkt zu bearbeiten.

Wer es gewohnt ist mit Programmen wie Dreamweaver oder Ultra Edit Dateien direkt per ftp auf dem Server zu aktualisieren, wird diese Möglichkeit in Eclipse schmerzlich vermissen. Natürlich ist diese Methode nicht für größere Projekte mit mehreren Programmierern geeignet, aber in vielen Fällen ist es dennoch die Methode der Wahl um unkompliziert entfernte Dateien zu schreiben, ohne jedesmal den FtP-Client anzuwerfen.

Eine Möglichkeit ist es das entfernte Dateisystem direkt via ssh im eigenen Dateisystem einzuhängen. Eclipse greift dann darauf zu, ohne selbst zu wissen, wo sich die zu bearbeitenden Dateien eigentlich befinden.

Ermöglicht wird dies mit Hilfe des Pakets sshfs, welches man mit

sudo apt-get install sshfs
installiert. Dies installiert neben sshfs auch noch fuse-utils und libfuse2. Da man nur als root fusemount benutzen darf sind noch folgende Anpassungen notwendig.
sudo chmod 4775 /usr/bin/fusermount
sudo adduser username fuse
Um die Gruppenmitgliedschaft wirksam zu machen jetzt nochen einen reboot (Logout/Login reicht nicht) machen und nun kann mit
sshfs username@addresse:/ /mountpoint/
das entfernte Dateisystem gemountet werden.

 
06.04.07, 21:33 von Gordon Friebe Link Arrow_up

defekter cursor in dual screen modus

Im Dualscreen modus ist der cursor auf dem 2. monitor defekt (Ubuntu mit ATI 9600, fglrx treiber)

Die Einrichtung einer Dualscreenlösung unter Ubuntu mit einer ATI Grafikkarte ist recht unproblematisch. In Ubuntu Feisty, kann man unter System->Administration->Restricted Driver manager die fglrx-Treiber einfach auswählen, in älteren Versionen ist fglrx via synaptec oder apt nachzuinstallieren.

Auf der Kommandozeile richtet ein

aticonfig --initial=dual-head --screen-layout=left eine funktionstüchtige xorg.conf ein.

Danach ist jedoch leider der Cursor auf dem 2. Monitor defekt. Der Cursor erscheint dann als ein etwa 150 Pixel grosses Quadrat!
Um den Cursor zu reparieren ist composite in der xorg.conf zu deaktivieren. Dazu einfach

Section "Extensions" Option "Composite" "0" EndSection hinzufügen und der Cursor ist wieder schön.

 
27.03.07, 16:59 von Gordon Friebe Link Arrow_up

mysql many to many Beziehung

Abfrage die alle Verknüpfungen mit der anderen Tabelle als Bedingung beinhaltet

Beispiel aus dieser Post/Tag Applikation für genau diesen Beitrag: Zeige alle Posts, die mit allen ausgewählten Tags assoziiert sind.

select p.*, count(*) as count_p from posts p inner join posts_tags pt on pt.post_id=p.id inner join tags t on t.id=pt.tag_id where lang='de' and (t.name in ('mysql','query','m:n')) group by p.id having count_p=2 order by id desc

 
26.03.07, 16:13 von Gordon Friebe Link Arrow_up

rails localization plugin

Sprachen dynamisch tauschen

Beim Localization-Plugin wird im README nur von der festen Einstellung einer "default language" geredet. Hiermit ist es zwar möglich eine Sprache vor dem Start des Systems festzulegen, ein dynamisches Umstellen der Sprache erfolgt dadurch allerdings nicht.
Um dies zu erreichen, bedarf es nur einer kleinen Änderung. Die Zeile

language = CONFIG[:default_language] in lib/localization.rb gegen language = session[:locale] tauschen und beim Umschalten der Sprache die entsprechende Session Variable setzen. Fertig!

 
vorherige Seite