SlideShare a Scribd company logo
1 of 30
Download to read offline

Node.JS - Basics
Eueung Mulyana
http://eueung.github.io/js/node-basics
JS CodeLabs | Attribution-ShareAlike CC BY-SA
1 / 30
Agenda
Checklist
Node Basics
2 / 30
 Checklist
3 / 30
SETnodejsVersion=5.2.0
SETnodejsArch=x64
nodejs-portable (admin)
setPATH=%APPDATA%npm;%~dp0;%PATH%
setPYTHON=f:progpy27python.exe
nodevars
npmconfigsetmsvs_version2013--global
npm
Settings - Example
echo%PYTHON%
#f:progpy27python.exe
npmconfigsetmsvs_version2013--global
npm-v
#3.3.12
4 / 30
 Node.JS Basics
5 / 30
Example #1 (http-1)
//alternative
consthttp=require('http');
consthostname='127.0.0.1';
constport=1337;
http.createServer((req,res)=>{
res.writeHead(200,{'Content-Type':'text/plain'});
res.end('HelloWorldn');
}).listen(port,hostname,()=>{
console.log(`Serverrunningathttp://${hostname}:${port}
});
varhttp=require('http');
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
res.end('helloworldn');
}).listen(8000,'127.0.0.1');
console.log('Serverrunningathttp://127.0.0.1:8000/');
$>nodeex-01-web.js
Serverrunningathttp://127.0.0.1:8000/
$>curlhttp://localhost:8000
helloworld
6 / 30
$>ab-n100-c100http://localhost:8000/
$>ab-n100-c100http://127.0.0.1:8000
$>ab-n100-c100http://127.0.0.1:8000/
ThisisApacheBench,...Benchmarking127.0.0.1(bepatient).....done
ServerHostname: 127.0.0.1
ServerPort: 8000
DocumentPath: /
ConcurrencyLevel: 100
Timetakenfortests: 2.059seconds
Completerequests: 100
Requestspersecond: 48.56[#/sec](mean)
Timeperrequest: 2059.203[ms](mean)
Timeperrequest: 20.592[ms](mean,acrossallconcurrentrequests)
Transferrate: 5.36[Kbytes/sec]received
ConnectionTimes(ms)
min mean[+/-sd]median max
Connect: 0 0 0.0 0 0
Processing: 19972021 8.4 2028 2028
Waiting: 47 51 8.7 47 78
Total: 19972021 8.4 2028 2028
Percentageoftherequestsservedwithinacertaintime(ms)
50% 2028
66% 2028
...
100% 2028(longestrequest)
Example #1 (http-2)
varhttp=require('http');
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
res.write('hellon');
setTimeout(function(){res.end('worldn');},2000);
}).listen(8000,'127.0.0.1');
7 / 30
Example #1 (http-3)
varhttp=require('http');
http.createServer(function(request,response){
varheaders=request.headers;
varmethod=request.method;
varurl=request.url;
varbody=[];
request.on('error',function(err){console.error(err);})
.on('data',function(chunk){body.push(chunk);})
.on('end',function(){
response.on('error',function(err){console.error(err
response.writeHead(200,{'Content-Type':'text/html'
response.end('<html><body><h1>Hello,World!</h1></body
});
}).listen(8080);
8 / 30
varhttp=require('http');
http.createServer(function(request,response){
varheaders=request.headers;
varmethod=request.method;
varurl=request.url;
varbody=[];
request.on('error',function(err){console.error(err);})
.on('data',function(chunk){body.push(chunk);})
.on('end',function(){
body=Buffer.concat(body).toString();
response.on('error',function(err){console.error(err);});
response.statusCode=200;
response.setHeader('Content-Type','application/json'
varresponseBody={
headers:headers,
method:method,
url:url,
body:body
};
response.write(JSON.stringify(responseBody));
response.end();
});
}).listen(8080);
Example #1 (http-4)
 
9 / 30
Example #1 (socket-1)
varnet=require('net');
varserver=net.createServer(function(socket){
socket.write('EchoServerrn');
socket.pipe(socket);
});
server.listen(1337,'127.0.0.1');
console.log('EchoServerrunningatport1337');
$>nodeex-01-net-echo1.js
EchoServerrunningatport1337
10 / 30
Example #1 (socket-2)
varnet=require('net');
net.createServer(function(socket){
socket.write('hellon');
socket.write('worldn');
socket.on('data',function(data){
socket.write(data.toString().toUpperCase())
});
}).listen(8000);
console.log('EchoServer-2runningatport8000');
$>nodeex-01-net-echo2.js
EchoServer-2runningatport8000
$>ncatlocalhost8000
hello
world
inidata
INIDATA
datalagi:echoserver2
DATALAGI:ECHOSERVER2
11 / 30
$>nodeex-01-net-server.js
serverislistening
clientconnected
clientdisconnected
varnet=require('net');
varserver=net.createServer(function(connection){
console.log('clientconnected');
connection.on('end',function(){console.log('clientdisconnected'
connection.write('HelloWorld!rn');
connection.pipe(connection);
});
server.listen(8080,function(){console.log('serverislistening'
Example #1 (socket-3)
$>nodeex-01-net-client.js
connectedtoserver!
HelloWorld!
disconnectedfromserver
varnet=require('net');
varclient=net.connect({port:8080},function(){console
client.on('data',function(data){
console.log(data.toString());
client.end();
});
client.on('end',function(){console.log('disconnectedfroms
12 / 30
Example #1 (socket-4)
$>ncatlocalhost8000
hello
world
testdarincat1
rogerncat1,inidarincat2
$>ncatlocalhost8000
hello
world
testdarincat1
rogerncat1,inidarincat2
Array.prototype.remove=function(from,to){
varrest=this.slice((to||from)+1||this.length);
this.length=from<0?this.length+from:from;
returnthis.push.apply(this,rest);
};
//Application
varnet=require('net');
varsockets=[];
net.createServer(function(socket){
sockets.push(socket);
socket.write('hellon');
socket.write('worldn');
socket.on('data',function(data){
vari;
for(i=0;i<sockets.length;i++){
if(sockets[i]===socket) continue;
sockets[i].write(data.toString());
}
});
socket.on('end',function(){
vari=sockets.indexOf(socket);
sockets.remove(i);
});
}).listen(8000);
13 / 30
Example #1
http echo server
varhttp=require('http');
http.createServer(function(request,response){
request.on('error',function(err){
console.error(err);
response.statusCode=400;
response.end();
});
response.on('error',function(err){console.error(err);});
if(request.method==='GET'&&request.url==='/echo'){
request.pipe(response);
}else{
response.statusCode=404;
response.end();
}
}).listen(8080);
14 / 30
Example #2
fs: synchronous vs. asynchronous
varfs=require("fs");
vardata=fs.readFileSync('ex-02-input.txt');
console.log(data.toString());
console.log("ProgramEnded");
$>nodeex-02-fs1.js
iniinputiniinputiniinput
inputiniinputini
inputinputinput
ProgramEnded
varfs=require("fs");
fs.readFile('ex-02-input.txt',function(err,data){
if(err)returnconsole.error(err);
console.log(data.toString());
});
console.log("ProgramEnded");
$>nodeex-02-fs2.js
ProgramEnded
iniinputiniinputiniinput
inputiniinputini
inputinputinput
15 / 30
Example #3 (events)
$>nodeex-03-event2.js
2Listner(s)listeningtoconnectionevent
listner1executed.
listner2executed.
Listner1willnotlistennow.
listner2executed.
1Listner(s)listeningtoconnectionevent
ProgramEnded.
varevents=require('events');
vareventEmitter=newevents.EventEmitter();
//-----
varconnectHandler=functionconnected(){
console.log('connectionsuccesful.');
eventEmitter.emit('data_received');
}
//-----
eventEmitter.on('connection',connectHandler);
eventEmitter.on('data_received',function(){console.log('datareceivedsuccesfully.'
//-----
eventEmitter.emit('connection');
console.log("ProgramEnded.");
$>nodeex-03-event1.js
connectionsuccesful.
datareceivedsuccesfully.
ProgramEnded.
varevents=require('events');
vareventEmitter=newevents.EventEmitter();
//-----------
varlistner1=functionlistner1(){console.log('listner1exe
varlistner2=functionlistner2(){console.log('listner2exe
//-----------
eventEmitter.addListener('connection',listner1);
eventEmitter.on('connection',listner2);
//-----------
vareventListeners=require('events').EventEmitter.listenerCo
console.log(eventListeners+"Listner(s)listeningtoconnect
eventEmitter.emit('connection');
//-----------
eventEmitter.removeListener('connection',listner1);
console.log("Listner1willnotlistennow.");
eventEmitter.emit('connection');
eventListeners=require('events').EventEmitter.listenerCount(
console.log(eventListeners+"Listner(s)listeningtoconnect
//-----------
console.log("ProgramEnded.");
16 / 30
Example #4
http server & client
$>nodeex-04-server.js
Serverrunningathttp://127.0.0.1:7070/
Requestfor/ex-04-index.htmlreceived.
server.js
varhttp=require('http');
varfs=require('fs');
varurl=require('url');
http.createServer(function(request,response){
varpathname=url.parse(request.url).pathname;
console.log("Requestfor"+pathname+"received.");
fs.readFile(pathname.substr(1),function(err,data){
if(err){
console.log(err);
response.writeHead(404,{'Content-Type':'text/html'
}else{
response.writeHead(200,{'Content-Type':'text/html'
response.write(data.toString());
}
response.end();
});
}).listen(7070);
console.log('Serverrunningathttp://127.0.0.1:7070/');
17 / 30
varhttp=require('http');
varoptions={
host:'localhost',
port:'7070',
path:'/ex-04-index.html'
};
varcallback=function(response){
varbody='';
response.on('data',function(data){
body+=data;
});
response.on('end',function(){
console.log(body);
});
}
varreq=http.request(options,callback);
req.end();
Example #4
http server & client
$>nodeex-04-client.js
<html>
<head>
<title>SamplePage</title>
</head>
<body>
<h1>HelloWorld!</h1>
</body>
</html>
18 / 30
Example #5 (Stream)
$>nodeex-05-rwstream1.js
ProgramEnded
iniinputiniinputiniinput
inputiniinputini
inputinputinput
varfs=require("fs");
vardata='';
varreaderStream=fs.createReadStream('ex-05-input.txt');
readerStream.setEncoding('UTF8');
//--------
readerStream.on('data',function(chunk){data+=chunk;});
readerStream.on('end',function(){console.log(data);});
readerStream.on('error',function(err){console.log(err.stack);});
//--------
console.log("ProgramEnded");
$>nodeex-05-rwstream2.js
ProgramEnded
Writecompleted.
varfs=require("fs");
vardata='datainputdatainputdata';
varwriterStream=fs.createWriteStream('ex-05-output.txt');
writerStream.write(data,'UTF8');
writerStream.end();
//------------
writerStream.on('finish',function(){console.log("Writecomp
writerStream.on('error',function(err){console.log(err.stack)
//------------
console.log("ProgramEnded");
19 / 30
Example #5
varfs=require("fs");
varreaderStream=fs.createReadStream('ex-05-input.txt');
varwriterStream=fs.createWriteStream('ex-05-output-2.txt'
readerStream.pipe(writerStream);
console.log("ProgramEnded");
varfs=require("fs");
varzlib=require('zlib');
//----------------
fs.createReadStream('ex-05-input.txt')
.pipe(zlib.createGzip())
.pipe(fs.createWriteStream('ex-05-input.txt.gz'));
console.log("FileCompressed.");
//----------------
//needsync(callbackafterwritegz)
fs.createReadStream('ex-05-input.txt.gz')
.pipe(zlib.createGunzip())
.pipe(fs.createWriteStream('ex-05-input-recovered.txt'));
console.log("FileDecompressed.");
20 / 30
$>nodeex-06.js
endianness:LE
type:Windows_NT
platform:win32
totalmemory:6097141760bytes.
freememory:3529269248bytes.
varos=require("os");
console.log('endianness:'+os.endianness());
console.log('type:'+os.type());
console.log('platform:'+os.platform());
console.log('totalmemory:'+os.totalmem()+"bytes.");
console.log('freememory:'+os.freemem()+"bytes.");
Example #6 (os)
21 / 30
Example #7 (path)
$>nodeex-07.js
normalization:testtest12slashes1slash
jointpath:testtest12slashes1slash
resolve:H:nodejs-5.2.0workbasicsex-06.js
extname:.js
varpath=require("path");
console.log('normalization:'+path.normalize('/test/test1//
console.log('jointpath:'+path.join('/test','test1','2sl
console.log('resolve:'+path.resolve('ex-06.js'));
console.log('extname:'+path.extname('ex-06.js'));
22 / 30
vardns=require('dns');
dns.lookup('www.google.com',functiononLookup(err,address,family)
console.log('address:',address);
dns.reverse(address,function(err,hostnames){
if(err){
console.log(err.stack);
}
console.log('reversefor'+address+':'+JSON.stringify(hostnames));
});
});
$>nodeex-08.js
address:111.94.248.59
reversefor111.94.248.59:["fm-dyn-111-94-248-59.fast.net.id"
Example #8 (dns)
23 / 30
Example #9 (domain)
$>nodeex-09.js
listenerhandledthiserror(Tobehandledbylistener)
domain1handledthiserror(Tobehandledbydomain1)
domain2handledthiserror(Tobehandledbydomain2)
varEventEmitter=require("events").EventEmitter;
vardomain=require("domain");
varemitter1=newEventEmitter();
vardomain1 =domain.create();
//--------------uselistener
domain1.on('error',function(err){console.log("domain1handle
domain1.add(emitter1);
emitter1.on('error',function(err){console.log("listenerhandl
emitter1.emit('error',newError('Tobehandledbylistener'));
//--------------removelistener
emitter1.removeAllListeners('error');
emitter1.emit('error',newError('Tobehandledbydomain1'));
//--------------uncaught
//domain1.remove(emitter1);
//emitter1.emit('error',newError('Convertedtoexception.S
//--------------
//--------------
vardomain2=domain.create();
domain2.on('error',function(err){console.log("domain2handle
domain2.run(function(){
varemitter2=newEventEmitter();
emitter2.emit('error',newError('Tobehandledbydomain2'
});
24 / 30
console.log(__filename);
console.log(__dirname);
//------------
functionprintHello(){console.log("Hello,World!");}
setTimeout(printHello,2000); //callafter2seconds
//setInterval(printHello,2000);//repeat
vart=setTimeout(printHello,2000);
clearTimeout(t);//stopthetimer,notexecuted
//------------
console.info("ProgramStarted");
varcounter=10;
console.log("Counter:%d",counter);
console.time("Gettingdata");
//Dosomeprocessinghere...
console.timeEnd('Gettingdata');
console.info("ProgramEnded")
$>nodeex-10-misc1.js
H:nodejs-5.2.0workbasicsex-10-misc1.js
H:nodejs-5.2.0workbasics
ProgramStarted
Counter:10
Gettingdata:0.626ms
ProgramEnded
Hello,World!
Example #10 (misc)
25 / 30
Example #10 (misc)
$>nodeex-10-misc2.js
ProgramStarted
HelloWorld!
0:H:nodejs-5.2.0node.exe
1:H:nodejs-5.2.0workbasicsex-10-misc2.js
H:nodejs-5.2.0node.exe
win32
Currentdirectory:H:nodejs-5.2.0workbasics
Currentversion:v5.2.0
{rss:17371136,heapTotal:7524096,heapUsed:4050072}
Abouttoexitwithcode:0
process.on('exit',function(code){
//Followingcodewillneverexecute.
setTimeout(function(){console.log("Thiswillnotrun");},
console.log('Abouttoexitwithcode:',code);
});
console.log("ProgramStarted");
//------------
process.stdout.write("HelloWorld!"+"n");
//Readingpassedparameter
process.argv.forEach(function(val,index,array){console.log
//------------
console.log(process.execPath);
console.log(process.platform);
console.log('Currentdirectory:'+process.cwd());
console.log('Currentversion:'+process.version);
console.log(process.memoryUsage());
26 / 30
buf=newBuffer(256);
len=buf.write("SimplyEasyLearning");
console.log("Octetswritten:"+ len);
//---------------
buf=newBuffer(26);
for(vari=0;i<26;i++){buf[i]=i+97;}
console.log(buf.toString('ascii')); //outputs:abcdefghijklmnopqrstuvwxyz
console.log(buf.toString('ascii',0,5)); //outputs:abcde
console.log(buf.toString('utf8',0,5)); //outputs:abcde
console.log(buf.toString(undefined,0,5));//encodingdefaultsto'utf8',outputsabcde
//---------------
varbuf=newBuffer('SimplyEasyLearning');
varjson=buf.toJSON(buf);
console.log(json);
$>nodeex-11-buf1.js
Octetswritten:20
abcdefghijklmnopqrstuvwxyz
abcde
abcde
abcde
{type:'Buffer',
data:
[83,105,109,112,108,121,32,69,97,115,121,32,
Example #11 (Buffer)
27 / 30
Example #11 (Buffer)
$>nodeex-11-buf2.js
buffer3content:TutorialsPointSimplyEasyLearning
ABCcomesbeforeABCD
buffer2content:ABC
buffer2content:Tutorials
bufferlength:14
varbuffer1=newBuffer('TutorialsPoint');
varbuffer2=newBuffer('SimplyEasyLearning');
varbuffer3=Buffer.concat([buffer1,buffer2]);
console.log("buffer3content:"+buffer3.toString());
//---------------
varbuffer1=newBuffer('ABC');
varbuffer2=newBuffer('ABCD');
varresult=buffer1.compare(buffer2);
if(result<0){console.log(buffer1+"comesbefore"+buffe
elseif(result==0){console.log(buffer1+"issameas"+bu
else{console.log(buffer1+"comesafter"+buffer2);}
//---------------
varbuffer1=newBuffer('ABC');
varbuffer2=newBuffer(3);
buffer1.copy(buffer2);//copyabuffer
console.log("buffer2content:"+buffer2.toString());
//---------------
varbuffer1=newBuffer('TutorialsPoint');
varbuffer2=buffer1.slice(0,9);//slicingabuffer
console.log("buffer2content:"+buffer2.toString());
//---------------
varbuffer=newBuffer('TutorialsPoint');
console.log("bufferlength:"+buffer.length);//lengthofth
28 / 30
References
1. Guides | Node.js
2. Node.js Tutorial - TutorialsPoint
3. Simple Servers | Node.js | Bevry's Learning Centre
29 / 30

END
Eueung Mulyana
http://eueung.github.io/js/node-basics
JS CodeLabs | Attribution-ShareAlike CC BY-SA
30 / 30

More Related Content

What's hot

Docker command
Docker commandDocker command
Docker commandEric Ahn
 
Node.js basics
Node.js basicsNode.js basics
Node.js basicsBen Lin
 
Frontend JS workflow - Gulp 4 and the like
Frontend JS workflow - Gulp 4 and the likeFrontend JS workflow - Gulp 4 and the like
Frontend JS workflow - Gulp 4 and the likeDamien Seguin
 
ZopeSkel & Buildout packages
ZopeSkel & Buildout packagesZopeSkel & Buildout packages
ZopeSkel & Buildout packagesQuintagroup
 
JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"
JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"
JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"GeeksLab Odessa
 
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im ÜberblickEin Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblickrenebruns
 
Bfg Ploneconf Oct2008
Bfg Ploneconf Oct2008Bfg Ploneconf Oct2008
Bfg Ploneconf Oct2008Jeffrey Clark
 
2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Heroku2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Herokuronnywang_tw
 
나도 할 수 있다 오픈소스
나도 할 수 있다 오픈소스나도 할 수 있다 오픈소스
나도 할 수 있다 오픈소스효준 강
 
The origin: Init (compact version)
The origin: Init (compact version)The origin: Init (compact version)
The origin: Init (compact version)Tzung-Bi Shih
 
Datagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and BackgridDatagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and Backgrideugenio pombi
 
Python Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CIPython Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CIBruno Rocha
 
Manage appium dependencies with -appium-home in appium 2.0
Manage appium dependencies with  -appium-home in appium 2.0Manage appium dependencies with  -appium-home in appium 2.0
Manage appium dependencies with -appium-home in appium 2.0Kazuaki Matsuo
 
Learn flask in 90mins
Learn flask in 90minsLearn flask in 90mins
Learn flask in 90minsLarry Cai
 
Add new commands in appium 2.0
Add new commands in appium 2.0Add new commands in appium 2.0
Add new commands in appium 2.0Kazuaki Matsuo
 
2. auto deploy to tomcat on jenkins
2. auto deploy to tomcat on jenkins2. auto deploy to tomcat on jenkins
2. auto deploy to tomcat on jenkinsHuang Bruce
 
Buildout - Alles im Griff
Buildout - Alles im GriffBuildout - Alles im Griff
Buildout - Alles im Grifffrisi
 

What's hot (20)

Docker command
Docker commandDocker command
Docker command
 
Node.js basics
Node.js basicsNode.js basics
Node.js basics
 
Frontend JS workflow - Gulp 4 and the like
Frontend JS workflow - Gulp 4 and the likeFrontend JS workflow - Gulp 4 and the like
Frontend JS workflow - Gulp 4 and the like
 
ZopeSkel & Buildout packages
ZopeSkel & Buildout packagesZopeSkel & Buildout packages
ZopeSkel & Buildout packages
 
JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"
JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"
JSLab. Грибанов Александр. "Yeoman - избавляемся от рутинных задач"
 
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im ÜberblickEin Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
Ein Stall voller Trüffelschweine - (PHP-)Profiling-Tools im Überblick
 
Bfg Ploneconf Oct2008
Bfg Ploneconf Oct2008Bfg Ploneconf Oct2008
Bfg Ploneconf Oct2008
 
Zenoss: Buildout
Zenoss: BuildoutZenoss: Buildout
Zenoss: Buildout
 
Pm2
Pm2Pm2
Pm2
 
2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Heroku2012 coscup - Build your PHP application on Heroku
2012 coscup - Build your PHP application on Heroku
 
나도 할 수 있다 오픈소스
나도 할 수 있다 오픈소스나도 할 수 있다 오픈소스
나도 할 수 있다 오픈소스
 
The origin: Init (compact version)
The origin: Init (compact version)The origin: Init (compact version)
The origin: Init (compact version)
 
Datagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and BackgridDatagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and Backgrid
 
Python Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CIPython Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CI
 
Manage appium dependencies with -appium-home in appium 2.0
Manage appium dependencies with  -appium-home in appium 2.0Manage appium dependencies with  -appium-home in appium 2.0
Manage appium dependencies with -appium-home in appium 2.0
 
Learn flask in 90mins
Learn flask in 90minsLearn flask in 90mins
Learn flask in 90mins
 
Add new commands in appium 2.0
Add new commands in appium 2.0Add new commands in appium 2.0
Add new commands in appium 2.0
 
2. auto deploy to tomcat on jenkins
2. auto deploy to tomcat on jenkins2. auto deploy to tomcat on jenkins
2. auto deploy to tomcat on jenkins
 
Buildout - Alles im Griff
Buildout - Alles im GriffBuildout - Alles im Griff
Buildout - Alles im Griff
 
Jsconf asia pm2
Jsconf asia pm2Jsconf asia pm2
Jsconf asia pm2
 

Viewers also liked

PBC-Marketing_CorporateProfile(Conference)_29Dec2016
PBC-Marketing_CorporateProfile(Conference)_29Dec2016PBC-Marketing_CorporateProfile(Conference)_29Dec2016
PBC-Marketing_CorporateProfile(Conference)_29Dec2016Vikas Singh
 
SA 8000 (SOCIAL ACCOUNTABILITY)
SA 8000 (SOCIAL ACCOUNTABILITY)SA 8000 (SOCIAL ACCOUNTABILITY)
SA 8000 (SOCIAL ACCOUNTABILITY)TQM Cert Solution
 
Consultoria ISO | Treinamento Auditoria ISO 9001 2015
Consultoria ISO | Treinamento Auditoria ISO 9001 2015Consultoria ISO | Treinamento Auditoria ISO 9001 2015
Consultoria ISO | Treinamento Auditoria ISO 9001 2015CONSULTORIA ISO ∴
 
الرمضي بن قاعد الصقري - استراتيجيات ومبادرات المسؤولية الاجتماعية بدول الخليج
الرمضي بن قاعد الصقري - استراتيجيات ومبادرات المسؤولية الاجتماعية بدول الخليجالرمضي بن قاعد الصقري - استراتيجيات ومبادرات المسؤولية الاجتماعية بدول الخليج
الرمضي بن قاعد الصقري - استراتيجيات ومبادرات المسؤولية الاجتماعية بدول الخليجTalal Al-Shammari
 
Social Accountability 8000 2014-auditor-guidance-for-social-fingerprint
Social Accountability 8000 2014-auditor-guidance-for-social-fingerprintSocial Accountability 8000 2014-auditor-guidance-for-social-fingerprint
Social Accountability 8000 2014-auditor-guidance-for-social-fingerprintVenkat Subbu
 
Mrs. Rana Al-Nibari - CSR from an NGO Perspective
Mrs. Rana Al-Nibari - CSR from an NGO Perspective Mrs. Rana Al-Nibari - CSR from an NGO Perspective
Mrs. Rana Al-Nibari - CSR from an NGO Perspective Talal Al-Shammari
 
2014: The Year of the Data Breach
2014: The Year of the Data Breach2014: The Year of the Data Breach
2014: The Year of the Data BreachSkyhigh Networks
 
الدكتورة عروب الرفاعي - نحو فهم أعمق للمسؤولية الاجتماعية للشركات
الدكتورة عروب الرفاعي - نحو فهم أعمق للمسؤولية الاجتماعية للشركات الدكتورة عروب الرفاعي - نحو فهم أعمق للمسؤولية الاجتماعية للشركات
الدكتورة عروب الرفاعي - نحو فهم أعمق للمسؤولية الاجتماعية للشركات Talal Al-Shammari
 
منال العوفي - أهمية المسؤولية الاجتماعية للاستمرارية بتطبيق معايير ومواصفات ا...
منال العوفي - أهمية المسؤولية الاجتماعية للاستمرارية بتطبيق معايير ومواصفات ا...منال العوفي - أهمية المسؤولية الاجتماعية للاستمرارية بتطبيق معايير ومواصفات ا...
منال العوفي - أهمية المسؤولية الاجتماعية للاستمرارية بتطبيق معايير ومواصفات ا...Talal Al-Shammari
 
SA8000 vs BSCI 08.04.2014
SA8000 vs BSCI 08.04.2014SA8000 vs BSCI 08.04.2014
SA8000 vs BSCI 08.04.2014Ravikeerthi Rao
 
Enterpreneutship - ريادة الاعمال
Enterpreneutship - ريادة الاعمالEnterpreneutship - ريادة الاعمال
Enterpreneutship - ريادة الاعمالsalih mahmod
 
تحويل الفكرة إلى فرصة
تحويل الفكرة إلى فرصةتحويل الفكرة إلى فرصة
تحويل الفكرة إلى فرصةIbrahim Neyaz
 
ملخص كتاب ريادة الأعمال
ملخص كتاب ريادة الأعمالملخص كتاب ريادة الأعمال
ملخص كتاب ريادة الأعمالAhmed Hawari
 
كيف تكتب خطة تشغيلية لمنظمة - د. طارق السويدان
كيف تكتب خطة تشغيلية لمنظمة - د. طارق السويدانكيف تكتب خطة تشغيلية لمنظمة - د. طارق السويدان
كيف تكتب خطة تشغيلية لمنظمة - د. طارق السويدانMohammed Azab
 

Viewers also liked (20)

Egypt
EgyptEgypt
Egypt
 
PBC-Marketing_CorporateProfile(Conference)_29Dec2016
PBC-Marketing_CorporateProfile(Conference)_29Dec2016PBC-Marketing_CorporateProfile(Conference)_29Dec2016
PBC-Marketing_CorporateProfile(Conference)_29Dec2016
 
SA 8000 (SOCIAL ACCOUNTABILITY)
SA 8000 (SOCIAL ACCOUNTABILITY)SA 8000 (SOCIAL ACCOUNTABILITY)
SA 8000 (SOCIAL ACCOUNTABILITY)
 
Sa80002008
Sa80002008Sa80002008
Sa80002008
 
Consultoria ISO | Treinamento Auditoria ISO 9001 2015
Consultoria ISO | Treinamento Auditoria ISO 9001 2015Consultoria ISO | Treinamento Auditoria ISO 9001 2015
Consultoria ISO | Treinamento Auditoria ISO 9001 2015
 
Sa 8000-mm
Sa 8000-mmSa 8000-mm
Sa 8000-mm
 
الرمضي بن قاعد الصقري - استراتيجيات ومبادرات المسؤولية الاجتماعية بدول الخليج
الرمضي بن قاعد الصقري - استراتيجيات ومبادرات المسؤولية الاجتماعية بدول الخليجالرمضي بن قاعد الصقري - استراتيجيات ومبادرات المسؤولية الاجتماعية بدول الخليج
الرمضي بن قاعد الصقري - استراتيجيات ومبادرات المسؤولية الاجتماعية بدول الخليج
 
Social Accountability 8000 2014-auditor-guidance-for-social-fingerprint
Social Accountability 8000 2014-auditor-guidance-for-social-fingerprintSocial Accountability 8000 2014-auditor-guidance-for-social-fingerprint
Social Accountability 8000 2014-auditor-guidance-for-social-fingerprint
 
Mrs. Rana Al-Nibari - CSR from an NGO Perspective
Mrs. Rana Al-Nibari - CSR from an NGO Perspective Mrs. Rana Al-Nibari - CSR from an NGO Perspective
Mrs. Rana Al-Nibari - CSR from an NGO Perspective
 
SA - 8000
SA - 8000SA - 8000
SA - 8000
 
2014: The Year of the Data Breach
2014: The Year of the Data Breach2014: The Year of the Data Breach
2014: The Year of the Data Breach
 
الدكتورة عروب الرفاعي - نحو فهم أعمق للمسؤولية الاجتماعية للشركات
الدكتورة عروب الرفاعي - نحو فهم أعمق للمسؤولية الاجتماعية للشركات الدكتورة عروب الرفاعي - نحو فهم أعمق للمسؤولية الاجتماعية للشركات
الدكتورة عروب الرفاعي - نحو فهم أعمق للمسؤولية الاجتماعية للشركات
 
SA 8000 Training Material Latest
SA 8000 Training Material LatestSA 8000 Training Material Latest
SA 8000 Training Material Latest
 
منال العوفي - أهمية المسؤولية الاجتماعية للاستمرارية بتطبيق معايير ومواصفات ا...
منال العوفي - أهمية المسؤولية الاجتماعية للاستمرارية بتطبيق معايير ومواصفات ا...منال العوفي - أهمية المسؤولية الاجتماعية للاستمرارية بتطبيق معايير ومواصفات ا...
منال العوفي - أهمية المسؤولية الاجتماعية للاستمرارية بتطبيق معايير ومواصفات ا...
 
SA8000 vs BSCI 08.04.2014
SA8000 vs BSCI 08.04.2014SA8000 vs BSCI 08.04.2014
SA8000 vs BSCI 08.04.2014
 
SA 8000
SA 8000 SA 8000
SA 8000
 
Enterpreneutship - ريادة الاعمال
Enterpreneutship - ريادة الاعمالEnterpreneutship - ريادة الاعمال
Enterpreneutship - ريادة الاعمال
 
تحويل الفكرة إلى فرصة
تحويل الفكرة إلى فرصةتحويل الفكرة إلى فرصة
تحويل الفكرة إلى فرصة
 
ملخص كتاب ريادة الأعمال
ملخص كتاب ريادة الأعمالملخص كتاب ريادة الأعمال
ملخص كتاب ريادة الأعمال
 
كيف تكتب خطة تشغيلية لمنظمة - د. طارق السويدان
كيف تكتب خطة تشغيلية لمنظمة - د. طارق السويدانكيف تكتب خطة تشغيلية لمنظمة - د. طارق السويدان
كيف تكتب خطة تشغيلية لمنظمة - د. طارق السويدان
 

Similar to Introduction to Node.JS

X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newYiwei Ma
 
How to go the extra mile on monitoring
How to go the extra mile on monitoringHow to go the extra mile on monitoring
How to go the extra mile on monitoringTiago Simões
 
Plone deployment made easy
Plone deployment made easyPlone deployment made easy
Plone deployment made easyKim Chee Leong
 
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰KAI CHU CHUNG
 
Great Hiroshima with Python 170830
Great Hiroshima with Python 170830Great Hiroshima with Python 170830
Great Hiroshima with Python 170830Takuya Nishimoto
 
Zero Downtime Deployment with Ansible
Zero Downtime Deployment with AnsibleZero Downtime Deployment with Ansible
Zero Downtime Deployment with AnsibleStein Inge Morisbak
 
Best Practices in Handling Performance Issues
Best Practices in Handling Performance IssuesBest Practices in Handling Performance Issues
Best Practices in Handling Performance IssuesOdoo
 
Xdebug - Derick Rethans - Barcelona PHP Conference 2008
Xdebug - Derick Rethans - Barcelona PHP Conference 2008Xdebug - Derick Rethans - Barcelona PHP Conference 2008
Xdebug - Derick Rethans - Barcelona PHP Conference 2008phpbarcelona
 
OSDC.no 2015 introduction to node.js workshop
OSDC.no 2015 introduction to node.js workshopOSDC.no 2015 introduction to node.js workshop
OSDC.no 2015 introduction to node.js workshopleffen
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
[232]TensorRT를 활용한 딥러닝 Inference 최적화
[232]TensorRT를 활용한 딥러닝 Inference 최적화[232]TensorRT를 활용한 딥러닝 Inference 최적화
[232]TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
MeaNstack on Docker
MeaNstack on DockerMeaNstack on Docker
MeaNstack on DockerDaniel Ku
 
計算機性能の限界点とその考え方
計算機性能の限界点とその考え方計算機性能の限界点とその考え方
計算機性能の限界点とその考え方Naoto MATSUMOTO
 
Magento 2 Development
Magento 2 DevelopmentMagento 2 Development
Magento 2 DevelopmentDuke Dao
 
Node.js in action
Node.js in actionNode.js in action
Node.js in actionSimon Su
 
R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R Vivian S. Zhang
 
Debugging: Rules & Tools
Debugging: Rules & ToolsDebugging: Rules & Tools
Debugging: Rules & ToolsIan Barber
 

Similar to Introduction to Node.JS (20)

X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 new
 
Nodejs in Production
Nodejs in ProductionNodejs in Production
Nodejs in Production
 
How to go the extra mile on monitoring
How to go the extra mile on monitoringHow to go the extra mile on monitoring
How to go the extra mile on monitoring
 
Plone deployment made easy
Plone deployment made easyPlone deployment made easy
Plone deployment made easy
 
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
 
Great Hiroshima with Python 170830
Great Hiroshima with Python 170830Great Hiroshima with Python 170830
Great Hiroshima with Python 170830
 
Zero Downtime Deployment with Ansible
Zero Downtime Deployment with AnsibleZero Downtime Deployment with Ansible
Zero Downtime Deployment with Ansible
 
Best Practices in Handling Performance Issues
Best Practices in Handling Performance IssuesBest Practices in Handling Performance Issues
Best Practices in Handling Performance Issues
 
Xdebug - Derick Rethans - Barcelona PHP Conference 2008
Xdebug - Derick Rethans - Barcelona PHP Conference 2008Xdebug - Derick Rethans - Barcelona PHP Conference 2008
Xdebug - Derick Rethans - Barcelona PHP Conference 2008
 
OSDC.no 2015 introduction to node.js workshop
OSDC.no 2015 introduction to node.js workshopOSDC.no 2015 introduction to node.js workshop
OSDC.no 2015 introduction to node.js workshop
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[232]TensorRT를 활용한 딥러닝 Inference 최적화
[232]TensorRT를 활용한 딥러닝 Inference 최적화[232]TensorRT를 활용한 딥러닝 Inference 최적화
[232]TensorRT를 활용한 딥러닝 Inference 최적화
 
MeaNstack on Docker
MeaNstack on DockerMeaNstack on Docker
MeaNstack on Docker
 
計算機性能の限界点とその考え方
計算機性能の限界点とその考え方計算機性能の限界点とその考え方
計算機性能の限界点とその考え方
 
Magento 2 Development
Magento 2 DevelopmentMagento 2 Development
Magento 2 Development
 
Node.js in action
Node.js in actionNode.js in action
Node.js in action
 
R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R
 
How to ride a whale
How to ride a whaleHow to ride a whale
How to ride a whale
 
Debugging: Rules & Tools
Debugging: Rules & ToolsDebugging: Rules & Tools
Debugging: Rules & Tools
 
Nginx2
Nginx2Nginx2
Nginx2
 

More from Eueung Mulyana

Hyper-Connectivity and Data Proliferation - Ecosystem Perspective
Hyper-Connectivity and Data Proliferation - Ecosystem PerspectiveHyper-Connectivity and Data Proliferation - Ecosystem Perspective
Hyper-Connectivity and Data Proliferation - Ecosystem PerspectiveEueung Mulyana
 
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated World
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated WorldIndustry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated World
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated WorldEueung Mulyana
 
Blockchain Introduction
Blockchain IntroductionBlockchain Introduction
Blockchain IntroductionEueung Mulyana
 
Bringing Automation to the Classroom: A ChatOps-Based Approach
Bringing Automation to the Classroom: A ChatOps-Based ApproachBringing Automation to the Classroom: A ChatOps-Based Approach
Bringing Automation to the Classroom: A ChatOps-Based ApproachEueung Mulyana
 
FinTech & Cryptocurrency Introduction
FinTech & Cryptocurrency IntroductionFinTech & Cryptocurrency Introduction
FinTech & Cryptocurrency IntroductionEueung Mulyana
 
Open Source Networking Overview
Open Source Networking OverviewOpen Source Networking Overview
Open Source Networking OverviewEueung Mulyana
 
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments Eueung Mulyana
 
Open stack pike-devstack-tutorial
Open stack pike-devstack-tutorialOpen stack pike-devstack-tutorial
Open stack pike-devstack-tutorialEueung Mulyana
 
ONOS SDN Controller - Introduction
ONOS SDN Controller - IntroductionONOS SDN Controller - Introduction
ONOS SDN Controller - IntroductionEueung Mulyana
 
OpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - IntroductionOpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - IntroductionEueung Mulyana
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming BasicsEueung Mulyana
 
Cloud Computing: Overview and Examples
Cloud Computing: Overview and ExamplesCloud Computing: Overview and Examples
Cloud Computing: Overview and ExamplesEueung Mulyana
 
selected input/output - sensors and actuators
selected input/output - sensors and actuatorsselected input/output - sensors and actuators
selected input/output - sensors and actuatorsEueung Mulyana
 
Connected Things, IoT and 5G
Connected Things, IoT and 5GConnected Things, IoT and 5G
Connected Things, IoT and 5GEueung Mulyana
 
Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+Eueung Mulyana
 
NodeMCU with Blynk and Firebase
NodeMCU with Blynk and FirebaseNodeMCU with Blynk and Firebase
NodeMCU with Blynk and FirebaseEueung Mulyana
 
Trends and Enablers - Connected Services and Cloud Computing
Trends and Enablers  - Connected Services and Cloud ComputingTrends and Enablers  - Connected Services and Cloud Computing
Trends and Enablers - Connected Services and Cloud ComputingEueung Mulyana
 

More from Eueung Mulyana (20)

FGD Big Data
FGD Big DataFGD Big Data
FGD Big Data
 
Hyper-Connectivity and Data Proliferation - Ecosystem Perspective
Hyper-Connectivity and Data Proliferation - Ecosystem PerspectiveHyper-Connectivity and Data Proliferation - Ecosystem Perspective
Hyper-Connectivity and Data Proliferation - Ecosystem Perspective
 
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated World
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated WorldIndustry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated World
Industry 4.0 And Beyond The A.I* For Surviving A Tech-Accelerated World
 
Blockchain Introduction
Blockchain IntroductionBlockchain Introduction
Blockchain Introduction
 
Bringing Automation to the Classroom: A ChatOps-Based Approach
Bringing Automation to the Classroom: A ChatOps-Based ApproachBringing Automation to the Classroom: A ChatOps-Based Approach
Bringing Automation to the Classroom: A ChatOps-Based Approach
 
FinTech & Cryptocurrency Introduction
FinTech & Cryptocurrency IntroductionFinTech & Cryptocurrency Introduction
FinTech & Cryptocurrency Introduction
 
Open Source Networking Overview
Open Source Networking OverviewOpen Source Networking Overview
Open Source Networking Overview
 
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments
 
Open stack pike-devstack-tutorial
Open stack pike-devstack-tutorialOpen stack pike-devstack-tutorial
Open stack pike-devstack-tutorial
 
Basic onos-tutorial
Basic onos-tutorialBasic onos-tutorial
Basic onos-tutorial
 
ONOS SDN Controller - Introduction
ONOS SDN Controller - IntroductionONOS SDN Controller - Introduction
ONOS SDN Controller - Introduction
 
OpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - IntroductionOpenDaylight SDN Controller - Introduction
OpenDaylight SDN Controller - Introduction
 
Mininet Basics
Mininet BasicsMininet Basics
Mininet Basics
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
 
Cloud Computing: Overview and Examples
Cloud Computing: Overview and ExamplesCloud Computing: Overview and Examples
Cloud Computing: Overview and Examples
 
selected input/output - sensors and actuators
selected input/output - sensors and actuatorsselected input/output - sensors and actuators
selected input/output - sensors and actuators
 
Connected Things, IoT and 5G
Connected Things, IoT and 5GConnected Things, IoT and 5G
Connected Things, IoT and 5G
 
Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+Connectivity for Local Sensors and Actuators Using nRF24L01+
Connectivity for Local Sensors and Actuators Using nRF24L01+
 
NodeMCU with Blynk and Firebase
NodeMCU with Blynk and FirebaseNodeMCU with Blynk and Firebase
NodeMCU with Blynk and Firebase
 
Trends and Enablers - Connected Services and Cloud Computing
Trends and Enablers  - Connected Services and Cloud ComputingTrends and Enablers  - Connected Services and Cloud Computing
Trends and Enablers - Connected Services and Cloud Computing
 

Recently uploaded

Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...Neha Pandey
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...SofiyaSharma5
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
SEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistSEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistKHM Anwar
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsstephieert
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.soniya singh
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 

Recently uploaded (20)

Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Noida 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In Noida 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
SEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization SpecialistSEO Growth Program-Digital optimization Specialist
SEO Growth Program-Digital optimization Specialist
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girls
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 

Introduction to Node.JS