본문 바로가기

Node.js

[2장]노드란?_노드의 특징 알아보기

노드란?

node.js = 자바스크립트를 이용하여 서버를 만들 수 있는 개발도구

 

▶노드의 장점(노드를 사용하는 이유)

-처음 웹서버에 파일을 업로드하면서 동시에 다른 작업을 처리하기 힘들다는 문제를 해결하기위하여 만들어졌다

 

비동기 입출력 방식

- 비동기 입출력(Non-Blocking IO) : 하나의 요청 처리가 끝날때까지 기다리지 않고 다른요청 동시처리 가능

 

이벤트 기반 입출력 방식

- 가볍고 효율적, 많은데이터 주고받는 실시간 프로그램에서 효과

 

③모듈을 호출을 이용하여 사용하기

-모듈 : 서로 분리되어 작성되는 성질 /별도의 파일로 작성된 코드

-모듈을 require()함수로 호출하여 사용할수 있다.

-각각의 파일들은 js객체로 받아지고, 그 객체를 이용하여 기능을 수행할 수 있다.

   => 공통 사용 기능을 분리하여 재사용 하는 장점이 이있다

 

-패키지 : 모듈들을 하나의 패키지로 구성할 수 있다.

-패키지들은 npm프로그램으로 손쉽게 설치 사용가능

   * npm = node package manager 패키지 설치 방법을 제공

 

 

 


[참고]

*동기 입출력 방식이란?

-요청한 작업을 마칠 때 까지 계속 대기한다.

-리턴값을 받아야 끝난다.

 

동기 &비동기 + 블록킹& 논블록킹의 조합

동기 + 블록킹 = 결과가 처리되어 나올때까지 기다렸다가 리턴값으로 결과 전달.

동기 + 논블록킹 = 결과가 없으면 바로 리턴, 결과가 있으면 바로 결과 전달.

비동기 + 논블록킹 = 작업요청을 받아서 별도의 프로세서에서 진행 하게 하고 바로 리턴 (작업 끝).

      결과는 별도의 작업 후 간접적으로 전달

비동기 + 블록킹(?) = 이론상으론 가능하지만, 그렇게 할 필요도 없고 의미도 없다(...)

 

[출처] 동기 vs 비동기 이해

https://m.blog.naver.com/PostView.nhn?blogId=success87pch&logNo=220723722826&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

 

*콜백함수란?

-파라미터로 전달된 함수를 다른 함수의 내부에서 호출하는 것

 

'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