본문 바로가기

Web/NodeJS

Node JS에 관하여

1.  역사

Node.js는 2009년 Ryan Dahl에 의해 처음 발표되었으며

 

Google Chrome V8 JavaScript Engine으로 Build JavaScript 런타임 환경입니다.

V8 엔진

 

브라우저환경에서만 사용하던 Java Script를 서버측에서도 사용가능케 만들었습니다.

 

2.  장점

* Non-blocking I/O

이게 왜 장점이냐 DB와 웹표시가 별도로 이루어질수 있다는 것입니다.

비동기의 장점은 언제나 오래걸리는 작업을 기다리는 것이 아니라

라면 물을 올려놓고 파와 양파를 써는 것처럼 오래걸리는 작업보다 빠르게 처리할 수 있는 작업들을 먼저 처리할 수 있다는 장점이 있습니다.

일반적인 동기 프로그래밍의 경우 DB작업이 오래걸리고 그에 따라 웹표시가 지연되어 사용자가 답답함을 느낄 수 있기 때문입니다.

 

* 간편한 프로그래밍

실제 JavaScript 언어로 구성되어 있다보니 훨씬 쉽게 서버를 구축할 수 있습니다.

또한 단일 스레드 모델이기 때문에 복잡한 멀티 스레드의 동기화 문제를 걱정하지 않아도 됩니다 (개꿀)

 

3. 단점

* 장점이 곧 단점

단일 스레드로 인해 성능에 제약이 있습니다,,

 

* 상대적으로 새 기술이기에 취약점이 많다고 합니다

 

* 콜백지옥

비동기로 인해 콜백함수가 중첩될 경우 지저분해질 수 있습니다 (순차적으로 사용할 때 자주 발생)

await / async 같은 함수로 비동기 함수를 동기처럼 해결하는 것이 필요합니다.

'Web > NodeJS' 카테고리의 다른 글

NodeJS, .env파일 환경변수 사용  (0) 2024.07.24
NodeJS, nodemailer로 API 요청시 메일 보내기  (1) 2024.07.24
Node js 설치  (0) 2024.02.20