PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Neue PHP 5.3 Zertifizierung: Beta Tester gesucht

with 5 comments

Zend hat eine aktualisierte Version seines PHP Zertifikats (nun „PHP 5.3 Zertifikat“) vorbereitet und sucht nun Beta-Tester, die diesen Test einmal bestreiten. Sie wollen damit unter anderem die Schwierigkeit der Fragen einschätzen lernen, sodass der finale Test angemessen ist.

Dieser Beta-Test kostet nichts, man muss sich nur dafür anmelden bis zum 15.07.2010. Dann werden geeignete Testkandidaten ausgewählt, die den Test machen dürfen. Besteht man den Test, erhält man das neue Zertifikat! Aber auch wer nicht ausgewählt wird erhält einen vergünstigten Voucher für das Zertifikat.

Weitere Infos gibt es hier bei E_SCHRADE.

Written by Michael Kliewe

Juli 9th, 2010 at 2:43 pm

Posted in PHP

Tagged with , ,

Eine Progressbar in der Konsole

with 8 comments

Wer des öfteren Konsolenscripte in PHP schreibt kennt das Problem vielleicht: Das neue Admin-Script scheint wunderbar zu laufen, aber irgendwie möchte man den aktuellen Fortschritt beobachten können, denn solche Scripte laufen auch mal mehrere Minuten oder Stunden. Häufig gibt man dann bei jedem Schleifendurchlauf einen Punkt aus, sodass sich die Konsole mit Punkten füllt. Oder aber man gibt eine Laufvariable aus:

for ($i=0; $i<1000; $i++) {
    // Schleifeninhalt
    echo $i."\n";
}

Etwas professioneller sieht natürlich eine Progressbar aus, die die vergangene Zeit ausgibt, eine prozentuale Anzeige und die geschätzte Restzeit.

Das Zend Framework bietet dafür die Zend_Progressbar. Diese Komponente stellt mehrere Adapter bereit: Console, JsPush und JsPull. Hier zeige ich nur die Verwendung für die Konsole, das oben gezeigte Beispiel setzt man so um:


Weiterlesen »

Written by Michael Kliewe

Juli 4th, 2010 at 2:08 pm

PHP Magazin Jahresabos zu gewinnen

with 2 comments

Kurze Eilmeldung: In Jan Walthers PHP Performance Blog kann man ein Jahres-Abo für das PHP-Magazin gewinnen. Heute um 15 Uhr wird die Liste geschlossen, also schnell mitmachen!

Written by Michael Kliewe

Juni 23rd, 2010 at 2:14 pm

Algorithmus-Wettbewerb Teil 2: Spielplan errechnen

with 40 comments

Tüftler aufgepasst, ich habe eine neue Aufgabe, die es möglichst effektiv zu lösen gilt. In der Vergangenheit hatte ich bereits nach Wegberechnungen auf einem Spielfeld für ein Browsergame gefragt, heute soll es um einen Spielplan gehen den es zu errechnen gilt.

Wir haben folgende Ausgangslage: X Spieler möchten ein Turnier veranstalten, wobei jeweils einer gegen einen spielt (Duelle, deshalb sollte X gerade sein). Dabei soll jedoch niemand mehrfach gegen den selben Spieler antreten und es soll niemand ein Spielbrett zweimal benutzen dürfen. Es gibt X/2 Spielbretter, also auch für jeden Spieler X/2 Duelle.

Die Ergebnistabelle ähnelt etwas einer Sudoku-Lösung: Jede Zahl darf nur einmal pro Zeile und einmal pro Spalte vorkommen.

Beispiel: 6 Spieler, 3 Spielfelder

Spielbrett 1Spielbrett 2Spielbrett 3
Runde 11-23-45-6
Runde 23-51-62-4
Runde 34-62-51-3

Für 4 Spieler und 2 Spielfelder gibt es keine Lösung.

Nun sollen gültige Lösungen für beliebig viele Spieler gefunden werden, in meinem Realbeispiel benötigten wir einen Turnierplan für 10 und 12 Spieler. Ich habe vor ca. einem Jahr ein Script geschrieben welches dafür ca. 20 Stunden gebraucht hat, gestern habe ich einen anderen Ansatz gewählt und habe in unter einer Sekunde eine Lösung.

Ihr sollt nun ein Script schreiben das bei einer Eingabe der Spieleranzahl von 20 eine gültige Lösung ausspuckt. Die Lösung dann bitte hier, im eigenen Blog, bei Pastie.org oder sonstwo veröffentlichen (Script + Ergebnis). Mein Script hat 58 Zeilen, ist zufallsbasiert (also keine Rekursion, kein geordnetes Brute-Forcing) und ich werde es in 2 Wochen (6.7.2010) veröffentlichen. Es benötigt für 20 Spieler im Durchschnitt ca. 60 Sekunden (da zufallsbasiert dauert es mal 4 Sekunden, mal 250 Sekunden).

Bin gespannt auf eure unterschiedlichen Lösungen, vielleicht ist ja eine sehr gute und schnelle Lösung dabei! Aber auch erste Ideen und langsame Scripte sind eine gute Basis, sie vorzustellen und zu verbessern.

Das ist auch eine gute Möglichkeit, sich mit Freunden, Bekannten und Arbeitskollegen zu messen 😉

Written by Michael Kliewe

Juni 22nd, 2010 at 12:18 pm

Posted in PHP

Tagged with , ,

Linkpool Nummer 9

with one comment

Ein kleiner Tipp wie man eine neue Produktiv-Version testen kann obwohl die Maintenance-Seite aktiv ist (Könnte man auch zur Absicherung von Admin-Interfaces etc. nehmen, ist aber mit Vorsicht zu geniessen – Security by Obscurity):
http://bigwhoop.ch/artikel/49/2010-06-03/Webapplikationsupdate-trotz-Wartungsseite-testen

10 Dinge, über die sich Entwickler am meisten ärgern:
http://it-republik.de/dotnet/artikel/10-Dinge-ueber-die-sich-Entwickler-am-meisten-aergern-3113.html

Kleines Beispiel wie nützlich der relativ unbekannte Validator Zend_Validate_Db_NoRecordExists ist:
http://blog.dream-coder.de/2010/05/zendframework-eindeutigen-datensatz-pruefen/

Einführung in MongoDB und PHP:
http://devzone.zend.com/article/12132-Getting-Started-with-MongoDB-and-PHP

Vortrag von Johann-Peter Hartmann bei den Drupal-Dev-Days: Warum PHP sich rechnet:
http://www.drupal-dev-days.de/de/sessions/keynote-warum-php-sich-rechnet

Ein etwas älterer Beitrag zu Performance-Tipps bei CSS-Selektoren:
http://www.stevesouders.com/blog/2009/03/10/performance-impact-of-css-selectors/

Sammlung toller CSS3 Effekte:
http://www.net-kit.com/mays-best-resources-for-css3/

Zend Framework Bug Hunt Days im Juni: 3 Tage wird gejagt!
http://devzone.zend.com/article/12257-Announcing-The-June-ZF-Bug-Hunting-Days

Written by Michael Kliewe

Juni 19th, 2010 at 11:40 am