▶노드란?
node.js = 자바스크립트를 이용하여 서버를 만들 수 있는 개발도구
▶노드의 장점(노드를 사용하는 이유)
-처음 웹서버에 파일을 업로드하면서 동시에 다른 작업을 처리하기 힘들다는 문제를 해결하기위하여 만들어졌다
①비동기 입출력 방식
- 비동기 입출력(Non-Blocking IO) : 하나의 요청 처리가 끝날때까지 기다리지 않고 다른요청 동시처리 가능
②이벤트 기반 입출력 방식
- 가볍고 효율적, 많은데이터 주고받는 실시간 프로그램에서 효과
③모듈을 호출을 이용하여 사용하기
-모듈 : 서로 분리되어 작성되는 성질 /별도의 파일로 작성된 코드
-모듈을 require()함수로 호출하여 사용할수 있다.
-각각의 파일들은 js객체로 받아지고, 그 객체를 이용하여 기능을 수행할 수 있다.
=> 공통 사용 기능을 분리하여 재사용 하는 장점이 이있다
-패키지 : 모듈들을 하나의 패키지로 구성할 수 있다.
-패키지들은 npm프로그램으로 손쉽게 설치 사용가능
* npm = node package manager 패키지 설치 방법을 제공
[참고]
*동기 입출력 방식이란?
-요청한 작업을 마칠 때 까지 계속 대기한다.
-리턴값을 받아야 끝난다.
동기 &비동기 + 블록킹& 논블록킹의 조합
동기 + 블록킹 = 결과가 처리되어 나올때까지 기다렸다가 리턴값으로 결과 전달.
동기 + 논블록킹 = 결과가 없으면 바로 리턴, 결과가 있으면 바로 결과 전달.
비동기 + 논블록킹 = 작업요청을 받아서 별도의 프로세서에서 진행 하게 하고 바로 리턴 (작업 끝).
결과는 별도의 작업 후 간접적으로 전달
비동기 + 블록킹(?) = 이론상으론 가능하지만, 그렇게 할 필요도 없고 의미도 없다(...)
[출처] 동기 vs 비동기 이해
*콜백함수란?
-파라미터로 전달된 함수를 다른 함수의 내부에서 호출하는 것
'Node.js' 카테고리의 다른 글
[4장]노드 모듈 (0) | 2018.01.12 |
---|---|
[4장]js에서 전역객체와 전역변수 (0) | 2018.01.10 |
[4장]node.exe이해하기 (0) | 2018.01.10 |
[3장]node.js 설치하기 (0) | 2018.01.09 |
[1장]서버란?_서버를 공부하기 위한 기초적인 지식 (0) | 2018.01.09 |