"NodeJS가 인기 있는 주된 이유 중 하나는 새로운 응용 프로그램을 만드는 데 JavaScript를 주 응용 프로그램으로 사용하기 때문입니다. 또한 JavaScript는 새로운 웹 응용 프로그램을 개발하는 개발자의 첫 번째 선택입니다. 새롭고 강력한 프레임 워크가 많은 새로운 개발자에게 도입되었습니다. 와우 팩터를 만들 수 있습니다. WOW 팩터가 무엇인지 알고 싶습니다. 그렇다면 이 기사는 당신을 위한 것입니다… "
https://dev.to/ozakaran/it-s-all-about-nodejs-37k4
NodeJS의 역사
NodeJS는 정확히 무엇인가요?
NodeJS = 런타임 환경 + JavaScript 라이브러리
"단순히 백엔드 개발에 JavaScript를 사용할 수 있음을 의미합니다."
왜 NodeJS인가?
NodeJS의 멋진 기능에 대해 자세히 살펴 보겠습니다.
1. NON-BLOCKING :
비 차단은 실행 체인 외부에 대한 응답을 기다리는 동안 예를 들어 일부 데이터를 로드하거나, 데이터베이스에서 읽거나, 원격 서비스를 폴링하고, 스택에서 다음 작업을 계속 실행합니다. 이 개념은 혁신적이며 NodeJS를 매우 빠르고 효율적으로 만듭니다.
2. SINGLE THREADED
NodeJS는 백그라운드에서 여러 스레드를 사용하여 비동기 코드를 실행하는 단일 스레드 언어입니다. 모든 함수 또는 콜백이 이벤트 루프에 위임되고 다른 스레드에 의해 실행될 수 있습니다 (또는 실행될 수 있음). 이는 NodeJS 런타임에 의해 처리됩니다.
3. ASYNCHRONOUS AND EVENT DRIVEN
Node.js 라이브러리의 모든 API는 비동기, 즉 비 차단입니다. 본질적으로 Node.js 기반 서버는 API가 데이터를 반환 할 때까지 기다리지 않습니다. 서버는 호출 후 다음 API로 이동하며, Node.js의 이벤트 알림 메커니즘은 서버가 이전 API 호출에서 응답을 받을 수 있도록 도와줍니다.
동기식과 비동기식의 차이점은 무엇입니까?
동기식 : 무언가를 동기식으로 실행하고 완료 될 때까지 기다렸다가 다른 작업으로 이동합니다.
비동기식 : 일어날 일을 요청하고, 일이 발생하면 알림을 받습니다. 그 동안 다른 작업을 수행하십시오.
서버는 한 번에 여러 요청에 응답 할 수 있습니다. API 요청을 중지하거나 차단하지 않으며 그에 따라 응답을 보낼 준비가 되면 모두에 응답합니다.
모든 것은 이벤트 기반입니다. 이러한 종류의 접근 방식은 이벤트가 발생 (상태 변경) 할 때 콜백 (대부분의 경우 기능)을 발생 시킵니다. 이벤트 기반 시스템은 책임을 실행하기 위해 항상 순환 루프에 있습니다.
4. Node Package Manager - NPM
등록이나 로그인 없이 모든 npm 공용 소프트웨어 패키지를 다운로드 할 수 있습니다.
C:\>npm install <package>
모든 npm 패키지는 package.json이라는 파일에 정의됩니다.
5. No Buffering
Node.js 애플리케이션은 데이터를 버퍼링 하지 않습니다. 이러한 애플리케이션은 단순히 데이터를 청크로 출력합니다. 따라서 사용자는 중단 없이 쉽게 비디오를 보거나 스트리밍할 수 있습니다.
6. Easily Scalabale and Light weight :
경량 기술 도구이므로 마이크로 서비스 아키텍처에 Node.js를 사용하는 것이 좋은 선택입니다. 따라서 애플리케이션 로직을 단일 대형 모 놀리 식 코어를 생성하는 대신 더 작은 모듈, 마이크로 서비스로 나누면 유연성을 높이고 추가 성장을 위한 토대를 마련 할 수 있습니다. 결과적으로 추가 기능을 기본 앱 기능과 통합하는 것보다 기존 서비스 위에 더 많은 마이크로 서비스를 추가하는 것이 훨씬 쉽습니다.
NodeJS는 어디에서 사용할 수 있나요?
NodeJS가 실시한 최근 설문 조사에 따르면 웹 애플리케이션이 85 %의 점유율로 가장 높은 사용 사례입니다. 이 JS 런타임 환경의 모든 강점과 약점을 고려하여 기술을 활용할 수 있는 실습 솔루션 목록을 작성했습니다.
1. 단일 페이지 애플리케이션
단일 페이지 앱 (SPA)은 전체 애플리케이션을 한 페이지에 할당하는 것을 포함합니다. 이 경우 Node.js 앱 개발은 백엔드의 비동기 데이터 흐름으로 인해 SPA를 만드는 데 적합합니다. 이벤트 루프는 원활한 데이터 업데이트를 제공하는 동시 클라이언트의 요청을 "잡습니다". 실제로 새 데이터를 얻기 위해 매번 페이지를 새로 고칠 필요가 없습니다.
2. 스트리밍 애플리케이션
스트림은 Node.js 애플리케이션을 지원하는 기본 개념 중 하나입니다.
3. Chat Application
4. REST APIs
REST (Representational State Transfer) 기반 API (Application Programming Interface)는 현대적인 엔터프라이즈 소프트웨어 아키텍처를 구축하는 데있어 근본적인 위치를 차지합니다.
REST 서버는 리소스에 대한 액세스를 제공하고 REST 클라이언트는 HTTP 프로토콜을 사용하여 리소스에 액세스하고 수정합니다. 여기서 각 리소스는 URI / 글로벌 ID로 식별됩니다. REST는 다양한 표현을 사용하여 텍스트, JSON, XML과 같은 리소스를 나타내지 만 JSON이 가장 많이 사용됩니다.
Node.js는 가볍고 빠른 REST API를 빌드하기 위한 Express.js 프레임 워크를 제공합니다.
5. Real Time Applications
실시간 협업 애플리케이션은 공동 탐색, 프로젝트 관리, 비디오 및 오디오 회의를 위한 다양한 소프트웨어 솔루션을 제공합니다.
Node.js는 많은 I / O 작업을 처리하는 데 매우 능숙합니다.이를 사용하여 실시간 애플리케이션을 구축 할 수 있습니다 (예 : 사람들이 실시간으로 서로 대화 할 수 있는 채팅방). 또는 동료가 같은 문서에서 동시에 작업하는 공동 작업 도구 일 수도 있습니다. 화상 회의 앱을 구축하는 것도 문제가 되지 않습니다. Node의 Events API와 WebSockets 덕분에 가능합니다.
실시간 채팅의 경우와 마찬가지로 Node의 비동기식 이벤트 기반 아키텍처는 협업 앱에 매우 적합합니다. 이러한 응용 프로그램에서 많은 이벤트와 I / O 요청이 동시에 발생합니다. 예를 들어 여러 사용자가 동일한 단락을 편집하고, 댓글을 달고, 메시지를 게시하고, 미디어를 첨부 할 수 있습니다. 하나의 콘텐츠에 대한 변경 사항은 각 단계가 이전 단계에 따라 달라지는 일련의 이벤트 이후에만 적용될 수 있습니다.
6. Application Monitoring
웹 소켓이 완벽하게 맞는 또 다른 일반적인 사용 사례 : 웹 사이트 방문자를 추적하고 실시간으로 상호 작용을 시각화 할 수 있습니다. 사용자로부터 실시간 통계를 수집하거나 방문자가 사이트의 특정 지점에 도달 할 때 커뮤니케이션 채널을 열어 표적화 된 상호 작용을 도입하여 다음 단계로 이동할 수도 있습니다.
방문자의 상호 작용을 시각화 할 수 있다면 방문자가 실시간으로 무엇을 하는지 안다면 어떻게 비즈니스를 개선 할 수 있을지 상상해보십시오. Node.js의 실시간 양방향 소켓으로 이제 가능합니다.
NodeJS 스택
누가 NodeJS를 사용하나요?
Node.js는 전 세계 여러 회사에서 점점 더 많이 사용되는 기술이 되고 있습니다. Node.js가 웹 소켓을 통한 푸시 기술과 함께 동시성, 속도 및 집약적 인 데이터 교환을 강조함에 따라 회사는 소셜 미디어 앱, 비디오 및 텍스트 채팅 엔진, 실시간 추적 앱, 온라인과 같은 다양한 애플리케이션을 구축 할 수 있었습니다. 게임 및 협업 도구. NodeJ를 신뢰하는 글로벌 거대 기업은 다음과 같습니다.
NodeJS에 의존하는 10 개의 글로벌 기업
배울 자원
Tutorials
Videos
Courses
결론 :
"이것은 간단합니다. Node.js는 분명한 시장 승자입니다. 이제 NodeJS가 웹 개발 세계를 지배하는 방법, 왜 그렇게 인기가 있고 어디에 구현 될 수 있는지 알게 되었습니다. Node.js가 적합한 지 결정할 수 있습니다. 그리고 NodeJS로 첫 번째 웹 앱을 시작하십시오. "
참조 : nodejs.org, 소프트웨어 하우스, netguru
"코드를 작성하려면 NODE를 배우십시오 ...!"
등록된 댓글이 없습니다.