Archive for the ‘PHP’ Category
High Performance: Caching (reloaded) mit PHP
Gastartikel von Oliver Sperke.
Ich bin 35 Jahre alt und seit 10 Jahren selbständiger Webentwickler. Mein Fokus liegt dabei auf der Erstellung, Beratung und Optimierung in den Bereichen High Performance, Usability und Sicherheit in den gängigsten Internetsprachen: PHP, HTML, Javascript und CSS.
Nach langem Arbeiten an einem Projekt fängt der ambitionierte Entwickler an, zu testen, wie sich seine dynamische Internetseite unter Last verhält. Da ja jeder von uns von Millionen Besuchern träumt, will man natürlich auch wissen, wie sich Millionen von Besucher anfühlen und ob unser „kleines Kunstwerk“ davon genau so begeistert wäre wie wir. Dynamische Webseiten sind toll, allerdings hat der gemeine Internetserver ein großes Problem damit. Die Erzeugung ist meist sehr aufwendig. Daten müssen aus Datenbanken geholt werden, Berechnungen wollen berechnet werden und Blogeinträge müssen wie Blogeinträge aussehen.
Seit Jahren hat sich eine simple Technik etabliert, die diese gequälten Webserver entlastet. Jeder fortgeschrittene Entwickler kennt und liebt sie, weil sie so schön einfach und universal einsetzbar ist: *trommelwirbel* Das Caching *tusch*. Da aber Caching an sich ein uralter Hut ist, will ich Euch zeigen, wie Ihr evtl. Eure Performance mit minimalen Änderungen mehr als verdoppeln könnt.
Am Anfang war der Benchmark
Kleine Einführung in die YouTube API
So, heute ist die YouTube API dran, nachdem ich letzte Woche die SlideShare API vorgestellt hatte. Mit Hilfe der YouTube Data API ist es möglich Videos hochzuladen, nach Videos zu suchen und Kommentare abzurufen. Man kann sich mit der API auch „einloggen“ und Dinge tun die man als eingeloggter User machen kann, beispielsweise als dieser User Videos hochladen, Playlisten bearbeiten usw.
Da wir uns die Hände nicht unnötig schmutzig machen wollen nutzen wir wieder Zend-Klassen dafür. Ich zeige hier die Verwendung von Zend_Gdata_YouTube, wenn man das ganze Zend Framework scheut kann man die Zend_Gdata Klassen aber auch einzeln downloaden. PHP 5.1.4 und Zend_Gdata > 1.7.7 werden aktuell benötigt.
Für die öffentlichen Funktionen benötigen wir keine Authentifizierung, wir können direkt loslegen. Wenn die YouTube VideoID bekannt ist kann man Informationen zum betreffenden Video wie folgt abrufen:
Adventskalenderartikel 01.12. – 10.12.
Heute gibts eine Menge Links zu Adventskalender-Blogartikeln. Jeden Tag ein Türchen, dahinter jeden Tag ein Artikel aus dem PHP- und Webumfeld. Viel Spass beim Lesen!
Zusammenfassung Adventskalender 2011 von Mayflower:
01.12. CLOUD Transformation Model
02.12. PHP 5.3 Features in real life
03.12. Setting up an own QA Environment for Javascript
06.12. Doctrine 2 – Zend Framework Integration
08.12. Agilere Datenbankentwicklung
Zusammenfassung PHP Advent 2011:
03.12. Reduced-Friction Deployment
05.12. A Stitch in Time Saves Nine
Zusammenfassung Webkrauts CSS Adventskalender 2011:
01.12. Wireframes für Startseiten
02.12. Konzentriert und strukturiert Texten
03.12. One Button to rule them all
04.12. Effiziente CSS-Entwicklung mit Sass und Compass (Teil 1)
05.12. Effiziente CSS-Entwicklung mit Sass und Compass (Teil 2)
07.12. Mobile Usability – Gebrauchstauglichkeit für unterwegs
08.12. CSS 3 im Praxistest: Multi-column Layout
09.12. SELECT Bilder FROM Flickr OR PicasaWebAlbums WITH YQL FOR Bildergalerie
10.12. YQL-Bildergalerie als WordPress-Plugin
Es gibt noch weitere Adventskalender-Artikel, beispielsweise über CSS:
http://maddesigns.de/ zusammen mit http://webstandard.kulando.de/
Zugriff auf die SlideShows bei SlideShare via Zend_Service_SlideShare
SlideShare hat eine API über die man auf die SlideShows zugreifen kann, man kann einzelne SlideShows abrufen und SlideShows nach Tags, Gruppen oder Usernamen suchen, und erhält dann jeweils Details wie Titel, Uploaddatum, Anzahl Views, Anzahl Downloads, EmbedCode und über ein Dutzend weitere Informationen. Es ist auch möglich neue SlideShows hochzuladen.
Der Zugriff ist nicht sonderlich schwer, man benötigt einen API-Schlüssel und ein Shared Secret die man bei SlideShare im Entwicklerbereich beantragen kann. Dann sendet man einfach GET bzw. POST Anfragen an bestimmte URLs, und bekommt XML zurück.
Am einfachsten geht es jedoch mit der Zend_Service_SlideShare Klasse aus dem Zend Framework:
ElePHPanten zu Weihnachten und Mayflower Adventskalender
EDIT: Bestellungen 2012 bitte hier: ElePHPanten, ElePHPanten, ElePHPanten
Der 1. Dezember, noch 24 Tage bis Weihnachten. Wer hat schon alle Geschenke? Wahrscheinlich keiner 😉 Falls noch jemand ein Geschenk für sich selbst oder für Freund/Freundin oder Kollegen braucht, ich habe wieder ElePHPanten Nachschub bekommen, der Andrang in den letzten Monaten war ja wirklich gewaltig und ich kam in Lieferschwierigkeiten, aber nun habe ich neue Dickhäuter für euch.
Die Preise und Portoinformationen sind gleich geblieben:
Preise (für Deutschland):
- der kleine ElePHPant (blau
): 8 Euro (+2 Euro Versand) - der große ElePHPant (blau oder pink): 74 Euro (+8 Euro versicherter Versand)
2 kleine ElePHPanten passen in eine Versandtasche, der Preis ist dann 18 Euro (8+8+2).
Die Versandkosten nach Österreich bzw. in die Schweiz betragen 4 Euro statt 2 Euro.
Die kleinen ElePHPanten verschicke ich unversichert als Warensendung, falls jemand einen versicherten Versand möchte bitte erwähnen, das Porto liegt dann bei 8 Euro als Päckchen. Letztes und auch dieses Jahr ist mir kein Verlust bekannt geworden.
Jeder Interessent unten im Kommentarbereich bekommt von mir eine E-Mail mit den Informationen zur Überweisung bzw. PayPal-Bezahlung.
Mayflower Adventskalender:
Heute startet im Mayflower Blog eine Adventskalender-Aktion. Jeden Tag gibt es einen hochwertigen neuen Artikel zu lesen. Heute beginnt Daniel Hallmann mit dem Thema CLOUD Transformation Model. Es geht darum wie man Webapplikationen, die ihre Logik sowohl auf dem Client als auch auf dem Server bzw. in der Cloud betreiben sicherer machen kann.
Hier einige tolle Bilder des elePHPanten auf Flickr:
http://www.flickr.com/search/?q=elephpant
Oder Googles Bildersuche:
http://www.google.de/images?q=elephpant