개발자의 자기계발 블로그( ੭ ・ᴗ・ )੭
Node.js 알아보기 & 설치하기 본문
목차
Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임이다.
- Node.js 공식 홈페이지
*런타임 : 특정 언어로 만든 프로그램들을 실행할 수 있는 환경
JavaScript란?
HTML에 종속되어 있는 언어로, HTML 조작과 변경을 위해 사용됩니다.
정적 언어인 HTML을 조작해서 동적으로 바꿔주는 기능을 해줍니다.
HTML은 JavaScript가 조작하고, JavaScript의 해석은 브라우저가 합니다.
브라우저에는 자바스크립트 해석 엔진이 존재하여 기존에는 자바스크립트는 인터넷 브라우저 위에서만 실행할 수 있었습니다.
Node.js의 등장은 JavaScript를 웹 브라우저로부터 독립시켜 서버 구현을 가능케 했습니다.
과거 JavaScript의 런타임이 웹 브라우저 였다면, Node.js로 인해 서버 구현까지 가능한 새로운 런타임이 생기게 된 것입니다.
Node.js를 설치하면 브라우저를 키지 않아도 자바스크립트를 컴퓨터에서 수행할 수 있게 됩니다.
Node.js 특징
- 비동기 이벤트 기반 환경
이벤트 기반의 비동기 처리는 입출력 작업을 기다리는 동안 다른 작업을 수행할 수 있기 때문에 CPU 자원을 효율적으로 활용할 수 있습니다. - 단일 언어 사용
Node.js는 JavaScirpt를 기반으로 하며 프론트엔드와 백엔드 모두에서 동일한 언어를 사용할 수 있습니다.
=> 개발자들의 생산성을 향상시켜줌 - 경량화
Node.js의 환경은 매우 가벼우며, 코드 구조가 모듈화 되어 있기 때문에 병렬 작업과 대용량 데이터를 처리하는데 높은 성능을 보장합니다. 또한 다양한 라이브러리와 패키지를 지원하여 사용이 매우 용이합니다. - 확장성
새로운 모듈을 추가하거나 업데이트 하는 과정이 매우 간단합니다. - 커뮤니티와 생태계의 다양성
Node.js는 거대하고 활발한 커뮤니티와 생태계를 보유하고 있어 다양한 모듈과 패키지가 지속적으로 발전하고 있습니다.
Node.js의 장점
일반 서버로 구현 시 요청이 많거나 오래 걸리는 요청이 있으면 멈추거나 대기 시간이 발생합니다.
하지만 Node.js는 대규모 네트워크 서비스를 개발하기 위해 고안되었기 때문에 이벤트 기반으로 처리됩니다.
이벤트 기반의 Node.js는 비동기를 구현할 수 있으며 이 덕분에 Non-Blocking을 하나의 스레드로 수행할 수 있습니다.
=> 대기 시간이 발생하지 않습니다.
* Blocking : Node.js 프로세스에서 한 작업의 실행을 위해 다른 작업이 완료될 때까지 기다려야 하는 방식
* Non-Blocking : A라는 작업 중 B작업을 실행 시켜야 할 때 A작업이 끝나지 않더라도 기다리지 않고 B작업이 실행될 수 있도록 하는 방식
또한, 코드가 매우 짧고 쉬워서 빠른 개발이 가능합니다.
Node.js의 단점
Node.js는 모두 스레드 하나에서 처리됩니다.
코드가 CPU 연산을 많이 요구하면 스레드 하나가 감당하기 어렵습니다.
그렇기 때문에 이미지나 비디오 처리, 대규모 데이터 처리와 같이 CPU를 많이 사용하는 작업을 위한 서버로는 권장하지 않습니다.
참고 포스팅 : https://velog.io/@remon/%EA%B0%9C%EB%B0%9C-%EA%B8%B0%EB%B3%B8-%EC%A7%80%EC%8B%9D-Node.js%EB%9E%80
[개발 기본 지식] Node.js란?
"Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다" ?? 🤔그래서 뭔데요?
velog.io
참고 포스팅 : https://www.elancer.co.kr/blog/view?seq=206
Node.js 설치하기
https://nodejs.org/en 에 접속해서 다운로드
사용자 설정화면 입니다. 모두 기본값을 사용하겠습니다.
- Node.js runtime : Node.js 런타임 본체가 되겠습니다.
- corepack manager : 패키지 관리자입니다. npm, yarn등의 패키지 관리자의 여러 버전을 설치하고, 시용여부를 지정하는 것이 가능합니다. 서로 다른 개발 또는 배포 환경에서 상호간의 설치 호환성을 유지하기 위해서 사용되어질 수 있다고 합니다.
- npm package manager : 패키지 관리자 입니다.
- Online documentation shortcuts : 온라인 문서에 대한 바로가기 입니다.
- Add to PATH : PATH 환경변수에 등록합니다.
출처: https://offbyone.tistory.com/441 [쉬고 싶은 개발자:티스토리]
cmd에 `node -v`명령을 입력하여 버전 정보가 확인된다면 설치 완료 !
'JS' 카테고리의 다른 글
[React] 리액트 시작하기전에 & 소개 (0) | 2024.06.14 |
---|---|
[React] 리액트 시작하기 (1) (0) | 2024.06.13 |
[React] 리액트 사용 이유? (1) | 2024.06.11 |
[JavaScript] Ajax 문법 (0) | 2024.05.28 |
동기 / 비동기 (0) | 2024.05.28 |