함께 성장하는 프로독학러
0. Nodejs 소개 및 설치 본문
안녕하세요, 프로독학러 입니다.
본 카테고리에서는 자바스크립트 엔진을 기반으로 만들어진 사버 사이드 플랫폼인 Node.js 에 대해서 알아보도록 하겠습니다.
Node.js 란?
Node.js 는 구글 크롬의 자바스크립트 엔진(V8 Engine) 을 기반으로 만들어진 서버 사이드 플랫폼입니다. 웹 브라우저에서 동작하는 자바스크립트를 이용해 서버측에서 하는 역할을 수행할 수 있도록 하는 플랫폼이며, 이를 이용하면 PHP 나 JSP 의 역할을 대체할 수 있습니다.
Node.js 의 특징
- 비동기 I/O 처리, 이벤트 위주 : Node.js 라이브러리의 모든 API는 비동기 방식입니다. 즉, 한 작업이 완료될 때까지 기다렸다가 작업하는 것이 아니라 멈추지 않고 계속해서 코드를 실행한다는 의미입니다. Node.js 기반 서버는 API 가 실행 되었을 때, 해당 API 가 값을 리턴할 떄 까지 기다리지 않고 다음 API 를 실행합니다. 그리고 이전에 실행했던 API 가 값을 반환하면 Node.js 의 이벤트 알림 메커니즘을 통해 결과값을 받아옵니다.
- 빠른속도 : 구글 크롬의 V8 자바스크립트 엔진을 사용하여 빠른 속도를 냅니다.
- 단일 쓰레드 / 뛰어난 확장성 : Node.js 는 이벤트 루프와 단일 쓰레드 모델을 사용하는 환경입니다. 이벤트 메커니즘은 서버가 멈추지 않고 동작하도록 해주어 서버의 확장성을 키워줍니다. 반면, 아파치로 대표되는 일반적인 웹서버는 요청을 처리하기 위해 제한된 쓰레드를 생성합니다. 반면 Node.js 는 하나의 쓰레드만을 사용하고 아파치와 같은 웹서버보다 훨씬 많은 요청을 처리할 수 있습니다.
- 노 버퍼링 : Node.js 어플리케이션에는 데이터 버퍼링이 없고, 데이터를 chunk 로 출력합니다.
- 라이센스 : Node.js 는 MIT License 가 적용되어 있습니다. 즉, 수정 및 재배포가 가능하지만 반드시 MIT 라이센스에 대한 문구가 포함되어 있어야 합니다.
Node.js 의 사용
아래와 같은 분야에서 Node.js 가 사용된다면 뛰어난 효율성을 달성할 수 있습니다.
- 입출력이 작은 어플리케이션
- 데이터 스트리밍 어플리케이션
- 데이터를 실시간으로 다루는 어플리케이션
- JSON API 기반 어플리케이션
- SPA (Single Page Application)
Node.js 설치
입력하고 엔터를 치면 아래와 같은 같은 창이 뜹니다.
창에 node -v 와 npm -v 를 차례로 쳐 봅시다.
node -v는 설치된 node.js의 버전을 확인하는 명령어이고, npm -v는 npm의 버전을 확인하는 명령어 입니다.
이상없이 설치 됐다면 각각의 버전이 다음과 같이 잘 뜨는 것을 확인 할 수 있습니다.
Node.js 모듈사용
패키지 매니저 npm 을 사용하여 다른사람이 만들어 올린 프로젝트를 자신의 프로젝트에 포함시키려면 다음의 단계를 거치면 됩니다.
- 본인의 폴더를 프로젝트화 시키기 : 프로젝트화 시킬 폴더 경로에서 npm init 명령어를 통해 package.json 파일 생성
- 필요한 모듈 설치 : 본인의 프로젝트에서 사용할 모듈을 npm install 명령어를 통해 설치
- 모듈사용 : require 나 import 를 통해 해당모듈을 끌어와 사용
* --save 를 명령어에 추가하면 해당 프로젝트가 어떤 모듈에 의존하는지 쉽게 알 수 있다 (package.json 파일을 통해)
* mkdir 은 make direction 의 약자로 명령 프롬프트 상에서 경로를 만드는 명령어입니다.
* cd 는 change direction 의 약자로, 경로를 이동하는 명령어 입니다.
그리고 해당 경로에서 npm init 명령어를 통해 해당 폴더를 프로젝트화 시키겠습니다.
이 과정을 거치면 package.json 파일이 생성됩니다.
* npm init 을 통해 해당 폴더를 프로젝트화 시킬 때 -y 를 붙이면 모든 설정을 기본값으로 프로젝트를 생성합니다. 만약 기본값이 아닌 원하는 설정값으로 프로젝트를 설정하고 싶다면 -y 를 제외시키고 명령을 실행하여 일일히 설정해 주면 됩니다.
에디터를 이용하여 해당 경로에 파일을 하나 생성해 보겠습니다.
프로젝트 경로에 test.js 파일을 하나 만들고 아래와 같이 입력해줍니다.
1 | console.log('hi, test')'; | cs |
파일을 저장하고, 명령 프롬프트에서 node test.js 를 입력해 방금 만든 파일을 실행시켜 보겠습니다.
* 파일의 실행은 node 명령어 뒤에 파일명을 통해 실행합니다.
파일이 실행되자 콘솔창에 우리가 test.js 파일에 입력한 hi, test 가 잘 뜨는 것을 알 수 있습니다.
**참고 자료 (항상 감사드립니다)
https://opentutorials.org/course/2136
*이 포스팅이 도움이 되셨다면 다녀가셨다는 표시로 공감 부탁드릴게요! (로그인 하지 않으셔도 공감은 가능합니다 ㅎㅎ)
'Programming > Node.js' 카테고리의 다른 글
4. pbkdf2-password, 비밀번호 보안 모듈 (0) | 2018.06.18 |
---|---|
3. mongoose - Node.js 에서 MongoDB 를 사용할 수 있도록 하는 모듈 (0) | 2018.06.16 |
2. Express (1) | 2018.06.15 |
1. 동기와 비동기, 콜백함수 (6) | 2018.05.23 |