이번 주 배운 것들 리마인드, 중요한 개념정리
이번주 배운 것
1. JS의 프로토타입과 프로토 체이닝[[JS - 프로토 타입과 상속]]
2. 정규식[[정규 표현식(RegEx)]]
3. 몽구스 사용기
4. 배포에 맛보기[[배포 정리 ( AWS EC2, GITHUB, PM2, 가비아 )]]
node, express, restful
- node
- JS를 브라우저를 제외한 다른 환경에서도 사용할 수 있게 해주는 런타임 환경이다. JS로 서버를 구성할 수 있다
- V8엔진으로 속도를 보장하고, 비동기IO를 지원하여 잦은 입출력과 실시간 결과 반영에 적합한 구조를 가지고 있다. 반대로 CPU사용률이 높은 큰 작업들을 하나씩 처리하는 상황에는 적합하지 않다.
- express
- node에서 동작하는 웹 프레임워크(다른 걸로 nest 정도가 유명하다)
- 먼저 미들웨어란 클라이언트에서 보내오는 요청과 서버에서 보내는 응답사이에서 목적에 맞게 그것들을 처리하는 함수들이라고 생각하면 쉽다.
- express의 미들웨어는 대충 이런식으로 생겼다.
const express = require('express')
const app=express()
app.get('/',(req,res)=>res.send('Hello World!'))
app.listen(3000, ()=> console.log('Example app listening on port 3000'))
- restful
- restful하다는 것은 rest라는 구조를 구현한 웹 서비스를 나타낸다. 이러한 rest라는 구조는 api 설계를 통해 나타난다.
- rest란 “Representational State Transfer” 의 약자로 자원을 이름으로 구분하여 자원의 상태를 주고 받는 모든것을 의미한다고 하는데, 정리하자면 사용할 자원이 이름이고, 자원으로 할 작업이 method인 규칙을 따르는 api라고 할 수 있다.
- 해서 api의 uri를 자원의 이름으로 정하고, 자원으로 할 작업을 CRUD로 구분하여 정해놓은 메소드를 사용한다.
- 정해놓은 메소드
- CRUD Operation
Create : 생성(POST)
Read : 조회(GET)
Update : 수정(PUT, PATCH)
Delete : 삭제(DELETE)