# Node.js
# Node.js
by jihoon kim
HTML
<pre id="contents">
#Node.js
##참고 : https://velopert.com/241
# Node.js? << https://nodejs.org/ko/
- Chrome V8 JavaScript 엔진으로 빌드된 JavaScript Runtime.
- 2009년에 Ryan Dahl에 의해 개발.
- 이벤트 기반, 논 블로킹 I/O 모델.
- Node.js의 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리.
- 비동기 I/O 처리 .
- 빠른 속도
- 단일 쓰레드 / 뛰어난 확장성
- 노 버퍼링
- 라이센스: MIT License
# REPL (Read Eval Print Loop)
읽고 값을 계산하고 출력하는 일을 반복하는 행위를 REPL 루프라고한다.
Node.js는 REPL 환경은 테스팅 및 디버깅에 이용된다.
- REPL Command
Ctrl+C – 현재 명령어 종료
Ctrl+C (2번) – Node REPL 종료
Ctrl+D – Node REPL 종료
위/아래 키 – 명령어 히스토리 탐색.
Tab – 현재 입력란에 쓴 값으로 시작하는 명령어 / 변수 목록을 확인합니다.
.help – Print this help message
.break – 멀티 라인 표현식 입력 도중 입력 종료
.clear – .break 와 동일
.save filename – Node REPL 세션을 파일 저장
.load filename – Node REPL 세션에 파일 로드
.editor - Enter editor mode
# 윈도우모듈 설치함.
1. https://nodejs.org/ko/
2. 다운로드.
3. 설치 실행.
# 테스트실행.
1. Win + R
2. cmd [Enter]
3. node [Enter]
4. 1+1[Enter]
# Hello World.
1. app.js 작성( C:\nodetest\app.js )
```javascript
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
```
2. Node실행
1. Win + R
2. cmd [Enter]
3. cd C:\nodetest\[Enter]
4. node app.js [Enter]
5. http://localhost:3000
# 변수사용.
$ node
> x = 10
10
> var y = 5
undefined
> x + y
15
> console.log("Value is " + ( x + y ))
Value is 15
undefined
# Multi-Line 표현식 사용
do-while 루프 REPL
$ node
> var x = 0
undefined
> do {
...