반응형
Node.js ❓
Node.js는 JavaScript 런타임 환경(Runtime Environment)으로서, 서버 측 애플리케이션 개발을 위해 설계된 오픈 소스 플랫폼이다. Node.js는 Google Chrome의 JavaScript 엔진인 V8 엔진을 기반으로 구축되었으며, 비동기식 이벤트 주도 프로그래밍(Asynchronous Event-Driven Programming)을 지원하여 빠른 네트워크 애플리케이션 개발을 가능하게 한다.
- 비동기식 프로그래밍: Node.js는 비동기식 I/O 작업을 처리하기 위해 설계되었다. 이것은 여러 작업을 동시에 처리하고 응답 시간을 최적화하는 데 도움이 된다. Callbacks, Promises, Async/Await 등을 사용하여 비동기 코드를 작성할 수 있다.
- 단일 스레드: Node.js는 단일 스레드 이벤트 루프를 사용한다. 이는 많은 클라이언트 요청을 동시에 처리할 수 있는 능력을 제공하지만, CPU 집약적인 작업을 수행하는 데는 제한이 있을 수 있다. 이런 경우에는 Worker Threads와 같은 추가 기능을 사용할 수 있다.
- 모듈 시스템: Node.js는 CommonJS 모듈 시스템을 지원하여 코드를 모듈로 구성하고 재사용하기 쉽도록 한다. require 함수를 사용하여 모듈을 가져오고 exports 객체를 사용하여 모듈을 다른 파일에서 사용할 수 있게 한다.
- 내장 HTTP 서버: Node.js는 HTTP 서버를 쉽게 생성하고 관리할 수 있는 내장 모듈을 제공한다. 이를 통해 웹 애플리케이션을 빠르게 개발하고 실행할 수 있다.
- NPM (Node Package Manager): Node.js와 함께 제공되는 패키지 관리자로, 수많은 오픈 소스 패키지를 설치하고 관리할 수 있다. NPM을 사용하여 프로젝트의 의존성을 관리하고, 패키지를 공유하거나 배포할 수 있다.
- 크로스 플랫폼: Node.js는 Windows, macOS, Linux 등 다양한 운영 체제에서 실행될 수 있으며, 크로스 플랫폼 개발에 적합하다.
사용코드 예시
1. Node.js 설치와 실행:
- 먼저 Node.js를 다운로드하고 설치해야 합니다. Node.js의 공식 웹사이트 (https://nodejs.org/)에서 설치 파일을 다운로드할 수 있다.
- Node.js가 설치된 후, 명령 프롬프트(Windows) 또는 터미널(Linux/macOS)을 열고 다음 명령을 실행하여 Node.js 버전을 확인할 수 있다.
node -v
이 명령은 Node.js가 정상적으로 설치되었는지 확인하는 데 도움이 된다.
2. 간단한 Node.js 코드 예시:
다음은 간단한 Node.js 서버를 만들고 실행하는 코드 예시입니다. 이 서버는 웹 브라우저에 "Hello, World!"를 반환한다.
// 필요한 모듈을 불러옵니다.
const http = require('http');
// HTTP 서버를 생성합니다.
const server = http.createServer((req, res) => {
// HTTP 응답 헤더를 설정합니다.
res.writeHead(200, {'Content-Type': 'text/plain'});
// 응답 본문을 작성합니다.
res.end('Hello, World!\n');
});
// 서버가 8080 포트에서 리스닝하도록 설정합니다.
const port = 8080;
server.listen(port, () => {
console.log(`Server is running on http://localhost:${port}/`);
});
- require('http'): Node.js의 내장 HTTP 모듈을 가져옵니다. 이 모듈을 사용하여 HTTP 서버를 생성하고 관리할 수 있다.
- http.createServer(): HTTP 서버를 생성하는 메서드입니다. 요청이 들어올 때마다 실행될 콜백 함수를 전달한다.
- 요청(req)과 응답(res) 객체를 매개변수로 가지는 콜백 함수는 클라이언트로부터 요청이 올 때마다 실행된다. 이 예시에서는 간단한 "Hello, World!" 메시지를 응답으로 보낸다.
- res.writeHead(): HTTP 응답 헤더를 설정하는 메서드입니다. 여기에서는 상태 코드 200(성공)과 텍스트 형식('text/plain')을 설정한다.
- res.end(): HTTP 응답을 종료하고 클라이언트에게 응답을 보내는 메서드이다.
- server.listen(): 서버가 특정 포트에서 리스닝하도록 설정합니다. 이 예시에서는 8080 포트를 사용한다.
- 마지막으로, 서버가 시작되면 콘솔에 메시지가 표시된다
이 예시는 간단한 웹 서버를 만드는 방법을 보여준다. Node.js는 이러한 웹 서버 외에도 데이터베이스 연결, RESTful API 작성, 파일 시스템 액세스 등 다양한 서버 측 작업을 수행하는 데 사용된다.
반응형
'Web' 카테고리의 다른 글
[웹] URL ? 알아볼게요 (0) | 2023.09.05 |
---|---|
[웹] curl ? 알아볼게요 ( with. code ) (0) | 2023.09.01 |
[웹] 바인딩? 알아볼게요 (0) | 2023.08.24 |
[웹] npm ? 알아볼게요 ( with. code ) (0) | 2023.08.24 |
[웹] 하루 일찍 알수록 좋은 웹 아키텍처 개념 (0) | 2023.08.24 |