Aufgeschnappt beim PHP Magazin und aufgehorcht, da wir letztens drüber nachdachten, wie alt PHP wohl sein mag. Jetzt wissen wir es: 15 stolze Jahre! Am 8. Juni 1995 kündigte der Grönländer Rasmus Lerdorf das damals noch “Personal Homepage Tools” benannte PHP 1.0 in einer Newsgroup an. Es sollte eine leicht erlernbare Alternative zum damaligen Schwergewicht Perl sein, mit welchem sich statische HTML-Seiten um serverbezogene Skripte (für z.B. Counter oder Gästebücher) erweitern ließen.

Ich bin dann Ende 2000 über einen damaligen Kommilitonen auf PHP 3 gestoßen und seitdem glühender Nutzer und Verehrer dieser Skript- und mittlerweile durchaus Programmiersprache. Mittlerweile ist PHP ein sogenanntes rekursives Akronym und bedeutet PHP Hypertext Preprocessor – also ein Code, der vorm Hypertext (HTML) verarbeitet wird.

Momentan aktuell ist die PHP-Version 5.3.2 und die große Anhängerschar deutet auf eine leicht erlernbare Syntax und schnelle Erfolge hin.
Jedoch sollte man sich – vor allem im Internet – bewusst sein, dass man mit unbedarften Skripten und laxem Programmierstil schnell Ärger und Verdruss produzieren kann. Daher sollte die Webentwicklung nicht auf die leichte Schulter und vor allem aber in geschulte Hände gegeben werden.

Zum Abschluss habe ich nochmal das plüschifizierte Maskottchen von PHP über Dresden abgelichtet ;-)

2009-08 PHPanti 011

Gerade weil man als Internet-Entwickler von riesigen Bildschirmen umgeben ist, vergisst man schnell, dass es auch kleinere Bildschirme gibt, auf denen die Seite ebenso gut aussehen muss. Ein nettes kleines Tool, um diese Browsergrößen zu simulieren, habe ich vor einiger Zeit bei meinem damaligen “Praktikum” bei der Agentur Mindbox kennengelernt. Es nennt sich Sizer und kann auf Knopfdruck das Browserfenster auf eine bestimmte Größe einstellen und man kann beim Ändern der Größe des Fenster sehen, welche pixelgenauen Ausmaße dieses gerade hat.

Einfach mal ausprobieren und in den Autostart legen. Ich möchte es nicht mehr missen – vor allem weil ich beruflich und privat vor nem 24-Zoller sitze.

Link zur Freeware: http://www.brianapps.net/sizer.html

Zumindest die Technik-Abteilung. Die gesamte Server- und Programmierungs-Thematik hinter einem der klickstärksten Angebote des deutschen Internets und des einst spannendsten Startups hierzulande finde ich dann doch so interessant, dass ich mir den Feed mal in den RSS-Reader gelegt habe.

http://developer.studivz.net/

So – bevor der letzte Beitrag hier einen Monat alt wird, klimper ich mal wieder einen neuen zurecht :-)

Um die obligatorischen Neujahrsgrüße auch abzuhaken, gibts von mir auch noch ein Frohes Neues für meine Leserschaft!

Ich hoffe, ich kriege dieses Jahr hier ein wenig mehr Ordnung sowie häufigere und interessantere Beiträge fabriziert. Auf jeden Fall werde ich meine neue Kamera öfters mal mit dabei haben um mal wieder unter die Hobbyfotografen zu gehen. Ich wollte zwar erst die Canon Ixus 870 IS erwerben, wurde jedoch in letzter Sekunde vom kompetenten und freundlichen Mediamarkt-Verkäufer auf die Fujifilm Finepix F100 fd umgestimmt.

Was geschieht bei mir zur Zeit? Neben allerhand zu tun, sitze ich gerade öfters an einem Code-Refactoring und Relaunch von meineLeu.de. Dazu wird nicht nur der Code im Hintergrund komplett neu geschrieben, sondern die gesamte Plattform optimiert und verschlankt. Darin fließen natürlich die gesammelten Erfahrungen von zweieihalb Jahren Betrieb und Entwicklung mit ein. Ich schätze, dass es im Mai was zu sehen gibt, ist zwar noch etwas hin, aber ist ja auch nur ein Hobbyprojekt und gut Ding will außerdem Weile haben :-)

Und zum Schluss noch eine gute und eine schlechte Nachricht von der Googlefront: Wie es aussieht, habe ich mich nun endlich bei der Suche nach “maischi” oben festgeankert, leider ging mir aber mein schöner Pagerank 4 flöten. Aber trotzdem lautet mein Ziel für dieses Jahr mindestens die Stufe 5 zu erklimmen. Wäre doch gelacht :-)

Quasi als Nebenprodukt ihrer eigenen Arbeit ist bei Yahoo! wohl dieser Guide entstanden, wie man das letzte Quentchen Geschwindigkeit aus seinen Seiten herauskitzeln kann. Habe mir das mal selber gebloggt, damit ichs nicht verliere.

gefunden bei meinem Lieblings-PHP-Blog PHP Performance, welchem ich zu Unrecht eine Trackback-Asozialität unterstellt habe.

Gefreut habe ich mich über die Ankündigung im Youtube-Blog, eine Video-API bereitgestellt zu haben. Ich habe mich noch nicht eingehend damit befasst – aber es soll wohl möglich sein, basierend auf der Infrastruktur und Technologie von Youtube ein Videoportal aufzubauen bzw. sein Portal um Videofunktionalitäten zu erweitern. Genau das habe ich bisher gesucht. Es gibt zwar bisher mindestens eine Möglichkeit von einem anderen Anbieter – aber diese stellte mich nicht zufrieden, so dass das Thema vertagt wurde.

Passend zum derzeitigen trüben Wetter und meinen Bemühungen, meineLeude etwas mehr Usability beizubringen, kann ich es eigentlich nicht abwarten, dieses Feature umzusetzen. Mal sehen, was das Wochenende so mit sich bringt. Ausprobieren werde ich es auf jeden Fall – die perfekte Einbindung wird sicher nicht innerhalb einer Woche geschehen. Aber da dieses Feature von einigen Mitglieder seinerzeit gewünscht wurde und ich es sehr sinnvoll finde (da ja die meisten Digicams auch kurze Videoclips drehen können), werde ich das mal eingehend prüfen :-)

Wenn ich für ein Projekt ein Content-Management-System einsetzen möchte / muss / darf, dann wird dies aus Überzeugung stets Typo3 sein. Einerseits weil ich mich mittlerweile ganz gut damit auskenne und die Projektdurchlaufzeit dadurch einen ganz guten Wert hat – andererseits weil es sehr komplex und dabei extrem anpassbar ist.

Heutige Aufgabenstellung war ein Teilbereich einer neuen Seite für eine Körperschaft des öffentlichen Rechts. Diese möchten gern ein Heftarchiv ihrer Hausgazette über das System pflegen. Dabei sind unter dem eigentlichen Menüpunkt die Jahre als nächste Ebene vorgesehen. Und unter den Jahren als nächste Seitenebene dann die Ausgaben. Die Inhalte einer Ausgabe sind dann als Inhaltselemente auf dieser Heft-Inhaltsseite eingepflegt. Dabei werden von der Hauptseite und den Jahresseiten Shortcuts auf die jeweils erste Unterseite gelegt.

Ich habe mich nach einigem Probieren für folgende Lösung entschieden um die Inhalte über eine User-Function nach den gewünschten Kriterien darstellen zu können und dabei noch die suchmaschinenfreundlichen URLs (über die Extension CoolURI) zu gewährleisten:

- Die Heftseiten bekommen einen eigenen Seitentyp. Dieser wird über das TSCONFIG der Wurzelseite eingetragen. Code: TCEFORM.pages.doktype.addItems.69 = Heftarchiv

- Diese doktype-ID wird wiederum über ein CASE im Content-Template abgefangen und einer eigenen User-Function zugeführt. Code: … key.field = doktype …

Falls jemand eine bessere Lösung kennt – immer her damit :-)

Gestern war wohl mal eben Google tot. Samt Adsense-Einblendungen auf externen Seiten. Laut Zeugenaussagen soll wohl ein defekter Switch bei der Telekom Schuld gewesen sein. Und ich dachte schon, die haben nur mich gesperrt, weil ich gestern zufällig ein kleines aber feines Proxy-Skript ausprobiert habe. Was ja eigentlich paradox wäre – da ja Google nicht meine IP, sondern nur die der Proxy-Server sieht.

Witziger Post zum Thema vom Fridaynite (passend zum Freitag)

Falls mal jemand ein paar Proxy-Server braucht – es sei mal dahingestellt wofür (z.B. weil irgendeine Seite von irgendeinem Admin gesperrt wurde oder man gern etwas anonymer unterwegs ist) – ich glaube die folgenden sind ganz gut (und vor allem aktuell).

http://www.freshproxylist.org/

Gerade wieder drüber gestolpert: Nach einem Update von MySQL 4 auf 5 funktionieren bestimmte Queries nicht mehr. Und zwar solche, die ein JOIN beinhalten und nach z.B. folgendem Muster aufgebaut sind:

SELECT a.feld
FROM tabelle_a, tabelle_b b
LEFT JOIN tabelle_c c ON a.id = c.feld

Es wird hier ein Fehler zurückgegeben, dass die Spalte a.id nicht existiert – obwohl das Quatsch ist. Nach einigem Herumprobieren wurde ich fündig: Es ist lediglich die Reihenfolge der Tabellen in der FROM-Zeile zu tauschen – also quasi:


FROM tabelle_b b, tabelle_a a

Warum das so ist, habe ich mir noch nicht erörtert. Dafür ist meine Zeit zu knapp – aber die Hauptsache ist ja, dass ich die Lösung kenne. Und vielleicht hilfts ja auch Anderen, die dieser Fehler(?) plagt.

  • Seite 1 von 2
  • 1
  • 2
  • >