Node.js/1. node.js 란? (5) 썸네일형 리스트형 1-5. Node.js 이벤트 루프 https://nodejs.org/ko/learn/asynchronous-work/event-loop-timers-and-nexttick Node.js — The Node.js Event LoopNode.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.nodejs.org Node.js가 시작되면 이벤트 루프를 초기화하고 제공된 입력 스크립트를 처리하거나 비동기 API 호출, 일정 타이머 또는 호출을 수행한 다음 이벤트 루프 처리를 시작합니다. 이벤트 루프의 연산 순서를 간략하게 나타낸 것입니다. ┌───────────────────────────┐┌─>│ timers ││ └──────────.. 1-4. 콜백 지옥 "콜백 지옥"이란, 비동기 함수에서 여러 개의 콜백을 중첩시키는 구조로 인해 코드가 들여쓰기(Indentation) 깊이가 많아지고 복잡해지는 현상을 의미합니다. Express 서버에서도 비동기 작업을 콜백으로 처리하다 보면 이런 현상이 발생할 수 있습니다.아래는 콜백 지옥을 만든 간단한 Express 서버 예시입니다. 이 서버는 여러 비동기 작업을 콜백을 이용해 처리하는 방식으로 구성되어 있습니다.예시 코드: 콜백 지옥const express = require('express');const app = express();// 예시로 사용할 비동기 함수들 (콜백을 사용하는 비동기 함수들)function step1(callback) { setTimeout(() => { console.log.. 1-3 node.js의 단점! 좋은점이 있다면 단점이 있는법! 1. 싱글 스레드 모델의 한계Node.js는 싱글 스레드, 이벤트 기반 모델을 사용합니다. 비동기 처리를 통해 고성능을 발휘하지만, CPU 집약적인 작업(예: 복잡한 계산이나 대규모 데이터 처리)에 적합하지 않습니다.하나의 스레드에서 모든 작업이 처리되므로, 오래 걸리는 작업은 이벤트 루프를 막아 다른 요청 처리에 지장을 줄 수 있습니다.2. 비성숙한 라이브러리Node.js의 npm 에코시스템에는 수많은 패키지가 있지만, 일부는 잘 관리되지 않거나 품질이 낮을 수 있습니다.유지보수가 중단된 라이브러리를 사용하는 경우 보안 및 안정성 문제로 이어질 수 있습니다. (서비스가 멈출수도 있습니다!!)3. 콜백 지옥초기 Node.js 코드에서는 콜백 패턴을 많이 사용하므로 코드가 .. 1-2 node.js의 특징. event-driven, non-blocking I/O , 단일 스레드 node.js의 특징인 event-driven, non-blocking I/O , 단일 스레드 에 대한 간략한 설명입니다. 1. event-drivenevent-driven은 사용자가 이벤트를 발생시켰을때, 즉 데이터를 전송 했을때에만 작동합니다. 대부분의 웹서버는 사용자가 이벤트를 발생하기까지 기다립니다. 이벤트가 발생하기까지 자원(대기 시간 및 메모리)을 계속 소비하게 됩니다. 하지만 event-driven는 이벤트에만 웹서버가 연결해주기 때문에 자원을 최소화 시킬수 있습니다. 2. non-blocking I/Oblocking I/O(동기식 I/O) 은 쓰기/읽기 이벤트가 발생하면 이벤트가 끝날때까지 해당 모듈을 점유하게 됩니다. 즉 다른 일을 못하게 되지요. 또한 메모리버퍼에 데이터를 차지하.. 1-1 node.js 는 무엇일까요? node.js 프로그래밍을 시작하기 앞서 node.js 가 무엇인지를 알아야 겠지요?node.js 는 구글크롬브라우저 v8 엔진을 이용하여 자바스크립트로 만드는 애플리케이션입니다. 매우 가볍고 능률적인 리얼타임 어플리케이션을 위해서 만들어졌습니다. 개발자 라이언달이 2009년에 발표하였으며 2014년 2월 현재 node.js 에 사용되는 패키지수는 57800 개를 넘어섰습니다.자바스크립트를 이용한 개발환경이기 때문에 다른 언어에 비해 간편하고 쉽게 어플리케이션을 만들수 있게 되었습니다. 또한 v8엔진을 사용하기 때문에 자바스크립트의 단점인 속도 문제도 점점 빨라지고 있습니다. node.js 의 특징은 event-driven, non-blocking I/O 를 들수 있습니다. 이에 대해서는 다음 포스팅에서.. 이전 1 다음