Gut und Böse

Ein Programmierer stirbt und und wird Petrus vorgeführt. Dieser meint: „Du warst kein guter Mann, aber auch kein wirklich schlechter. Du darfst dir selber aussuchen, ob du in den Himmel oder die Hölle kommst.“

Meint der Programmierer: „OK, zeig mir den Himmel“. Petrus führt ihn zu einem riesigen Raum, randvoll mit den den schnellsten Servern, neuester Hardware, den geilsten Workstations usw. „Tjo“, meint Petrus, „du wirst hier der User.“

„Uns wie sieht die Hölle aus?“

„Ist auch hier, aber dann bist du der Admin.“

Zend Zertifikate bei Dynamic Web Pages

Als einziger Anbieter im deutschsprachigen Raum bietet Dynamic Web Pages Online-Kurse als Vorbereitung auf die Zertifizierung von Zend an.

Da wir vor einiger Zeit schon einmal über das Zend Certificate gestolpert sind und uns fragten, wie man das in Deutschland erwerben kann, kommt die Webseite mit allen Infos gerade recht: PHP-Zertifizierung in Deutschland, Österreich und der Schweiz
Zend Zertifikate bei Dynamic Web Pages weiterlesen

High Performance PHP

Momentan findet die OSCON statt, O’Reillys Open Source Convention. Einen interessanten Vortrag scheint George Schlossnagle gehalten zu haben: High Performance PHP. Auf dem Blog der Zend Developer Zone wurde leider nur ein winziger Ausriss davon wiedergegeben, den wir hier eben wiederholen:

George Schlossnagle nannte in seiner Präsentation eine Top-10-Liste für Best Practices in High Performance PHP.

  1. Use a compiler cache
  2. Control your include trees to no more than 10 includes
  3. Be mindful of how you use your RDBMS (Was ist RDBMS?)
  4. Be mindful of how you use other network resources
  5. Use RegEx cautiously
  6. Always build with caching in mind
  7. Output buffering and compression are good.
  8. Watch for resource exhaustion
  9. Profile early, profile often.
  10. Dev-Ops cooperation is essential.

Auch wenn diese Punkte im Zusammenhang mit hohen Performance-Anforderungen genannt wurden, sollte man sie bei jedem PHP-Projekt im Hinterkopf haben.

Tool zur Überprüfung von Fehlern in PHP-Anwendungen

Heise berichtete gestern über ein Tool namens Chorizo, das PHP-Anwendungen auf Fehler wie SQL-, Code-Injection und Cross-Site-Scripting-Lücken sowie andere häufige Angriffsszenarien überprüft:

Ever wanted to detect security issues inside your web applications without a fuss? Then Chorizo! is for you. Scan your application as often as you want – for FREE!

Man kann das Tool zwar nicht herunterladen, aber entweder als Proxy im Browser des Überprüfenden eintragen oder über ein Webformular mit URLs speisen. Für Chorizo gibt es eine kostenlose, private Nutzung, die allerdings weniger Leistungen beinhaltet. Als zahlender Kunde kann man für 289 Euro ein Jahr lang bis zu 5 Hosts prüfen lassen und erhält einen Fehlerbericht im PDF-Format.

sudoku-masters.com

Ein guter und geschätzer Programmierer und Freund meinerseits hat es nun auch gewagt und seine ‚Spiele‘-Seite auf dem Zend Framework geschrieben.

Nicht nur, daß er sich entgegen seiner Gewohnheit durch ein Manual gelesen hat, er hat auch noch eine ebay-intensifier-Klasse im ZF – style geschrieben, die für das Zend Framework sehr interessant wäre.
(Anfragen bitte an ronsel [at] gmx [dot] de)

Nun ja … den kommerziellen Gedanken mal außer Acht gelassen ist das eine ganz interessante Seit geworden (mit ein bißchen Schnickschnack) , aber schaut es euch selber an…

Link: sudoku-masters

greetZ tucci

PS: Das layout hat die gute kruxi gemacht.

Programieren mit PHP 5

Die programmierung mit PHP5 kann man auch online erlernen. Ein Buch und ein Tutorial führen in PHP 5 ein:

Fortgeschrittene Programmierung mit PHP5 der PHPECKE
Sehr umfangreiches Tutorial, dass die verschiedenen Möglichkeiten von PHP5 beleuchtet.

Professionelle Softwareentwicklung mit PHP 5
Objektorientierung. Entwurfsmuster. Modellierung. Fortgeschrittene Datenbankprogrammierung.
Ein komplett auf den Online-Einsatz ausgelegtes Buch von Sebastian Bergmann

Leider gibt es von beiden keine PDF-Druckversion.

PHP-Poem

Ein kleines PHP-Gedicht von Martin Alterisio:

A sad poem of an algorithm where solitude brought excessive use of cpu
cycles and memory allocation for redundant data (it copied over and over
again the same image till all memory was filled with it)

$timeWaiting = 0;
while (!$you->near($me)) {
	$me->thinkAbout($you);

	switch (true) {
		case $timeWaiting < 5:
			$me->wait($you);
			break;

		case $timeWaiting < 10:
			$me->worry();
			break;

		case $timeWaiting < 20:
			$me->lookFor($you);
			break;

		case $timeWaiting < 40:
			$me->worry();
			$me->lookFor($you);
			break;

		case $timeWaiting < 80:
			$me->worry();
			$me->cry();
			$me->lookFor($you);
			$me->lookFor($you);
			$me->lookFor($you);
			break;

		case $timeWaiting < 160:
			$me->worry();
			$me->cry();
			$me->drink();
			$me->lookFor($you);
			$me->lookFor($you);
			$me->lookFor($you);
			$me->thinkAbout($you);
			$me->thinkAbout($you);
			$me->cry();
			$me->lookFor($you);
			$me->lookFor($you);
			$me->drink();
			$me->drink();
			break;

		default:
			throw new CantLiveWithoutYou();
			die(”alone”);
	}

	$timeWaiting++;
}

$me->happy = true;

via Jad’s thoughts

Entwickler-Review: WordPress

Einen für Entwickler interessanten Beitrag zu WordPress bietet broedel.org. In bisher 2 Teilen wird dort WordPress unter die Lupe genommen und hinsichlich des MVC-Prinzip betrachtet. In einem dritten Teil soll eine alternative Herangehensweise vorgestellt werden:

WordPress zerlegen (Teil 1): Aufbau dynamischer Websites

Wenn man aber unter die Haube schaut, stellt man ziemlich schnell fest, wie schlampig das gesamte Ding programmiert wurde. Und ich spreche nicht von Fehlern (obwohl auch die vorkommen), sondern von einem konsequenten und aufgeräumten Programmierstil, den man beim besten Willen nicht finden kann.

WordPress zerlegen (Teil 2): Prozeduralcode

WordPress besitzt keinen Viewer, keinen Controller, kein Datenmodell, nur eine lange Liste von Code. Auf diese Weise vermischt sich Programmcode mit Layout und Design usw. und das führt zu einem relativ starren System. Seien wir mal ehrlich: WordPress-Weblogs erkennt man auf einen Blick, oder etwa nicht?

Krugle Beta-Test

Ich habe mich vor einiger Zeit bei Krugle zum Beta-Test angemeldet. Heute kam die Einladung. Dieser Beta-Test ist der letzte Test vor der Veröffentlichung von Krugle.

Die Jungs und Mädels haben sich wirklich Mühe gegeben: Gespickt mit einer Menge AJAX wird sich die Code-Suchmaschine in blassem Grün präsentieren. Krugle bedient 3 Bereiche: Code (die Quelltext-Suche), Tech Pages und Projects.

Die Suche funktionierte im Test einwandfrei. Die Suche kann auf einzelne Sprachen und Suchbereiche, z.B. Quellcode, Funktionsaufrufe oder Kommentare, eingeschränkt werden. Die Ergebnisse werden nicht in voller Länge angezeigt, sondern platzsparend und übersichtlich auf die Fundstellen begrenzt.

Besonders gut gefallen haben mir die Tabs: Jedes angeklickte Suchergebnis erscheint in einem Tab innerhalb der Seite. Dadurch kann man auf mehrere Ergebnisse gleichzeitig zugreifen, ohne den Ãœberblick zu verlieren.

Da die meisten durchsuchten Dokumente zu Open-Source-Projekten gehören, öffnet man mit dem Dokument gleichzeitig eine Baumansicht des gesamten Projekts. Alternativ kann man solche Projekte direkt suchen, in dem im Bereich „Projects“ danach sucht.

Zusätzlich gibt es verwandte Ergebnisse wie Bücher oder Ergebnisse in den Tech Pages. Die Tech Pages sind eine Art integrierter Browser, mit dem man weitere Informationen (News, Bugreports, Dokumentationen, Foren) rund um den Suchbegriff abrufen kann. Krugle selbst beschreibt die Tech Pages so:

Originally, Krugle was a “code only” search engine, but early testing made it apparent that users required additional capabilities. Users needed simultaneous access to documentation, bug reports, discussion threads, legal information, release news, application notes and other information associated with code. This is the genesis of the “Tech Pages” search option.

Alles in allem ist Krugle eine empfehlenswerte Suchmaschine für Quellcode, die sehr übersichtlich und leicht bedienbar gestaltet wurde. Einziges Manko: Ohne Javascript erhält man folgende Meldung „Krugle Search Requires JavaScript“.

Sinnvolle Nutzung von JavaScript

Die DOM Scripting Task Force des WaSP

Die Mitglieder der DOM Scripting Task Force, einer „Spezialeinheit“ des Web Standards Project, waren in den letzten Monaten sehr aktiv und haben verschiedene Veröffentlichung und Workshops auf den Weg gebracht. Das Web Standards Project hat diese letzten Aktivitäten zusammengefasst.

Hier eine Auswahl der interessantesten Beiträge:
Sinnvolle Nutzung von JavaScript weiterlesen