· scalability algorithms functional programming data structures money. developers 0110 1101...

82

Upload: others

Post on 10-Jul-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers
Page 2:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

www.testdouble.com

@searls

Page 3:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

we are all web developers

Page 4:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

we are all reluctantweb developers

Page 5:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

we are all reluctantv(mostly)

web developers

Page 6:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

why do our

Page 7:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

why do ourservers care

Page 8:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

why do ourservers careabout browsers?

Page 9:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

my theory

Page 10:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

the mismatch

Page 11:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers Money

Page 12:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101

Money

Page 13:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101

Algorithms

Money

Page 14:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101

Algorithms

FunctionalProgramming

Money

Page 15:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101

Scalability

Algorithms

FunctionalProgramming

Money

Page 16:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101

Scalability

Algorithms

FunctionalProgramming

DataStructures

Money

Page 17:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101

Scalability

Algorithms

CleanCode

FunctionalProgramming

DataStructures

Money

Page 18:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101

Scalability

Algorithms

CleanCode

FunctionalProgramming

AJAXDataStructures

Money

Page 19:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101

Scalability

Algorithms

CleanCode

FunctionalProgramming

AJAX

drag-n-drop

DataStructures

Money

Page 20:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101$('button').bejazzle()

Scalability

Algorithms

CleanCode

FunctionalProgramming

AJAX

drag-n-drop

DataStructures

Money

Page 21:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101

<blink/>

$('button').bejazzle()

Scalability

Algorithms

CleanCode

FunctionalProgramming

AJAX

drag-n-drop

DataStructures

Money

Page 22:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101

<blink/>

$('button').bejazzle()

Scalability

Algorithms

CleanCode

FunctionalProgramming

AJAX

Back Buttons

drag-n-drop

DataStructures

Money

Page 23:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers

0110 1101

<blink/>

$('button').bejazzle()

Scalability

Algorithms

CleanCode

FunctionalProgramming

AJAX

Back Buttons

drag-n-drop

DataStructures

Browsers

Page 24:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

an opportunity

Page 25:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers Browsers

Page 26:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers Browsers

Page 27:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers Browsers

.NET

Page 28:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers Browsers

Java

Page 29:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers Browsers

Rails

Page 30:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers Browsers

Page 31:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers Browsers

Page 32:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Designers

Developers Browsers

Page 33:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

delicate balance

Page 34:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

delicate balance

Page 35:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

delicate balance

Page 36:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

delicate balance

Page 37:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

delicate balance

Page 38:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

delicate balance

Page 39:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

delicate balance

Page 40:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

delicate balance

Page 41:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

delicate balance

Page 42:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

delicate balance

Page 43:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

delicate balance

Page 44:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Developers Browsers

Page 45:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

getting serious

Page 46:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

second classreinvented wheels

separate concerns

Page 47:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

second classreinvented wheels

separate concerns

Page 48:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

$ tree my-applicationmy-application└── app ├── controllers │   └── widgets_controller.rb ├── models │   └── widget.rb └── views └── widgets └── new.html.erb

Page 49:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

$ tree my-applicationmy-application└── app ├── controllers │   └── widgets_controller.rb ├── models │   └── widget.rb ├── views │ └── widgets │ └── new.html.erb └── assets

Page 50:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

$ tree my-applicationmy-application└── app ├── controllers │   └── widgets_controller.rb ├── models │   └── widget.rb ├── views │ └── widgets │ └── new.html.erb └── assets    └── javascripts

Page 51:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

$ tree my-applicationmy-application└── app ├── controllers │   └── widgets_controller.rb ├── models │   └── widget.rb ├── views │ └── widgets │ └── new.html.erb └── assets    └── javascripts       └── application.js

Page 52:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

$ tree my-applicationmy-application└── app ├── controllers │   └── widgets_controller.rb ├── models │   └── widget.rb ├── views │ └── widgets │ └── new.html.erb └── assets    └── javascripts       └── application.js

Page 53:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

second classreinvented wheels

separate concerns

Page 54:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers
Page 55:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

CoffeeS

cript

Page 56:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

CoffeeS

cript

Page 57:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

Concatenate

CoffeeS

cript

Page 58:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

Concatenate

CoffeeS

cript

Minify

Page 59:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

Concatenate

CoffeeS

cript

Minify

Code Analysis

Page 60:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

es

Code Analysis

Page 61:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

esTestsCode Analysis

Page 62:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

esTestsCode Analysis

CI

Page 63:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

esTests Code Analysis

CI

Page 64:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

esTests Code Analysis

CI

.NET

Page 65:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

esTests Code Analysis

CI

.NET Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

es

Tests Code Analysis

CI

Java

Page 66:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

esTests Code Analysis

CI

.NET Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

es

Tests Code Analysis

CI

Java

Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

es

Tests Code AnalysisCI

Rails

Page 67:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

esTests Code Analysis

CI

.NET Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

es

Tests Code Analysis

CI

Java

Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

es

Tests Code Analysis

CI

*.Less/Sass

Concatenate

CoffeeS

cript

Minify

Tem

plat

es

Tests Code AnalysisCI

Rails

Page 68:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

second classreinvented wheels

separate concerns

Page 69:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Concatenate

MinifyCompile

Templates

Mod

ulesTests Code Analysis

CI

.NET

Concatenate

MinifyCompile

Templates

Mod

ulesTests Code Analysis

CI

Rails

Concatenate

MinifyCompile

Templates

Mod

ulesTests Code Analysis

CI

Java

Concatenate

MinifyCompile

Templates

Mod

ulesTests Code Analysis

CI

*.

Page 70:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Concatenate

MinifyCompile

Templates

Mod

ulesTests Code Analysis

CI

Java

Page 71:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Tests

Java

Page 72:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Tests

Java

jasmine-maven-plugin

Page 73:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

jasmine-maven-plugin

Page 74:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

1904 linesjasmine-maven-plugin

Page 75:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

Lineman

Page 76:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

585 linesLineman

Page 77:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

396 lines(less config)

Lineman

Page 78:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

meet Lineman

Page 79:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

linemanjs.com

Page 80:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

@linemanjs

Page 81:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

demo time

Page 82:  · Scalability Algorithms Functional Programming Data Structures Money. Developers 0110 1101 Scalability Algorithms Clean Code Functional Programming Data Structures Money. Developers

attributionBridge designed by Nicholas Burroughs from The Noun Project

Swiss Army Knife designed by Donata Bologna from The Noun Project

Bicycle Wheel designed by Benjamin Bowen from The Noun Project