Das wichtigste Tastenkürzel in Eclipse

Ich habe gefüllt das halbe Internet abgesucht um diese Information zu finden (reale 2 min.), bis ich für mich das wichtigste Tastenkürzel für Eclipse fand. Es lautet Strg+Shift+L und öffnet eine Liste mit allen Tastenkürzeln in Eclipse.

🙂

Erstellen von Verzeichnisen in Eclipse

Meine PHP-IDE heißt Eclipse und jetzt habe ich einen kleinen “Trick” entdeckt, dass das erstellen von Verzeichnissen für mich stark vereinfacht. Man hat eine Projektstruktur, wie diese:

Jetzt möchte man eine Verzeichnisstruktur anlegen, die tiefer in die Verzeichnisebene geht. Man kann jetzt die Ordner einzeln erstellen, auswählen um darin wieder einen Ordner anzulegen um dann einen Ordner… usw.
Man kann aber auch erst einmal den Ordern erstellen Dialog öffnen und dann seine Verzeichnisstruktur einfach hineinschreiben.

Das Ergebnis kann sich dann wirklich sehen lassen.

Mir gefällts 🙂

Editor Geany und meine Einstellungen für Python3

Seit einiger Zeit beschäftige ich mich mit der Programmiersprache Python. Einfach mal um etwas anderes als nur JS, PHP oder C-Syntax zu sehen und auch mal auf neue Ideen zu stoßen. Für mich die erste Herausforderung, die Python-Syntax, die sich von der C-Syntax unterscheidet und am Anfang ziemlich seltsam wirkt. Die zweite Herausforderung, geeignete Werkzeuge. Ich habe schon einige Editoren ausprobiert und schnell wieder verworfen, wie zum Beispiel das Notepad++. Mein Problem ist, das es Editoren gibt, welche bei der Tab-Tasten einen Tabstop anlegen und keine leere Zeichen, oder sie mischen. Das Problem daran ist dann, das scheinbar die simpelsten Python-Programme nicht funktionieren, sobald da auch nur ein solcher Tabstop zu finden ist. Wenn man das Problem nicht kennt, kann man sich bei der Problembehebung dumm und dusselig suchen.

Eine IDE habe ich noch nicht im Sinn, wobei PyCharm schon installiert ist 😉

Was mir für Python gut gefällt ist der Editor Geany. Es ist Open Source, wird für verschiedene Betriebssysteme angeboten wie MacOS, Linux, *BSD und Windows. Sehr nettes Feature, zumindest für mich, Kommandos zum Erstellen von Programmen lassen sich editieren. Das sind meine Einstellungen:

Mit simplem Tastendruck lassen sich die Python Programme nun kompilieren und ausführen.

Mir gefällt es 🙂

Keine Angst von neuen Dingen

 

Ganz Ehrlich … von Visual Basic habe ich nicht so viel Ahnung, da ich die meiste Erfahrung als Webentwickler  HTML/CSS/Js und PHP habe. Irgendwann mal früher habe ich ein wenig VBA und Visual Basic 6.0 programmiert. Um so erstaunlicher das ich zumindest noch wusste, wie man die VB-Elemente anspricht, Werte eingibt und ausgibt. Frei aus dem Gedächtnis und das macht mich gerade so ziemlich stolz 🙂

Ich habe gute Erfahrungen mit SQL-Datenbanken machen können. Die meisten Erfahrungen habe ich in MySQL. Ich habe mir die Frage gestellt, wie schwer ist es eigentlich in einer mir fremden Sprache auf eine mir bekannte Datenbank zu zugreifen.

Ungewohnt aber es ist mir gelungen, siehe Bild oben, eine Verbindung zu einer MySQL-Datenbank aufzubauen, Einträge zu machen und diese wieder Auszulesen.

Wie ich das gemacht habe, werde ich in weiteren Artikeln beschreiben, wenn ich mehr Erfahrung sammeln konnte.

Fazit

Mir geht es oft so, das ich mir meinen Fähigkeiten nie wirklich sicher bin und oft denke, kann ich das geforderte überhaupt. Das verleitet leicht dazu bei dem bekanntem zu bleiben und zum unbekanntem zu sagen, kann ich leider nicht. Dabei geht es meiner Erfahrung nach vielen Menschen ganz ähnlich. Ich habe die meiste Erfahrung in PHP, aber in Java oder Visual Basic nicht so viel oder kaum.

Was jedoch PHP, Java und Visual Basic verbindet, sind die Grundlagen der Programmierung, viele Fortgeschrittenen Themen und Algorithmen. Lediglich die Art wie die Daten ein- und ausgegeben werden und die Syntax, können am Anfang als Hindernis herausstellen was bei einer an sich unbekannten Umgebung jedoch völlig normal ist.

So musste ich für das Visual Basic so einiges Recherchieren, was mir nicht so klar war. Sobald ich aber mich erfolgreich mit einer MySQL-Datenbank verbunden habe und Queries senden konnte, fühlte ich mich sprichwörtlich wie ein Fisch im Wasser 🙂

Also jedem ist es ans Herz gelegt mal über den Programmiersprachen-Tellerrand zu schauen und neue Dinge auszuprobieren. Lohnt sich und hilft gewisse Zweifel zu beseitigen.

Python Slackbuild Skript

Im kleinem Artikel, Eigene Slackware-Pakete erstellen, habe ich kurz wieder gegeben, wie ich Python3 in gewünschter Version von Hand kompiliert habe. Heute ist es mir auch gelungen die Kompilierung per sogenanntem Slackbuild-Skript zu bauen. Wohlgemerkt, fast einem eigenem. Also Vorlage diente mir das SlackBuild-Toolkit von Alien. Noch habe ich nicht die Zeit gefunden und komplett eigene SlackBuild-Skripte zu entwerfen, hoffe es aber in naher Zukunft machen zu können.

Mein fast eigenes SlackBuild findet man in meinem GitHub-Account.

Eclipse auf UTF-8 umstellen

Ich probiere immer mal unterschiedliche IDEs aus und momentan ist Eclipse an der Reihe. Ein Projekt angelegt und schon werden die erste mit Darstellungsfehlern konfrontiert. Die Ursache liegt darin das Eclipse unter Windows, anders als OSX oder Linux, das Windows eigene Charset Cp1252 einsetzt. Man kann jetzt jede neue Datei auf UTF-8 umstellen, oder stellt es in Einstellungen gleich um.

Gleich unter Window->Preferences in der Suche, “encode” eingeben und unter General->Workspace, ganz unter in “others” auf UTF-8 umstellen. Voila 🙂

Update: Aktuell zu Eclipse Oxygen.

Netbeans start beschleunigen

Ich habe meinen Rechner über mehrere Jahre aktualisiert, wie auch Software die ich nutze. Dazu gehört Netbeans, was ich über mehrere Versionen aktualisiert habe. Leider musste ich feststellen, das Netbeans über Zeit immer langsamer wurde. So dauerte der Start gefühlte mehrere Minuten.

Als ich nun endgültig genug hatte, fing ich an nach den Ursachen zu suchen und bin unverhofft fündig geworden. Neben der sehr großen JDK Sammlung, die über mehrere Jahre entstand und immer mehr Platz einnahm, wuchs auch die Zahl der Netbeans Installationen. Das scheint auch die Ursache für die Verlangsamung zu sein.

Ich habe die älteren JDK-Versionen entfernt, ebenso auch ältere Netbeans-Versionen, sowie Daten (Cache unter OSX) die mit älteren Versionen installiert wurden. Und voila! Netbeans startet und reagiert sehr viel schneller 🙂

jEdit kompilieren

Wie bereits schon kurz vorher beschrieben, ist es mir gelungen jEdit aus den Sourcen zu bauen und mittlerweile auch einzusetzen. jEdit ist mittlerweile zu meinem “Lieblings-Editor” avanciert und wenn es mir möglich ist, nutze ich den. Mittlerweile habe ich mir den Source Code besorgt und ihn mir auch schon etwas angesehen. Da ich hauptsächlich mit PHP zu tun habe, ist mir Java im Code design “etwas” fremd. Aber vielleicht wachse ich in den Code auch mal rein.

Nichts desto trotz habe ich es geschafft jEdit zu kompilieren. Im großem und ganzem ist das gar nicht so schwierig. Schwieriger war es, die Dokumentation zu finden, wo es beschrieben wird und für eine erforderliche Umgebung zu sorgen. Kurzum, um jEdit zu kompilieren braucht man den jEdit Source-Code und Apache-Ant.

Apache-Ant besorgen.

Apache-Ant besorgt man sich direkt beim Hersteller selbst, nämlich hier. Das entpackt man und richtet am besten einen Pfad ins apache-ant/bin ein. Das hilft nämlich später ant aus jedem beliebigen Ort aufzurufen. Da es viele Betriebssysteme gibt, gehe ich nicht darauf ein. Zu viele Unterschiede…

jEdit aus dem SVN holen.

Auch jEdit holt man sich direkt beim Hersteller und am bestem direkt aus dem SVN, das gibt es hier. Ihr solltet euch schlau machen, wie ihr SVN auf euer System bringt, wiederum gibt es viele Wege und viele sind unterschliedlich. Wenn die Daten geholt worden sind, öffnet man einen Terminal-Emulator(Linux/Unix) oder die Eingabeaufforderung(Windows) und wechselt in den Source-Code Verzeichnis von jEdit.

Im Ordner findet ihr die Datei README.SRC.txt. In ihr viele nützliche Informationen, wie minimale Anforderungen für jEdit sowie unterschiedliche Optionen für kompilieren. So gibt es Anmerkungen, wie man ein Programm samt Windows Installer baut, etwas für Mac OSX, verschiedene Linux Distributionen usw.

jEdit kompilieren

Nun leitet man die kompilierung mit den Befehlen ant dist ein. Der Code wird von Ant nun kompiliert und das ausführbare Programm wird im Ordner dist abgelegt. In meinem Fall, erhielt ich sogar einen Installer, womit ich das neue jEdit auch richtig installieren konnte. Ob der Installer für jedes OS existiert, kann ich nicht sagen. Werde es aber auf jeden fall bei Gelegenheit mal prüfen. Ich bin den Dingen mal etwas nachgegangen und weiß nun ungefähr was passiert. Führt man ant dist aus, wird versucht sämtliche Programmformen zu bauen. In der besagten README.SRC.txt steht drin, wie man nur eine ganz bestimmte jEdit Version bauen kann. So kann man zb. jEdit nur für sein Betriebssystem bauen.

Fazit

http://community.jedit.org/cgi-bin/TWiki/view/Main/BuildingFromSource beschreibt noch einmal, wie man sich die aktuellste Version aus dem SVN besorgt und aus dem Source-Code übersetzt. Insgesamt bin ich sehr froh wie einfach es geklappt hat und es war eine sehr interessante Erfahrung aus der Entwickler-Sicht einer anderen Sprache, mal etwas anderes zu sehen. Als PHP-Entwickler muss man ja nichts kompilieren.

Die nächsten Schritte wären wohl, sich den Code anzuschauen, PlugIn zu erweitern/entwickeln oder vielleicht versuchen den ein oder anderen Bug aus dem Bugtracker zu beseitigen. Aber noch ist es Zukunftsmusik 🙂

Einen Ordner mit PHP auslesen und anzeigen

Momentan fange ich an, mich in JavaScript einzuarbeiten. Ich gehe meist so vor. Ich lege einen Projekt-Ordner an und fülle es nach und nach mit Skripten. Um sie später “zentral” alle beisammen zuhaben, erstelle ich eine zentrale Datei und rufe sie über links auf. Bei wenigen Skripten ist der Aufwand überschaubar, bei mehr als fünf Skripten nervt es aber. Über diese zentrale Datei läßt sich dann ein Skript schneller finden, als zb. erst in der Ordner wechseln, nach Namen suchen, um es anschließend in der URL einzutippen.

Deshalb will ich das ganze automatisiert ablaufen lassen. Kurze Analyse über das was ich nun mache und machen möchte…

Was mache ich?

Ich schreibe viele “Beispiel”-Skripte in einen Ordner. Über einen “zentralen” Skript, das ich händisch erstelle, navigiere ich zu den jeweiligen Skripten.

Was will ich erreichen?

Ich will den Ordner automatisch analysieren lassen und das Ergebnis in dem zentralem Skript anzeigen lassen. Somit brauch ich nur die Skripte im Ordner selbst anzulegen, der gute Rest erledigt sich von selbst.

Da ich Webentwicklung immer unter einem Webserver betreibe, in meinem Fall entwickle ich unter XAMPP, und als Skript-Sprache PHP zu verfügung habe, will ich das ganze schnell mit PHP lösen. PHP stellt mir die Funktion scandir zur Verfügung.

http://php.net/scandir

Mit scandir lese ich einen von mir angegeben Ordner in ein Array aus. Das Array lese ich wiederum in einer Schleife aus und das Ergebnis schreibe ich in ein <a>link</a>-Element. Das Element leite ich in die Ausgabe und die gebe ich schließlich mit echo aus.

Also immer wenn ich nun in den von mir bestimmten Ordner ein Skript ablege, wird es in der zentralen Datei, zb. index.php, als link sofort angezeigt. Banal einfach wie auch praktisch… für mich 🙂

Hier der Code:

<?php

$ordner = '.';
$ausgabe = '';

$ordner_arr = scandir($ordner);

foreach($ordner_arr as $link) {
	$ausgabe .= sprintf('<a href="%s">%s</a><br />', $link, $link);
}

echo $ausgabe;