Hello,

kok nae-ga ha-myun an-dweneun MAGIC...🧚

웹 프로그래밍/공부일지

[ Node.js ] Node.js 친구 소개 시간 :)

✿도담도담 2020. 1. 23. 18:07

프론트엔드라면 공부해야할...!

Node.js와 react.js를 올해 공부하려구 한다.

아마 회사에서 사용할 것 같지는 않아서 따로 프로젝트까지 하나 하는걸로 :D

 

Node.js에 들어가기 앞서 이 친구가 뭔가에 대해 적어보려한다.

머리가 나쁜 나는 이친구가 뭔지에 대해 알기 위해 여러 node에 대한 글을 여러개 읽었다 🤨

 

여러개를 종합한 Node라는 친구는 자바스크립트 기반의 언어이며, 브라우저에서만 돌아가는 js를 서버처럼 사용할수 있도록 Chrome V8 엔진을 이용해 확장 시켰다고 한다.

크롬 엔진을 이용했다고 하길래 그럼 IE에서는 돌아가지 않겠네?! 하며 봤더니 일부 코드 수정을 하면 되는 것 같다. 

( 추후에 Node.js를 IE에 사용하는 방법 참고 - https://jsdev.kr/t/ie-vue/4257 )

 

이어서 설명하자면 Node.js는 단일쓰레드 기반 비동기 방식이다.

정리가 잘 되어 있는 글을 가져 왔다.

 

쓰레드 기반 동기방식(Blocking I/O)

  • 하나의 쓰레드가 request를 받으면 모든 처리가 완료될때까지 기다린 후 처리결과가 완료되면 다시 응답을 보냄
  • 기존 업무 처리가 완료되기 전에 또다른 request가 있으면 새로운 쓰레드가 업무를 처리함.
  • 동시 request가 많은 경우 많은 쓰레드가 필요하게 되어 서버 과부하

 

단일쓰레드 이벤트 루프 기반 비동기 방식( Non-Blocking I/O)

  • 하나의 쓰레드가 request를 받으면 바로 다음 처리에 요청을 보내놓고 다른 작업을 처리하다가 먼저 요청한 작업이 끝나면 이벤트를 받아서 응답을 보낸다.
  • 동시 request가 오더라도 처리가 완료될때까지 기다리지 않아도 되기 때문에 서버 부하가 적다.

 

참고 - https://junspapa-itdev.tistory.com/3

참고- https://flearning-blog.tistory.com/20

 

 

그리고 Node.js를 설치하려고 하니 또 새로운 친구가 보였다. NPM ( Node Package Manager ) 이라는 친구다 🙀

NPM은 Node.js를 사용하면서 여러가지 패키지를 설치, 관리 할수 있는데 이름 그대로 이런 패키지를 관리하는 친구다.

Node.js를 설치하면 같이 설치된다고 한다. 이제 설치부터 시작해보자😤😤