Beating YSlow Roland van Ipenburg

Slides:



Advertisements
Verwante presentaties
Spic en Span Of CCleaner
Advertisements

WORKSHOP. EEN CPU MAKEN VAN UW COMPUTER. Dinsdag 05 / 04 / Door; Tom Roef, bestuurslid. Sodipa Computerclub.
Internet College 2 Architecturen. Architectuur van netwerktoepassingen •Peer to peer –Windows werkgroep •File- en printer sharing •Internet connection.
Workshop harde schijf indelen
E-RADEN Roadmap. AGENDA • Overzicht van nieuwe ontwikkelingen 2009 • Interfaces • Document Types : Meta-data • E-raden gratis ? • Perspectieven.
JQuery en ASP.NET Bart De Meyer.
PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Deze presentatie 1.Introductie: onderzoek en spel 2.Hoe ziet het spel eruit? 3.Brainstorm: vertaling naar het onderwijs.
Seth Godin: If its broken its broken ! Dennis de Vroet Peter van Gerwen Michel Janse.
Website maken met WordPress
W ORD P RESS TECHNISCHE ACHTERGROND Kris Cardinaels 26 maart 2013.
Inhoud Kenmerken ODBC HTML & PHP Inlogfunctie. Inhoud Kenmerken ODBC HTML & PHP Inlogfunctie.
Elizabeth Mattijsen Eerste Nederlandse Perl Workshop 5 maart 2004 Parsing XML / HTML.
De UU naar Blackboard 9.1 Overgang van
ChatBox
Allemaal Content Steven Trooster & Stef Migchelbrink ICT in Onderwijs – Sociale Wetenschappen Content management en digitaal onderwijs.
WEBSITES ONTWIKKELINGEN Trends en standaarden op het gebied van webdesign HTML, DHTML, XHTML, FLASH, CSS Henk Zegwaard december 2003.
Webmaster Training: CSS CSS2 & XHTML By Frederik Van Outryve.
Webpublicatie 1 HTML 4. Cascading Style Sheets ILSO - Webpublicatie2 4.1 Cascading Style Sheets HTML-code MET blitse titels CASCADING STYLE.
Opg.1a: substring } String substring(int a) { int t; for (t=a; t
SIP File Recovery Tool. Agenda 18/10/2006Maken agenda + onderzoeken van verschillende filetypes 25/10/2006Uitzoeken hoe er effecient gelezen en geschreven.
Blackboard en de UB Introdia (hetgeen zoals jullie weten het meervoud van introdium is)
Confidential & Proprietary – SpamExperts B.V TM 1.
Foto’s archiveren woensdag 27 november 2013.
Looking at Code Size and Performance Kevin Muys.  Hoe efficiënt is C++ vergeleken met C  Hoe beïnvloed C++ het benodigde geheugen  Oplossingen voor.
Deel XXI 1 Internetapplicaties Internetprogrammeren Capita Selecta.
IT & Corporatie Professionaliseringsbijeenkomst Utrecht, 29 juni 2009.
Kleine programmaatjes die van belang kunnen zijn.
Wat is WordPress en hoe installeer je het?. Wat is WordPress? WordPress is een CMS (Content Management Systeem) net als Joomla; Met een CMS kan een gebruiker.
Netwerken (2) Informatica.
Web 1.0 HTMLAfbeeldingen FlashHyperlinks CSS Participation AJAX Usability Design Ruby on Rails.
Afbeeldingen op je webpagina
MVC in de praktijk Jeroen Swart.NET architect, Quintor
Advanced Business Information Solutions Software voor webdesign.
1 Les 08: Formulieren. 2 Agenda van vandaag Front-end development  Toets Hoofdstuk 8  Bespreken huiswerk  Presentatie over lesstof  formulieren 
Hoe kan ik mijn persoonlijke instellingen in Digitale Bibliotheek bewaren In deze presentatie wordt voor twee onderdelen getoond hoe u dit kunt doen 1.
Beeldbewerking les 3. beeldbewerking 1.formaten (soorten bestanden) 2.dragers (media) 3.opdracht: foto’s bewerken.
Webpagina's maken met (X)HTML en CSS Lang leve het Kladblok!!! Verboden voor editors.
INFITT01 - Internettechnologie WEEK 3. Programma Sessies JSP.
Agenda  Lesuur minuten  Wat kun je met programmeren?  Wat is code en hoe werkt het?  Code schrijven: de basis  Lesuur minuten  Zelf.
Lettertypen installeren  Installeer eerst de World Servants- lettertypen, die kun je hier downloaden.hier  Hoe werkt dat? Zet de lettertypen in de map.
Dd-mm-yyyyTMC-Nederland1 Bentley Trust Licensing Zegen of Zorg? Gerrit Jan Werler (TMC-Nederland)
EMSE 20 oktober 2015 Verlichting, het Internet of Things en ARM mbed 3.0 Klaas de Waal.
1 Bart van Muijen – Sales & Operations Manager UPDATE PV.
wordPress  Het meest flexibele CMS CMS= Content Management System.
De actualiteit TypeWorld maakt leren typen leuk en makkelijk!
Positie en grootte van foto aangeven Positie van de kopregel; kleur, grootte en lettertype aangeven Positie van de subkop; kleur, grootte en lettertype.
Wat is een Back-up Wat is synchroniseren Wat is een kopie maken Vragen vooraf.
Door Ben Cokelaere, student Howest Galaxy pipelines voor de analyse van omics data.
Wat gaan we doen in 2012? We zoeken nieuwe oplossingen. En we vertellen er over.
‘The making of …’ Gebruikersgroep data.overheid.nl 10 juni 2016.
Vliegen als een vogel snel te leren gemakkelijk Leuk om te doen.
Trivalent Loopbaanevent 21 mei
SAP Solution Manager Technical Monitoring in SSM
Javascript.
Processing Structured Hypermedia
Presentatie titel Measurement education in the junior primary –
E-Boeken van binnen Of wat zit er in een epub
Vochtmeten in inhomogene bulkmedia. inline en online
Inhoud: Terugkomdag Wie heeft wat gemaakt? Tips?
Marketing as a service ‘Hoe ziet de klantreis voor onze verschillende klanten eruit?’ Hoe wordt touchpoint ‘formulieren’ ervaren? ‘Zijn de formulieren.
Internetbankieren.
Praegus B.V.. .
CSS: cascading stylesheets
Service Virtualisatie met gratis Virtualize Community Edition!
Wat je er mee kan doen en waarom het zo handig is.
Java Masterclass Sar Maroof.
CSS: cascading stylesheets
Onbevredigd door Testautomatisering? Reduceer je False Negatives!
Transcript van de presentatie:

Beating YSlow Roland van Ipenburg <ipenburg@cpan.org> Dutch Perl Workshop, Zaterdag 14 April 2012

YSlow

YSlow

YSlow

YSlow

YSlow Gratis browser plug-in Makkelijk Ziet er leuk uit

YSlow Gratis Makkelijk Ziet er leuk uit Managers die er verder weinig vanaf weten zien daar toch graag overal

YSlow Gratis Makkelijk Ziet er leuk uit Managers die er verder weinig vanaf weten zien daar toch graag overal Ik ook

Maar… TIMTOWTDI traag TIMTOWTDI snel

Maar…

Focus Compressie Minder HTTP requests Caching

Build script Comprimeert PNG Comprimeert JavaScript Comprimeert Cascading Style Sheets Maakt minder HTTP requests Optimaliseert voor caching

Compressie App::PNGCrush? sub build_png { my ( $from, $to ) = @_; $to =~ s{(.*)/.*}{$1}gis; my @PNGCRUSH = ( q{pngcrush}, q{-d}, $to, q{-brute} ); system( @PNGCRUSH, $from ); return; }

Compressie JavaScript::Minifier::XS? Readonly::Scalar my $YUICOMP => q{java -jar %s -o}; my @yuicomp = split $SPACE, ( sprintf $YUICOMP, $opts{yuicomp} ); sub build_js { my ( $from, $to ) = @_; system( @yuicomp, $to, $from ); return; }

Compressie CSS::Minifier? Readonly::Scalar my $YUICOMP => q{java -jar %s -o}; my @yuicomp = split $SPACE, ( sprintf $YUICOMP, $opts{yuicomp} ); sub build_css { my ( $from, $to ) = @_; system( @yuicomp, $to, $from ); version_assets($to); return; }

system()

system() Zelfde uitvoer als niet Perl oplossing Geen extra dependency Snelst Making Easy Things Easy & Hard Things Possible

Hard things Maakt minder HTTP requests Optimaliseert voor caching

Minder HTTP requests Inline data background-image: url("data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAAH3dmY0AAAAGXR FWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAB5JRE FUCFtj+P//vyADmEAFQCElOOsunFUOxKEYHABp9Rqiaw+C6gAAA ABJRU5ErkJggg==");

Inline data MIME::Base64 $image_data = q{data:} . $MAP{$extension} . q{;base64,} . MIME::Base64::encode_base64( $image_data, $EMPTY );

Caching Expire nooit Dus verander de bestandnaam als het bestand wijzigt

Fingerprint bestand MIME::Base64::URLSafe Digest::MD5 my $fingerprint = substr( MIME::Base64::URLSafe::urlsafe_b64encode( Digest::MD5::md5_hex($external_data) ), 0, $FINGERPRINT_LENGTH ); my $new_url = $base . $FINGERPRINT_SEPERATOR . $fingerprint . $ext;

CDN Content Delivery Network

CDN

CDN Content Delivery Network $new_url = $opts{cdn} . ($dir ne ($DOT . $SLASH) ? File::Spec->catfile( $dir, $new_url ) : $new_url );

Perl & CPAN Archive::Zip Getopt::ArgvFile Log::Log4perl DBD::SQLite WebService::Validator::HTML::W3C WebService::Validator::CSS::W3C Image::Compare

Vragen? @ipenburg Werkt bij puurpxl.nl