Node JS 튜토리얼: 처음부터 Node JS 배우기

게시 됨: 2022-02-17

모든 종류의 소비자 상호 작용이 필요한 웹 사이트 및 응용 프로그램에는 백엔드 서버가 필요합니다. 이러한 서버는 확장 가능하고 효율적인 비동기식 프로그램을 기반으로 구축되어야 합니다. 서버와 애플리케이션을 만드는 데 가장 널리 사용되는 오픈 소스 플랫폼 중 하나는 Node.js입니다. 단일 페이지 웹사이트 및 애플리케이션, 챗봇, Netflix 및 LinkedIn과 같은 데이터 기반 플랫폼을 구축할 수 있습니다. 이 블로그는 Node.js가 무엇인지, 다양한 기능, 노드에서 애플리케이션 설정 및 생성에 대해 설명합니다.

목차

Node.js는 무엇입니까?

Ryan Dahl이 2009년에 구축한 Node.js는 크로스 플랫폼 JavaScript 런타임 환경 입니다. V8 엔진으로 구동되는 Node.js는 웹 브라우저 외부에서 JavaScript 코드를 실행할 수 있습니다. 또한 서버 측 플랫폼이므로 사용자에게 제한된 액세스 권한을 부여합니다. 승인된 사용자만 모든 기능에 액세스할 수 있으며 다른 사용자는 제한된 정보만 볼 수 있습니다. 이름에서 알 수 있듯이 서버 측 프로그램은 클라이언트 측이 아닌 서버 측 코드를 실행하고 실행합니다.

Node.js는 Google 크롬의 자바스크립트를 사용하여 빠른 네트워크 애플리케이션을 구축합니다.

읽기: 노드 JS와 React JS의 차이점

Node.js의 다양한 기능은 무엇입니까?

다음은 Node.js의 중요한 기능 중 일부입니다.

  • 확장성:- 소프트웨어 응용 프로그램의 가장 바람직한 속성 중 하나는 확장성입니다. 다양한 사용자의 요구를 수용하기 위해 용량과 기능을 확장하거나 늘릴 수 있는 능력을 의미합니다. 확장 가능한 소프트웨어는 사용자의 요구에 따라 여러 번 변경되지만 핵심은 동일합니다. 수많은 요청을 병렬로 처리할 수 있습니다. 따라서 Node.js를 사용하면 프로그래머가 대상 고객의 요구 사항을 충족하는 고유한 기능을 가진 여러 버전의 앱을 만들 수 있습니다.
  • 단일 스레드:- Node.js 아키텍처는 단일 스레드를 사용하여 이벤트를 반복합니다. 이는 플랫폼이 일련의 명령을 실행하기 위해 단 하나의 시퀀스만 필요로 함을 의미합니다. 한 번에 하나의 명령을 쉽게 실행할 수 있습니다. node.js에서 생성된 애플리케이션은 단일 스레드 아키텍처를 사용합니다. HTML, ASP.NET 및 JSP와 같은 여러 클라이언트를 동시에 처리합니다. 클라이언트가 서버에 요청을 보낼 때마다 다른 클라이언트의 요청과 함께 웹 서버에서 무한 루프에 도달합니다. 웹 서버는 한 번에 여러 요청에서 하나의 요청을 선택한 다음 풀에서 하나의 스레드를 선택합니다. 그런 다음 스레드는 다른 작업을 읽고, 처리하고, 수행하는 클라이언트 요청에 할당됩니다.
  • 적시 실행:- node.js의 또 다른 중요한 기능은 빠른 실행입니다. 플랫폼은 V8 JavaScript 엔진을 사용하기 때문에 코드 런타임이 빠릅니다.
  • 비동기식 및 이벤트 기반:- Node.js는 비동기식 이벤트 기반 플랫폼으로, 서로 다른 프로세스나 기능이 독립적으로 작동함을 나타냅니다. 기능이 동기화되지 않습니다. node.js 서버는 API(응용 프로그래밍 인터페이스)가 데이터를 보낼 때까지 기다리지 않습니다. 서버는 하나의 API에 액세스하는 즉시 다른 요청을 처리합니다. API 요청의 응답을 추적하기 위해 이벤트를 알림 메커니즘으로 사용합니다. 이벤트 큐, 이벤트 루프 및 스레드 풀의 세 가지 주요 요소가 있습니다.
  • 다양한 플랫폼과의 호환성:- Node.js는 Windows, Linux, Mac 및 모바일 장치를 포함한 다양한 플랫폼에서 작동할 수 있습니다.
  • 버퍼링 없음:- node.js에서 데이터는 버퍼링되지 않습니다. 실제로 최종 데이터는 청크로 수신됩니다.

Node.js의 다양한 용도는 무엇입니까?

Node.js는 확장성과 비동기식 속성으로 인해 애플리케이션 구축에 널리 사용됩니다. 다음은 Node.js의 가장 일반적인 용도입니다.

  • IoT 응용 프로그램:- IoT 응용 프로그램은 동적 데이터를 관리해야 하므로 많은 데이터 흐름을 처리하기 위한 프레임워크가 필요합니다. Node.js는 확장 가능한 소프트웨어이며 많은 데이터 흐름을 관리할 수 있습니다.
  • 데이터 스트리밍 응용 프로그램:- 많은 양의 데이터가 작은 패키지로 전송되는 오디오 또는 비디오 스트리밍 응용 프로그램입니다. Node.js에는 데이터 스트리밍을 지원하는 내장 모듈이 있습니다.
  • 실시간 애플리케이션:- 이러한 애플리케이션의 전형적인 예는 사용자가 메시지를 보내고 즉각적인 응답을 받는 챗봇입니다. 빠른 속도와 확장성으로 인해 Nodes.js는 실시간 채팅 또는 메시징 응용 프로그램을 만드는 데 이상적인 플랫폼입니다.

유용한 읽기 , 2022년에 알아야 할 Node.Js 인터뷰 질문 및 답변 상위 41개

Node.js 환경 설정

두 가지 요소를 사용하여 데스크탑에서 Node.js를 사용하도록 로컬 환경을 설정할 수 있습니다. 텍스트 편집기 및 Node.js 바이너리 설치 가능.

  • 텍스트 편집기:- 프로그램을 입력하려면 Windows 메모장, EMACS, Epsilon과 같은 텍스트 편집기가 필요합니다. 그러나 텍스트 편집기가 운영 체제와 호환되고 최신 버전으로 업데이트되었는지 확인해야 합니다. 확장자가 ".js"인 텍스트 편집기를 사용하여 소스 파일을 만들 수 있습니다.
  • Node.js 런타임:- 소스 코드는 JavaScript로 되어 있으며 node.js 인터프리터에 의해 해석됩니다. Windows, Mac 및 기타 운영 체제에 설치 가능한 Node.js 바이너리를 사용할 수 있습니다.

Node.js에서 첫 번째 애플리케이션을 만드는 방법은 무엇입니까?

Node.js에서 애플리케이션을 만드는 데는 세 단계가 있습니다. 필요한 모듈 가져오기, 서버 구축, 요청 읽기 및 응답 반환.

  • 필수 모듈 가져오기:- Node.js에서 필수 모듈을 로드하려면 'require' 지시문을 사용해야 합니다. 예를 들어 HTTP 모듈을 가져와야 하는 경우 require("http")를 입력해야 합니다.
  • 서버 생성 : Node.js는 서버 측 모듈이므로 로드된 모듈을 사용하여 서버를 생성해야 합니다. 위의 예에서 볼 수 있듯이 http.createServer()를 사용하여 서버를 구축할 수 있습니다. Node.js 명령으로 이동하고 새 프롬프트를 열어 서버를 시작해야 합니다. 명령 프롬프트에서 cd ​​데스크탑을 입력한 후 데스크탑에서 main.js 또는 소스 파일을 실행할 수 있습니다.
  • 읽기 요청:- 서버가 시작된 후 테스트를 위해 생성된 Node.js 서버를 요청해야 합니다. 이를 위해서는 브라우저에서 http://127.0.0.1:8081/ 을 열어야 합니다. 서버가 요청을 수락하고 있음을 의미하는 "Hello World"라는 텍스트가 표시됩니다. 그러나 나중에 소스 파일을 변경하는 경우 Node main.js 명령을 다시 실행해야 합니다.

Node.js의 REPL 터미널

Node.js는 Windows 콘솔의 Linux 셸과 유사한 컴퓨터 환경인 RELP(Read Eval Print Loop)로 구성됩니다. Node.js로 다양한 실험을 수행하고 JavaScript 코드를 디버깅하는 데 도움이 됩니다. 환경에서 명령을 입력하고 대화식 모드에서 출력을 수신합니다. 다음은 REPL 터미널의 4가지 필수 작업입니다.

  • 읽기:- RELP는 사용자가 제공한 입력을 읽고 JavaScript 및 데이터 구조를 통해 가져와 메모리에 저장합니다.
  • 평가:- 또 다른 중요한 작업은 데이터 구조를 평가하는 것입니다.
  • 인쇄:- 평가 후 RELP는 결과 인쇄를 돕습니다.
  • 루프:- Node.js에서 위의 명령은 사용자가 ctrl-c를 두 번 눌러야 할 때까지 루프에서 작동합니다.

다음은 Node.js의 일부 REPL 명령입니다.

  • Ctrl+C는 진행 중인 명령을 한 번 종료합니다. 두 번, ty Node REPL을 종료합니다.
  • Tab 키는 현재 모든 명령 목록을 알려줍니다.
  • .help는 모든 명령 목록을 제공합니다.
  • .break는 개발자에게 여러 줄 표현식에서 벗어날 수 있는 방법을 제공합니다.
  • .load 파일 이름을 사용하면 REPL 세션에서 파일 내용을 로드할 수 있습니다.

Node.js의 이벤트 루프

Node.js에서 콜백은 특정 작업을 완료한 후 실행해야 하는 비동기 함수입니다. Node.js의 거의 모든 애플리케이션 프로그래밍 인터페이스에는 콜백이 필요합니다. Node.js의 이벤트 루프는 콜백 함수를 사용합니다. 노드 서버가 시작되면 루프는 이벤트가 발생할 때까지 기다립니다. 이벤트를 수신한 후 루프는 콜백 함수를 트리거합니다.

결론

Node.js는 비동기 기능이 있는 확장성이 뛰어난 플랫폼입니다. Amazon, Netflix, Paypal, LinkedIn, Reddit 등과 같은 선두 기업은 백엔드 개발, 챗봇 및 기타 운영에 Node.js를 사용합니다.

코딩, 프로그래밍, 소프트웨어 개발에 관심이 있고 이 분야에서 경력을 쌓고 싶다면 Node.js에 대한 노하우를 가지고 있는 것이 바람직합니다. Node.js에 대해 처음부터 배우는 가장 좋은 방법은 컴퓨터 과학 학위를 취득하는 것입니다. 리버풀 존 무어스 대학교(Liverpool John Moores University)에서 제공하는 upGrad에서 컴퓨터 공학 석사 과정에 등록할 수 있습니다 .

세계 최고의 대학에서 소프트웨어 개발 과정에 등록하십시오. 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

Node.js는 무엇입니까?

Node.js는 Chrome의 V8 엔진에서 실행되는 JavaScript 기반 런타임 환경입니다. 비동기 기능과 단일 스레드를 사용하여 실용적인 데이터 기반 응용 프로그램을 만드는 확장 가능한 플랫폼입니다.

Node.js는 무엇에 사용됩니까?

Node.js는 단일 페이지 웹사이트, 모바일 애플리케이션, 소셜 미디어 네트워킹 플랫폼용 백엔드, 챗봇 및 데이터 기반 애플리케이션을 만드는 데 널리 사용됩니다.

Node.js 서버를 만드는 방법은 무엇입니까?