1. 비동기 프로그래밍이란비동기 프로그래밍은 특정 작업이 완료될 때까지 기다리지 않고 다음 작업을 실행하는 프로그래밍 방식입니다. Node.js는 싱글 스레드 기반으로 동작하기 때문에 비동기 프로그래밍이 필수적입니다. 파일 읽기, 네트워크 요청, 데이터베이스 쿼리 등의 I/O 작업을 비동기로 처리하여 블로킹 없이 다른 요청을 처리할 수 있습니다.2. 동기 vs 비동기 비교2.1 동기 방식const fs = require('fs');console.log('1: 시작');// 동기 방식 - 파일 읽기가 완료될 때까지 대기const data = fs.readFileSync('file.txt', 'utf8');console.log('2: 파일 내용:', data);console.log('3: 완료');// 출력..
Node.js
1. 이벤트 루프란이벤트 루프는 Node.js가 단일 스레드임에도 불구하고 비동기 작업을 처리할 수 있게 해주는 핵심 메커니즘입니다. JavaScript 코드 실행, 콜백 처리, 네트워크 I/O, 타이머 등의 작업을 조율하며, Node.js의 논블로킹 I/O 모델의 근간이 됩니다.이벤트 루프는 libuv 라이브러리에 의해 구현되어 있으며, 운영체제의 커널 기능을 활용하여 효율적인 비동기 처리를 수행합니다.2. 이벤트 루프의 단계(Phases)이벤트 루프는 6개의 단계를 순환하며 실행됩니다. 각 단계는 실행할 콜백 큐를 가지고 있습니다.timers: setTimeout(), setInterval() 콜백 실행pending callbacks: 이전 루프에서 지연된 I/O 콜백 실행idle, prepare: ..
1. Node.js 버전 선택Node.js는 공식 사이트에서 두 가지 버전을 제공합니다.LTS (Long Term Support): 안정성이 검증된 장기 지원 버전으로 프로덕션 환경에 권장Current: 최신 기능이 포함된 버전으로 새로운 기능을 테스트할 때 사용일반적인 개발 및 운영 환경에서는 LTS 버전을 사용하는 것이 권장됩니다. 2024년 기준 LTS 버전은 20.x 시리즈입니다.2. 운영체제별 설치 방법2.1 WindowsNode.js 공식 사이트(https://nodejs.org)에서 Windows Installer(.msi)를 다운로드하여 설치합니다.# 설치 후 버전 확인node -vnpm -v설치 시 "Add to PATH" 옵션이 기본으로 선택되어 있어 별도의 환경 변수 설정이 필요 없습..
1. Node.js의 정의Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. 기존에 브라우저에서만 실행되던 JavaScript를 서버 사이드에서도 실행할 수 있게 해주는 환경으로, 2009년 Ryan Dahl에 의해 처음 개발되었습니다. Node.js를 사용하면 JavaScript 하나의 언어로 프론트엔드와 백엔드를 모두 개발할 수 있어 풀스택 개발의 진입 장벽을 낮춰줍니다.2. Node.js의 핵심 특징Node.js가 다른 서버 사이드 기술과 차별화되는 핵심 특징들이 있습니다.비동기 I/O (Non-blocking I/O): 파일 읽기, 데이터베이스 조회 등의 작업을 기다리지 않고 다음 작업을 처리단일 스레드 + 이벤트 루프: 하나의 스레드로 수천 개..
