SlideShare a Scribd company logo
1 of 57
Download to read offline
1
Slides:
JavaScript
im Jahr 2016
/Christian Kaltepoth @chkal
http://bit.ly/wjax16-js2016
2
Christian Kaltepoth
Senior Developer @ ingenit
/christian@kaltepoth.de @chkal
http://blog.kaltepoth.de
3
JavaScript
aka
ECMAScript
4
History
ECMAScript 1: 1997
ECMAScript 2: 1998 (alignment)
ECMAScript 3: 1999 (regex, exceptions, ...)
ECMAScript 4: killed in 2007
ECMAScript 5: 2009 (strict mode, JSON, ...)
ECMAScript 6: 2015 (major update)
ECMAScript 7: 2016 (very small update)
ECMAScript 8: 2017 (WIP)
5
Show me code!
6
Block Scope
7
ES5 Scoping
function someFunction() { 
 
  for( var i = 0; i < 4; i++ ) { 
    var j = i * i; 
  } 
 
  console.log( j ); 
  // > ? 
 
}
8
ES5 Hoisting
function someFunction() { 
 
  var j;  // hoisting 
 
  for( var i = 0; i < 4; i++ ) { 
    j = i * i; 
  } 
 
  console.log( j ); 
  // > 9 
 
}
9
Immediately-Invoked Function
Expression (IIFE)
(function() { 
 
  var secret = 42; 
 
})(); 
 
console.log( secret ); 
// > ReferenceError: secret is not defined
10
ES2015 Block Scope
function someFunction() { 
 
  for( let i = 0; i < 4; i++ ) { 
    let j = i * i; 
  } 
 
  console.log( j ); 
  // > ReferenceError: j is not defined 
 
}
11
ES2015 Constants
const users = [ "Christian" ]; 
 
users.push( "Jim" ); 
// > 2 
 
users = [ "Bob" ]; 
// > SyntaxError: "users" is read­only
12
Recommendation
1. const
2. let
3. var (ignore)
13
Source:  https://twitter.com/andreysitnik/status/792697579712675840
14
Arrow Functions
15
ES5 Functions
var numbers = [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]; 
 
numbers.filter( function( n ) { 
  return n % 2 !== 0; 
} ); 
// > [ 1, 3, 5, 7, 9 ]
16
ES2015 Arrow Functions
numbers.filter( n => { 
  return n % 2 !== 0; 
} ); 
// > [ 1, 3, 5, 7, 9 ]
numbers.filter( n => n % 2 !== 0 ); 
// > [ 1, 3, 5, 7, 9 ]
numbers.filter( n => n % 2 ); 
// > [ 1, 3, 5, 7, 9 ]
17
ES5 Callbacks
var ClickCounter = function() { 
 
  this.count = 0; 
 
  var _this = this;   // save 'this' 
  $( "#some­button" ).click( function() { 
    _this.count++; 
  } ); 
 
}; 
 
var obj = new ClickCounter();
18
ES2015 Callbacks
var ClickCounter = function() { 
 
  this.count = 0; 
 
 
  $( "#some­button" ).click( () => { 
    this.count++; 
  } ); 
 
}; 
 
var obj = new ClickCounter();
19
Template Strings
20
ES5 String Concatenation
var name = "Christian"; 
var count = 213; 
 
var message = "Hello " + name + ", you have " 
    + count + " unread messages."; 
 
console.log( message );
21
ES2015 Template Strings
const name = "Christian"; 
const count = 213; 
 
const message = 
    `Hello ${name}, you have ${count} messages.`;
const html = 
    `<h1>Hello ${name}</h1> 
     <p> 
       You have ${count} unread messages 
     </p>`;
22
ES2015 Template Strings
const name = "Christian"; 
const count = 213; 
const total = 500; 
 
const greeting = 
    `Hello ${name.toUpperCase()}!`; 
 
const message = 
    `Unread ratio: ${ 100 * count / total }%`;
23
Collection Types
24
ES2015 Sets
const tags = new Set(); 
 
tags.add( "java" ); 
tags.add( "javascript" ); 
tags.add( "java" ); 
 
tags.size === 2; 
// > true 
 
tags.has( "java" ); 
// > true
25
ES2015 Maps
const map = new Map(); 
 
map.set( "hello", 42 ); 
 
map.size === 1; 
// > true 
 
map.get( "hello" ); 
// > 42 
 
map.delete( "hello" ); 
// > true
26
ES5 Iteration
var primes = [ 3, 5, 7, 11, 13 ]; 
 
for( var i = 0; i < primes.length; i++ ) { 
  console.log( primes[i] ); 
} 
 
// ES5 
primes.forEach( function( n ) { 
  console.log( n ); 
} );
27
ES2015 for..of
// arrays 
const primes = [ 3, 5, 7, 11, 13 ]; 
for( let p of primes ) { 
  console.log( p ); 
} 
 
// collections 
const set = new Set(); 
set.add( "foo" ); 
set.add( "bar" ); 
for( let s of set ) { 
  console.log( s ); 
}
28
Default & Rest Params
29
Default Parameter
function formatMoney( value, currency = "$" ) { 
  return value.toFixed( 2 ) + currency; 
} 
 
formatMoney( 42.99, "€" ); 
// > 42.99€ 
 
formatMoney( 42.99 ); 
// > 42.99$
30
Rest Parameter
function format( message, ...params ) { 
  for( let p of params ) { 
    message = message.replace( /?/, p ); 
  } 
  return message; 
} 
 
format( "Die Summe von ? und ? ist ?", 3, 7, 10 ); 
// > Die Summe von 3 und 7 ist 10
31
Classes
32
ES5: Constructor Functions
var Person = function( name ) { 
  this.name = name; 
} 
 
Person.prototype.greet = function() { 
  return "Hello " + this.name; 
} 
 
var christian = new Person( "Christian" ); 
 
christian.greet();   // > Hello Christian
33
ES2015 Classes
class Person { 
 
  constructor( name ) { 
    this.name = name; 
  } 
 
  greet() { 
    return "Hello " + this.name; 
  } 
} 
 
const christian = new Person( "Christian" ); 
 
christian.greet();   // > Hello Christian
34
ES2015 Inheritance
class Developer extends Person { 
 
  constructor( name, languages ) { 
    super( name ); 
    this.languages = languages; 
  } 
 
  getLanguages() { 
    return this.languages.join( ", " ); 
  } 
} 
 
const christian = new Developer(  
    "Christian", [ "Java", "JavaScript" ]  
);
35
Modules
36
Export / Import
// math.js 
export function max( a, b ) { 
  return a > b ? a : b; 
} 
 
export const PI = 3.14156;
import { max, PI } from "./math.js"; 
 
max(9, 13) === 13;       // > true 
PI === 3.14156;          // > true
37
Export / Import
// math.js 
export function max( a, b ) { 
  return a > b ? a : b; 
} 
 
export const PI = 3.14156;
import * as math from "./math.js"; 
 
math.max(9, 13) === 13   // > true 
math.PI === 3.14156      // > true
38
Default Exports
// person.js 
export default class Person { 
 
  constructor( name ) { 
    this.name = name; 
  } 
 
}
import Person from "./person.js"; 
 
const christian = new Person( "Christian" );
39
Promises
40
Callback Hell
asyncFunc1( function () { 
  asyncFunc2( function () { 
    asyncFunc3( function () { 
      asyncFunc4( function () { 
             
        // :­( 
             
      } ); 
    } ); 
  } ); 
} );
41
Promise
const promise = asyncFunc(); 
 
promise.then( result => { 
  // handle success 
} ); 
 
promise.catch( error => { 
  // handle error 
} );
42
Chaining Promises
asyncFunc1()                      // Step #1 
  .then( result1 => { 
    return asyncFunc2();          // Step #2 
  } ) 
  .then( result2 => { 
    return asyncFunc3();          // Step #3 
  } ) 
  .then( result3 => { 
    // handle final result 
  } ) 
  .catch( error => { 
    // handle all errors 
  } );
43
Example: HTML5 Geolocation API
navigator.geolocation.getCurrentPosition( 
  function( position ) { 
    // handle success 
  }, 
  function( error ) { 
    // handle error 
  } 
);
44
Example: HTML5 Geolocation API
function requestPosition() { 
             
 
 
     
      
 
       
       
 
       
     
             
   
}
45
Example: HTML5 Geolocation API
function requestPosition() { 
             
  return new Promise(  
 
     
      
 
       
       
 
       
     
             
    ); 
}
46
Example: HTML5 Geolocation API
function requestPosition() { 
             
  return new Promise( ( resolve, reject ) => { 
 
     
      
 
       
       
 
       
     
             
  } ); 
}
47
Example: HTML5 Geolocation API
function requestPosition() { 
             
  return new Promise( ( resolve, reject ) => { 
 
    navigator.geolocation.getCurrentPosition( 
      position => { 
 
      }, 
      error => { 
 
      } 
    ); 
             
  } ); 
}
48
Example: HTML5 Geolocation API
function requestPosition() { 
             
  return new Promise( ( resolve, reject ) => { 
 
    navigator.geolocation.getCurrentPosition( 
      position => { 
        resolve( position.coords ); 
      }, 
      error => { 
        reject( error ); 
      } 
    ); 
             
  } ); 
}
49
Example: HTML5 Geolocation API
requestPosition().then( coords => { 
 
    console.log( "Position: " + coords ); 
 
  } ) 
  .catch( error => { 
 
    console.log( "Failed!" ); 
 
  } );
50
And what about
ES2016?
51
New in ES2016
Math.pow( 3, 2 );       // ES2015 
// > 9 
 
3 ** 2                  // ES2016 
// > 9
const numbers = [ 1, 2, 4, 8 ]; 
 
numbers.includes( 2 );      // > true 
 
numbers.includes( 3 );      // > false
52
TC39 Process
Frequent releases (yearly)
Feature stages:
Stage 0: Strawman
Stage 1: Proposal
Stage 2: Dra
Stage 3: Candidate
Stage 4: Finished
53
Can I use this stuff?
54
ES2015 Compatibility
ES2016 Compatibility
Source:  https://kangax.github.io/compat-table/
55
Babel REPL
https://babeljs.io/repl/
56
Java Integration
https://github.com/chkal/frontend-boilerplate
Apache Maven
node.js / npm
Webpack / Babel / TypeScript
Karma / Jasmine
57
Thanks!
Questions?
http://bit.ly/wjax16-js2016
https://github.com/chkal/frontend-boilerplate
/Christian Kaltepoth @chkal

More Related Content

Similar to JavaScript im Jahr 2016

Using JavaScript ES2015 (ES6), ES2016, ES2017 in production
Using JavaScript ES2015 (ES6), ES2016, ES2017 in productionUsing JavaScript ES2015 (ES6), ES2016, ES2017 in production
Using JavaScript ES2015 (ES6), ES2016, ES2017 in productionAnže Žnidaršič
 
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...Mario Heiderich
 
HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAXWan Leung Wong
 
JavaScript Language Update 2016 (LLoT)
JavaScript Language Update 2016 (LLoT)JavaScript Language Update 2016 (LLoT)
JavaScript Language Update 2016 (LLoT)Teppei Sato
 
ES 6 - Jakarta Javascript Meetup
ES 6 - Jakarta Javascript MeetupES 6 - Jakarta Javascript Meetup
ES 6 - Jakarta Javascript MeetupSofian Hadiwijaya
 
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcutUpgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcutChristian Heilmann
 
ECMAScript: past, present and future
ECMAScript: past, present and futureECMAScript: past, present and future
ECMAScript: past, present and futureKseniya Redunova
 
Making ES6 available to all with ChakraCore and Typescript
Making ES6 available to all with ChakraCore and TypescriptMaking ES6 available to all with ChakraCore and Typescript
Making ES6 available to all with ChakraCore and TypescriptChristian Heilmann
 
Making ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCoreMaking ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCoreChristian Heilmann
 
JavaScript packt aus: "Alle haben mich falsch verstanden!"
JavaScript packt aus: "Alle haben mich falsch verstanden!"JavaScript packt aus: "Alle haben mich falsch verstanden!"
JavaScript packt aus: "Alle haben mich falsch verstanden!"fg.informatik Universität Basel
 
Ecmascript 2015 – best of new features()
Ecmascript 2015 – best of new features()Ecmascript 2015 – best of new features()
Ecmascript 2015 – best of new features()Miłosz Sobczak
 
TypeScriptについて
TypeScriptについてTypeScriptについて
TypeScriptについてHiroakiTakesue
 
Modern JavaScript features
Modern JavaScript featuresModern JavaScript features
Modern JavaScript featuresKunal Kursija
 
Dmytro Kochergin Angular 2 and New Java Script Technologies
Dmytro Kochergin Angular 2 and New Java Script TechnologiesDmytro Kochergin Angular 2 and New Java Script Technologies
Dmytro Kochergin Angular 2 and New Java Script TechnologiesLogeekNightUkraine
 

Similar to JavaScript im Jahr 2016 (20)

Using JavaScript ES2015 (ES6), ES2016, ES2017 in production
Using JavaScript ES2015 (ES6), ES2016, ES2017 in productionUsing JavaScript ES2015 (ES6), ES2016, ES2017 in production
Using JavaScript ES2015 (ES6), ES2016, ES2017 in production
 
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
ECMAScript 6 from an Attacker's Perspective - Breaking Frameworks, Sandboxes,...
 
HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAX
 
Future of NodeJS
Future of NodeJSFuture of NodeJS
Future of NodeJS
 
JavaScript Language Update 2016 (LLoT)
JavaScript Language Update 2016 (LLoT)JavaScript Language Update 2016 (LLoT)
JavaScript Language Update 2016 (LLoT)
 
ES 6 - Jakarta Javascript Meetup
ES 6 - Jakarta Javascript MeetupES 6 - Jakarta Javascript Meetup
ES 6 - Jakarta Javascript Meetup
 
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcutUpgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
 
JS class slides (2016)
JS class slides (2016)JS class slides (2016)
JS class slides (2016)
 
JS Class 2016
JS Class 2016JS Class 2016
JS Class 2016
 
ECMAScript: past, present and future
ECMAScript: past, present and futureECMAScript: past, present and future
ECMAScript: past, present and future
 
ECMAScript 6
ECMAScript 6ECMAScript 6
ECMAScript 6
 
Making ES6 available to all with ChakraCore and Typescript
Making ES6 available to all with ChakraCore and TypescriptMaking ES6 available to all with ChakraCore and Typescript
Making ES6 available to all with ChakraCore and Typescript
 
Js in 2016
Js in 2016Js in 2016
Js in 2016
 
Making ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCoreMaking ES6 available to all with ChakraCore
Making ES6 available to all with ChakraCore
 
Ekanite
EkaniteEkanite
Ekanite
 
JavaScript packt aus: "Alle haben mich falsch verstanden!"
JavaScript packt aus: "Alle haben mich falsch verstanden!"JavaScript packt aus: "Alle haben mich falsch verstanden!"
JavaScript packt aus: "Alle haben mich falsch verstanden!"
 
Ecmascript 2015 – best of new features()
Ecmascript 2015 – best of new features()Ecmascript 2015 – best of new features()
Ecmascript 2015 – best of new features()
 
TypeScriptについて
TypeScriptについてTypeScriptについて
TypeScriptについて
 
Modern JavaScript features
Modern JavaScript featuresModern JavaScript features
Modern JavaScript features
 
Dmytro Kochergin Angular 2 and New Java Script Technologies
Dmytro Kochergin Angular 2 and New Java Script TechnologiesDmytro Kochergin Angular 2 and New Java Script Technologies
Dmytro Kochergin Angular 2 and New Java Script Technologies
 

More from Christian Kaltepoth

TypeScript - das bessere JavaScript!?
TypeScript - das bessere JavaScript!?TypeScript - das bessere JavaScript!?
TypeScript - das bessere JavaScript!?Christian Kaltepoth
 
MVC 1.0 - Das neue Webframework in Java EE 8
MVC 1.0 - Das neue Webframework in Java EE 8MVC 1.0 - Das neue Webframework in Java EE 8
MVC 1.0 - Das neue Webframework in Java EE 8Christian Kaltepoth
 
Beyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in RewriteBeyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in RewriteChristian Kaltepoth
 
Beyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in RewriteBeyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in RewriteChristian Kaltepoth
 
PrettyFaces: RESTful URLs für JSF
PrettyFaces: RESTful URLs für JSFPrettyFaces: RESTful URLs für JSF
PrettyFaces: RESTful URLs für JSFChristian Kaltepoth
 

More from Christian Kaltepoth (7)

TypeScript - das bessere JavaScript!?
TypeScript - das bessere JavaScript!?TypeScript - das bessere JavaScript!?
TypeScript - das bessere JavaScript!?
 
MVC 1.0 - Das neue Webframework in Java EE 8
MVC 1.0 - Das neue Webframework in Java EE 8MVC 1.0 - Das neue Webframework in Java EE 8
MVC 1.0 - Das neue Webframework in Java EE 8
 
JSF vs. GWT? JSF und GWT!
JSF vs. GWT? JSF und GWT!JSF vs. GWT? JSF und GWT!
JSF vs. GWT? JSF und GWT!
 
Beyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in RewriteBeyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in Rewrite
 
Beyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in RewriteBeyond PrettyFaces - Einführung in Rewrite
Beyond PrettyFaces - Einführung in Rewrite
 
Feature Flags mit Togglz
Feature Flags mit TogglzFeature Flags mit Togglz
Feature Flags mit Togglz
 
PrettyFaces: RESTful URLs für JSF
PrettyFaces: RESTful URLs für JSFPrettyFaces: RESTful URLs für JSF
PrettyFaces: RESTful URLs für JSF
 

Recently uploaded

Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAlluxio, Inc.
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)Max Lee
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionWave PLM
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfMehmet Akar
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024vaibhav130304
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfsteffenkarlsson2
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Gáspár Nagy
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfkalichargn70th171
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationHelp Desk Migration
 
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purityAPVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purityamy56318795
 
How to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfHow to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfTestgrid.io
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...naitiksharma1124
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignNeo4j
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfVictor Lopez
 
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfQ-Advise
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfmbmh111980
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024Shane Coughlan
 

Recently uploaded (20)

Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purityAPVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
 
How to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfHow to pick right visual testing tool.pdf
How to pick right visual testing tool.pdf
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 

JavaScript im Jahr 2016