Node.js 서버의 기본적인 내용 정리 정보
node.js Node.js 서버의 기본적인 내용 정리본문
V8 자바스크립트 엔진이란?
V8은 자바스크립트를 바이트코드(bytecode)로 컴파일하거나 인터프리트(interpret)하는 대신 실행하기 전 직접적인 기계어(x86, ARM, 또는 MIPS)로 컴파일(compile)하여 성능을 향상시켰다. 추가적인 속도향상을 위해 인라인 캐싱(inline caching)과 같은 최적화 기법을 적용하였다.
(출처 : 위키 피디아)
동기 vs 비동기
동기란?
- Http 통신, 동기 함수(기본적으로 C, java 등에서 쓰는 함수)
- 요청, 응답이 하나의 Cycle로 구성되어 있음
- 시간이 오래 걸리는 요청이면 응답받는데 시간이 오래 걸림
비동기란?
- 비동기 통신
- 요청 하고 응답은 콜백 으로 사용 ! (요청 하고 응답 받기 전까지 상관 안하고 다른 작업 수행 가능)
- 단, 콜백은 등록된(요청 보낸) 모든 클라이언트에게 broadcast
Javascript에서 가장 중요한 2가지
- 클로저 (공부 필요....) -실행 코드와 유효스코프의 조합
- 콜백 메서드 - 특정 조건, 시점에 실행 되기로 등록해 놓은 라이브러리
Node.js는 어디서 쓰고 있는가?
- LinkedIn ( java -> node.js 전환 CPU사용률 1/10으로 감소)
- ebay
- yammer
그렇다면 왜 쓰는가?
- 프론트앤드 개발자의 백엔드 개발자 전환이 쉽다(자바스크립트 언어 이므로)
- 비동기 방식이므로 시간이 긴 요청 보다 짧고 많은 요청에 적합하다. (요청이 많을 때 동기 통신의 경우 Thread가 많더라도 한계가 있다.)
Node.js란?
- Google V8 엔진 기반의 이벤트 드리븐 방식의 논-블록킹 I/O(비동기 방식)을 제공하는 서버측 자바스크립트 플랫폼
- CPS(Continuation Passing Style) - 콜백함수를 실행 중인 함수의 인자로 넘겨주는 방식
수업 듣다 잘몰랐던 점 ! JavaScript에서 객체 , 함수 , 익명함수 즉시 실행
- 쓸만한 모듈등 정리해놓기
0