Node
npm : Node Package Manager
JS ES6 대표 문법
const, let 변수
기존의 var 선언 변수는 중복 선언 등에 대한 보호가 없음
var a = 1;
for(var i = 0; i < 10; i++){
var a = 2;
}
console.log(a);
// 결과
// a 변수가 for 내에서 재선언되고, 2로 할당되었으나,
// for 이전에 선언된 외부의 a 변수에도 2가 저장됨
let 선언 변수는 중복 선언에 대한 보호가 추가되고, const 선언 변수는 값을 수정할 수 없는 상수 변수로 지정됨
let a = 1;
for(let i = 0; i < 10; i++){
let a = 2;
}
// 결과
// for 내에서 a 변수가 재선언되면서,
// 이미 존재하는 변수라는 오류가 나면서 동작하지 않음
템플릿 리터럴
기존의 문자열 포매팅 방식
var month = 7;
var word = "오늘은 " + month + "월 입니다.";
새로운 문자열 포매팅 방식
let month = 7;
let word = `오늘은 ${month}월 입니다.`;
화살표 함수
고전적인 함수 선언 방식 : var 변수와 같이 재선언으로 덮어씌워질 수 있음
function sum(a, b){
return a + b;
}
새로운 화살표 함수 선언 방식 : const 형식으로 선언되어 추후 수정이 불가한 변수로 취급
const sum = (a, b) => {
return a + b;
}
Node.JS 프로젝트 시작하기
yong@ubuntu:~$ npm init
(JS에서는 생략) Typescript 설치 및 적용하기
yong@ubuntu:~$ npm install --save -g typescript
yong@ubuntu:~$ tsc --init
Typescript 관련 설정을 담은 tsconfig.json이 생성됨
Typescript는 .ts 혹은 .tsx 확장자로 만든 파일에 작성
Typescript Compiler로 컴파일하고 나면 Javascript 파일로 변환되어 브라우저 혹은 Node에서 실행하는 방식
TSC 기본 명령
yong@ubuntu:~$ tsc index.ts
// 특정 TS파일을 컴파일
yong@ubuntu:~$ tsc -p .
// 현재 프로젝트 내의 모든 TS파일을 컴파일
package.json에 TSC 명령 적용하기
"scripts": {
"build": "tsc -p .",
"start": "node index.js",
"test": "echo \\"Error: no test specified\\" && exit 1"
}
Express 라이브러리 설치 및 시작하기
Express : Node.JS에서 Back-End 프로그램을 개발하기 위한 기초 라이브러리
yong@ubuntu:~$ npm install --save express
(JS에서는 생략) yong@ubuntu:~$ npm install --save @types/express
Express 기본 코드
import express from "express";
const app = express();
app.get("/", (req, res) => {
res.send("Hello, World!");
});
app.listen(8080, () => {
console.log("Server is Listening on Port 8080!");
});
HTTP 트랜잭션 : 서버와 클라이언트가 HTTP 메시지를 주고받음
메서드 : 각각의 요청 메시지에 포함되는 동작 명령
GET | 서버에서 리소스를 가져오라 |
---|---|
PUT | 클라이언트에서 보낸 리소스를 서버에 저장하라 |
DELETE | 클라이언트가 지정한 리소스를 서버에서 삭제하라 |
POST | 클라이언트에서 서버로 데이터를 보내라 |
HEAD | 지정한 리소스의 HTTP 헤더만 보내라 |
상태 코드 : 각각의 응답 메시지에 포함되는 요청 결과값
200 | OK. 올바른 응답 |
---|---|
302 | 리소스가 다른곳으로 이동됨 |
404 | 리소스를 찾을 수 없음 |
500 | 서버 내부에서 기능적인 오류가 발생함 |
HTTP 함수