Interessante Ergebnisse einer Umfrage zu Eclipse
Eine Umfrage in der Eclipse Community, deren Ergebnisse bereits im Sommer 2007 präsentiert wurden, bringt interessante Zahlen zur Verwendung von Eclipse.
Z.B. dass die meist verwendeten Eclipse-Projekte folgende sind
- Java Development Tools (88% der Befragten)
- Web Standard Tools (54%)
- J2EE Standard Tools (44%)
- Rich Client Platform (42%)
- Eclipse Modeling Framework (37%)
Ich hätte nie gedacht, dass soviele der Eclipse-Anwender damit auch Web Projekte realisieren. Bei dieser Umfrage nahmen ca. 1000 Personen teil. Mehr Informationen findet ihr in diesem Beitrag von Golem.de .
Mein letzter Umstieg in Sachen Entwicklungsumgebung war der auf Eclipse Webprojekte zu programmieren. Bis jetzt lassen sich PHP-Skripts ganz gemütlich in Eclipse schreiben. Meine Meinung zum Thema “Eclipse als IDE für Webprojekte” werdet ihr noch zu lesen bekommen
.
Übrigens: Happy new year ![]()
Blick in die Zukunft
Es ist eine Weile her, dass ich den letzten Post geschrieben habe und auch meine Programmier-Projekte angepackt habe. Grund ist mal meine zweiwöchige Grippephase, sowie viel Schulstoff.
In der Zeit zwischen Weihnachten und Neujahr ziehe ich mich in ein stilles Plätzchen in meiner Heimat zurück, wo ich mich vom ganzen Stress erholen kann und endlich Zeit habe auf meinem Notebook an den Projekten zu arbeiten. Welche Projekte es sein werden? Keine Ahnung. Vielleicht werde ich schon ein neues anstreben, jedoch soll in dieser Zeit eines vollendet werden.
Ich wünsche euch daher allen eine schöne Weihnachtszeit, sowie einen guten Rutsch ins neue Jahr
.
Have fun ![]()
Hilfreiche Array-Funktionen (PHP)
Letztlich habe ich mal begonnen eine Funktion zu programmieren, die mir die Elemente in einem Array zufällig sortiert. Nach nicht mehr als 10 Minuten fragte ich Google, da ich einfach zu faul war. Und siehe da, anstatt ein mehrzeiliges Codeschnipsel war die simple Funktion shuffle die Lösung.
Was ich daraus gelernt habe ist, dass in PHP fast alles schon irgendwie vorprogrammiert ist.
Nun…
Wenn wir schon bei den Arrays sind möchte ich ein paar Array-Funktionen auflisten, die zumindest mir die Arbeit (neue Funktionen programmieren) abnehmen.
- asort
- Sortiert ein Array.
- shuffle
- Sortiert zufällig bzw. mischt die Elemente in einem Array.
- rsort
- Array in umgekehrter Reihenfolge sortieren.
- array_flip
- Werte und Schlüssel in einem Array werden vertauscht.
Weitere Array Funktionen gibt’s hier.
PHP Sicherheit
Sicherheit in der Webentwicklung spielt eine grosse Rolle. Man ist manchmal wirklich verblüfft wie anfällig manche Webprojekte sind, da zu wenig oder gar kein Wert auf die Sicherheit gelegt wird.
Dabei kann die grundlegende Sicherheit mit relativ einfachen Eingriffen bewährt werden.
Da wären mal Regeln wie:
- Benutzereingaben niemals trauen
- Register Globals nicht verwenden
- Daten filtern & validieren
- Lieber Sessions als REQUEST-Variabeln zum Transport von Daten verwenden
- und und und
Jens Ferner hat das PHP Security Guide des PHP Security Consortium auf Deutsch übersetzt und noch mit ein paar eigenen Ergänzungen versehrt. Dieses Security Guide bietet einen leichten Einstieg in die PHP Sicherheit und demonstriert, welche Sicherheitslücken in PHP-Projekte unbewusst gemacht werden und natürlich wie sie bekämpft werden können. Ich habe einiges Neues entdeckt und bin nun noch sicherheitsbewusster beim Skripten.
Auf jeden Fall zu empfehlen. Hier der Link zum deutschen PHP Security Guide von Jens Ferner.
Mal zur Abwechslung ein Onlinespiel (Wörter killen)
Früher dachte ich bei Programmierarbeiten würde ich die ganze Zeit nonstop auf die Tastatur drauf hauen. Die Realität sieht anders aus und man kann (ich zumindest) froh sein, wenn man 30 Zeilen Code in einer Stunde geschrieben hat. Also viel denken ist angesagt.
Neulich hat mir Ricdes einen coolen Link zu einem Onlinegame geschickt, bei dem man voll drauf lostippen oder gewaltlos seine Frust auslassen kann, da man sich schon recht konzentrieren muss. Lange drum herum reden will ich nicht, hier der Link zum Onlinespiel namens “QWERTY Warriors”. Einfach die Wörter eintippen, die über die Gegner stehen und entern (= ballern).
Am Anfang würde ich nicht die schwierigste Stufe nehmen, da sich diese für den Schluss-Spurt sehr gut eignet.
Meine Best-Leistung bei der Stufe “Medium” ist 144820
Have fun
Nützliche Firefox Add-ons für Webworker
Das entwickeln von Homepages ist manchmal eine harte Sache
.
Zum Glück gibt es für Firefox-Nutzer wie mich kleine Helfer, die mir die Arbeit erleichtern. Ja, genau, die Rede ist von Firefox Add-ons.
Blitzschnell von Firefox zu IE
Ein oft auftretendes Problem bei der Erstellung einer Website ist, dass manche im Internet Explorer nicht so aussehen wie im Firefox. Dieses Add-on löst zwar das Problem nicht, aber es erleichtert die Arbeit es zu beheben.
Mit dem Add-On IE Tab kann man im Firefox bequem eine Website mit IE-Ansicht simulieren und das ganz komfortabel in dem man auf das Firefox-Symbol rechts unten im Eck anklickt oder auf das Symbol in der Symbolleiste.
POST- und GET-Parameter beeinflussen
Im Blog von Ilimitado.de wurde über ein weiteres Add-On berichtet, welches bei Programmierarbeiten äusserst nützlich ist. Mit der Erweiterung UrlParams lassen sich bequem POST- und GET-Parameter anpassen. Es können auch neue Parameter gesetzt werden.
Kennt ihr weitere nützliche Add-Ons?
SQL Select liefert immer true zurück, warum?
Nach langem wieder einmal hab ich eben eine kopfzerbrechliche Auseinandersetzung mit meinen Kollegen PHP und MySQL erlebt.
Für die Homepage www.clipcrawl.com musste ein Tagcloud her. Anstatt ein fix fertiges Script zu benutzen, dachte ich mir “Schreib doch selber schnell (
) ein Tagcloud-Script”. Also fing ich auch damit an. Und man kommt hier um eine Datenbanklösung nicht herum. Ich benutzte MySQL und irgendwo musste ich Selects mit der Funktion mysql_query() ausführen.
Das Ergebnis, welches ich vom SQL-Select erhalte beinhaltet einen Boolean-Wert der mir mit dem Rückgabewert True sagt, dass der Befehl erfolgreich war und mit False nicht.
Also führte folgenden Select aus “SELECT tag, count FROM tag_tabelle WHERE tag = ‘Games’ “.
Die Tabelle tag_tabelle erhält die Tags, von denen welche im Tagcloud ausgegeben werden. Die Spalte tag hat den Typ Varchar(150). Ein Datensatz mit dem Wert ‘Games’ in der Spalte tag existierte aber nicht. Warum denn nicht? Die Tabelle war leer und wurde frisch erstellt. OK. Dieser Select würde mir (rein theoretisch) einen Booleanwert mit False als Wert zurückliefern, da ja der gesuchte Datensatz in der Tabelle nicht existiert.
Aber nein nein! Programmieren würde sich mein Hobby & Beruf nicht nennen, wenn etwas nicht läuft wie erwartet. Auch hier lief es nicht wie erwartet. Als Rückgabewert erhielt ich True !!! “Hää?” Dachte ich. “Unmöglich! Geht doch nicht!”. Warum soll der Select erfolgreich gewesen sein?
Mit mysql_fetch_row() versuchte ich (weil es ja anscheinend ein Resultat gab) einen Datensatz zu packen. Dieser war aber leer. *???*
Ich dachte ich werde verrückt. Da ist doch nichts drin in dieser Tabelle und immer erhielt ich beim Select einen Erfolg gemolden.
Ach ja, PHPmyAdmin habe ich nicht benutzt, da ich darauf keinen Zugriff hatte. Nur FTP-Zugriff hatte ich. Ich arbeitete nur mit PHP-Scripts.
Nach langen Blockaden in meinem Hirn entschied ich mich das ganze schnell auf meinem XAMPP-Server lokal nachzuspielen. Gut. Server gestartet und per phpMyAdmin einen Datensatz anhand der VARCHAR-Spalte tag gesucht (natürlich mit SQL Befehl). Das Resultat war wirklich nicht rot im Hintergrund. Kein Fehler wurde gemolden. Aber eine Meldung stand da “MySQL lieferte ein leeres Resultat zurück (d. h. null Zeilen).” -.-
Also: Wenn man SQL-Befehle mit z.B. mysql_query ausführt und dabei bei Select-Abfragen im WHERE-Zusatz eine VARCHAR/CHAR-Spalte prüft, dann sich bitte nicht auf den boolean-Rückgabewert verlassen. Gibt es Fehler, so werden diese auch entsprechend mit False gemeldet.
Oder in Kurzfassung: Leere Ergebnisse können auch True sein.
Obwohl ich wirklich am verzweifeln war, fand ich es wieder eine tolle Erfahrung und man sieht hier, dass der Computer nur Befehle ausführt und nicht dumm sein kann.
Login mit PHP, Sessions und MySQL
Schon lange ist es her, dass ich mit PHP ein Login-System programmiert habe. Dieses habe ich nur aus reiner Experimentierfreude gecodet, so dass es mir nur so halb im Gedächtnis erhalten blieb.
Auf der empfehlenswerten Internetseite php-resource.de habe ich ein cooles Tutorial entdeckt, welches ich euch nicht vorenthalten will, falls ihr auf dem Weg seid ein Login-System mit PHP und MySQL zu programmieren.
Von mir erhält der Autor (mrhappiness) hiermit einen virtuellen Applaus
.
Also, hier der Link zum Tutorial “Login mit Hilfe von PHP und mySQL”.
Have fun
.
Nice to know: Optionale Parameter in PHP Funktionen
Bis heute habe ich es noch nie benötigt, aber wenn man sich ein bisschen intensiver mit PHP beschäftigt, dann merkt man schon, dass es immer wieder neues zu entdecken gibt.
Also, für die, die den Titel nicht gelesen haben…
es geht hier um optionale Parameter in PHP Funktionen.
Ich will, dass meine Funktion get_sitename() einen Parameter namens variante hat, welche aber nur optional angegeben werden muss. Dies erreiche ich folgendermassen:
<?php
function get_sitename($variante = 0) {
//...
}
?>
Wenn man get_sitename() aufruft und dabei keinen Wert für den Parameter variante angibt, so wird diesem Parameter als Standardwert, die Zahl 0 zugewiesen.
Hier ein bisschen mehr Code, um ein praktisches Beispiel zu sehen.
<?php
function get_sitename($variante = 0) {
switch($variante) {
//Case: Seitentitel mit echo ausgeben
case 1:
echo 'klajo.com';
//Case: Wenn kein Parameter mitgegeben
case 0:
return 'klajo.com';
}
}
?>
Auf #PHP/QuakeNet gibt’s noch ein bisschen mehr zu den optionalen Parametern.
Tools die ich fürs Programmieren benutze
Welche Tools ich zur Erledigung meiner Webworker-Arbeiten und sonstiges Programmieren benutze stelle ich hier vor. Alle Programme sind kostenfrei, was ich äusserst schätze, denn gut muss nicht immer teuer sein.
PHP Designer / PHP, Web development
Für das Programmieren von PHP Skripten benutze ich neben Notepad auch gerne den PHP Designer 2007 - Personal von MPSOFTWARE. Die Personal Edition ist eine Gratisversion für den nicht-kommerziellen Einsatz.
Die Software bietet viele coole Features, wie das Syntax-Highlighting für verschiedene Sprachen (PHP, HTML, XML, SQL, u.a.), für die Faulen gibt es fertige Code-Snippets (Funktionen, Klassen, Variable deklarieren), markierten Text zu einem Kommentar machen oder diesen in einen echo-Befehl (und auch andere) konvertieren.
Für mich genügen eigentlich die nette Oberfläche, sowie die Übersicht aller Variablen und Funktionen (so eine Art Zusammenfassung als Liste). Über diese kann man auf die Funktionen ganz schnell zugreifen, also man springt direkt zur angeklickten Funktion im Code. Das ist sehr praktisch, wenn man in einem Skript ganz viele Funktionen hat und somit die Übersicht über diese fehlt.
Toad Data Modeler / ERM, Datenbankmodellierung
Mit der Datenbankmodellierung beschäftige ich mich sehr oft. Um diese Tätigkeit nicht auf Papier ausüben zu müssen, benutze ich die Freeware von Toad Datamodeler von Quest Software.
Eines meiner Lieblingsfunktionen des Programms ist, dass man aus dem erstellten ERM ein SQL-Script zur Erstellung der Datenbank generieren lassen kann.
Für mich ist dieses Tool jenes, das mir am meisten Arbeit erspart bzw. diese erleichtert.
Filezilla / Dateiupload
Um all meine Arbeiten auf dem Webserver hochzuladen, benutze ich den Opensource FTP Client Filezilla.
Es lassen sich bequem mehrere FTP Server verwalten und Proxy-Server werden ebenfalls unterstützt. Hat man viele Dateientransfers, die man alle auf einmal hochladen will, so bietet sich die Funktion “Warteschlange” an, mit der eine Warteschlange mit mehreren Operationen erstellt und anschliessend abgearbeitet werden kann. Filezilla ist als simpler und weit verbreiteter FTP Client sehr empfehlenswert.
Eclipse / Java Programmierung
Das berühmte Open-Source Projekt Eclipse dient mir als treues IDE für meine Java-Programme.
Ganz einfach werden die Java-Projekte angelegt und verwaltet. Beim Programmieren praktisch, die Befehlsreferenz, die von selbst erscheint, wenn man z.B. System.out. eingibt und einem so alle verfügbaren Methoden, Eigenschaften, usw. des Objektes auflistet. Nicht nur das, auch die Beschreibung der Methoden kann in sekundenschnelle in eine Art Tooltip Box eingeblendet werden. Bei der Fehlersuche bin ich (fast
) immer beim Debugger fündig.
Aufgrund der Plug-in-Struktur wird Eclipse nicht nur für Java, sondern auch für viele andere Programmiersprachen genutzt. Die Plug-ins können über die Update-Funktion von Eclipse kostenlos heruntergeladen werden. Und dann gibt es noch Plug-ins, für die bezahlt werden muss. Mir genügt aber Eclipse in der Standardversion vollkommen als Java Entwicklungsumgebung.
XAMPP
Bei keinem Webdeveloper darf dieses Paket fehlen. XAMPP, das Fixfertig-Paket mit Apache, MySQL, PHP und Perl.
Fast jedes kleine Webprojekt läuft bei mir zuerst auf einem XAMPP-System. PHPmyAdmin ist für die Datenbankverwaltung bereits vorinstalliert. Eigentlich ist da fast alles vorinstalliert. Einfach installieren und laufen lassen. XAMPP erfüllt bei mir den Zweck als Testserver voll und ganz.
Schlusswort
Obwohl ein Programm die Funktionen von zwei anderen Programmen ablösen könnte (z.B. Eclipse), verwende ich mehr Programme, da mir die Entwicklungsumgebung(en) komfortabel erscheinen soll.
Was für Software verwendet ihr fürs Programmieren? Gibt es welche die für mich empfehlenswert sind?






