Date post: | 12-Apr-2017 |
Category: |
Technology |
Upload: | sabin-marcu |
View: | 327 times |
Download: | 2 times |
Sabin Marcu
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
Sabin Marcu
• Startup in Analytics
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
Sabin Marcu
• Startup in Analytics
• Developer (not Web Developer / Java Developer, etc)
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
Sabin Marcu
• Startup in Analytics
• Developer (not Web Developer / Java Developer, etc)• 3rd Year – Computer Science @ Southampton Uni
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
Sabin Marcu
• Startup in Analytics
• Developer (not Web Developer / Java Developer, etc)• 3rd Year – Computer Science @ Southampton Uni• Experience:
๏ Java, C++, PHP, JavaScript ๏ Projects starting from CMS / whole systems, to libraries and expetiments ๏ Relevant example: github.com/sabinmarcu/js-trans-compat-check
(Tests for verifying compatibity between different programming languages that get transpired to Javascript 1.5)
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
Sabin Marcu
• Startup in Analytics
• Developer (not Web Developer / Java Developer, etc)• 3rd Year – Computer Science @ Southampton Uni• Experience:
๏ Java, C++, PHP, JavaScript ๏ Projects starting from CMS / whole systems, to libraries and expetiments ๏ Relevant example: github.com/sabinmarcu/js-trans-compat-check
(Tests for verifying compatibity between different programming languages that get transpired to Javascript 1.5)
• Research in Citizen Science
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
Sabin Marcu
• Startup in Analytics
• Developer (not Web Developer / Java Developer, etc)• 3rd Year – Computer Science @ Southampton Uni• Experience:
๏ Java, C++, PHP, JavaScript ๏ Projects starting from CMS / whole systems, to libraries and expetiments ๏ Relevant example: github.com/sabinmarcu/js-trans-compat-check
(Tests for verifying compatibity between different programming languages that get transpired to Javascript 1.5)
• Research in Citizen Science• Did (a lot of) testing in SEG
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
Sabin Marcu
• Startup in Analytics
• Developer (not Web Developer / Java Developer, etc)• 3rd Year – Computer Science @ Southampton Uni• Experience:
๏ Java, C++, PHP, JavaScript ๏ Projects starting from CMS / whole systems, to libraries and expetiments ๏ Relevant example: github.com/sabinmarcu/js-trans-compat-check
(Tests for verifying compatibity between different programming languages that get transpired to Javascript 1.5)
• Research in Citizen Science• Did (a lot of) testing in SEG
• HackaSoton from the very begining
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
• Why we need testing, and what does it even mean
• Automatic testing
• UI testing
• Continuous integration (/ testing)
• Deployment
Mars Climate Orbiter [1]
• Joint mission between NASA & Lockheed• Launched in 1998
• In 1999 it desintegrated in Mars's atmosphere
[1] https://www.wikiwand.com/en/Mars_Climate_Orbiter
Mars Climate Orbiter [1]
• Joint mission between NASA & Lockheed• Launched in 1998
• In 1999 it desintegrated in Mars's atmosphere• NASA și Lockheed used different measurement units (lbs s | N s)
[1] http://goo.gl/Pwh7Es [2] https://www.youtube.com/watch?v=9bZkp7q19f0
YouTube Video Count Break [1]
[1] http://goo.gl/Pwh7Es [2] https://www.youtube.com/watch?v=9bZkp7q19f0
YouTube Video Count Break [1]
• Until 20144 YouTube was using Integers (32 bits) to store the number of views of a certain video (max 2,147,483,647)
[1] http://goo.gl/Pwh7Es [2] https://www.youtube.com/watch?v=9bZkp7q19f0
YouTube Video Count Break [1]
• Until 20144 YouTube was using Integers (32 bits) to store the number of views of a certain video (max 2,147,483,647)
• Gangnam Style [2] was the first such video to go over this limit
[1] http://goo.gl/Pwh7Es [2] https://www.youtube.com/watch?v=9bZkp7q19f0
YouTube Video Count Break [1]
• Until 20144 YouTube was using Integers (32 bits) to store the number of views of a certain video (max 2,147,483,647)
• Gangnam Style [2] was the first such video to go over this limit
• Fortunately, the problem was found and fixed beforehand (some observant tech)
[1] http://goo.gl/Pwh7Es [2] https://www.youtube.com/watch?v=9bZkp7q19f0
YouTube Video Count Break [1]
• Until 20144 YouTube was using Integers (32 bits) to store the number of views of a certain video (max 2,147,483,647)
• Gangnam Style [2] was the first such video to go over this limit
• Fortunately, the problem was found and fixed beforehand (some observant tech)
• Now, after that event, the limit is 9,223,372,036,854,775,808 views (64 bits)
#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
• Project Size
• Project Complexity
• Simplicity of task
• Experience of developers
Don’t believe google on this one
• Project Size
• Project Complexity
• Simplicity of task
• Experience of developers
• Chance of someone tracking you down and murdering you in your sleep if they have to continue your work
Don’t believe google on this one
Linting• Not a compiler• Not an interpreter• Not a syntax checker (although it also does that)
Somewhere in between.
ChickenChicken chicken, chicken chicken chicken?
https://www.youtube.com/watch?v=yL_-1d9OSdk
http://phantomjs.org
https://slimerjs.org http://casperjs.org
Travis CI
https://travis-ci.org
Runs tests on push
Runs tests on pull request
Checking your code
Checking your coworker’s code
Travis CI
https://travis-ci.org
Runs tests on push
Runs tests on pull request
Checking your code
Checking your coworker’s code
Ensuring that deployment is
successful
Travis CI
https://travis-ci.org
Runs tests on push
Runs tests on pull request
Checking your code
Continuous Integration
Checking your coworker’s code
Ensuring that deployment is
successful
Process
• See how a test looks like
• Run tests and then check how different results look like
• Push tests to GitHub and check Travis CI Status
Process
• See how a test looks like
• Run tests and then check how different results look like
• Push tests to GitHub and check Travis CI Status
• Check Deployment Status and change local code
Process
• See how a test looks like
• Run tests and then check how different results look like
• Push tests to GitHub and check Travis CI Status
• Check Deployment Status and change local codeto generate a visible change in deployment
Process
• See how a test looks like
• Run tests and then check how different results look like
• Push tests to GitHub and check Travis CI Status
• Check Deployment Status and change local codeto generate a visible change in deployment
• There will be a quiz after