Node.js
Node.js 유래
인터넷 브라우저들은 각각 소유의 엔진들을 보유하고 있다. 예를 들어 Microsoft Explorer Chakra, Mozilla Firefox SpiderMonkey, Google Chrome V8 이다. 그 중에 V8 엔진은 다른 브라우저들 보다 성능이 훨씬 좋다
항목 | IE 9 | 크롬 10 | 파이어폭스 4 | 사파리 5 | 오페라 11 |
Score | 4182 | 7182 | 3310 | 3862 | 5614 |
Rendering | 4184 | 2865 | 1511 | 1721 | 4607 |
Social networking | 1909 | 3499 | 2705 | 3108 | 2965 |
Complex graphics | 10010 | 10051 | 6780 | 4005 | 10836 |
Data | 7570 | 25418 | 5596 | 4883 | 5315 |
DOM Poerations | 2122 | 5362 | 3237 | 5338 | 5077 |
Text parsing | 9974 | 13994 | 5373 | 6168 | 15129 |
Node.js의 공식적인 표현은
* Chrome V8 엔진을 기반으로 한 자바스크럽트 런타임 이다.
초심자의 입장에서는 자바스크립트로 백엔드 즉 서버를 생성하는것 또는 자바스크립트로 웹 서버를 만들 수 있는 툴이라고 생각하면 쉽다.
정확히는 실리콘밸리의 라이언 달(Ryan Dahl)이라는 개발자가 자바스크립트를 굳이 웹 브라우저에서만 쓰는것이 아닌 웹 브라우저 바깥에서 사용하도록 고안해낸것이 Node.js이다
1. 인터넷에서 V8 엔진을 다운
2. Chrome 없이도 동작하도록 튜닝
즉 외부 Chrome 밖에서 V8 엔진을 별도의 실행 환경을 구축해서 돌리는 프로그램이고 확장 가능한 네트워크 어플리케이션을 구축하는 목적으로 디자인 되어있다.
사실상 공식 표현은 자바스크립트 프로그래밍 언어를 활용하여 확장 가능한, 즉 고성능의 네트워크 어플리케이션을 만들기 위해 Chrome V8 엔진으로 비동기 이벤트 드리븐 방식으로 서버를 구축 할 수 있도록 런타임 환경을 구축 이다.
Node.js 장점
속도는 JAVA, SPRING이 더 빠르다고 생각하고 비동기 이벤트 드리븐은 루비의 이벤트머신이나 파이썬의 트위스티드가 먼저고 Node.js는 베낀것에 가깝다.
→ 이런 웹 프레임워크 최신 트렌드를 전부 받아드리고 컴파일러 언어인 자바에 비해서 코딩하 쉬우며 파이썬과 루비같은 언어에 비해서 훨씬 더 대중적이며 PHP에 비해서 그나마 조금 더 잘 만든 언어이자 V8 엔진의 등장으로 다른 경쟁 언어에 비해 성능이 빠른 자바스크립트를 도입했다는것이다.
면접용 : 비동기 이벤트 드리븐 방식이라는 최신 기술을 사용하기 때문에 성능이 굉장히 빠르고 V8 엔진을 사용하기 때문에 자바스크립트임에도 불구하고 굉장이 성능이 빠르다는게 큰 장점이라고 생각합니다.
V8 엔진은 속도가 빠른가의 면접용
Node.js가 자바스크립트라는 프로그래밍 언어를 쓰기 때문에 인터프리터 기반의 프로그래밍 언어의 특성상 서비스를 구현하는 것에 비해 느릴 수도 있지만 자바스크립트는 인터프리터의 기반으로 프로그래밍 언어 중에서 빠른 편에 속하고 또한 비동기 이벤트 드리븐의 특성을 잘 활용해서 코드를 작성한다면 굉장히 빠르게 서비스를 구현 할 수 있다
실제로는 프로그램의 성능은 프로그래밍 언어의 성능보단 개발자의 실력에 따라 달라지므로 아무리 성능이 좋은 언어를 써도 개발자의 실력이 떨어지면 그 프로그램의 성능은 떨어지기 마련이다
[참조] https://www.youtube.com/watch?v=u-hZI2tFGdU&t=333s
[참조] https://m.bodnara.co.kr/article/view.html?menu=pcreview&num=82742&mn=3
'WebFront-End > Node & Vue' 카테고리의 다른 글
Node.js 패키지 생성 및 실행 (0) | 2022.08.11 |
---|---|
Vue CLI 설치 및 프로젝트 생성 (0) | 2022.08.09 |
Node.js 설치 (0) | 2022.07.20 |