node.js
- NODE.JS (노드JS)는 Chrome V8 JavaScript 엔진으로 빌드된 오픈소스이며 크로스 플랫폼 자바스크립트 런타임 환경입니다. node.js를 사용하면 웹 브라우저 밖에서 자바스크립트를 사용할 수 있어서 서버 기능을 구현할 수 있습니다.
- 노드JS같은 서버사이드 플랫폼을 프론트엔드와 구분하여 백엔드 라고 합니다.
- 노드JS가 적합한 서비스 : 채팅 앱, 게임 서버, 스트리밍 등 CPU 사용 시간이 적고 빈번하게 일어나는 서비스에 적합함
- 노드JS는 자바스크립트를 사용한다. (JS - 자바스크립트 약자)
- 노드JS는 콜백을 사용하는 비동기 방식의 프레임워크다.
(순차적으로 실행이 안되고 GUI의 이벤트 핸들링 처럼 일이 발생할 때 마다 처리한다.)
- 쉽게 말해서 node란 Javascript를 브라우저가 아닌 컴퓨터에서 브라우저 없이 실행하게 도와주는 환경을 의미합니다.
ES6(ECMAScript 6)
- 초기
javascript는 넷스케이프라는 웹브라우저에서 인터렉션을 강조하기 위해 생성된 언어입니다. 옛날 홈페이지들은 html과 css로 움직이지 않는 아주 정적인 홈페이지들만 있었어요. 여기에서 javascript를 추가해서 홈페이지에서 역동적인 애니메이션이나 움직임등을 추가할 수 있었어요.
- 이후에 넷스케이프외에도 IE같은 다른 브라우저들도 인터렉션을 위해 비슷한 언어를 개발하기 시작했어요. 그러다보니 개별 브라우저마다 방식이 달랐고 이게 불편해서 표준화 시키는 작업이 필요했습니다. 그렇게 나온 것이
ECMAScript입니다.
- 이 표준은 ECMAScript는 매년 꾸준히 변경되고 새로운 기능이 추가되면서 버전이 새로 나오고 있어요. 작년 2020년 기준으로 11번째 버전이 나왔네요.
ES6란 ECMAScript의 6번째 버전으로 2015년에 발표되어서 ECMAScript 2015라고도 불립니다. (ES6, ECMAScript 2015 둘다 같은 말이에요)
- 아래에서 그럼 기존 JS 문법을 확인하고 추가적으로 ES6 버전에서 추가된 새로운 문법들을 확인해 보아요!
express 깔자
npm install express
node.js로 Hello World! 를 만들어보자
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`listening at http://localhost:${port}`)
})
node 파일명.js
- listen 메소드는 localhost의 3000번 포트에서 듣는다.