728x90
강의 중 필요한 내용 필기
- 인스타로 따지면 사진이나 비디오가 모듈이 된다
- controller : url을 가져오고 함수를 실행하는 역할, node.js에서 express의 라우터와 같은 존재이다.
- @Get : get 데코레이터, express의 get 라우터와 같은 역할
- 데코레이터는 꾸며주는 함수나 클래스랑 붙어있어야함
- 예시 여기서 사용자가 'localhost:3000/hello'로 접속하면 바로 아래에 있는 함수 sayHello가 호출되어 'Hello everyone'을 출력한다! 따라서 @Get (데코레이터)와 함수 사이에는 공백이 있어서는 안된다!
- 원래 express.js에서는 app.get으로 라우터 호출을 다시해야 했지만, Nest JS의 데코레이터 덕분에 저것만 적어도 바로 호출이 가능하다!
- 즉, controller는 그냥 url을 가져와서 function을 호출해서 실행시키는 정도의 역할이다.
- service는 실제로 function이 정의되어 있고, 비즈니스 로직을 실행하는 역할이다.
- AppModul에서는 하는 모든 걸 import할 것이고, NestJS가 어플리케이션을 만들기 위해 이용하는 것이다.
- NestJS는 뭔가가 필요하면 파라미터를 통해서 무조건 요청해야 한다!
- DTO : Data Transfer Object
- ValidationPipe를 통해서 input 데이터의 type을 알맞게 변경하여 받을 수 있다.
- mapped-types : 타입을 변환시키고 사용할 수 있게 하는 패키지이다.
- class-validator : 다양한 것의 유효성 검사를 편하게 할 수 있다.
- nestjs는 2개의 프레임워크 위에서 동작하기 때문에 Express에서 req, res 객체를 많이 사용하지 않는게 좋다.
- NestJS는 기본적으로 테스팅을 자동으로 지원하는데, 만약 movies.controller.ts라는 파일을 테스팅하려면 movies.controller.spec.ts라는 파일이 있어야한다.
- npm run test:cov = 얼마나 테스팅 되었는지 확인할 수 있는 명령어
- 유닛테스트는 function별로, e2e test는 전체 시스템을 테스트 하는 것이다.
- Jest : 자바스크립트 테스트 프레임워크, Typescript/Node/React 등 모두 테스트가 가능하다.
- .spec.ts는 해당 모듈의 유닛 테스트를 하기 위한 파일이다.
드디어 강의 끝!
시간되면 다른 강의도 들어봐야겠따!!
728x90
'사이드 프로젝트 > 개발몰입과정[2021_SUMMER]' 카테고리의 다른 글
4주차 개념 스터디 - BE (0) | 2021.08.28 |
---|---|
Typescript 개념 정리 (작성중) (0) | 2021.08.25 |
3주차 개념 스터디 - BE (0) | 2021.08.22 |
3주차 개념 스터디 - 테스트 프레임워크 (0) | 2021.08.20 |
3주차 개념 스터디 - JWT (0) | 2021.08.19 |
댓글