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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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