Inhalt überspringen

Archiv für Juni, 2009

30
Jun

[No Comment] Schule

SQL ist einfach zu einfach wenn man es schon kann … also muss man sich beschäftigen, wenn man fertig ist mit den Aufgaben …

Ubuntu (Gnome) -> Terminal -> Vollbild -> Profil-Farben auf “Grün auf Schwarz” gestellt ->
$ cat /dev/urandom -> Bildschirm kippen
Das gleiche auf dem Zweiten Rechner. Ergebnis:

30
Jun

[PHP] PHP 5.3 Release

Heute steht nach langem Warten endlich die neue PHP-Version 5.3 in den Startlöchern und wartet auf den Release, der im Laufe des Tages erfolgen wird.

Ganz besonders freue ich mich auf die Namespaces, Late Static Binding und Lambda/Closures. Ich warte nur auf den Startschuss um das neue Apache-Modul zu kompilieren und die neuen Funktionen auszuprobieren. *gespannt*

Ich hoffe mal, dass meine Projekt noch mit PHP 5.3 laufen, habe da aber eher wenig Bedenken …

28
Jun

[Links] 28.06.2009

So, ich muss auch mal anfangen meine Links hier zu sammeln, sonst verbummel ich den Kram immer ;)

22
Jun

[Gewinnspiel] Gewinne das neue iPhone 3GS von sevenmac

Eben durch Lukas draufgestoßen:

Das Apple Magazin sevenmac, welches nun seit einem Jahr online ist und seither mehr als 1.500 Artikel verfasst hat, veranstaltet ein Gewinnspiel für Blogger. Zu Gewinnen gibt es das neue iPhone 3GS sobald dieses auf dem Markt kommt.

Der Gewinner wird in einem Live-Stream ermittelt und bekannt gegeben – inkl. Blog-URL. Das ist mal PR! ;)

Sevenmac hat seit seinem Release eine große Mac Community aufgebaut, in der sich Apple-begeisterte täglich über alles austauschen können, was ihnen auf dem Herzen liegt.

Es existieren zwar bisher nur Gerüchte über das neue Apple-Produkt, jedoch geht man davon aus, dass das neue iPhone mit einer verbessertes Kamera ausgestattet sein wird. Die Auflösung von 3,2 Megapixel wird erwartet. Auch eine Front-Side-Kamera für Videotelefonie und einen FM-Transmitter soll das 3GS mit sich bringen. Die Leistungsstarke CPU und bis zu 32 GB Speichern sind weitere Highlights. Wir dürfen uns freuen!

Wer auch an diesem Gewinnspiel teilnehmen möchte, findet hier weitere Infos. Viel Glück!

19
Jun

[No Comment] Die Deutsche Pseudo-Demokratie

Unfassbar. Das wars dann mit Artikel 5 unserer Grundgesetze. Wer braucht schon Grundgesetze? Wer braucht schon Demokratie?

Diese Traueranzeige trifft es meiner Ansicht nach ganz gut:

Die Verabschiedung des Zensur-Gesetzes hat mein Vertrauen in die Politik und die große Koalition fast restlos ausgelöscht.
Mir fehlen die Worte … Meine Stimme für die nächste Wahl sollte damit feststehen.

Die Petitionen und allen anderen Versuche, die Erlassung des Zensur-Gesetzes zu verhinden, wurden ignoriert. Das ist keine Demokratie …

Wer übrigens sehen möchte, welcher Abgeordnete welches Votum abgegeben hat, kann das hier erfahren.

18
Jun

[Symfony] sfDoctrine meldet “Couldn’t locate driver named mysql”

Was tun, wenn das sfDoctrine-Plugin bei dem Task build-sql folgende Meldung zurückgibt?

Couldn’t locate driver named mysql

Die Meldung entsteht, wenn dem sfDoctrine-Plugin das PDO nicht zur Verfügung steht. Einfach in der php.ini (für die CLI, nicht für den apache!) “pdo_mysql” aktivieren ;)

Unter Debian befindet sich die Datei unter “/etc/php5/cli/php.ini“. Zumindest bei mir *g*

12
Jun

[Linux] Saubere LAMPP Installation

LAMPP: Linux Apache, MySQL, Perl and PHP stellt schnell und einfach eine Entwicklungsumgebung für Webentwickler zur Verfügung. Enthalten ist ein Webserver (Apache 2), ein FTP-Server (ProFTP), ein MySQL-Server, PHP & PEAR, phpMyAdmin, Perl, und vieles vieles mehr.

In diesem Beitrag möchte ich euch zeigen, wie man den LAMPP sauber und sicher auf einerm Linux-System aufsetzt und ihn in das System integriert.

Schrit 0: Download

Bevor wir loslegen müssen wir erstmal dar tar-Archiv runterladen. Die aktuelle LAMPP-Version gibts immer auf apache-friends.org

Schritt 1: Entpacken der Dateien

Zuerst entpacken wir das Archiv in der Verzeichnis /opt:/

$ sudo tar xfz xampp-linux-1.7.1.tar.gz -C /opt/

Schritt 2: Der lampp-Befehl

Damit wir LAMPP nicht immer über /opt/lampp/lampp ansprechen müssen, stellen wir eine Verknüpfung her, die den lampp-Befehl zur Verfügung stellt:

$ sudo ln -s /opt/lampp/lampp /usr/bin/lampp

Anschließend kann LAMPP über den Befehl “lampp” gesteuert werden.

Schritt 3: Autostart einrichten

Damit LAMPP bei jedem System-Start ausgeführt wird, müssen wir noch eine Verknüpfung im /etc/init.d/-Verzeichnis anlegen:

$ sudo ln -s /opt/lampp/lampp /etc/rc3.d/S99lampp

Schritt 4: MySQL-Socket verlinken

Nach der Installation von LAMPP haben wir das Problem, dass der Socket, welcher von Symfony und dem mysql-client verwendet wird, nicht dort liegt, wo er erwartet wird. Das Problem lässt sich wie folgt beheben:

$ sudo mkdir -p /var/run/mysqld/
$ sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock

Schritt 5: Security

Nach der Installation müssen noch ein paar Security-Anpassungen durchgeführt werden. LAMPP bietet dazu den security-Modus, der dem User eine Reihe von Optionen zur Sicherheits-Optimierung zur Verfügung stellen.

Die Konfiguration ist sehr trivial: Einfach den Befehl

$ sudo lampp security

ausführen und den Anweisungen folgen.

Fertig. Nun kann LAMPP gestartet werden:

$ sudo lampp start
12
Jun

[PHP] Was ist eigentlich … Late Static Binding?

Was Namespaces sind, hat uns Manuel in seinem Beitrag über PHP 5.3 schon sehr gut erklärt, aber was hat es mit dem neuen Feature Late Static Binding auf sich?

Genau das möchte ich euch hier kurz etwas näher bringen.

Sehen wir uns zunächst folgendes Beispiel an:

<?
    class ParentClass {
        public static function whoAmI() {
            echo __CLASS__;
        }

        public static function foo() {
            self::whoAmI();
        }
    }

    class ChildClass extends ParentClass {
        public static function whoAmI() {
            echo __CLASS__;
        }
    }

    ChildClass::foo();              // Gibt "ParentClass" aus
?>

Da der PHP Interpreter bei statischen Aufrufen die Referenz zur aktuellen Klasse erst beim Kompilieren des Skripts bestimmt, verweisen __CLASS__ und self auf die Klasse, in der sich die entsprechende Methode befindet. Das heißt aus self::whoAmI() wird ParentClass::whoAmI(). Das ist leider ziemlich hinderlich und wurde nun endlich in PHP 5.3 gefixed.
Die Lösung lautet: Late Static Binding oder kurz “lsb“.

8
Jun

[Eclipse] How-To: Eclipse und SVN

So, das ist der letzte Beitrag den ich auch meinem alten Blog übernehme: Eine kurzes How-To wie man SVN unter Eclipse nutzen kann.

Um SVN in Eclipse nutzen zu können, gibt es das Subversive-Plugin. Die Installation ist recht einfach:

Schritt 1:

Im Menü unter “Help” auf “Software Updates” klicken. Es öffnet sich der Dialog zum Verwalten der Updates und Add-ons.

Schritt 2:

Nun den Tab “Available Software” auswählen und rechts auf “Add Site” klicken.

Hier muss

http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/

eingetragen werden. Mit einem Klick auf “OK” wird die Location eingetragen.

Das Gleiche Spiel mit der Location

http://download.eclipse.org/technology/subversive/0.7/update-site/

Schritt 3:

Nun unter “Subversive Site” das “Subversive SVN Team Provider Plugin (Incubation)” markieren.

Außerdem wird noch ein Connector benötigt. Diese findet man unter “SVN Connectors Site“.
Hier einfach “Subversive SVN Connectors“, “SVNKit 1.1.7 Implementation (Optional)” und “SVNKit 1.1.7 Implementation (Optional)” markieren.

Schritt 4:

Um die Installation nun durchzuführen, einfach auf “Install …” klicken und den Anweisungen folgen (inkl. Neustart von Eclipse).

Nachdem Eclipse neugestartet wurde steht die View “SVN Repositories zur Verfügung.
Ich hoffe, dass euch dieses kleine How-To geholfen hat.

8
Jun

[SVN] Grundlegende Befehle



Ich möchte hier mal kurz die grundlegenden Befehle von SVN festhalten. Schaden kanns ja nicht ;)

Auschecken ( checkout / co ):

$ svn checkout [Repository] [Ziel-Verzeichnis]


Datei hinzufügen ( add ):

svn add [Datei/Verzeichnis]


Updaten ( update / up ):

svn update [Datei/Verzeichnis]


Bedeutung der Ausgabe:
A: Added
D: Deleted
U: Updated
C: Conflict
G: Merged

Cleaning ( revert ):

Ersetzt die lokale(n) Datei(en) durch die Version aus dem Repository

svn revert [Datei/Verzeichnis]


Löschen ( delete ):

svn delete [Datei]


Projekt erstellen ( import ):

svn import [Dateien/Verzeichnis] [Repository]


Status einer Datei oder mehrerer Dateien anzeigen ( status ):

svn status [Datei]


Dateien einchecken ( commit / ci ):

svn commit [Datei/Verzeichnis]