De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Beating YSlow Roland van Ipenburg

Verwante presentaties


Presentatie over: "Beating YSlow Roland van Ipenburg"— Transcript van de presentatie:

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

2 YSlow

3 YSlow

4 YSlow

5 YSlow

6 YSlow Gratis browser plug-in Makkelijk Ziet er leuk uit

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

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

9 Maar… TIMTOWTDI traag TIMTOWTDI snel

10 Maar…

11 Focus Compressie Minder HTTP requests Caching

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

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

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

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

16 system()

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

18 Hard things Maakt minder HTTP requests Optimaliseert voor caching

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

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

21 Caching Expire nooit Dus verander de bestandnaam als
het bestand wijzigt

22 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;

23 CDN Content Delivery Network

24 CDN

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

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

27 Vragen? @ipenburg Werkt bij puurpxl.nl


Download ppt "Beating YSlow Roland van Ipenburg"

Verwante presentaties


Ads door Google