SlideShare uma empresa Scribd logo
1 de 84
jonas.bandi@ivorycode.com
Twitter: @jbandi
The curious Life of
D
Jonas Bandi
5 Years ago I had no
clue about JavaScript
Today JavaScript pays my bills
My Journey into JavaScript Land
I went through the five
stages of grief.
Denial
Fear
Repulsion
Curiosity
Most of the people writing in JavaScript are not programmers.
They lack the training and discipline to write good programs.
- Douglas Crockford, 2001
The ecosystem around JavaScript as a serious application
platform continues to evolve.
- ThoughtWorks Technology Radar, January 2014
A very large group of developers still thinks of JavaScript as a
joke.
- Davy Brion, 2011
We strongly suggest to adopt JavaScript as a first class language.
- ThoughtWorks Technology Radar, 2011
Through 2014, improved JavaScript performance will begin to
push HTML5 and the browser as a mainstream enterprise
application development environment.
- Gartner, October 2013
Any application that can be written in
JavaScript, will eventually be written
in JavaScript.
- Atwood’s Law, 2007
http://www.codinghorror.com/blog/2007/07/the-principle-of-least-power.html
We are slaves to JavaScript because
people have simply started to accept
its weirdness and flaws, much like a
Stockholm Syndrome phenomenon.
- Chris Richardson, 2013
http://www.youtube.com/watch?v=CN0jTnSROsk&list=WLB09959CADB0E3254
Two Worlds?
Childhood
JavaScript had a difficult childhood.

It spent a lot of time listening to its parents
fighting with one another about what they wanted
it to be when it grew up. As any young language
would, it tried hard to please its parents. As a
result it suffers from what can only be described
as behavioural quirks.
- Dan North, The Rise and Rise of JavaScript
http://dannorth.net/2011/12/19/the-rise-and-rise-of-javascript/
Birth
HyperCard for the browser
Scheme Self
Mocha
Make it look like Java!
Completed in 10 days!
Java
JavaScript
h"p://javascriptjabber.com/124-­‐jsj-­‐the-­‐origin-­‐of-­‐javascript-­‐with-­‐brendan-­‐eich/
Brendan Eich
JavaScript != Java
The Bad Parts
Adoption
JavaScript has 

good parts!
• Object
• Class
• Method
• Constructor
• Packages
• Inheritance
Language Constructs
• Object
• Function
...everything else can
be implemented
Closures
Elegant Parts
Revealing Module Pattern
var	
  calcModule	
  =	
  (function(){	
  	
  	
  
	
   	
  var	
  a	
  =	
  [1,2,3];	
  
	
  	
  	
  	
  function	
  calculate(){	
  
	
  	
  	
  	
  	
  	
  	
  	
  return	
  (a[0]*a[1])+a[2];	
  
	
  	
  	
  	
  }	
  
	
  	
  	
  	
  function	
  calcAndAdd(){	
  
	
  	
  	
  	
  	
  	
  	
  	
  return	
  calculate()	
  +	
  1;	
  
	
  	
  	
  	
  }	
  
	
  	
  	
  	
  function	
  calcAndSubtract(){	
  
	
  	
  	
  	
  	
  	
  	
  	
  return	
  calculate()	
  -­‐	
  1;	
  
	
  	
  	
  	
  }	
  
	
  	
  	
  	
  return	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  add:	
  calcAndAdd,	
  
	
  	
  	
  	
  	
  	
  	
  	
  subtract:	
  calcAndSubtract	
  
	
  	
  	
  	
  }	
  
})();	
  
var	
  res	
  =	
  calcModule.add();IIFE usage
public

API
private
You can even
implement classes
and classical
inheritance in
JavaScript.
function	
  Person(first,	
  last)	
  {	
  
	
   //	
  'this'	
  is	
  an	
  empty	
  object	
  
	
   this.first	
  =	
  first;	
  
	
   this.last	
  =	
  last;	
  
	
   //	
  'this'	
  is	
  returned	
  when	
  called	
  with	
  'new'	
  
}	
  
Person.prototype.fullName	
  =	
  function()	
  {	
  
	
  	
  	
  	
  return	
  this.first	
  +	
  '	
  '	
  +	
  this.last;	
  
};	
  
Person.prototype.fullNameReversed	
  =	
  function()	
  {	
  
	
  	
  	
  	
  return	
  this.last	
  +	
  ',	
  '	
  +	
  this.first;	
  
};	
  
var	
  pers	
  =	
  new	
  Person("John",	
  "Doe");	
  
console.log(pers.fullName());	
  
console.log(pers.fullNameReversed());
usage
sharedm
ethods
constructor
function Person(name) {
this.name = name;
};
Person.prototype.getName = function() {
return this.name;
};
function Employee(name, employer) {
// rent-a-constructor
Person.call(this, name);
// extend with more properties
this.employer = employer;
};
Employee.prototype = new Person();
var empl = new Employee("Tyler Durden",
"TheClub");
empl.getName()
super-class
sub-class
usage
Growing Up
AJAX REVOLUTION
2000 - 2006
SECOND BROWSER WAR
Massive JavaScript performance improvement
First Generation Frameworks
Client-Side MVC
Application Structure
Data-Binding
A “Second Generation” of JavaScript
Frameworks
sf
A “Third Generation” of JavaScript
Frameworks
Complete Client-Side
Application Development
Toolset
Bower
Popularity
http://redmonk.com/dberkholz/2014/05/02/github-language-trends-and-the-fragmenting-landscape/
http://stackoverflow.com/research/developer-survey-2015#tech
http://stackoverflow.com/tags
JavaScript is the Language of the Web.
Another software technology will come
along and kill off the web. That judgement
day will arrive very soon.
-Forrester Research in 2000
The Web has won!
HTML 5
HTML5 explained:
• Html is the structure
• CSS is the colour and style
• JavaScript is everything else
Scott Hanselman:Angle Brackets, Curly Braces http://channel9.msdn.com/Events/Build/2012/3-027
Signs of Maturity
47
Powerful Parts
h"p://www.thoughtworks.com/radarThoughtWorks	
  Technology	
  Radar,	
  July	
  2011
GWT	
  is	
  a	
  reasonable	
  implementaIon	
  of	
  a	
  
poor	
  architectural	
  choice.	
  GWT	
  a"empts	
  to	
  
hide	
  many	
  of	
  the	
  details	
  of	
  the	
  web	
  as	
  a	
  
plaJorm	
  by	
  creaIng	
  desktop	
  metaphors	
  in	
  
Java	
  and	
  generaIng	
  JavaScript	
  code	
  to	
  
implement	
  them.	
  First,	
  in	
  many	
  ways,	
  
JavaScript	
  is	
  more	
  powerful	
  and	
  
expressive	
  than	
  Java,	
  so	
  we	
  suspect	
  
that	
  the	
  generaIon	
  is	
  going	
  in	
  the	
  wrong	
  
direcIon.	
  
var add = function(first, second) {
return first + second;
};
var splitCall = function(first, func){
return function(second){
return func(first, second);
}
}
var addOne = splitCall(1, add);
addOne(22); // -> 23
I now see my early
attempts to support
the classical model
in JavaScript as a
mistake.
The gift of
JavaScript to
humanity is class-
free object-oriented
programming.
https://youtu.be/bo36MrBfTk4?t=33m38s
Ecosystem
Write Code
Build Test
Deploy
Language
IDE
Toolset
compile
package Test-Frameworks
dependency management
Libraries / Frameworks
Write Code
Build Test
Deploy
Language
IDE
Toolset
compile
package Test-Frameworks
dependency management
Libraries / Frameworks
Bower
Building
PROJECT BUILD
Compile
Package
TestDeploy
Develop
(IDE)
Build jar, war,
assembly
… into a container
(Tomcat, JBoss, IIS …)
execute
Backend
(Java, .NET)
Linting
Package
TestDeploy
Develop
(Editor, IDE)
Minification,
Concatenation, Revision
copy to directory execute in browser
Frontend
(JavaScript)
Testing
Dependency
Management
LARGE JAVASCRIPT APPLICATIONS
? LoC
? LoC
? LoC
LARGE JAVASCRIPT APPLICATIONS
400’000 LoC (2012)
300’000 LoC (2012)
200’000 LoC (2013)
SPA Architecture
View
Model
Controller
Services
ClientServer
clear boundary
"object model"
• Rich client
programming model in
the browser
• Clear separation of
concern between
client and server
Signs of Adolescence
Eco-Mess?
Frontend Libraries & Frameworks
JakeJavaScript build
Tool similar to
Rake or Make.
Broccoli
Bower
Build Tools
TestemA test runner that makes
Javascript unit testing fun.
Testing Tools
Zombie.js
Insanely fast, headless
full-stack testing
ACTIVE ECOSYSTEM
(Maven Central has 930k artifacts / 109k unique artifacts)
www.npmjs.org
http://www.modulecounts.com/
Not every week-end project should
be made public and available through
Bower. The Javascript community
needs to learn to filter itself.
- Manuel Bernhardt, 2014
http://manuel.bernhardt.io/2014/12/30/generation-javascript/
Growing Older
Big Momentum
It's Spreading!
Nashorn
Beyond the Browser
nodebots.io
Native Script
React Native
• Full-Stack JavaScript
• Isomorphic JavaScript
• Run JavaScript logic on
traditional Java / .NET
backend
• Validation
• Workflow / Scripting
Reuse & Sharing Logic
View
Controller
Client
Server
Business Logic "Code
Repository"
Model
JavaScript as a CompilationTarget
GoogleTraceur
by Facebookflowtype.org
Clojure Script
cappuccino-project.orggwtproject.org
https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS
babeljs.io
"The Assembly Language of the Web"
ECMAScript 6

"The big makeover..."
Arrows
Template Strings
Modules
Classes
Classes?
WTF!?
Arrows
Template Strings
Modules
Classes
Generators
Promises
Enhanced Object Literals
Block Scope
...
https://github.com/lukehoban/es6features
Questions?
Interested in JavaScript courses?
Visit: http://ivorycode.com/#schulung

Mais conteúdo relacionado

Mais procurados

NodeJS for Novices - 28/Oct/13 - Winnipeg, MB
NodeJS for Novices - 28/Oct/13 - Winnipeg, MBNodeJS for Novices - 28/Oct/13 - Winnipeg, MB
NodeJS for Novices - 28/Oct/13 - Winnipeg, MB
David Wesst
 

Mais procurados (20)

Modules in Java? Finally! (OpenJDK 9 Jigsaw, JSR376)
Modules in Java? Finally! (OpenJDK 9 Jigsaw, JSR376)Modules in Java? Finally! (OpenJDK 9 Jigsaw, JSR376)
Modules in Java? Finally! (OpenJDK 9 Jigsaw, JSR376)
 
Introduction to Javascript programming
Introduction to Javascript programmingIntroduction to Javascript programming
Introduction to Javascript programming
 
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Angular 1.x reloaded:  improve your app now! and get ready for 2.0Angular 1.x reloaded:  improve your app now! and get ready for 2.0
Angular 1.x reloaded: improve your app now! and get ready for 2.0
 
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1
 
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
 
JAVA SCRIPT
JAVA SCRIPTJAVA SCRIPT
JAVA SCRIPT
 
Best node js course
Best node js courseBest node js course
Best node js course
 
Infrastructure as Data with Ansible
Infrastructure as Data with AnsibleInfrastructure as Data with Ansible
Infrastructure as Data with Ansible
 
The complete-beginners-guide-to-react dyrr
The complete-beginners-guide-to-react dyrrThe complete-beginners-guide-to-react dyrr
The complete-beginners-guide-to-react dyrr
 
A tour of React Native
A tour of React NativeA tour of React Native
A tour of React Native
 
JavaScript Library Overview
JavaScript Library OverviewJavaScript Library Overview
JavaScript Library Overview
 
React js basics
React js basicsReact js basics
React js basics
 
React Native
React NativeReact Native
React Native
 
NodeJS for Novices - 28/Oct/13 - Winnipeg, MB
NodeJS for Novices - 28/Oct/13 - Winnipeg, MBNodeJS for Novices - 28/Oct/13 - Winnipeg, MB
NodeJS for Novices - 28/Oct/13 - Winnipeg, MB
 
How You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in ProductionHow You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in Production
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
 
Javascript Best Practices and Intro to Titanium
Javascript Best Practices and Intro to TitaniumJavascript Best Practices and Intro to Titanium
Javascript Best Practices and Intro to Titanium
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
The Gist of React Native
The Gist of React NativeThe Gist of React Native
The Gist of React Native
 
Alberto Paro - Hands on Scala.js
Alberto Paro - Hands on Scala.jsAlberto Paro - Hands on Scala.js
Alberto Paro - Hands on Scala.js
 

Destaque

Destaque (8)

How do I write Testable Javascript?
How do I write Testable Javascript?How do I write Testable Javascript?
How do I write Testable Javascript?
 
Chatbot Meetup
Chatbot MeetupChatbot Meetup
Chatbot Meetup
 
Designing a Conversational Intelligent Bot which can cook
Designing a Conversational Intelligent Bot which can cookDesigning a Conversational Intelligent Bot which can cook
Designing a Conversational Intelligent Bot which can cook
 
Conversational UI, chatbot, AI - simply explained
Conversational UI, chatbot, AI - simply explained Conversational UI, chatbot, AI - simply explained
Conversational UI, chatbot, AI - simply explained
 
101 Conversational User Interfaces
101 Conversational User Interfaces 101 Conversational User Interfaces
101 Conversational User Interfaces
 
Messengers, Bots and Personal Assistants
Messengers, Bots and Personal AssistantsMessengers, Bots and Personal Assistants
Messengers, Bots and Personal Assistants
 
Build your first messenger bot
Build your first messenger botBuild your first messenger bot
Build your first messenger bot
 
Chatbot ppt
Chatbot pptChatbot ppt
Chatbot ppt
 

Semelhante a The curious Life of JavaScript - Talk at SI-SE 2015

There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014
jbandi
 
JavaScript Growing Up
JavaScript Growing UpJavaScript Growing Up
JavaScript Growing Up
David Padbury
 
Modeling Patterns for JavaScript Browser-Based Games
Modeling Patterns for JavaScript Browser-Based GamesModeling Patterns for JavaScript Browser-Based Games
Modeling Patterns for JavaScript Browser-Based Games
Ray Toal
 
Functional Web Development
Functional Web DevelopmentFunctional Web Development
Functional Web Development
FITC
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big Picture
Simon Willison
 
The Power of the JVM: Applied Polyglot Projects with Java and JavaScript
The Power of the JVM: Applied Polyglot Projects with Java and JavaScriptThe Power of the JVM: Applied Polyglot Projects with Java and JavaScript
The Power of the JVM: Applied Polyglot Projects with Java and JavaScript
Hazelcast
 

Semelhante a The curious Life of JavaScript - Talk at SI-SE 2015 (20)

HTML5 for the Silverlight Guy
HTML5 for the Silverlight GuyHTML5 for the Silverlight Guy
HTML5 for the Silverlight Guy
 
There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014
 
WebGL: GPU acceleration for the open web
WebGL: GPU acceleration for the open webWebGL: GPU acceleration for the open web
WebGL: GPU acceleration for the open web
 
JavaScript Growing Up
JavaScript Growing UpJavaScript Growing Up
JavaScript Growing Up
 
Modern frontend in react.js
Modern frontend in react.jsModern frontend in react.js
Modern frontend in react.js
 
How to make Ajax Libraries work for you
How to make Ajax Libraries work for youHow to make Ajax Libraries work for you
How to make Ajax Libraries work for you
 
Play framework
Play frameworkPlay framework
Play framework
 
JS & NodeJS - An Introduction
JS & NodeJS - An IntroductionJS & NodeJS - An Introduction
JS & NodeJS - An Introduction
 
Modeling Patterns for JavaScript Browser-Based Games
Modeling Patterns for JavaScript Browser-Based GamesModeling Patterns for JavaScript Browser-Based Games
Modeling Patterns for JavaScript Browser-Based Games
 
The Art and Science of Shipping Ember Apps
The Art and Science of Shipping Ember AppsThe Art and Science of Shipping Ember Apps
The Art and Science of Shipping Ember Apps
 
Having Fun with Play
Having Fun with PlayHaving Fun with Play
Having Fun with Play
 
Functional Web Development
Functional Web DevelopmentFunctional Web Development
Functional Web Development
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big Picture
 
[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC
 
lecture5
lecture5lecture5
lecture5
 
lecture5
lecture5lecture5
lecture5
 
The Power of the JVM: Applied Polyglot Projects with Java and JavaScript
The Power of the JVM: Applied Polyglot Projects with Java and JavaScriptThe Power of the JVM: Applied Polyglot Projects with Java and JavaScript
The Power of the JVM: Applied Polyglot Projects with Java and JavaScript
 
Object Oriented Programming In JavaScript
Object Oriented Programming In JavaScriptObject Oriented Programming In JavaScript
Object Oriented Programming In JavaScript
 
Jet presentation
Jet presentationJet presentation
Jet presentation
 
Integrating React.js Into a PHP Application
Integrating React.js Into a PHP ApplicationIntegrating React.js Into a PHP Application
Integrating React.js Into a PHP Application
 

Mais de jbandi (8)

From User Action to Framework Reaction
From User Action to Framework ReactionFrom User Action to Framework Reaction
From User Action to Framework Reaction
 
From User Action to Framework Reaction
From User Action to Framework ReactionFrom User Action to Framework Reaction
From User Action to Framework Reaction
 
Angular 2: What's New?
Angular 2: What's New?Angular 2: What's New?
Angular 2: What's New?
 
vert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMvert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVM
 
NDC 2011 - Building .NET Applications with BDD
NDC 2011 - Building .NET Applications with BDDNDC 2011 - Building .NET Applications with BDD
NDC 2011 - Building .NET Applications with BDD
 
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
NDC 2011 - SpecFlow: Pragmatic BDD for .NETNDC 2011 - SpecFlow: Pragmatic BDD for .NET
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
 
Testing Heute: ein Relikt aus dem Zeitalter des goldenen Wasserfalls?
Testing Heute: ein Relikt aus dem Zeitalter des goldenen Wasserfalls?Testing Heute: ein Relikt aus dem Zeitalter des goldenen Wasserfalls?
Testing Heute: ein Relikt aus dem Zeitalter des goldenen Wasserfalls?
 
Testing: Chances and Challenges in an agile World
Testing: Chances and Challenges in an agile WorldTesting: Chances and Challenges in an agile World
Testing: Chances and Challenges in an agile World
 

Último

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

The curious Life of JavaScript - Talk at SI-SE 2015