📘 Node.js 실무 백엔드 개발
📖 1장. 서버와 Node.js의 이해
1.1 서버란 무엇인가
서버(Server)는 클라이언트(Client)의 요청을 받아 처리하고, 그 결과를 응답하는 시스템이다.
웹 환경에서 서버는 주로 다음과 같은 역할을 수행한다:
- 데이터 저장 및 조회
- 사용자 인증 처리
- 비즈니스 로직 수행
웹 애플리케이션의 기본 구조는 다음과 같다:
클라이언트 → 요청(Request) → 서버 → 응답(Response) → 클라이언트
1.2 웹 애플리케이션의 구성
웹 시스템은 크게 세 가지 계층으로 나뉜다:
- 프론트엔드: 사용자 인터페이스
- 백엔드: 서버 로직
- 데이터베이스: 데이터 저장소
이 중 본 교재는 백엔드 영역에 집중한다.
1.3 Node.js란 무엇인가
Node.js는 JavaScript를 브라우저 외부에서도 실행할 수 있도록 만든 런타임 환경이다.
기존에는 JavaScript가 브라우저에서만 실행되었지만, Node.js를 통해 서버 개발이 가능해졌다.
1.4 Node.js의 특징
이벤트 기반 구조 (Event-driven)
Node.js는 이벤트 발생을 중심으로 동작한다.
요청이 들어오면 이벤트가 발생하고, 해당 이벤트에 대한 처리가 수행된다.
논블로킹 I/O (Non-blocking I/O)
입출력 작업이 완료될 때까지 기다리지 않고 다음 작업을 수행한다.
이를 통해 높은 처리 성능을 확보할 수 있다.
싱글 스레드 기반
Node.js는 기본적으로 하나의 스레드로 동작하지만, 비동기 처리 덕분에 동시에 많은 요청을 처리할 수 있다.
1.5 Node.js의 동작 구조
Node.js는 내부적으로 이벤트 루프(Event Loop)를 사용한다.
요청 발생 → 이벤트 큐 등록 → 이벤트 루프 처리 → 콜백 실행
이 구조는 고성능 네트워크 애플리케이션에 적합하다.
1.6 Node.js의 활용 분야
Node.js는 다음과 같은 분야에서 널리 사용된다:
- REST API 서버
- 실시간 서비스 (채팅, 스트리밍)
- 마이크로서비스 아키텍처
1.7 서버 개발에서의 역할
Node.js는 다음 역할을 담당한다:
- HTTP 요청 처리
- 데이터 가공 및 반환
- 외부 서비스 연동
1.8 백엔드 개발의 핵심 요소
백엔드 시스템을 설계할 때 고려해야 할 요소는 다음과 같다:
- 확장성 (Scalability)
- 안정성 (Reliability)
- 유지보수성 (Maintainability)
1.9 개발 환경 개요
Node.js 개발을 위해 필요한 기본 요소:
- Node.js 런타임
- 패키지 관리자 (npm)
- 코드 편집기
1.10 정리
이 장에서는 서버의 개념과 Node.js의 기본적인 특징을 살펴보았다.
Node.js는 비동기 이벤트 기반 구조를 통해 효율적인 서버 개발을 가능하게 한다.
다음 장에서는 실제 개발 환경을 구축하고, 첫 번째 서버를 실행해본다.
'Software > JavaScript' 카테고리의 다른 글
| Node.js 실무 백엔드 개발 #3 (0) | 2026.06.28 |
|---|---|
| Node.js 실무 백엔드 개발 #2 (0) | 2026.06.21 |
| javascript 시작하기 - 비트박스 리듬 (0) | 2026.05.14 |
| Javascript 시작하기 - 비트박스 (0) | 2026.05.13 |
| Javascript 시작하기 - 그림판 (0) | 2026.05.10 |
