관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

Nodejs에서의 타입스크립트 7 - Nestjs에서 타입스크립트 유용하게 사용하기 본문

웹 · 앱 개발/타입스크립트

Nodejs에서의 타입스크립트 7 - Nestjs에서 타입스크립트 유용하게 사용하기

huenuri 2024. 12. 28. 13:04

드디어 3주 차의 마지막 학습이다. 조금 전에 2시간 넘게 걸려 실습 문제를 하나 풀었고, 새벽에는 결코 되지 않았던 실습 문제도 다시 풀어보니 잘 되었다. 무척 어려웠지만 말이다.

이제 남은 수업은 딱 하나 남았다. 여기까지 하고 아침 공부를 마치려고 한다. 오늘도 정말 수고가 많았다.


 

 

 

 

 

 

이론 6 - Nestjs에서 타입스크립트 유용하게 사용하기

 

 

 

 

 

이렇게 파라미터를 넘겨줄 수 있는데 이 파라미터는 id가 된다.

 

 

 

 

 

 

 

 

 


 

 

 

 

 

퀴즈 5 - Nestjs에서 타입스크립트 유용하게 사용하기

 

 

 

 

이 문제도 역시 많이 복잡한 문제이므로 헬퍼에게 물어보았다.

  1. 먼저, @Injectable() 데코레이터를 사용해서 ProductServiceImpl 클래스에 적용해보자. 이는 NestJS에서 의존성 주입을 지원하는 방법 중 하나이다.
  2. product.controller.ts 파일에서 constructor 내부의 <2> 위치에 @Inject(PRODUCT_SERVICE) 데코레이터를 추가한다. 이렇게 하면 ProductService 인터페이스를 구현한 ProductServiceImpl 인스턴스를 주입 받을 수 있게 된다.
  3. 마지막으로 product.module.ts 파일에서 useClass 속성에 ProductServiceImpl을 추가한다. 이제 PRODUCT_SERVICE 심볼에 맞게 ProductServiceImpl 인스턴스가 제공되도록 설정되었다.

 

 

 

그래도 문제를 틀려서 풀이를 보며 다시 풀어보겠다.


 

 

 

문제 다시 풀기

 

 

하나를 더 추가하는 거였다.


 

 

 

 

 

실습 4 - Nestjs에서 타입스크립트 유용하게 사용하기

 


 

 

beverage-maker.service.ts

 

 

 

코드를 작성한 후에는 class를 export한다.

 

 

 


 

 

 

beverage-maker.controller.ts

이 코드는 수정된 것으로 올려본다.

 

이렇게 beverageMaker를 주입한다.


 

 

 

beverage-maker.module.ts

모듈에 등록하여 코드를 완성한다.


 

 

 

코드 실행하기

코드를 실행했으나 약간의 오류가 발생했다.

 

해당 파일을 찾아 오류를 수정해 보았다.


 

 

 

계속 수정해 보았으나 아무리 해도 오류가 계속 나서 이건 정말 모르겠다. 그냥 넘어가기로 했다.

 

 

 

 

beverage-maker.service.ts

 

이 코드에서 오타가 있었다. 그리고 return 구문을 쓰지 않아서 오류가 발생하는 거였다. 이것만 고치는데 30분도 훨씬 넘게 걸렸다.


 

 

 

다시 코드 실행하기

 

 

드디어 테스트를 통과했다. 얼마나 어려웠는지 모른다.


 

 

 

 

학습을 마치고

이로써 Nodejs 3주 차 학습을 모두 마쳤다. 아침도 먹지 않고 공부를 했더니 지금 무척 기운이 빠지고 힘들다. 그래도 새벽부터 아침까지 정말 열심히 공부해서 정말 뿌듯하고 기쁘다.

남은 과정은 React가 남아있는데 이 수업도 오후에 모두 듣고 공부할 것이다. 그리고 저녁에는 다른 과목 학습을 이어가야지.