bdd - buzzword driven development - build the next cool app for fun and for... fun

69
Buzzword Driven Development BDD Build the next cool app (for fun and for profit fun)

Upload: alessandro-cinelli

Post on 08-May-2015

1.308 views

Category:

Technology


0 download

DESCRIPTION

Lamp stack is dead, long live the lamp stack!A quick overview of the technologies used in the "TISTIMO" project.

TRANSCRIPT

Page 4: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

L

Page 5: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

The act of creating a computer program in the company of your bros.

embrace brogramming

BROGRAMMING

Page 6: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

The act of creating a computer program in the company of your bros.

embrace brogramming

BROGRAMMING

Page 7: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

#lifeinideato

BROGRAMMING

Page 8: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nodejs

nosqljavascript

gamificationwebsockets

gattini

html5realtime

map/reduce

hadoopmvc

telecommuting

redis

microframeworkboook

backbonejs

agile

tdd

xp

mongodb

css3

cloud

responsive

startup

pair programmingbdd

publish/suscribe

server-side javascript

closure

functional programming

buzzwords

Page 9: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

LAMP stack is dead,long live the LAMP

stack!

lamp stack

Page 10: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

is PHP dead?

K

Page 11: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

Jis PHP dead?

absolutely not!

Page 13: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

#lifeinideato

USER STORIES

Page 15: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

#lifeinideato

estimation

AS Ua I WANT register to the app SO THAT I can join

Page 16: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

#lifeinideato

@_orso_

estimation

Page 17: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

#lifeinideato

3

@_orso_

estimation

Page 18: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

#lifeinideato

3

@cirpo

estimation

@_orso_

Page 19: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

#lifeinideato

23

@cirpo

estimation

@_orso_

Page 20: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

{telecommuting,agile}

#lifeinideato

Page 21: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

php ecosystem

TISTIMO

{startup,agile}

Page 22: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

php ecosystem tistimo

{agile}

Page 23: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

php ecosystem tistimo

{agile}

Page 24: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

php ecosystem tistimo

{agile}

Page 25: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

AS Ua I WANT vedere la lista progetti ancora da stimare

AS Ua I WANT vedere la lista dei progetti stimati

AS Ua I WANT voglio autenticarmi con il mio account twitter

AS Ur I WANT rimanere in attesa che un altro ua si unisca al progetto

AS Ur I WANT visualizzare una storia

AS Ur I WANT votare una storia

AS Ur I WANT voglio assegnare una stima ad una storia senza votarla

AS Ur I WANT voglio vedere le storie stimate fino a quel momento

AS Ur I WANT voglio vedere quante storie mancano alla fine della stima

AS Ur I WANT voglio vedere il mio grado di affinità con i miei colleghi

AS Admin I WANT voglio inserire le storie

tistimo

{agile}

Page 26: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

tistimo

{mvc,XP,tdd,closure}

Page 27: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

tistimo

{mvc,XP,tdd,closure}

K

Page 28: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

tistimo

{mvc,XP,tdd,closure}

K

IT’S TOO MUCH

Page 29: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

SILEX

silex silex

J{mvc,XP,tdd,closure,microframework,rest}

Page 30: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

SF2 vs SILEX

silex silex

J{mvc,XP,tdd,closure,microframework,rest}

100 MB vs 0.5 mb

Highly configurable vs simple config

Solid base vs prototyping

Page 31: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

{mvc,XP,tdd,closure,microframework,rest}

silex silex

J

Page 32: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

{bdd,}

B!"#$

behat

J

Page 33: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

{bdd,} B!"#$

behat

J

Page 34: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

{bdd,} B!"#$

behat

J

Page 35: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

{bdd,} B!"#$

behat

J

Page 36: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

{bdd,} B!"#$

behat

J

Page 37: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

mysql

L

Page 38: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nosql

J{nosql}

Page 39: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nosql

J

every value is accessible by a key (string)

“project”

“user:cirpo”

{nosql}

Page 40: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nosql

JData types

string

hashes

lists

(sorted) sets

{nosql}

Page 41: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nosql

J{noslq}

id User Password Name Surname Created

234 cirpo c1rp0 Alessandro Cinelli 2012-03-03

Page 42: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nosql

J{noslq}

A redis user

“obj_type:id:attribute”

“user:234:name” => “Alessandro”

“user:234:username” => “cirpo”

Page 43: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nosql

J{noslq}

Users“user:username”“user:username:is_logged”“user:username:score” => int

Projects“project:projectname”“project:projectname:estimate_queue” => list

Page 44: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nosql

J{noslq}

User Stories“user_story:id”“user_story:status” => hash

Scores“users_scores” => sorted set“users_affinity” => sorted set

Page 45: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nosql

J{noslq}

Page 46: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

w00t!J

tistimo

Page 47: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

tistimo

L

Page 48: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

tistimo

•php single request

•shared nothing architecture

Page 49: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nodejs

J{nodejs,serverside-javascript,websocketsrealtime}

Page 50: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nodejs

J

code

{nodejs,serverside-javascript,websocketsrealtime}

Page 51: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

socket.io

J{nodejs,serverside-javascript,websocketsrealtime}

Page 52: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

socket.io

J{nodejs,serverside-javascript,websocketsrealtime}

server side

Page 53: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

socket.io

J{websocketsrealtime}

client side

Page 54: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nosql

J

code

{nodejs,serverside-javascript,websocketsrealtime}

Page 55: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

backbonejs

J{mvc,javascript}

Page 56: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

backbonejs

J{mvc,javascript}

Page 57: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

backbonejs

J{mvc,javascript}

Page 58: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

backbonejs

J{mvc,javascript}

Page 59: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

backbonejs

J{mvc,javascript}

Page 60: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

backbonejs

J{mvc,javascript}

Page 61: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

nodejs

nosqljavascript

gamificationwebsockets

gattini

html5realtime

map/reduce

hadoopmvc

telecommuting

redis

microframeworkboook

backbonejs

agile

tdd

xp

mongodb

css3

cloud

responsive

startup

pair programmingbdd

publish/suscribe

server-side javascript

closure

functional programming

buzzwords

Page 62: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

Who's using Redis?

J

Page 63: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

Who's using Redis? (and our beloved PHP!)

JJ +

Page 64: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

Who's using nodejs?

J

Page 65: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

Who's using backbonejs?

J

Page 68: BDD - Buzzword Driven Development - Build the next cool app for fun and for... fun

• nodejsconf