이 포스팅은 강의를 듣고 중요한 부분을 간력하게 정리한 것입니다.
자세한 내용은 아래 인프런 강의 링크를 클릭하시면 됩니다.
NodeJS : 구글에서 개발한 고성능 자바스크립트 엔진으로 빌드된 서버 사이드 개발용 소프트웨어 플랫폼
EXPRESS : NodeJS 를 이용하여 웹 서비스를 쉽게 개발하게 할 수 있는 프레임워크
$ npm install express --save
MongoDB홈페이지에 회원가입을 하고 Clusters를 생성
Mongoose : 문서를 DB에서 조회할 때 자바스크립트 객체로 바꿔주는 역할
Mongoose는 npm으로 설치
Mongoose의 장점 : 강제 스키마(schema)의 부활, populate, 프로미스와 콜백 사용 가능, 편리한 쿼리 빌더 등
정보의 타입이나 길이 등과 같이 조건을 지정하는 것
models는 스키마를 감싸는 것
git init : 깃 저장소 생성
git log : commit된 파일 확인
github과 local file이 안전하게 통신하는 방법
SHH설치 방법은 공식문서를 보고 따라 진행
BodyParser : node.js 모듈(미들웨어). API 요청에서 받은 body 값을 파싱하는 역할을 수행하는 것
client가 요청한 정보를 BodyParser로 받아서 서버로 전달한다.(Dependency)
PostMan : client가 request를 받아서 실행하고 싶지만 client가 없을 때 이용하는 프로그램
npm install nodemon --save-dev
npm run /script에 지정한 명령어/
local 환경 : 환경변수(process.env.NODE_ENV)을 development로 설정하고 폴더를 따로만들어서 정보를 입력한다. 만든 폴더는 .gitidnore에 입력해서 github에 push하지 않는다.
Deploy(배포) 후 환경 : 환경변수(process.env.NODE_ENV)을 production로 설정하고 HEROKU같은 곳에서 관리된다.
npm install bcrypt --save
Register Route에서 전송하기 전에 암호화를 하도록 설정해야한다.
bcrypt에서 salt를 생성하고 salt를 이용해서 암호화를 한다.
login Route 만들어서 DB에서 요청된 email을 찾는다.(User.findOne()을 이용한다.)
email이 있다면 비밀번호를 확인해서 비밀번호가 없으면 error, 비밀번호가 있으면 token을 생성한다.
토큰을 생성하기 위해 jsonwebtoken을 설치한다.
토큰을 만드는 함수를 작성한다.
토큰을 쿠키에 저장하기 위해 cookie-parser를 설치한다.
토큰을 쿠키에 저장한다.
사이트에 들어가서 로그인된 유저만 접속할수있는 페이지가 있다면 체크해서 접속할 수 있게한다.
auth route를 만든다.
쿠키에 저장된 토큰을 가져와서 복호화 한 후 서버에서 일치하는 유저를 찾는다.
유저가 있으면 auth미들웨어를 통과해서 정보를 전달한다.
logout route를 만든다.
DB에서 유저를 찾아서 토큰을 지운다.