4. input = getInput();
result = query(select * from db where
id=?, input);
displayResult(result);
apa yang kebanyakan program lakukan
saat menunggu hasil dari fungsi query?
diam
7. Multithread
input = getInput();
result = query(select * from db
where id=?, input);
displayResult(result);
input = getInput();
result = query(select * from db
where id=?, input);
displayResult(result);
input = getInput();
result = query(select * from db
where id=?, input);
displayResult(result);
input = getInput();
result = query(select * from db
where id=?, input);
displayResult(result);
banyak pengguna
8. Event loop
input = getInput();
result = query(select * from db
where id=?, input);
satu pengguna
displayResult(result);
9. Event loop
banyak pengguna
input = getInput();
result = query(select * from db
where id=?, input);
displayResult(result);
input = getInput();
result = query(select * from db
where id=?, input);
displayResult(result);
input = getInput();
result = query(select * from db
where id=?, input);
displayResult(result);
10. Kenapa tidak pakai event loop?
tidak semua bahasa pemrograman
mendukung
bisa membuat kode tampak rumit
kebanyakan pustaka program tidak
mendukung operasi asinkronus
14. Node.js
platform pengembangan aplikasi diciptakan oleh Ryan Dahl (2009)
ditenagai oleh mesin JavaScript V8
dibuat oleh Google
ECMAScript
bahasa C++
fokus pada kinerja cepat
non-blocking
async events
16. var net = require('net');
net.createServer(
function (stream) {
stream.write('hellorn');
stream.on('end',
function () {
console.log('goodbyern');
}
);
stream.pipe(stream);
}
).listen(8000);
17. var net = require('net');
net.createServer(
function (stream) {
stream.write('hellorn');
stream.on('end',
function () {
console.log('goodbyern');
}
);
stream.pipe(stream);
}
).listen(8000);
18. var net = require('net');
net.createServer(
function (stream) {
stream.write('hellorn');
stream.on('end',
function () {
console.log('goodbyern');
}
);
stream.pipe(stream);
}
).listen(8000);
20. var net = require('net');
var server = function(stream) {
var end = function() {
console.log('goodbyern');
}
stream.write('hellorn');
stream.on('end', end);
stream.pipe(stream);
}
net.createServer(server).listen(8000);
23. Modul
Kumpulan pustaka program dan
peralatan pengembangan
Menyediakan fungsi-fungsi spesifik
Pengembangan aplikasi semakin
mudah
Lisensi F/OSS
24. Global
Dapat digunakan di keseluruhan sistem
Digunakan untuk alat bantu pengembangan
Lokal
Digunakan pada spesifik pada proyek
pengembangan
Digunakan pada tahap pengembangan saja
Digunakan pada produksi saja
Modul