Archive for November, 2010
Test von Googles neuem Apache Modul mod_pagespeed
Google kündigt an, die Welt applaudiert: Das neue Apache-Modul mod_pagespeed soll automatisch Webseiten schneller machen, ohne Aufwand und für jede Seite, eine bis zu 50% schnellere Webseite wird versprochen. Google selbst hat natürlich auch etwas davon: Wenn jede Webseite schneller abrufbar ist, können die Suchmaschinen-Spider schneller und mehr crawlen…
Doch wenn man es selbst ausprobiert sind die Ergebnisse ernüchternd. Ich habe heute Abend das Modul installiert und aktiviert (in unter 3 Minuten), und ein paar Messergebnisse mit Firebug, PageSpeed und YSlow zusammengetragen.
Ergebnis: kein nennenswerter Geschwindigkeitsschub, teilweise sogar langsamer als vorher. Einige haben bei ersten Benchmarks das selbe Ergebnis wie ich erhalten, andere jedoch sprechen von 46% Verbesserung. Es scheint sehr davon abzuhängen wie die Seite aufgebaut ist und ob bereits Maßnahmen zur Verbesserung der Performance getroffen wurden.
Außerdem habe ich auf meiner Seite nach der Aktivierung Probleme mit dem HTML-Validator gefunden die vorher nicht da waren, durch die „Verbesserungen“ habe ich plötzlich ungültigen HTML-Code!
Hat jemand von Euch bereits Tests gemacht, was ist dabei herausgekommen?
==========================
Die Installation unter Ubuntu (32bit) ist denkbar einfach:
Weiterlesen »
Heute ist „Developers Shame Day“!
Der bereits angekündigte Developers Shame Day ist (bzw. war) heute, und ich habe mal in meinen alten Dateien gewühlt, und etwas „tolles“ gefunden. Getreu unter dem Motto „mit schlechtem Beispiel voran“. Weiter unten findet ihr auch weitere Beiträge von anderen Bloggern.
$result = mysql_query("UPDATE files SET Caption = REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(Caption, 'Ä', 'Ae'), 'Ö', 'Oe'), 'Ü', 'Ue'), 'ä', 'ae'), 'ö', 'oe'), 'ü','ue'), 'ß', 'ss')");
<script><!-- CSInit = new Array; function CSScriptInit() { if(typeof(skipPage) != "undefined") { if(skipPage) return; } idxArray = new Array; for(var i=0;i<CSInit.length;i++) idxArray[i] = i; CSAction2(CSInit, idxArray);} CSAg = window.navigator.userAgent; CSBVers = parseInt(CSAg.charAt(CSAg.indexOf("/")+1),10); CSIsW3CDOM = ((document.getElementById) && !(IsIE()&&CSBVers<6)) ? true : false; function IsIE() { return CSAg.indexOf("MSIE") > 0;} function CSIEStyl(s) { return document.all.tags("div")[s].style; } function CSNSStyl(s) { if (CSIsW3CDOM) return document.getElementById(s).style; else return CSFindElement(s,0); } CSIImg=false; function CSInitImgID() {if (!CSIImg && document.images) { for (var i=0; i<document.images.length; i++) { if (!document.images[i].id) document.images[i].id=document.images[i].name; } CSIImg = true;}} function CSFindElement(n,ly) { if (CSBVers<4) return document[n]; if (CSIsW3CDOM) {CSInitImgID();return(document.getElementById(n));} var curDoc = ly?ly.document:document; var elem = curDoc[n]; if (!elem) {for (var i=0;i<curDoc.layers.length;i++) {elem=CSFindElement(n,curDoc.layers[i]); if (elem) return elem; }} return elem; } function CSGetImage(n) {if(document.images) {return ((!IsIE()&&CSBVers<5)?CSFindElement(n,0):document.images[n]);} else {return null;}} CSDInit=false; function CSIDOM() { if (CSDInit)return; CSDInit=true; if(document.getElementsByTagName) {var n = document.getElementsByTagName('DIV'); for (var i=0;i<n.length;i++) {CSICSS2Prop(n[i].id);}}} function CSICSS2Prop(id) { var n = document.getElementsByTagName('STYLE');for (var i=0;i<n.length;i++) { var cn = n[i].childNodes; for (var j=0;j<cn.length;j++) { CSSetCSS2Props(CSFetchStyle(cn[j].data, id),id); }}} function CSFetchStyle(sc, id) { var s=sc; while(s.indexOf("#")!=-1) { s=s.substring(s.indexOf("#")+1,sc.length); if (s.substring(0,s.indexOf("{")).toUpperCase().indexOf(id.toUpperCase())!=-1) return(s.substring(s.indexOf("{")+1,s.indexOf("}")));} return ""; }
Hier die index.php eines alten Projekts: