SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
H O W G Z I P C O M P R E S S I O N W O R K S
R A U L F R A I L E
J S C O N F E U
B E R L I N
• P H P / J S S O F T WA R E D E V E L O P E R
!
• M S ( R E S ) S T U D E N T I N
C O M P U T I N G T E C H N O L O G I E S .
!
• M A D E I N S PA I N .
A B O U T M E
D ATA C O M P R E S S I O N
N O T A N E X P E R T *
D ATA C O M P R E S S I O N I S A N A M A Z I N G T O P I C
R E A L LY !
M A G I C
I T C A N B E S E E N L I K E …
flickr.com/photos/jeffkrause/6799254170
flickr.com/photos/t_e_brown/8677750589
… I T ’ S N O T
I N F O R M AT I O N T H E O RY
C L A U D E S H A N N O N
E N T R O P Y
flickr.com/photos/95303997@N07/10074330416
H = - p ( x ) l o g 2 p ( x )⎲
⎳
AV E R A G E A M O U N T O F I N F O R M AT I O N C O N TA I N E D I N E A C H M E S S A G E
≈ N U M B E R O F B I T S T O R E P R E S E N T T H E M E S S A G E
225 days/year
62 %
17 days/year
6 %
flickr.com/photos/aigle_dore/5952296478flickr.com/photos/mariano-mantel/13955110319
H U M A N B R A I N
I S D E S I G N E D T O C O M P R E S S D A TA
flickr.com/photos/birthintobeing/11841180046
flickr.com/photos/neolao/3105372669flickr.com/photos/tommiephotography/6840025942
flickr.com/photos/earlysound/2186172726
M O R S E C O D E
S H O R T E R S E Q U E N C E S F O R C O M M O N C H A R A C T E R S
flickr.com/photos/amboo213/9044879245
D ATA C O M P R E S S I O N I N H T T P
GET index.html
Accept-Encoding: gzip, deflate
G Z I P + H T T P
G Z I P C O M P R E S S I O N
• D E F L A T E A L G O R I T H M
!
• D E S I G N E D B Y P H I L K A T Z
!
• U S E D I N H T T P, P N G A N D P D F
G Z I P
D E F L AT E
L Z 7 7
H U F F M A N C O D I N G+
L Z 7 7 ( VA R I AT I O N )
T H I S F I L E I S H U G E ! T H AT ' S B E C A U S E T H E F I L E I S N O T C O M P R E S S E D
< 3 3 , 9 >
S E A R C H B U F F E R ( U P T O 3 2 K B ) L O O K - A H E A D
T H I S F I L E I S H U G E ! T H AT ' S B E C A U S E T H E F I L E I S N O T C O M P R E S S E D
L Z 7 7 ( VA R I AT I O N )
< 3 3 , 9 >
L I T E R A L S · L E N G T H S · D I S TA N C E S
H U F F M A N C O D I N G
0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0
0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 1
0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0
H 0 0 0
E 0 0 1
L 0 1 0
O 0 1 1
W 1 0 0
R 1 0 1
D 1 1 0
_ 1 1 1
H E L L O W O R L D
8 8
B I T S
F I X E D - L E N G T H C O D E S
0 0 0 0 0 1 0 1 0 0 1 0 0 1 1 1 1 1
1 0 0 0 1 1 1 0 1 0 1 0 1 1 0
3 3
B I T S
H U F F M A N C O D I N G
C H A R A C T E R F R E Q U E N C Y:
0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 0 0
L 3 0
O 2 1
H 1 0 0
E 1 0 1
W 1 1 0
R 1 1 1
D 1 0 0 0
_ 1 0 0 1
H E L L O W O R L D
1 9
B I T S
I T ’ S A M B I G U O U S
H E
L H O
D O
…
VA R I A B L E - L E N G T H C O D E S
H U F F M A N C O D I N G
L 3 1 0
O 2 1 1 1
H 1 0 0 1
E 1 1 1 0 0
W 1 0 0 1
R 1 0 0 0
D 1 1 1 0 1
_ 1 0 1 0
H U F F M A N C O D I N G
L 3 1 0
O 2 1 1 1
H 1 0 0 1
E 1 1 1 0 0
W 1 0 0 1
R 1 0 0 0
D 1 1 1 0 1
_ 1 0 1 0
0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1
1 1 1 0 0 0 1 0 1 1 0 1
H E L L O W O R L D
3 2
B I T S
H U F F M A N C O D I N G
TA B L E 1 : L I T E R A L S + L E N G T H S
TA B L E 2 : D I S TA N C E S
B L O C K S
B L O C K 1 B L O C K 2 … B L O C K NM M M M
M O D E 1 : N O C O M P R E S S I O N
M O D E 2 : F I X E D C O D E TA B L E S
M O D E 3 : G E N E R AT E D C O D E TA B L E S
flickr.com/photos/functoruser/2436979033
G Z I P C O M P R E S S I O N
I M P L E M E N TAT I O N S
G N U G Z I P Z O P F L I7 - Z I P
M O D E
FA S T
M O D E
H I G H
C O M P R E S S I O N
M O D E
N O R M A L
G E N E R A L R U L E : M O R E T I M E , B E T T E R C O M P R E S S I O N R AT I O
I M P L E M E N TAT I O N S
G Z I P C O M P R E S S I O N
W H Y G Z I P ?
• G O O D C O M P R E S S I O N R A T I O .
• FA S T T O ( U N ) C O M P R E S S .
• I N T H E W O R S T C A S E , E X PA N D S
T H E D A TA S L I G H T LY.
• M E M O RY I N D E P E N D E N T.
• F R E E I M P L E M E N TA T I O N S T H A T
A V O I D PA T E N T S .
T R A D E O F F
N E W E R A L G O R I T H M S
I S S U E S T RY I N G T O A D D B Z I P 2 S U P P O R T T O C H R O M E
G Z I P C O M P R E S S I O N
B E Y O N D G Z I P
P R E P R O C E S S D ATA T O O P T I M I Z E M AT C H E S
G Z I P ( T ( D ATA ) ) < G Z I P ( D ATA )
T R A N S P O S I N G J S O N
{
"name": "John",
"country": "USA"
},
{
"name": "Stephan",
"country": "Germany"
},
{
"name": "Rob",
"country": "USA"
}
{
"name": [
"John",
"Stephan",
"Rob"
],
"country": [
"USA",
"Germany",
"USA"
]
}
X M L / H T M L AT T R I B U T E S O R D E R
<input id='f1' class='field' name="f1" type="text" />
<input class="field" id="f2" type="text" name="f2" />
<input id="f1" class="field" name="f1" type="text" />
<input class="field" id="f2" type="text" name="f2" />
<input id="f1" class="field" name="f1" type="text" />
<input id="f2" class="field" name="f2" type="text" />
<input type="text" class="field" id="f1" name="f1" />
<input type="text" class="field" id="f2" name="f2" />
1 7 , 7 6
%
2 7 , 1 0
%
3 8 , 3 2
%
3 8 , 3 2
%
h t t p : / / g o o . g l / G g M w 2 6
R E F E R E N C E S
“ C o m p re s s o r H e a d ”
C o l t M c A n l i s
“ D a t a C o m p re s s i o n : T h e C o m p l e t e R e f e re n c e ”
D a v i d S a l o m o n
“ A U n i v e r s a l A l g o r i t h m f o r S e q u e n t i a l D a t a C o m p re s s i o n ”
J a c o b Z i v & A b r a h a m L e m p e l
“ A m e t h o d f o r t h e c o n s t r u c t i o n o f m i n i m u m re d u n d a n c y c o d e s ”
D a v i d A . H u ff m a n
T H A N K Y O U
R a ú l F r a i l e
@ r a u l f r a i l e

Contenu connexe

Tendances

Manufacturing the future: Industry 4.0
Manufacturing the future: Industry 4.0Manufacturing the future: Industry 4.0
Manufacturing the future: Industry 4.0Martina F. Ferracane
 
EAC Students' Thoughts on Reading Workshop
EAC Students' Thoughts on Reading Workshop EAC Students' Thoughts on Reading Workshop
EAC Students' Thoughts on Reading Workshop Megan Kuemmerlin
 
Therapist's Guide to UX Strategy - Lindsey Arnold
Therapist's Guide to UX Strategy - Lindsey ArnoldTherapist's Guide to UX Strategy - Lindsey Arnold
Therapist's Guide to UX Strategy - Lindsey ArnoldUXPA International
 
ISDS: The European Proposal of an Investment Court System
ISDS: The European Proposal of an Investment Court SystemISDS: The European Proposal of an Investment Court System
ISDS: The European Proposal of an Investment Court SystemMartina F. Ferracane
 
Web navegadores y buscadores
Web navegadores y buscadoresWeb navegadores y buscadores
Web navegadores y buscadoresEduardo Chávez
 
On the shoulders of Giants: Stop looking up, and Start Looking Down
On the shoulders of Giants: Stop looking up, and Start Looking DownOn the shoulders of Giants: Stop looking up, and Start Looking Down
On the shoulders of Giants: Stop looking up, and Start Looking DownEliza Brock
 
5 Church Stage Designs For Under $50
5 Church Stage Designs For Under $505 Church Stage Designs For Under $50
5 Church Stage Designs For Under $50Josh Blankenship
 
Upgrading OpenStack? Avoid these 3 Common Pitfalls
Upgrading OpenStack? Avoid these 3 Common PitfallsUpgrading OpenStack? Avoid these 3 Common Pitfalls
Upgrading OpenStack? Avoid these 3 Common PitfallsPlatform9
 
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...die.agilen GmbH
 
Will 3D Printing change everything?
Will 3D Printing change everything?Will 3D Printing change everything?
Will 3D Printing change everything?Martina F. Ferracane
 
UX Poland 2016 - Jeff Gothelf - Almost Everything I've Learned From 5 Years o...
UX Poland 2016 - Jeff Gothelf - Almost Everything I've Learned From 5 Years o...UX Poland 2016 - Jeff Gothelf - Almost Everything I've Learned From 5 Years o...
UX Poland 2016 - Jeff Gothelf - Almost Everything I've Learned From 5 Years o...UX Poland
 
Lean UX: It really is about getting out of the deliverables business
Lean UX: It really is about getting out of the deliverables businessLean UX: It really is about getting out of the deliverables business
Lean UX: It really is about getting out of the deliverables businessJeff Gothelf
 
The Internet of Things in Real Estate
The Internet of Things in Real EstateThe Internet of Things in Real Estate
The Internet of Things in Real EstateChad Curry
 
From Data to Knowledge
From Data to KnowledgeFrom Data to Knowledge
From Data to KnowledgeFabien Richard
 
HRM KVK en social media
HRM KVK en social mediaHRM KVK en social media
HRM KVK en social mediaMirror Wise
 

Tendances (19)

Manufacturing the future: Industry 4.0
Manufacturing the future: Industry 4.0Manufacturing the future: Industry 4.0
Manufacturing the future: Industry 4.0
 
EAC Students' Thoughts on Reading Workshop
EAC Students' Thoughts on Reading Workshop EAC Students' Thoughts on Reading Workshop
EAC Students' Thoughts on Reading Workshop
 
Therapist's Guide to UX Strategy - Lindsey Arnold
Therapist's Guide to UX Strategy - Lindsey ArnoldTherapist's Guide to UX Strategy - Lindsey Arnold
Therapist's Guide to UX Strategy - Lindsey Arnold
 
ISDS: The European Proposal of an Investment Court System
ISDS: The European Proposal of an Investment Court SystemISDS: The European Proposal of an Investment Court System
ISDS: The European Proposal of an Investment Court System
 
Web navegadores y buscadores
Web navegadores y buscadoresWeb navegadores y buscadores
Web navegadores y buscadores
 
DATA FLOWS & NATIONAL SECURITY
DATA FLOWS & NATIONAL SECURITYDATA FLOWS & NATIONAL SECURITY
DATA FLOWS & NATIONAL SECURITY
 
On the shoulders of Giants: Stop looking up, and Start Looking Down
On the shoulders of Giants: Stop looking up, and Start Looking DownOn the shoulders of Giants: Stop looking up, and Start Looking Down
On the shoulders of Giants: Stop looking up, and Start Looking Down
 
5 Church Stage Designs For Under $50
5 Church Stage Designs For Under $505 Church Stage Designs For Under $50
5 Church Stage Designs For Under $50
 
Upgrading OpenStack? Avoid these 3 Common Pitfalls
Upgrading OpenStack? Avoid these 3 Common PitfallsUpgrading OpenStack? Avoid these 3 Common Pitfalls
Upgrading OpenStack? Avoid these 3 Common Pitfalls
 
ISDS in APEC region the record
ISDS in APEC region   the recordISDS in APEC region   the record
ISDS in APEC region the record
 
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...
Keynote: Von Scrum und Tütensuppen - Warum Scrummaster die besseren Köche sin...
 
Will 3D Printing change everything?
Will 3D Printing change everything?Will 3D Printing change everything?
Will 3D Printing change everything?
 
UX Poland 2016 - Jeff Gothelf - Almost Everything I've Learned From 5 Years o...
UX Poland 2016 - Jeff Gothelf - Almost Everything I've Learned From 5 Years o...UX Poland 2016 - Jeff Gothelf - Almost Everything I've Learned From 5 Years o...
UX Poland 2016 - Jeff Gothelf - Almost Everything I've Learned From 5 Years o...
 
Lean UX: It really is about getting out of the deliverables business
Lean UX: It really is about getting out of the deliverables businessLean UX: It really is about getting out of the deliverables business
Lean UX: It really is about getting out of the deliverables business
 
Firefox OS Bus India Tour
Firefox OS Bus India TourFirefox OS Bus India Tour
Firefox OS Bus India Tour
 
The Internet of Things in Real Estate
The Internet of Things in Real EstateThe Internet of Things in Real Estate
The Internet of Things in Real Estate
 
From Data to Knowledge
From Data to KnowledgeFrom Data to Knowledge
From Data to Knowledge
 
Lifecycle Branding Guidelines Presentation
Lifecycle Branding Guidelines PresentationLifecycle Branding Guidelines Presentation
Lifecycle Branding Guidelines Presentation
 
HRM KVK en social media
HRM KVK en social mediaHRM KVK en social media
HRM KVK en social media
 

En vedette

Cómo alcanzar el éxito SEO Internacional #SEOnthebeach
Cómo alcanzar el éxito SEO Internacional #SEOnthebeachCómo alcanzar el éxito SEO Internacional #SEOnthebeach
Cómo alcanzar el éxito SEO Internacional #SEOnthebeachAleyda Solís
 
How GZIP works... in 10 minutes
How GZIP works... in 10 minutesHow GZIP works... in 10 minutes
How GZIP works... in 10 minutesRaul Fraile
 
MEDIR EL ROI EN UX - MIDIENDO LO INTANGIBLE
MEDIR EL ROI EN UX - MIDIENDO LO INTANGIBLEMEDIR EL ROI EN UX - MIDIENDO LO INTANGIBLE
MEDIR EL ROI EN UX - MIDIENDO LO INTANGIBLEGemma Muñoz
 
Zend PHP 5.3 Demo Certification Test
Zend PHP 5.3 Demo Certification TestZend PHP 5.3 Demo Certification Test
Zend PHP 5.3 Demo Certification TestCarlos Buenosvinos
 
Content Strategists: Use SEO to achieve your content goals #ConfabEU
Content Strategists: Use SEO to achieve your content goals #ConfabEUContent Strategists: Use SEO to achieve your content goals #ConfabEU
Content Strategists: Use SEO to achieve your content goals #ConfabEUAleyda Solís
 
Speed up your Symfony2 application and build awesome features with Redis
Speed up your Symfony2 application and build awesome features with RedisSpeed up your Symfony2 application and build awesome features with Redis
Speed up your Symfony2 application and build awesome features with RedisRicard Clau
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to SwiftGiordano Scalzo
 

En vedette (7)

Cómo alcanzar el éxito SEO Internacional #SEOnthebeach
Cómo alcanzar el éxito SEO Internacional #SEOnthebeachCómo alcanzar el éxito SEO Internacional #SEOnthebeach
Cómo alcanzar el éxito SEO Internacional #SEOnthebeach
 
How GZIP works... in 10 minutes
How GZIP works... in 10 minutesHow GZIP works... in 10 minutes
How GZIP works... in 10 minutes
 
MEDIR EL ROI EN UX - MIDIENDO LO INTANGIBLE
MEDIR EL ROI EN UX - MIDIENDO LO INTANGIBLEMEDIR EL ROI EN UX - MIDIENDO LO INTANGIBLE
MEDIR EL ROI EN UX - MIDIENDO LO INTANGIBLE
 
Zend PHP 5.3 Demo Certification Test
Zend PHP 5.3 Demo Certification TestZend PHP 5.3 Demo Certification Test
Zend PHP 5.3 Demo Certification Test
 
Content Strategists: Use SEO to achieve your content goals #ConfabEU
Content Strategists: Use SEO to achieve your content goals #ConfabEUContent Strategists: Use SEO to achieve your content goals #ConfabEU
Content Strategists: Use SEO to achieve your content goals #ConfabEU
 
Speed up your Symfony2 application and build awesome features with Redis
Speed up your Symfony2 application and build awesome features with RedisSpeed up your Symfony2 application and build awesome features with Redis
Speed up your Symfony2 application and build awesome features with Redis
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to Swift
 

Similaire à How GZIP compression works - JS Conf EU 2014

SEO: A Crash Course | What is SEO in 2015? An Ethoseo™ Presentation
SEO: A Crash Course | What is SEO in 2015? An Ethoseo™ PresentationSEO: A Crash Course | What is SEO in 2015? An Ethoseo™ Presentation
SEO: A Crash Course | What is SEO in 2015? An Ethoseo™ PresentationDamien Wright
 
Blue Moon - Advertising Plan (Group Project)
Blue Moon - Advertising Plan (Group Project)Blue Moon - Advertising Plan (Group Project)
Blue Moon - Advertising Plan (Group Project)Sam Cheema
 
1983 Niles West football v Maine West
1983 Niles West football v Maine West1983 Niles West football v Maine West
1983 Niles West football v Maine WestDave Levine
 
Waukegan west 1984
Waukegan west 1984Waukegan west 1984
Waukegan west 1984Dave Levine
 
In pursuit of messaging broker(s)
In pursuit of messaging broker(s)In pursuit of messaging broker(s)
In pursuit of messaging broker(s)David Gevorkyan
 
Almost Everything I've Learned From 5 Years of Lean UX
Almost Everything I've Learned From 5 Years of Lean UXAlmost Everything I've Learned From 5 Years of Lean UX
Almost Everything I've Learned From 5 Years of Lean UXJeff Gothelf
 
Hoja de vida jogc
Hoja de vida jogcHoja de vida jogc
Hoja de vida jogcjogc62
 
Will 3D printing change everything?
Will 3D printing change everything?Will 3D printing change everything?
Will 3D printing change everything?Martina F. Ferracane
 
Coliving and Its importance for Digital Nomads.
Coliving and Its importance for Digital Nomads.Coliving and Its importance for Digital Nomads.
Coliving and Its importance for Digital Nomads.Jon Hormaeche Castells
 
leihdir.de "SMART & LOCAL RENTAL SEARCH ENGINE" Handout for Investores
leihdir.de "SMART & LOCAL RENTAL SEARCH ENGINE" Handout for Investoresleihdir.de "SMART & LOCAL RENTAL SEARCH ENGINE" Handout for Investores
leihdir.de "SMART & LOCAL RENTAL SEARCH ENGINE" Handout for InvestoresAlireza Rezvani
 
I Quit. Next Steps to Take When Blinded by the Market.
I Quit. Next Steps to Take When Blinded by the Market.I Quit. Next Steps to Take When Blinded by the Market.
I Quit. Next Steps to Take When Blinded by the Market.David Aferiat
 
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
2024: A Travel Odyssey The Role of Generative AI in the Tourism UniverseSimone Puorto
 
Sowk 388 Power Point Final
Sowk 388 Power Point FinalSowk 388 Power Point Final
Sowk 388 Power Point Finalsarahm2
 
How important is my online reputation
How important is my online reputation How important is my online reputation
How important is my online reputation Cheryl Wilson
 
La movilidad en la Ciudad de México: Análisis y propuesta de rediseño de la s...
La movilidad en la Ciudad de México: Análisis y propuesta de rediseño de la s...La movilidad en la Ciudad de México: Análisis y propuesta de rediseño de la s...
La movilidad en la Ciudad de México: Análisis y propuesta de rediseño de la s...Gerardo Sánchez Trejo
 

Similaire à How GZIP compression works - JS Conf EU 2014 (20)

SEO: A Crash Course | What is SEO in 2015? An Ethoseo™ Presentation
SEO: A Crash Course | What is SEO in 2015? An Ethoseo™ PresentationSEO: A Crash Course | What is SEO in 2015? An Ethoseo™ Presentation
SEO: A Crash Course | What is SEO in 2015? An Ethoseo™ Presentation
 
Blue Moon - Advertising Plan (Group Project)
Blue Moon - Advertising Plan (Group Project)Blue Moon - Advertising Plan (Group Project)
Blue Moon - Advertising Plan (Group Project)
 
Tournament trends 2018
Tournament trends 2018Tournament trends 2018
Tournament trends 2018
 
1983 Niles West football v Maine West
1983 Niles West football v Maine West1983 Niles West football v Maine West
1983 Niles West football v Maine West
 
Quid - The Threat of AI
Quid - The Threat of AIQuid - The Threat of AI
Quid - The Threat of AI
 
Waukegan west 1984
Waukegan west 1984Waukegan west 1984
Waukegan west 1984
 
In pursuit of messaging broker(s)
In pursuit of messaging broker(s)In pursuit of messaging broker(s)
In pursuit of messaging broker(s)
 
Almost Everything I've Learned From 5 Years of Lean UX
Almost Everything I've Learned From 5 Years of Lean UXAlmost Everything I've Learned From 5 Years of Lean UX
Almost Everything I've Learned From 5 Years of Lean UX
 
Hoja de vida jogc
Hoja de vida jogcHoja de vida jogc
Hoja de vida jogc
 
Will 3D printing change everything?
Will 3D printing change everything?Will 3D printing change everything?
Will 3D printing change everything?
 
Coliving and Its importance for Digital Nomads.
Coliving and Its importance for Digital Nomads.Coliving and Its importance for Digital Nomads.
Coliving and Its importance for Digital Nomads.
 
Photogrammetry
Photogrammetry Photogrammetry
Photogrammetry
 
leihdir.de "SMART & LOCAL RENTAL SEARCH ENGINE" Handout for Investores
leihdir.de "SMART & LOCAL RENTAL SEARCH ENGINE" Handout for Investoresleihdir.de "SMART & LOCAL RENTAL SEARCH ENGINE" Handout for Investores
leihdir.de "SMART & LOCAL RENTAL SEARCH ENGINE" Handout for Investores
 
I Quit. Next Steps to Take When Blinded by the Market.
I Quit. Next Steps to Take When Blinded by the Market.I Quit. Next Steps to Take When Blinded by the Market.
I Quit. Next Steps to Take When Blinded by the Market.
 
Midterm Rehab
Midterm RehabMidterm Rehab
Midterm Rehab
 
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
 
Sowk 388 Power Point Final
Sowk 388 Power Point FinalSowk 388 Power Point Final
Sowk 388 Power Point Final
 
How important is my online reputation
How important is my online reputation How important is my online reputation
How important is my online reputation
 
Manejo de redes
Manejo de redesManejo de redes
Manejo de redes
 
La movilidad en la Ciudad de México: Análisis y propuesta de rediseño de la s...
La movilidad en la Ciudad de México: Análisis y propuesta de rediseño de la s...La movilidad en la Ciudad de México: Análisis y propuesta de rediseño de la s...
La movilidad en la Ciudad de México: Análisis y propuesta de rediseño de la s...
 

Plus de Raul Fraile

Aplicaciones CLI profesionales con Symfony
Aplicaciones CLI profesionales con SymfonyAplicaciones CLI profesionales con Symfony
Aplicaciones CLI profesionales con SymfonyRaul Fraile
 
Steganography: Hiding your secrets with PHP
Steganography: Hiding your secrets with PHPSteganography: Hiding your secrets with PHP
Steganography: Hiding your secrets with PHPRaul Fraile
 
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Raul Fraile
 
$kernel->infect(): Creating a cryptovirus for Symfony2 apps
$kernel->infect(): Creating a cryptovirus for Symfony2 apps$kernel->infect(): Creating a cryptovirus for Symfony2 apps
$kernel->infect(): Creating a cryptovirus for Symfony2 appsRaul Fraile
 
Materiales del curso de Symfony2
Materiales del curso de Symfony2Materiales del curso de Symfony2
Materiales del curso de Symfony2Raul Fraile
 
Sistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidosSistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidosRaul Fraile
 
Refactoring PHP/Symfony2 apps
Refactoring PHP/Symfony2 appsRefactoring PHP/Symfony2 apps
Refactoring PHP/Symfony2 appsRaul Fraile
 
Refactorización de aplicaciones PHP/Symfony2
Refactorización de aplicaciones PHP/Symfony2Refactorización de aplicaciones PHP/Symfony2
Refactorización de aplicaciones PHP/Symfony2Raul Fraile
 
MidwestPHP Symfony2 Internals
MidwestPHP Symfony2 InternalsMidwestPHP Symfony2 Internals
MidwestPHP Symfony2 InternalsRaul Fraile
 
Symfony internals [english]
Symfony internals [english]Symfony internals [english]
Symfony internals [english]Raul Fraile
 
DeSymfony 2012: Symfony internals
DeSymfony 2012: Symfony internalsDeSymfony 2012: Symfony internals
DeSymfony 2012: Symfony internalsRaul Fraile
 
Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Raul Fraile
 
Symfony2: Optimización y rendimiento
Symfony2: Optimización y rendimientoSymfony2: Optimización y rendimiento
Symfony2: Optimización y rendimientoRaul Fraile
 
Symfony2: Framework para PHP5
Symfony2: Framework para PHP5Symfony2: Framework para PHP5
Symfony2: Framework para PHP5Raul Fraile
 
Symfony2: Framework para PHP5
Symfony2: Framework para PHP5Symfony2: Framework para PHP5
Symfony2: Framework para PHP5Raul Fraile
 
Presentacion Symfony2
Presentacion Symfony2Presentacion Symfony2
Presentacion Symfony2Raul Fraile
 

Plus de Raul Fraile (16)

Aplicaciones CLI profesionales con Symfony
Aplicaciones CLI profesionales con SymfonyAplicaciones CLI profesionales con Symfony
Aplicaciones CLI profesionales con Symfony
 
Steganography: Hiding your secrets with PHP
Steganography: Hiding your secrets with PHPSteganography: Hiding your secrets with PHP
Steganography: Hiding your secrets with PHP
 
Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain Symfony en Drupal 8 - DrupalCamp Spain
Symfony en Drupal 8 - DrupalCamp Spain
 
$kernel->infect(): Creating a cryptovirus for Symfony2 apps
$kernel->infect(): Creating a cryptovirus for Symfony2 apps$kernel->infect(): Creating a cryptovirus for Symfony2 apps
$kernel->infect(): Creating a cryptovirus for Symfony2 apps
 
Materiales del curso de Symfony2
Materiales del curso de Symfony2Materiales del curso de Symfony2
Materiales del curso de Symfony2
 
Sistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidosSistemas de ficheros para dispositivos embebidos
Sistemas de ficheros para dispositivos embebidos
 
Refactoring PHP/Symfony2 apps
Refactoring PHP/Symfony2 appsRefactoring PHP/Symfony2 apps
Refactoring PHP/Symfony2 apps
 
Refactorización de aplicaciones PHP/Symfony2
Refactorización de aplicaciones PHP/Symfony2Refactorización de aplicaciones PHP/Symfony2
Refactorización de aplicaciones PHP/Symfony2
 
MidwestPHP Symfony2 Internals
MidwestPHP Symfony2 InternalsMidwestPHP Symfony2 Internals
MidwestPHP Symfony2 Internals
 
Symfony internals [english]
Symfony internals [english]Symfony internals [english]
Symfony internals [english]
 
DeSymfony 2012: Symfony internals
DeSymfony 2012: Symfony internalsDeSymfony 2012: Symfony internals
DeSymfony 2012: Symfony internals
 
Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5
 
Symfony2: Optimización y rendimiento
Symfony2: Optimización y rendimientoSymfony2: Optimización y rendimiento
Symfony2: Optimización y rendimiento
 
Symfony2: Framework para PHP5
Symfony2: Framework para PHP5Symfony2: Framework para PHP5
Symfony2: Framework para PHP5
 
Symfony2: Framework para PHP5
Symfony2: Framework para PHP5Symfony2: Framework para PHP5
Symfony2: Framework para PHP5
 
Presentacion Symfony2
Presentacion Symfony2Presentacion Symfony2
Presentacion Symfony2
 

Dernier

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 

Dernier (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

How GZIP compression works - JS Conf EU 2014

  • 1. H O W G Z I P C O M P R E S S I O N W O R K S R A U L F R A I L E J S C O N F E U B E R L I N
  • 2. • P H P / J S S O F T WA R E D E V E L O P E R ! • M S ( R E S ) S T U D E N T I N C O M P U T I N G T E C H N O L O G I E S . ! • M A D E I N S PA I N . A B O U T M E
  • 3. D ATA C O M P R E S S I O N
  • 4. N O T A N E X P E R T *
  • 5. D ATA C O M P R E S S I O N I S A N A M A Z I N G T O P I C
  • 6. R E A L LY !
  • 7. M A G I C I T C A N B E S E E N L I K E … flickr.com/photos/jeffkrause/6799254170
  • 9. I N F O R M AT I O N T H E O RY C L A U D E S H A N N O N
  • 10. E N T R O P Y flickr.com/photos/95303997@N07/10074330416
  • 11. H = - p ( x ) l o g 2 p ( x )⎲ ⎳ AV E R A G E A M O U N T O F I N F O R M AT I O N C O N TA I N E D I N E A C H M E S S A G E ≈ N U M B E R O F B I T S T O R E P R E S E N T T H E M E S S A G E
  • 12. 225 days/year 62 % 17 days/year 6 % flickr.com/photos/aigle_dore/5952296478flickr.com/photos/mariano-mantel/13955110319
  • 13. H U M A N B R A I N I S D E S I G N E D T O C O M P R E S S D A TA flickr.com/photos/birthintobeing/11841180046
  • 15. M O R S E C O D E S H O R T E R S E Q U E N C E S F O R C O M M O N C H A R A C T E R S flickr.com/photos/amboo213/9044879245
  • 16. D ATA C O M P R E S S I O N I N H T T P
  • 17. GET index.html Accept-Encoding: gzip, deflate G Z I P + H T T P
  • 18. G Z I P C O M P R E S S I O N
  • 19. • D E F L A T E A L G O R I T H M ! • D E S I G N E D B Y P H I L K A T Z ! • U S E D I N H T T P, P N G A N D P D F G Z I P
  • 20. D E F L AT E L Z 7 7 H U F F M A N C O D I N G+
  • 21. L Z 7 7 ( VA R I AT I O N ) T H I S F I L E I S H U G E ! T H AT ' S B E C A U S E T H E F I L E I S N O T C O M P R E S S E D < 3 3 , 9 > S E A R C H B U F F E R ( U P T O 3 2 K B ) L O O K - A H E A D
  • 22. T H I S F I L E I S H U G E ! T H AT ' S B E C A U S E T H E F I L E I S N O T C O M P R E S S E D L Z 7 7 ( VA R I AT I O N ) < 3 3 , 9 > L I T E R A L S · L E N G T H S · D I S TA N C E S
  • 23. H U F F M A N C O D I N G 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 H 0 0 0 E 0 0 1 L 0 1 0 O 0 1 1 W 1 0 0 R 1 0 1 D 1 1 0 _ 1 1 1 H E L L O W O R L D 8 8 B I T S F I X E D - L E N G T H C O D E S 0 0 0 0 0 1 0 1 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 3 3 B I T S
  • 24. H U F F M A N C O D I N G C H A R A C T E R F R E Q U E N C Y: 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 0 0 L 3 0 O 2 1 H 1 0 0 E 1 0 1 W 1 1 0 R 1 1 1 D 1 0 0 0 _ 1 0 0 1 H E L L O W O R L D 1 9 B I T S I T ’ S A M B I G U O U S H E L H O D O … VA R I A B L E - L E N G T H C O D E S
  • 25. H U F F M A N C O D I N G L 3 1 0 O 2 1 1 1 H 1 0 0 1 E 1 1 1 0 0 W 1 0 0 1 R 1 0 0 0 D 1 1 1 0 1 _ 1 0 1 0
  • 26. H U F F M A N C O D I N G L 3 1 0 O 2 1 1 1 H 1 0 0 1 E 1 1 1 0 0 W 1 0 0 1 R 1 0 0 0 D 1 1 1 0 1 _ 1 0 1 0 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 1 H E L L O W O R L D 3 2 B I T S
  • 27. H U F F M A N C O D I N G TA B L E 1 : L I T E R A L S + L E N G T H S TA B L E 2 : D I S TA N C E S
  • 28. B L O C K S B L O C K 1 B L O C K 2 … B L O C K NM M M M M O D E 1 : N O C O M P R E S S I O N M O D E 2 : F I X E D C O D E TA B L E S M O D E 3 : G E N E R AT E D C O D E TA B L E S
  • 30. G Z I P C O M P R E S S I O N I M P L E M E N TAT I O N S
  • 31. G N U G Z I P Z O P F L I7 - Z I P M O D E FA S T M O D E H I G H C O M P R E S S I O N M O D E N O R M A L G E N E R A L R U L E : M O R E T I M E , B E T T E R C O M P R E S S I O N R AT I O I M P L E M E N TAT I O N S
  • 32. G Z I P C O M P R E S S I O N W H Y G Z I P ?
  • 33. • G O O D C O M P R E S S I O N R A T I O . • FA S T T O ( U N ) C O M P R E S S . • I N T H E W O R S T C A S E , E X PA N D S T H E D A TA S L I G H T LY. • M E M O RY I N D E P E N D E N T. • F R E E I M P L E M E N TA T I O N S T H A T A V O I D PA T E N T S . T R A D E O F F
  • 34. N E W E R A L G O R I T H M S I S S U E S T RY I N G T O A D D B Z I P 2 S U P P O R T T O C H R O M E
  • 35. G Z I P C O M P R E S S I O N B E Y O N D G Z I P
  • 36. P R E P R O C E S S D ATA T O O P T I M I Z E M AT C H E S
  • 37.
  • 38. G Z I P ( T ( D ATA ) ) < G Z I P ( D ATA )
  • 39. T R A N S P O S I N G J S O N { "name": "John", "country": "USA" }, { "name": "Stephan", "country": "Germany" }, { "name": "Rob", "country": "USA" } { "name": [ "John", "Stephan", "Rob" ], "country": [ "USA", "Germany", "USA" ] }
  • 40. X M L / H T M L AT T R I B U T E S O R D E R <input id='f1' class='field' name="f1" type="text" /> <input class="field" id="f2" type="text" name="f2" /> <input id="f1" class="field" name="f1" type="text" /> <input class="field" id="f2" type="text" name="f2" /> <input id="f1" class="field" name="f1" type="text" /> <input id="f2" class="field" name="f2" type="text" /> <input type="text" class="field" id="f1" name="f1" /> <input type="text" class="field" id="f2" name="f2" /> 1 7 , 7 6 % 2 7 , 1 0 % 3 8 , 3 2 % 3 8 , 3 2 % h t t p : / / g o o . g l / G g M w 2 6
  • 41. R E F E R E N C E S
  • 42. “ C o m p re s s o r H e a d ” C o l t M c A n l i s
  • 43. “ D a t a C o m p re s s i o n : T h e C o m p l e t e R e f e re n c e ” D a v i d S a l o m o n
  • 44. “ A U n i v e r s a l A l g o r i t h m f o r S e q u e n t i a l D a t a C o m p re s s i o n ” J a c o b Z i v & A b r a h a m L e m p e l
  • 45. “ A m e t h o d f o r t h e c o n s t r u c t i o n o f m i n i m u m re d u n d a n c y c o d e s ” D a v i d A . H u ff m a n
  • 46. T H A N K Y O U R a ú l F r a i l e @ r a u l f r a i l e