분류 Nodejs

Nodejs-백엔드 개발 시작하기

컨텐츠 정보

  • 조회 309 (작성일 )

본문

Nodejs 란 무엇입니까? 


Nodejs는 크로스 플랫폼 서버 측 JavaScript 런타임으로 서버 환경에서 JavaScript를 실행할 수 있습니다. 이것은 자바 스크립트가 처음에 사용 된 프론트 엔드 클라이언트 측 개발과 반대입니다. Nodejs가 제공하는 가장 좋은 것 중 하나는 비동기 동작입니다. 이벤트 루프 또는 함수 호출을 사용하여 주 스레드를 차단 (여기에서 차단과 비 차단에 대해 자세히 알아보기)하는 대신 Nodejs는 모든 것을 비동기 적으로 처리합니다. 차단이 없으면 전화 끊기와 걱정이 줄어 듭니다!


https://www.jonrcorbin.com/nodejs-getting-started-in-back-end-development/ 


이 비동기 동작의 의미는 더 많은 연결을 효율적으로 처리 할 수 ​​있다는 것입니다. 이에 대한 예는 서버의 일부 파일에 대한 요청입니다. PHP, ASP 또는 다른 차단 유형 언어를 사용하여 파일의 내용을 원하면 프로세스는 다음과 같습니다.

  1. 요청이 접수되었습니다.
  2. 작업을 컴퓨터의 파일 시스템으로 보냅니다.
  3. 파일 시스템이 열리고 파일을 읽는 동안 기다립니다.
  4. 클라이언트에게 콘텐츠를 반환합니다.
  5. 다음 요청을 처리 할 준비가 되었습니다.

그러나 Nodejs를 사용할 때 프로세스는 다음과 같습니다

  1. 요청이 접수되었습니다.
  2. 작업을 컴퓨터의 파일 시스템으로 보냅니다.
  3. 다음 요청을 처리 할 준비가 되었습니다.
  4. 파일 시스템이 파일을 열고 읽은 경우 서버는 내용을 클라이언트에 반환합니다.

보시다시피 Nodejs에서는 일반적으로 파일 시스템이나 OS를 기다리는 데 차단 동작이 없습니다. Nodejs는 요청을 파일 시스템으로 보낸 다음 다른 요청에 대해 스스로 준비합니다. 그 동안 파일 시스템이 열기 및 읽기를 완료 할 때까지 비동기식으로 대기합니다. 이것이 비동기 동작의 장점입니다.


이제 Nodejs로 앱을 만들어 봅시다!


Nodejs를 설치하는 방법 


앱이 설치되어 있지 않으면 앱을 만들 수 없으므로 시작하겠습니다. 아래에서 시스템을 찾으십시오.


Linux 


Nodejs의 가장 간단한 설치 중 하나는 Linux입니다. flavor의 패키지 관리자 (여기서는 apt를 사용하고 있습니다)를 사용하여 다음 명령으로 nodejs를 설치하십시오.

  • $ sudo apt install nodejs

설치하자 당신은 잘 가야 한다! 제대로 설치되었는지 확인하려면 다음을 사용하여 버전을 확인하십시오.

  • $ node --version

Mac 


Mac에서는 brew를 사용하여 다음과 같이 Nodejs를 설치하는 것이 가장 쉽습니다.

  • $ brew install node

홈 브루를 설치하지 않은 경우 여기로 가서 다운로드하십시오. 다른 방법으로 Nodejs를 설치해야 하는 경우 해당 웹 사이트로 이동하여 설치 프로그램을 다운로드 할 수 있습니다.


설치 한 후에는 어떤 버전을 설치했는지 확인하십시오.

  • $ node --version

Windows 


Windows를 사용하는 경우 웹 사이트로 이동하여 설치 프로그램을 다운로드 할 수 있습니다. 설치를 마친 후에는 powershell 내에서 노드를 사용할 수 있어야 합니다. 설치 과정에 대한 자세한 내용은 이 기사를 확인하십시오.


설치 한 후에는 어떤 버전을 설치했는지 확인하십시오.

  • $ node --version

Nodejs 프로젝트 만들기 


Nodejs 프로젝트 시작 


이 예에서는 간단한 웹 페이지를 반환하는 매우 간단한 프로젝트를 만들 것입니다. Nodejs를 설치하면 노드 패키지 관리자 (npm)가 함께 제공됩니다. 파이썬에서 온다면 이것은 핍과 같습니다. 먼저 할 일은 디렉토리를 만드는 것입니다

  • $ mkdir simple-node-server
  • $ cd simple-node-server

다음으로 npm을 사용하여 프로젝트를 시작하겠습니다. 

그러면 저자, 프로젝트 이름 및 종속성과 같은 정보를 저장하는 package.json 파일이 생성됩니다.

  • $ npm init

init 명령을 실행하면 다음과 같은 일련의 질문을 받게 됩니다.

package name – 기본값은 폴더 이름입니다

version – 기본값은 1.0.0이며 사용하는 버전 관리 시스템을 유지하거나 변경할 수 있습니다.

description – 프로젝트 설명을 작성하십시오

entry point – 이것을 server.js로 변경하고 싶지만 기본값은 index.js입니다.

test command – 지금은 비워 두십시오. 이것은 npm 테스트로 실행됩니다

git repository – 원격 URL이 있으면 이 URL을 설정하십시오. 그렇지 않으면 비워 두십시오.

keywords – 지금 비워 두십시오

author – p당신의 이름을 넣으세요

license – 기본값은 ISC이며, 적절한 경우 다른 라이센스로 유지하거나 변경합니다.


마지막으로 package.json 파일의 모양에 대한 최종 검토가 제공됩니다. 확인을 위해 Enter 키를 누르고 계속 진행합니다.


Express 설치 


Nodejs에 서버를 설치하는 가장 쉽고 빠른 방법은 Express 프레임 워크를 사용하는 것입니다. Express는 다양한 http 기능을 제공합니다. 실제로 다른 많은 프레임 워크가 Express에 구축되었습니다!


Express를 설치하는 것은 매우 간단합니다. 프로젝트 디렉토리에서 이 명령을 간단히 사용하십시오.

  • $ npm install --save express

이것은 프로젝트 디렉토리에 express를 설치하고 package.json에 종속성으로 저장합니다.


색인 페이지 작성 


간단한 프로젝트를 위해 서버가 보낼 간단한 hello world html 페이지를 만들 것입니다. 좋아하는 텍스트 편집기를 열고 (여러분이 VS 코드 인 경우 여기에서 전체 스택 개발자를 위한 최고의 VS 코드 확장에 대한 컴파일을 확인하십시오) 색인 파일을 만드십시오. index.html 파일에 다음을 추가하십시오

  1. <DOCTYPE html>
  2. <html>
  3. <body>
  4. <p>Hello World</p>
  5. </body>
  6. </html>

우리는 훌륭하고 간단합니다. 이 파일을 전달하려면 서버를 만들어야 합니다.


Nodejs 서버 만들기 


어떤 이름을 당신의 진입 점이라고 했습니까? 기본값은 index.js이지만 이름을 server.js로 바꿉니다. 같은 이름으로 파일을 작성하십시오. 그런 다음 여기에 다음을 추가하겠습니다

  1. const express = require('express');
  2. const app = express();
  3. app.get('/', (req, res) => {
  4. cres.sendFile("index.html", {root: __dirname});
  5. })
  6. app.listen(3000, () => {
  7. console.log("Server running at http://localhost:3000/");
  8. });

이것에 대해 자세히 살펴 보겠습니다. 먼저 express를 가져 와서 앱을 만듭니다.

  1. const express = require('express');
  2. const app = express();

다음으로 앱에 HTTP GET 경로를 추가합니다. 이 경로는 경로“/”또는 호스트 / 도메인 이름이 첨부 된 경로를 위한 것입니다. 당신이 말할 수 있는 홈페이지.

  1. app.get('/', (req, res) => {

get 메소드는 경로와 콜백 함수라는 두 가지 인수를 사용합니다. 이 경우 익명 함수를 전달합니다. 콜백 함수는 요청과 응답이라는 두 가지 인수를 가져야 합니다.


콜백에서는 사용자가 경로를 요청할 때 조작, 호출 또는 기타 일반적인 작업을 수행합니다. 이 경우 인덱스 파일을 사용자에게 반환하려고 합니다. 응답 객체 res를 사용하여 이 작업을 수행합니다. 이 객체에는 파일 및 옵션 객체의 경로를 취하는 sendFile이라는 메서드가 있습니다. 이 경우“index.html”을 사용하고 루트가 있는 옵션 객체를 만들고 싶습니다. 이는 절대 경로가 아닌 상대 경로를 지정하기 때문입니다. 루트 경로에는 __dirname이라는 Nodejs 변수를 사용할 수 있습니다.이 변수는 스크립트가 있는 상위 디렉토리의 경로입니다.

  1. res.sendFile("index.html", {root: __dirname});

마지막으로 로컬 호스트의 포트 3000에서 수신 대기하고 싶다고 앱에 알려줍니다. 우리의 표현 앱에는 우리가 사용할 수 있는 청취라는 방법이 있습니다. listen은 포트와 콜백을 포함한 몇 가지 인수를 사용합니다. 호스트 이름과 백 로그를 사용할 수도 있지만 지금은 포트와 콜백을 사용하고 Express는 기본적으로 localhost를 호스트 이름으로 사용합니다. 이 경우 콜백 함수는 간단한 console.log가되어 문제 없이 작동하고 있음을 알려줍니다.

  1. app.listen(3000, () => {
  2. console.log("Server running at http://localhost:3000/");
  3. });

That’s it! 


모든 파일이 준비되었으며 서버를 실행할 준비가 되었습니다. 터미널 / 명령 줄로 가서 다음을 실행하십시오 (server.js를 파일이라고 부르는 것으로 대체하십시오)

  • $ node server.js

잠시 후 당신은 그것을 인쇄 볼 수 있습니다

  • Server running at http://localhost:3000/

이제 선택한 브라우저에서 해당 주소로 이동하여 아름다운 Hello World 색인 파일을 볼 수 있습니다.


Nodejs로 서버 개발을 시작하는 것만 큼 간단합니다. 이것은 매우 간단한 예이지만 대부분의 Nodejs 서버의 기초입니다. 이것의 꼭대기에는 꽤 많은 것이 있지만 이것이 Nodejs를 사용한 서버 개발에 대해 더 배울 수 있는 확실한 출발점입니다. 준비가 되었다면 Node and Express로 웹 개발을 확인하십시오 : JavaScript 스택을 활용하여 Nodejs 및 Express에 대해 배우는 다음 단계를 진행하십시오!