Tag-Archiv für 'php'Seite 2 von 3

Webinale/ IPC/ Metaverse 2008 – Tag 3

Heute ging es schon direkt 8.30 Uhr los. Und nach sieben Sessions habe ich so einen leichten Informations-overflow. Trotzdem war auch dieser Tag wieder super interessant und gespickt mit sympathischen Gesprächspartnern.

‘Webinale/ IPC/ Metaverse 2008 – Tag 3′ weiterlesen

Webinale/ PHP Conference 2008 – Tag 2

Heute ging es mit den 3 (oder 4) gleichzeitig stattfindenen Konferenzen so richtig los. MIch verwirrt das ja eher, aber bei anderen kam das auch durchaus gut an. Los gings heut morgen mit der ersten Session im überklimatisierten Karlsruher Kongresszentrum.

Scalable PHP Web Applications
Wurde am Besipiel von SugarCRM erklärt. Kein Wunder der Vorträger ist selbst Co-Founder. Leider ging es weniger um Skalierung sondern mehr um Performance-Tuning. Sauberen Code vorausgesetzt soll man seine Queries optimieren, nur das nötigste includen und nicht mehr genutzten Objekte aus dem Speicher löschen. Soweit so bekannt. Ach, InnoDB kann mehr User gleichzeitig handeln als MyISAM. Aha. Wieso? Session zu ende.

Beyond MVC: Enterprise PHP Patterns
Spannender wurde es bei dann schon bei Stefan Priebsch und auch voll wurde es. Es ging um Factory-Patterns, RequestHelper, Command-Pattern, Chained Commands, Domain Models und die Filter-Extensions von PHP. Die Dinge im Detail zu erklären würde den Rahmen hier sprengen. Sobald der Link für die Folien da ist, reich ich das noch nach.

High Security PHP Applications
Fing damit an wie man den Server richtig installiert und konfiguriert, also das komplette Programm. Nur das nötigste installieren, ansonsten alle Ports dicht machen, nicht benötigte Dinge deinstallieren und auf keine Nutzer- oder sonstige Eingaben verlassen. Soweit so auch bekannt. Trotzdem sehr spannend und sehr komprimiert.

Design Pattern in Dynamic Languages
Und nochmal Design Patterns. Allerdings ist Neal Ford ein ziemlicher Fan von Groovy, den ständig ging es um eben Groovy. Ansonsten super interessant. Den farbenfrohen Vortrag gibt es schon online zum Nachlesen.

Auch heute gab es wieder lecker Catering und jede Menge interessante Gespräche abseites der Sessions. Viel neues war dabei. Und das was schon bekannt war, zeigt doch was man bisher auf dem richtigen Weg war.

Der kleine Wochenrückblick KW 19

Endlich die Webseite fertig. Alles da? Sitemap? Vergessen und keine Lust auf die Fummelei? XML-Sitemaps hilft!

Letztes Wochenende war Barcamp in Leipzig, und da wir leider nicht teilnehmen konnten, freut es uns umso mehr das Dirk Jesse seine Folien zur “CSS Frameworks” Session online zur Verfügung stellt.

100 Web-Accessibility-Ressources

Demnächst kommt der neue Indiana Jones Film in die Kinos und die Iconfactory bringt einen kleinen Teil davon auf die Desktops. Mit einer eigenen Icon-Reihe zu jedem der nun 4 Filme und einem authentische Desktop-Wallpaper. Sehr nette Idee und grandiose Icons.

Opera veröffentlicht seine Developer Console namens “Dragonfly“, damit bekommt nun endlich auch Opera eine Erweiterung für Webentwickler. Der Clou, selbst Mobile Browser Support ist ingegriert. Alle Einzelheiten gibts auf den Seiten bei Opera.

Die Führerscheinprüfung wird demnächst (in Berlin/ Brandenburg jetzt schon) nur noch am PC erledigt. Wer üben will schaut beim TÜV vorbei.

Weil ich grad anfange mit damit zu befassen: Multithreading in PHP. Ganz plump gefragt: Lohnt es sich den Multithreading-Ansatz mit CURL zu verfolgen?

Wenn nur alle Websites so auf Typografie achten würden wie diese 15 Beispiele.

Im Bereich der multimedialen Unterhaltung gab es diese Woche eine
durchaus erfreuliche Meldung von Adobe: Mit dem sogenannten Open Screen Project startet Adobe (in Zusammenarbeit mit einigen großen Namen der Branche) die Etablierung einer einheitlichen Laufzeitumgebung basieren auf dem FlashPlayer und später auch auf Adobe AIR.

Die Anzeige von multimedialen Inhalten wird wohl auf diversen Endgeräten (u.A. Mobiltelefone) in Zukunft verstärkt möglich sein. Zumal die Entwickler auch keine Lizenzgebuehren mehr zahlen müssen.

RSS-Feeds selbst erstellen und personalisieren bzw. absichern

RSS-Feeds kann ja heutzutage eigentlich jeder problemlos generieren bzw. gibt es auch genügend fertige PHP-Klassen mit denen man das schnell erledigen kann.

Aber wenn man selbst RSS-Feeds generieren will, dann hat man etwas besonderes vor und das muss oft auch abgesichert bzw. personalisiert werden. Es gibt eine einfache und sichere Möglichkeit wie man Feeds absichern kann, ohne das ihre Portabilität verloren geht, sprich sie noch in jedem Feedreader lesbar bleiben.

Mit diesem kleinen Codeschnipsel lässt sich so schnell und effektiv etwas absichern:

//Authentifizierung prüfen
if (!isset($_SERVER['PHP_AUTH_USER'])) {
	header("WWW-Authenticate: Basic realm='Realm'");
	header("HTTP/1.0 401 Unauthorized");
	echo 'Bitte authentifizieren';
	exit();
} elseif (strval($_SERVER['PHP_AUTH_USER']) == 'Benutzer'
  && strval($_SERVER['PHP_AUTH_PW']) == 'Passwort') {
	//Login okay
	// hier könnte jetzt z.B. ein RSS-Feed
	// generiert werden
	echo 'Login erfolgreich';
} else {
	//Login fehlerhaft
	echo 'Login fehlerhaft';
	exit();
}

Das ist natürlich nur ein simples Bepsiel, aber es verdeutlicht ganz gut die Funktionsweise. Wichtig ist natürlich, wie an allen anderen Stellen wo Nutzer Eingaben machen können, dass diese validiert werden. Um so Angriffen von außen, zumindest über diesen Weg, einen Riegel vorzuschieben. Wer mehr über header() wissen will schaut hier und wers ganz genau wissen will hier.

ParsR – RegEx und Performance

Seit einigen Wochen ist ParsR jetzt in der public beta. Wie bei Betas üblich auch noch mit Kinderkrankheiten. Trotz des ein oder anderen Bugs, läuft ParsR in den ersten Projekten erfolgreich. Zeit also sich Gedanken über die Zukunft zu machen.

Neben der Beseitigung der Bugs steht vor allem die Peformance-Optimierung ganz oben auf der Liste. Auch eine bessere Fehlerbehandlung sehe ich als Muss für eine moderne Software. Als ein weiteres DAS weitere Feature in ParsR sehe ich die Filterung von Inhalten mittels cleverer regulärer Ausdrücke. Damit das Einsatzspektrum noch weiter gefasst werden kann. Bei all dem soll aber die leichte und schnelle Benutzbarkeit gewährleistet bleiben.

Ihr dürft also gespannt sein, wie es sich weiterentwickelt!

p.s.: feature requests, bug reports und eure Ideen sind natürlich ausdrücklich erwünscht ;)