cum sa nu aruncam nave spatiale in aer?

Post on 15-Apr-2017

392 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Cum să nu aruncăm nave spațiale

în aer

Sabin Marcu

! twitter.com/sabinmarcu " facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu

Sabin Marcu

• Startup în Analytics

! twitter.com/sabinmarcu " facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu

Sabin Marcu

• Startup în Analytics

• Developer (nu Web Developer / Java Developer, etc)

! twitter.com/sabinmarcu " facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu

Sabin Marcu

• Startup în Analytics

• Developer (nu Web Developer / Java Developer, etc)• Participant InfoEducație (4 ani) – 2 participări la proba Open

! twitter.com/sabinmarcu " facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu

Sabin Marcu

• Startup în Analytics

• Developer (nu Web Developer / Java Developer, etc)• Participant InfoEducație (4 ani) – 2 participări la proba Open• Experiență:

๏ Java, C++, PHP, JavaScript ๏ Proiecte de la CMS / Sisteme întregi, la librării și experimente ๏ Exemplu relevant: github.com/sabinmarcu/js-trans-compat-check

(teste pentru verificarea compatibilității între diferite limbaje ce se compilează în JavaScript 1.5)

! twitter.com/sabinmarcu " facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu

Sabin Marcu

• Startup în Analytics

• Developer (nu Web Developer / Java Developer, etc)• Participant InfoEducație (4 ani) – 2 participări la proba Open• Experiență:

๏ Java, C++, PHP, JavaScript ๏ Proiecte de la CMS / Sisteme întregi, la librării și experimente ๏ Exemplu relevant: github.com/sabinmarcu/js-trans-compat-check

(teste pentru verificarea compatibilității între diferite limbaje ce se compilează în JavaScript 1.5)

• Research în Citizen Science

! twitter.com/sabinmarcu " facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu

• De ce ne trebuie testing, și ce înseamnă de fapt testing

• Testare Automată

• Testarea Interfețelor

• Integrare Continuă (continuous testing)

Navete Spațiale?

Mars Climate Orbiter [1]

Mars Climate Orbiter [1]

• Misiune NASA & Lockheed

Mars Climate Orbiter [1]

• Misiune NASA & Lockheed• Lansat în 1998

Mars Climate Orbiter [1]

• Misiune NASA & Lockheed• Lansat în 1998

• În 1999 s-a dezintegrat în atmosfera planetei Marte

[1] https://www.wikiwand.com/en/Mars_Climate_Orbiter

Mars Climate Orbiter [1]

• Misiune NASA & Lockheed• Lansat în 1998

• În 1999 s-a dezintegrat în atmosfera planetei Marte• NASA și Lockheed au folosit unități de măsură diferite (lbs s | N s)

YouTube Video Count Break [1]

YouTube Video Count Break [1]

• YouTube până în 2014 folosea Integer pe 32 de biți pentru a stoca numărul de vizualizări al unui videoclip (maxim 2,147,483,647)

YouTube Video Count Break [1]

• YouTube până în 2014 folosea Integer pe 32 de biți pentru a stoca numărul de vizualizări al unui videoclip (maxim 2,147,483,647)

• Gangnam Style [2] a fost primul astfel videoclip ce a depășit această limită

[1] http://goo.gl/Pwh7Es [2] https://www.youtube.com/watch?v=9bZkp7q19f0

YouTube Video Count Break [1]

• YouTube până în 2014 folosea Integer pe 32 de biți pentru a stoca numărul de vizualizări al unui videoclip (maxim 2,147,483,647)

• Gangnam Style [2] a fost primul astfel videoclip ce a depășit această limită

• Acum, după acel eveniment, limita este de 9,223,372,036,854,775,808 vizualizări (64 de biți)

if (!((_ok) ? true : (Math.random() > 0.1))) { return res; }

#define FALSE 0 #define TRUE !FALSE

if (!((_ok) ? true : (Math.random() > 0.1))) { return res; }

#define FALSE 0 #define TRUE !FALSE

if (!((_ok) ? true : (Math.random() > 0.1))) { return res; }

DefineProperty(object, “myproperty”, { get: function() { return this.myproperty; }.bind(object)

});

#define TRUE FALSE

#define FALSE 0 #define TRUE !FALSE

if (!((_ok) ? true : (Math.random() > 0.1))) { return res; }

DefineProperty(object, “myproperty”, { get: function() { return this.myproperty; }.bind(object)

});

#define TRUE FALSE

#define FALSE 0 #define TRUE !FALSE

if (!((_ok) ? true : (Math.random() > 0.1))) { return res; }

DefineProperty(object, “myproperty”, { get: function() { return this.myproperty; }.bind(object)

});#!/bin/bash while true; do $0 done

#define TRUE FALSE

#define FALSE 0 #define TRUE !FALSE

if (!((_ok) ? true : (Math.random() > 0.1))) { return res; }

#define TRUE random()%2

DefineProperty(object, “myproperty”, { get: function() { return this.myproperty; }.bind(object)

});#!/bin/bash while true; do $0 done

TDDTest Driven Development

JUnithttp://junit.org

BDDBehaviour Driven Development

???

Cucumberhttps://cucumber.io

Linting

Linting• Not a compiler

Linting• Not a compiler• Not an interpreter

Linting• Not a compiler• Not an interpreter• Not a syntax checker (although it also does that)

Linting• Not a compiler• Not an interpreter• Not a syntax checker (although it also does that)

Linting• Not a compiler• Not an interpreter• Not a syntax checker (although it also does that)

Somewhere in between.

Demo

ChickenChicken chicken, chicken chicken chicken?

ChickenChicken chicken, chicken chicken chicken?

https://www.youtube.com/watch?v=yL_-1d9OSdk

http://phantomjs.org

https://slimerjs.org http://casperjs.org

Casper Demo

Travis CI

https://travis-ci.org

Travis CI

https://travis-ci.org

top related