초보자를 위한 Node.js 튜토리얼: 3일 안에 단계별 학습

Node.js 소개

최신 웹 애플리케이션은 부트스트랩, Angular JS 등과 같은 많은 인기 프레임워크의 도입으로 수년에 걸쳐 실제로 큰 발전을 이루었습니다. 이러한 프레임워크는 모두 인기 있는 프레임워크를 기반으로 합니다. Java스크립트 뼈대.

그러나 서버 기반 애플리케이션을 개발할 때 일종의 공백이 있었고 이것이 Node.js가 등장한 곳입니다.

Node.js도 다음을 기반으로 합니다. Java스크립트 프레임워크이지만 서버 기반 애플리케이션을 개발하는 데 사용됩니다. 전체 튜토리얼을 진행하는 동안 Node.js를 자세히 살펴보고 서버 기반 애플리케이션을 개발하는 데 사용할 수 있는 방법을 알아보겠습니다.

Node.js 강의 계획서

초보자를 위한 Node.js 기초

👉 Less1에 Node.js 다운로드 및 설치 — Window에서 Node.js 및 NPM을 다운로드하고 설치하는 방법
👉 Less2에 Node.js NPM 튜토리얼 — 생성, 게시, 확장 및 관리
👉 Less3에 Node.js에서 HTTP 웹 서버 만들기 — 코드 예제가 포함된 튜토리얼

Node.js 고급 기능!

👉 Less1에 Node.js Express FrameWork 튜토리얼 — 10분 안에 배우기
👉 Less2에 Node.js를 MongoDB 튜토리얼 — 예제가 포함된 완벽한 가이드
👉 Less3에 Node.js 약속 튜토리얼 — 완전한 가이드 Java스크립트 약속
👉 Less4에 블루버드 약속 튜토리얼 — 블루버드 약속에 대한 완전한 가이드
👉 Less5에 Node.js를 Generators — 콜백과 Node.js가 무엇인가요? Generators
👉 Less6에 노드 js 스트림 튜토리얼 — 파일 스트림, 파이프
👉 Less7에 Jasmine을 사용한 Node.js 단위 테스트 튜토리얼 — 완전한 가이드
👉 Less8에 GraphQL 튜토리얼 — GraphQL이란 무엇입니까? 예를 들어 배우기

차이점을 알아보세요!

👉 Less1에 GraphQL과 REST - 차이점이 뭐야?
👉 Less2에 Node.Js 대 AngularJS — 차이점을 아십시오
👉 Less3에 Node.js 대 Python - 차이점이 뭐야?

Node.js 인터뷰 질문 및 튜토리얼 PDF

👉 Less1에 Node.js 인터뷰 질문 — 상위 25개 Node.js 인터뷰 질문 및 답변
👉 Less2에 Node.js 튜토리얼 PDF — 초보자를 위한 Node.js 튜토리얼 PDF 다운로드

Node.js 란 무엇입니까?

Node.js는 서버 측 웹 애플리케이션 개발에 사용되는 오픈 소스 크로스 플랫폼 런타임 환경입니다. Node.js 애플리케이션은 다음 언어로 작성됩니다. Java스크립트이며 다양한 운영체제에서 실행될 수 있습니다.

Node.js는 이벤트 기반 아키텍처와 비차단 입출력 API를 기반으로 하며, 실시간 웹 애플리케이션을 위해 애플리케이션의 처리량과 확장성을 최적화하도록 설계되었습니다.

오랜 기간 동안 웹 개발에 사용할 수 있는 프레임워크는 모두 상태 비저장 모델을 기반으로 했습니다. 상태 비저장 모델은 한 세션에서 생성된 데이터(예: 사용자 설정 및 발생한 이벤트에 대한 정보)가 해당 사용자의 다음 세션에서 사용할 수 있도록 유지되지 않는 모델입니다.

사용자 요청 간에 세션 정보를 유지하기 위해 많은 작업이 필요했습니다. 하지만 Node.js를 사용하면 마침내 웹 애플리케이션이 실시간 양방향 연결을 가질 수 있는 방법이 생겼습니다. 클라이언트와 서버 모두 통신을 시작하여 자유롭게 데이터를 교환할 수 있습니다.

Node.js를 사용하는 이유는 무엇입니까?

우리는 다음 장에서 Node.js의 실제 가치를 살펴볼 것입니다. 하지만 이 프레임워크를 그렇게 유명하게 만든 것은 무엇입니까? 수년에 걸쳐 대부분의 애플리케이션은 상태 비저장 요청-응답 프레임워크를 기반으로 했습니다. 이러한 종류의 응용 프로그램에서 사용자가 시스템으로 작업하는 동안 웹 세션 상태가 유지되도록 올바른 코드가 배치되었는지 확인하는 것은 개발자의 몫입니다.

하지만 Node.js 웹 애플리케이션을 사용하면 이제 실시간으로 작업하고 양방향 통신을 할 수 있습니다. 상태는 유지되며 클라이언트나 서버 중 하나가 통신을 시작할 수 있습니다.

Node.js의 특징

Node.js의 주요 기능 중 일부를 살펴보겠습니다.

  1. 비동기 이벤트 구동 IO는 동시 요청 처리에 도움이 됩니다. 이것은 아마도 Node.js의 가장 중요한 판매 포인트일 것입니다. 이 기능은 기본적으로 Node가 일부 입출력 작업에 대한 요청을 받으면 백그라운드에서 작업을 실행하고 다른 요청 처리를 계속한다는 것을 의미합니다.
    이는 다른 프로그래밍 언어와는 상당히 다릅니다. 이에 대한 간단한 예가 아래 코드에 나와 있습니다.
var fs = require('fs'); 
          fs.readFile("Sample.txt",function(error,data)
          {
                console.log("Reading Data completed");
     });
  • 위의 코드 조각은 Sample.txt라는 파일을 읽는 것을 보여줍니다. 다른 프로그래밍 언어에서는 전체 파일을 읽은 후에만 다음 처리 라인이 발생합니다.
  • 그러나 Node.js의 경우 주목해야 할 중요한 코드 부분은 함수('function(error,data)')의 선언입니다. 이를 콜백 함수라고 합니다.
  • 따라서 여기서 일어나는 일은 파일 읽기 작업이 백그라운드에서 시작된다는 것입니다. 그리고 다른 처리가 파일을 읽는 동안 동시에 일어날 수 있습니다. 파일 읽기 작업이 완료되면 이 익명 함수가 호출되고 "데이터 읽기 완료"라는 텍스트가 콘솔 로그에 기록됩니다.
  1. 노드는 V8을 사용합니다 Java스크립트 런타임 엔진은 다음에서 사용됩니다. Google Chrome. 노드에는 래퍼가 있습니다. Java런타임 엔진을 훨씬 더 빠르게 만들어 주는 스크립트 엔진 덕분에 Node 내에서의 요청 처리도 더 빨라졌습니다.
  2. 동시 요청 처리 – Node의 또 다른 주요 기능은 단일 프로세스에서 최소한의 오버헤드로 동시 연결을 처리하는 기능입니다.
  3. Node.js 라이브러리는 다음을 사용합니다. Java스크립트 - 이것은 Node.js 개발의 또 다른 중요한 측면입니다. 개발 커뮤니티의 대부분은 이미 자바스크립트에 정통하며, 따라서 자바스크립트를 아는 개발자에게는 Node.js 개발이 더 쉬워집니다.
  4. Node.js 프레임워크에는 활발하고 활기찬 커뮤니티가 있습니다. 활발한 커뮤니티 덕분에 프레임워크에 대한 주요 업데이트가 항상 제공됩니다. 이를 통해 프레임워크를 항상 웹 개발의 최신 트렌드에 맞춰 최신 상태로 유지하는 데 도움이 됩니다.

Node.js를 사용하는 사람

Node.js는 많은 대기업에서 사용됩니다. 아래는 그 중 몇 가지 목록입니다.

  • Paypal – Paypal 내의 많은 사이트도 Node.js로 전환을 시작했습니다.
  • LinkedIn - LinkedIn은 Node.js를 사용하여 모바일 iPhone을 구동하는 서버, Android, 모바일 웹 제품.
  • 모질라는 브라우저 API를 지원하기 위해 Node.js를 구현했으며, 이는 5억 건 이상 설치되었습니다.
  • eBay는 Node.js에서 HTTP API 서비스를 호스팅합니다.

Node.js를 사용해야 하는 경우

Node.js는 다음과 같은 스트리밍 또는 이벤트 기반 실시간 애플리케이션에 가장 적합합니다.

  1. 채팅 애플리케이션
  2. 게임 서버 – 한 번에 수천 개의 요청을 처리해야 하는 빠르고 고성능 서버인 경우 이상적인 프레임워크입니다.
  3. 협업 환경에 적합 - 문서를 관리하는 환경에 적합합니다. 문서 관리 환경에서는 여러 사람이 문서를 게시하고 문서를 체크아웃하고 체크인하여 지속적으로 변경합니다. 따라서 Node.js는 문서 관리 환경에서 문서가 변경될 때마다 Node.js의 이벤트 루프가 트리거될 수 있기 때문에 이러한 환경에 적합합니다.
  4. 광고 서버 - 여기서도 중앙 서버에서 광고를 가져오라는 수천 개의 요청이 있을 수 있으며 Node.js는 이를 처리하는 이상적인 프레임워크가 될 수 있습니다.
  5. 스트리밍 서버 – Node를 사용하는 또 다른 이상적인 시나리오는 클라이언트가 이 서버에서 다양한 멀티미디어 콘텐츠를 가져오도록 요청하는 멀티미디어 스트리밍 서버에 대한 것입니다.

Node.js는 높은 수준의 동시성이 필요하지만 전용 CPU 시간이 덜 필요한 경우에 좋습니다.

무엇보다도, Node.js는 자바스크립트 기반으로 만들어졌기 때문에 동일한 자바스크립트 프레임워크를 기반으로 하는 클라이언트 측 애플리케이션을 빌드할 때 가장 적합합니다.

Node.js를 사용하지 말아야 할 경우

Node.js는 다양한 목적으로 많은 애플리케이션에 사용될 수 있습니다. 사용해서는 안 되는 유일한 시나리오는 애플리케이션에서 요구하는 긴 처리 시간이 있는 경우입니다.

노드는 단일 스레드로 구성됩니다. 애플리케이션이 백그라운드에서 일부 장기 실행 계산을 수행해야 하는 경우 다른 요청을 처리할 수 없습니다. 위에서 논의한 것처럼 Node.js는 처리에 전용 CPU 시간이 덜 필요한 경우에 가장 잘 사용됩니다.