1. NODE.JS란 무엇인가?
- NODE.JS는 서버사이드상에서 자바스크립트 언어를 이용해
확장 가능한 네트워크 애플리케이션을 만들 수 있도록 해준다.
- 엔젠으로 크롬 V8 JavaScript Runtime(대부분 C code)을 이용하기 때문에 빠르다.
2. NODE.JS로 구축할 수 있는 것은?
-채팅 서버같은 웹소켓 서버
-빠른 파일 업로드
-AD Server
-리얼타임 데이터 앱
3. Blocking vs Non-blocking 개념
1) Blocking code
var contents = fs.readFileSync('/etc/hosts');
console.log(contents); ç여기서 완료되어야 다음 수행문으로 넘어감
console.log('Doing something else');
2) Non-Blocking Code
fs.readFile('/etc/hosts', function(err, contents) {
console.log(contents); ç 1
});
console.log('Doing something else'); ç 1 완료와 상관없이 수행됨(block되지 않음)
3) callback을 이용
-----------------------------------------------------------
fs.readFile('/etc/hosts', function(err, contents) {
console.log(contents);
});
----------------위 코드와 동일---------------------------
var callback = function(err, contents) {
console.log(contents);
}
fs.readFile('/etc/hosts', callback);
-----------------------------------------------------------
콜백 두개
var http = require('http');
http.createServer(function(request, response) { ç request
response.writeHead(200);
response.writeHead(“Dog is running.”);
setTimeout(function(){ ç timeout
response.write("Dog is done.");
response.end();
}, 5000); 5000ms
}).listen(8080);
'프로그래밍 > Node.js' 카테고리의 다른 글
nodejs 배우기 (0) | 2014.10.10 |
---|---|
BEM(Block-Element-Modifier) 시작 (0) | 2014.10.09 |