feat: 초기 프로젝트 설정 및 룰.md 파일 추가
This commit is contained in:
23
api.hyungi.net/node_modules/pm2-multimeter/example/drop.js
generated
vendored
Normal file
23
api.hyungi.net/node_modules/pm2-multimeter/example/drop.js
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
var multimeter = require('multimeter');
|
||||
var multi = multimeter(process);
|
||||
|
||||
multi.on('^C', function () {
|
||||
multi.charm.cursor(true);
|
||||
multi.write('\n').destroy();
|
||||
|
||||
process.exit();
|
||||
});
|
||||
multi.charm.cursor(false);
|
||||
|
||||
multi.drop(function (bar) {
|
||||
var iv = setInterval(function () {
|
||||
var p = bar.percent();
|
||||
bar.percent(p + 1);
|
||||
if (p >= 100) {
|
||||
clearInterval(iv);
|
||||
|
||||
multi.charm.cursor(true);
|
||||
multi.write('\n').destroy();
|
||||
}
|
||||
}, 25);
|
||||
});
|
||||
47
api.hyungi.net/node_modules/pm2-multimeter/example/multibar.js
generated
vendored
Normal file
47
api.hyungi.net/node_modules/pm2-multimeter/example/multibar.js
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
var multimeter = require('multimeter');
|
||||
|
||||
var multi = multimeter(process);
|
||||
multi.on('^C', process.exit);
|
||||
multi.charm.reset();
|
||||
|
||||
var bars = [];
|
||||
var progress = [];
|
||||
var deltas = [];
|
||||
|
||||
multi.write('Progress:\n\n');
|
||||
|
||||
for (var i = 0; i < 5; i++) {
|
||||
var s = 'ABCDE'[i] + ': \n';
|
||||
multi.write(s);
|
||||
|
||||
var bar = multi(s.length, i + 3, {
|
||||
width : 20,
|
||||
solid : {
|
||||
text : '|',
|
||||
foreground : 'white',
|
||||
background : 'blue'
|
||||
},
|
||||
empty : { text : ' ' },
|
||||
});
|
||||
bars.push(bar);
|
||||
|
||||
deltas[i] = 1 + Math.random() * 9;
|
||||
progress.push(0);
|
||||
}
|
||||
|
||||
multi.write('\nbeep boop\n');
|
||||
|
||||
var pending = progress.length;
|
||||
var iv = setInterval(function () {
|
||||
progress.forEach(function (p, i) {
|
||||
progress[i] += Math.random() * deltas[i];
|
||||
bars[i].percent(progress[i]);
|
||||
if (p < 100 && progress[i] >= 100) pending --;
|
||||
if (pending === 0) {
|
||||
multi.write('\nAll done.\n');
|
||||
multi.destroy();
|
||||
clearInterval(iv);
|
||||
pending --;
|
||||
}
|
||||
});
|
||||
}, 100);
|
||||
52
api.hyungi.net/node_modules/pm2-multimeter/example/multirel.js
generated
vendored
Normal file
52
api.hyungi.net/node_modules/pm2-multimeter/example/multirel.js
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
var multimeter = require('multimeter');
|
||||
|
||||
var multi = multimeter(process);
|
||||
multi.on('^C', process.exit);
|
||||
|
||||
var bars = [];
|
||||
var progress = [];
|
||||
var deltas = [];
|
||||
|
||||
multi.write('Progress:\n\n');
|
||||
|
||||
for (var i = 0; i < 5; i++) {
|
||||
var s = 'ABCDE'[i] + ': \n';
|
||||
multi.write(s);
|
||||
|
||||
var bar = multi.rel(4, i, {
|
||||
width : 20,
|
||||
solid : {
|
||||
text : '|',
|
||||
foreground : 'white',
|
||||
background : 'blue'
|
||||
},
|
||||
empty : { text : ' ' },
|
||||
});
|
||||
bars.push(bar);
|
||||
|
||||
deltas[i] = 1 + Math.random() * 9;
|
||||
progress.push(0);
|
||||
}
|
||||
|
||||
multi.offset += 2;
|
||||
multi.write('\nbeep');
|
||||
|
||||
setTimeout(function () {
|
||||
multi.offset ++;
|
||||
multi.write('\n boop');
|
||||
}, 2000);
|
||||
|
||||
var pending = progress.length;
|
||||
var iv = setInterval(function () {
|
||||
progress.forEach(function (p, i) {
|
||||
progress[i] += Math.random() * deltas[i];
|
||||
bars[i].percent(progress[i]);
|
||||
if (p < 100 && progress[i] >= 100) pending --;
|
||||
if (pending === 0) {
|
||||
multi.write('\nAll done.\n');
|
||||
multi.destroy();
|
||||
clearInterval(iv);
|
||||
pending --;
|
||||
}
|
||||
});
|
||||
}, 100);
|
||||
11
api.hyungi.net/node_modules/pm2-multimeter/example/single.js
generated
vendored
Normal file
11
api.hyungi.net/node_modules/pm2-multimeter/example/single.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
var multimeter = require('multimeter');
|
||||
var multi = multimeter(process);
|
||||
|
||||
multi.drop(function (bar) {
|
||||
var iv = setInterval(function () {
|
||||
var p = bar.percent();
|
||||
bar.percent(p + 1);
|
||||
|
||||
if (p >= 100) clearInterval(iv);
|
||||
}, 25);
|
||||
});
|
||||
37
api.hyungi.net/node_modules/pm2-multimeter/example/sum.js
generated
vendored
Normal file
37
api.hyungi.net/node_modules/pm2-multimeter/example/sum.js
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
var multimeter = require('multimeter');
|
||||
|
||||
var multi = multimeter(process);
|
||||
var charm = multi.charm;
|
||||
charm.on('^C', process.exit);
|
||||
charm.reset();
|
||||
|
||||
var xs = [];
|
||||
for (var i = 0; i < 100; i++) xs.push(i);
|
||||
|
||||
console.log('Calculating the sum of [0..100]:\n');
|
||||
charm.write(' ');
|
||||
|
||||
multi.drop(function (bar) {
|
||||
bar.percent(0);
|
||||
|
||||
charm.write('\n\nResult: ');
|
||||
charm.position(function (x, y) {
|
||||
var sum = 0;
|
||||
var iv = setInterval(function () {
|
||||
sum += xs.shift();
|
||||
|
||||
bar.percent(100 - xs.length);
|
||||
|
||||
charm
|
||||
.position(x, y)
|
||||
.erase('end')
|
||||
.write(sum.toString())
|
||||
;
|
||||
|
||||
if (xs.length === 0) {
|
||||
clearInterval(iv);
|
||||
multi.destroy();
|
||||
}
|
||||
}, 50);
|
||||
});
|
||||
});
|
||||
55
api.hyungi.net/node_modules/pm2-multimeter/example/web_multibar.js
generated
vendored
Normal file
55
api.hyungi.net/node_modules/pm2-multimeter/example/web_multibar.js
generated
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
var http = require('http');
|
||||
var multimeter = require('multimeter');
|
||||
|
||||
http.createServer(function (req, res) {
|
||||
res.setHeader('content-type', 'application/octet-stream');
|
||||
|
||||
var multi = multimeter(res);
|
||||
multi.charm.on('^C', process.exit);
|
||||
multi.charm.reset();
|
||||
|
||||
var bars = [];
|
||||
var progress = [];
|
||||
var deltas = [];
|
||||
|
||||
for (var i = 0; i < 5; i++) {
|
||||
var s = 'ABCDE'[i] + ': \n';
|
||||
multi.write(s);
|
||||
|
||||
var bar = multi(s.length, i + 1, {
|
||||
width : 20,
|
||||
solid : {
|
||||
text : '|',
|
||||
foreground : 'white',
|
||||
background : 'blue'
|
||||
},
|
||||
empty : { text : ' ' },
|
||||
});
|
||||
bars.push(bar);
|
||||
|
||||
deltas[i] = 1 + Math.random() * 9;
|
||||
progress.push(0);
|
||||
}
|
||||
|
||||
multi.write('\nbeep boop\n');
|
||||
|
||||
var pending = progress.length;
|
||||
var iv = setInterval(function () {
|
||||
progress.forEach(function (p, i) {
|
||||
progress[i] += Math.random() * deltas[i];
|
||||
bars[i].percent(progress[i]);
|
||||
if (p < 100 && progress[i] >= 100) pending --;
|
||||
if (pending === 0) {
|
||||
multi.write('\nAll done.\n');
|
||||
res.end();
|
||||
}
|
||||
});
|
||||
}, 100);
|
||||
|
||||
res.connection.on('end', function () {
|
||||
multi.destroy();
|
||||
clearInterval(iv);
|
||||
});
|
||||
}).listen(8080);
|
||||
|
||||
console.log('curl -N localhost:8080');
|
||||
60
api.hyungi.net/node_modules/pm2-multimeter/example/web_multirel.js
generated
vendored
Normal file
60
api.hyungi.net/node_modules/pm2-multimeter/example/web_multirel.js
generated
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
var http = require('http');
|
||||
var multimeter = require('multimeter');
|
||||
|
||||
http.createServer(function (req, res) {
|
||||
res.setHeader('content-type', 'application/octet-stream');
|
||||
|
||||
var multi = multimeter(res);
|
||||
multi.charm.on('^C', process.exit);
|
||||
|
||||
var bars = [];
|
||||
var progress = [];
|
||||
var deltas = [];
|
||||
|
||||
for (var i = 0; i < 5; i++) {
|
||||
var s = 'ABCDE'[i] + ': \n';
|
||||
multi.write(s);
|
||||
|
||||
var bar = multi.rel(4, i, {
|
||||
width : 20,
|
||||
solid : {
|
||||
text : '|',
|
||||
foreground : 'white',
|
||||
background : 'blue'
|
||||
},
|
||||
empty : { text : ' ' },
|
||||
});
|
||||
bars.push(bar);
|
||||
|
||||
deltas[i] = 5 + Math.random() * 10;
|
||||
progress.push(0);
|
||||
}
|
||||
|
||||
multi.offset += 2;
|
||||
multi.write('\nbeep');
|
||||
|
||||
setTimeout(function () {
|
||||
multi.offset ++;
|
||||
multi.write('\n boop');
|
||||
}, 1000);
|
||||
|
||||
var pending = progress.length;
|
||||
var iv = setInterval(function () {
|
||||
progress.forEach(function (p, i) {
|
||||
progress[i] += Math.random() * deltas[i];
|
||||
bars[i].percent(progress[i]);
|
||||
if (p < 100 && progress[i] >= 100) pending --;
|
||||
if (pending === 0) {
|
||||
multi.write('\nAll done.\n');
|
||||
res.end();
|
||||
}
|
||||
});
|
||||
}, 100);
|
||||
|
||||
res.connection.on('end', function () {
|
||||
multi.destroy();
|
||||
clearInterval(iv);
|
||||
});
|
||||
}).listen(8080);
|
||||
|
||||
console.log('curl -N localhost:8080');
|
||||
45
api.hyungi.net/node_modules/pm2-multimeter/example/web_sum.js
generated
vendored
Normal file
45
api.hyungi.net/node_modules/pm2-multimeter/example/web_sum.js
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
var http = require('http');
|
||||
var multimeter = require('multimeter');
|
||||
|
||||
http.createServer(function (req, res) {
|
||||
var multi = multimeter(res);
|
||||
var charm = multi.charm;
|
||||
|
||||
var xs = [];
|
||||
for (var i = 0; i < 100; i++) xs.push(i);
|
||||
|
||||
charm.reset()
|
||||
.write('Calculating the sum of [0..100]:\n\n')
|
||||
;
|
||||
|
||||
var bar = multi(4, 3, { width : 20 });
|
||||
bar.percent(0);
|
||||
|
||||
var sum = 0;
|
||||
charm.write('\n\nResult: ' + sum);
|
||||
|
||||
var iv = setInterval(function () {
|
||||
var x = xs.shift();
|
||||
bar.percent(100 - xs.length);
|
||||
|
||||
charm
|
||||
.left(sum.toString().length)
|
||||
.erase('end')
|
||||
;
|
||||
sum += x;
|
||||
|
||||
charm.write(sum.toString());
|
||||
|
||||
if (xs.length === 0) {
|
||||
charm.write('\n');
|
||||
res.end();
|
||||
}
|
||||
}, 50);
|
||||
|
||||
res.connection.on('end', function () {
|
||||
multi.destroy();
|
||||
clearInterval(iv);
|
||||
});
|
||||
}).listen(8081);
|
||||
|
||||
console.log('curl -N localhost:8081');
|
||||
Reference in New Issue
Block a user