+ All Categories
Home > Technology > Cast a wider net

Cast a wider net

Date post: 12-Apr-2017
Category:
Upload: jlembeck
View: 257 times
Download: 0 times
Share this document with a friend
99
Casting a Wider Net
Transcript
Page 1: Cast a wider net

Casting a Wider Net

Page 2: Cast a wider net

Hi

Page 3: Cast a wider net

How Does a Browser Work?

Page 4: Cast a wider net

The Densest Interview Question ever

Page 5: Cast a wider net
Page 6: Cast a wider net

DNS

Page 7: Cast a wider net

Domain Name System

Page 8: Cast a wider net
Page 9: Cast a wider net
Page 10: Cast a wider net
Page 11: Cast a wider net

ISP

Page 12: Cast a wider net

{a-m}.root-servers.net

Page 13: Cast a wider net

Top Level Domain

Page 14: Cast a wider net

ns1.nameserver.com

Page 15: Cast a wider net

IP Address and Port!

Page 16: Cast a wider net

HTTP Request

Page 17: Cast a wider net

GET / HTTP/1.1 Host: www.google.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0

Page 18: Cast a wider net

Headers

Headers

Page 19: Cast a wider net

Telnet. Oooo

Page 20: Cast a wider net
Page 21: Cast a wider net
Page 22: Cast a wider net

TCP

Page 23: Cast a wider net

Transmission Control Protocol

Page 24: Cast a wider net

Synchronize/Acknowledge

Page 25: Cast a wider net

Latency?

Page 26: Cast a wider net

Grace Hopper

Page 27: Cast a wider net

The Response - you know this part

Page 28: Cast a wider net

14KB

Page 29: Cast a wider net

HTML

Page 30: Cast a wider net

Parse

Page 31: Cast a wider net

DOM Tree

Page 32: Cast a wider net

Fetch External Resources

Page 33: Cast a wider net

CSS files/style tags/style attributes

Page 34: Cast a wider net

CSSOM

Page 35: Cast a wider net

CASCADING

Page 36: Cast a wider net

Weight, then Specificity, then Order

Page 37: Cast a wider net

!important

Page 38: Cast a wider net

IDs, classes, tags oh my

Page 39: Cast a wider net

What’s next in line?

Page 40: Cast a wider net

CSS BLOCKS Rendering

Page 41: Cast a wider net

Render page

Page 42: Cast a wider net

Position (box model)

Page 43: Cast a wider net

Position (floats, absolutes, relatives)

Page 44: Cast a wider net

Layer

Page 45: Cast a wider net

Render

Page 46: Cast a wider net

Make small changes for faster renders

Page 47: Cast a wider net

JavaScript

Page 48: Cast a wider net

Parse + Execution Time?

Page 49: Cast a wider net

Compilers (overview)

Page 50: Cast a wider net

Tokeniser

Page 51: Cast a wider net

Parser

Page 52: Cast a wider net

Translator010100 100011 000111

Page 53: Cast a wider net

Interpreter010100 100011 000111

Page 54: Cast a wider net

Sloooowwwww

Page 55: Cast a wider net

JIT CompilerVery smart people made JS a lot faster

Page 56: Cast a wider net

Very smart people made JS a lot faster

Page 57: Cast a wider net

Very smart people made JS a lot faster

Page 58: Cast a wider net

We done yet?

Page 59: Cast a wider net

Images

Page 60: Cast a wider net

Fonts

Page 61: Cast a wider net

How do I make my stuff faster?

Page 62: Cast a wider net

HTTP 1.1

Page 63: Cast a wider net

Asset Pipeline

Page 64: Cast a wider net

project/ |_ js/ |_ lib/ |_ jquery.js |_ posts.js |_ users.js |_ admin.js

=>project/ |_ build/ _ js/ |_ all.js

JUST ONE REQUEST

Concatenate

Page 65: Cast a wider net

Minify

=>MAKES FILE SMALLER

Page 66: Cast a wider net

gzip

Page 67: Cast a wider net

Example - jQuery

79 Files to Start!

Page 68: Cast a wider net

Example - jQuery

CONCAT! =>One File - 276.79KB

MINIFY! =>One File - 93.66KB

GZIP!

One File - 32.55KB=>

Page 69: Cast a wider net

Scripts Block Parsing!

Page 70: Cast a wider net

Head vs. Bottom Block Example

Page 71: Cast a wider net

Use async or defer attributes

Page 72: Cast a wider net

async runs only when fully available and not blocking

Page 73: Cast a wider net

defer runs only when the DOM is completely built

Page 74: Cast a wider net

Async load Fonts

Page 75: Cast a wider net

async load everything not critical

https://www.filamentgroup.com/lab/weight-wait.html

Page 76: Cast a wider net

Server-Side Rendering

Page 77: Cast a wider net

Special Tangent

Page 78: Cast a wider net

Progressive Enhancement

Page 79: Cast a wider net

Single Point of Failure

Page 80: Cast a wider net
Page 81: Cast a wider net
Page 82: Cast a wider net
Page 83: Cast a wider net

Why do we care that it’s fast anyway?

Page 84: Cast a wider net

TOP SITES KNOW:

Performance is critical

page load +500ms = 3% drop in traffic

page load +1000ms = 6% drop

page load +100ms = 1% loss in sales

page load +500ms = 25% fewer searches

page load +400ms = 5–9% drop in traffic

http://www.guypo.com/business/17-statistics-to-sell-web-performance-optimization/

Page 85: Cast a wider net

“Online shoppers expected pages to load in 2 seconds or fewer — and at 3 seconds, a large share abandon the site.”

“For Impatient Web Users, an Eye Blink Is Just Too Long to Wait,” New York Times, February 29, 2012

http://www.nytimes.com/2012/03/01/technology/impatient-web-users-flee-slow-loading-sites.html?pagewanted=all&_r=0

Page 86: Cast a wider net

Mobile traffic is increasing

Page 87: Cast a wider net

Mobile Networks aren’t always speedy

Page 88: Cast a wider net

“Only 20% of N. American customers have LTE-enabled handsets. Globally, LTE penetration rate is ~5%”“Bursting our Bubble: Mobile Performance Outside the First World” Performance Calendar, December 3, 2014

http://calendar.perfplanet.com/2014/bursting-our-bubble-mobile-performance-outside-the-first-world/

Page 89: Cast a wider net

https://twitter.com/BenedictEvans/status/513017790920290304

Page 90: Cast a wider net

Tangential Responsibility Rant

Page 91: Cast a wider net

Your Income Over the Next Few Years

Median Income for a Seattle-based software developer: ~$92,000

Median Income for a Seattle-based household (2011): ~$52,000

Page 92: Cast a wider net

You are likely not your market

Page 93: Cast a wider net

The entire world is not San Francisco and Seattle

Page 94: Cast a wider net

There are Over 8.7 Billion Internet-Connected Devices Worldwide

Page 95: Cast a wider net

Worldwide Mobile Browser Usage

Page 96: Cast a wider net

Asian Mobile Browser Usage

Page 97: Cast a wider net

African Mobile Browser Usage

Page 98: Cast a wider net

South American Mobile Browser Usage

Page 99: Cast a wider net

@jefflembeck


Recommended