nodejs는 자바스크립트로 서버를 개발할 수 있게 해주는 도구입니다.
nodejs의 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리로
필요하신 대부분의 기능을 누군가 구현해놓았기 때문에 대부분의 기능을 손쉽게 구현할 수 있습니다.
이벤트 기반, 논 블로킹 i/o모델(네트워크 통신 등을 할 때 별도의 프로세스로 넘긴다.)을 사용하기 때문에 가볍고 효율적입니다.
node js의 구동원리는 다음과 같다.
여러명의 사용자가 request를 보내면 event loop, single thread를 사용한다.
single thread는 하나의 요청에 대해서 하나의 프로세스를 사용한다는 의미이다.
어떻게 보면 늦어보일 수 있지만 delegate를 통해 시간이 오래걸리는 작업은 다른 프로세스에서 진행하기 때문에 처리가 늦지 않습니다.
정리하면 먼저 요청을 보냈다고 먼저 처리하고 다음것을 처리하는 것이 아니라
각각 다른 프로세스로 진행하기 때문에 뒤에 들어온 요청이 먼저 처리되어 response를 보내는 것이 가능하다.
요청은 누구나 할 수 있고 반응은 처리할 때마다 주는 것이다.
이것이 non blocking i/o이다.
이 때문에 코드는 순서대로 있지만 처리는 병렬로 처리된다.
nodejs를 다운로드 하자.
여기서 운영체제에 맞게 설치하면 된다.
npm으로 필요한 패키지를 다운로드 할 것이기 때문에
npm 사용법을 알아보자.
cmd를 켜고
패키지를 다운로드 하는 방법은 아래와 같다. -g는 전역으로 이 패키지가 다운로드 되는 것이다.
npm install 패키지명 -g
프로젝트에서 바로 사용하기 위해서는 --save를 하면된다.
npm install 패키지명 --save
node js project init하기.
npm init
다음과 같이 진해됩니다.
entry 포인트는 쉽게 생각하면 이 프로젝트의 중심 코드가 있는 곳이라 보시면 됩니다.
git과 바로 연동할 수 있는데요.
깃허브의 프로젝트 주소를 연결하면 바로 연동됩니다.
모든 설정을 끝내면 다음과 같은 파일이 생성됩니다.
'기타 > node js' 카테고리의 다른 글
node js fs.writeFile, fs.writeFileSync, fs.appendFile 사용방법 (0) | 2020.10.31 |
---|---|
nodejs readFile과 readFileSync의 차이(비동기와 동기의 차이) (0) | 2020.10.30 |
XHRHttpRequest 이해, cors 해결하는 방법 (0) | 2020.10.25 |
node js에서 mongoose 사용하기 (0) | 2020.10.23 |
node js bodyparser 미들웨어 사용하기. (0) | 2020.10.20 |