2. What's Node.js?

예도리·2021년 6월 17일
0

1) Node.js란?

  • JavaScript runtime build on Chrome V8 engine
  • open-source
  • cross-platform

  • 2) 노드를 배우면 좋은점!

  • JS의 범용성 -> JS로 클라이언트와 서버를 구현한다면 context switching 쉽다, 생산성 ↑
  • 강력한 커뮤니티가 존재 -> npm을 통해 수많은 library 사용 가능
  • 많은 큰 기업들이 노드 사용 중 -> production quality가 입증됨
  • 쉽고 단순하지만, 강력하고 유연함 -> 배우기 쉬움, 높은 생산성, 비교적 간결한 코드, 빠르게 프로토타입을 만들 수 있음

  • 3) 노드의 특징 4가지

  • JS runtime 환경
  • Single Thread
  • Non-Blocking I/O
  • Event-Driven

  • 4) 노드를 들여다 보자!

  • 메인 싱글 스레드가 존재
  • 노드가 제공하는 api를 통해 I/O, 네트워크 요청 처리
  • 이벤트가 발생할 때 처리해야 하는 것을 call back 형태로 전달해주면 노드 내부에서 병렬적으로 처리함
  • 노드 내부에서는 여러 모듈, 라이브러리가 존재하기 때문에 비동기적으로 병렬처리가 가능함
  • => 어플리케이션과 콜백 함수에 작성된 코드는 가벼운 일들만 처리해야한다!! Don't block the event loop

    노드js는 I/O 처리에 탁월, CPU에서는 적합하지 않음 -> but, 12 이상부터는 worker threads를 생성할 수 있는 api 사용할 수 있다

    0개의 댓글