본문 바로가기

nest.js22

Nest.js : Test시 Controller의 Decorator정보를 얻는 법 Controller의 테스트 코드를 작성 중에 문득, @UseGuards(LocalAuthGuard) 데코레이터를 검증하고 싶었다. 그래서 방법을 찾아본 결과 다음 방법을 사용해서 검증을 해볼 수 있었다. 하지만, 쓸모가 있는지는 아직 잘 모르겠다. 혹시 참고하실 분들은 참고하시길 바랍니다. // 컨트롤러의 logIn 함수로 부터 Decorator들의 key값들을 얻는다. const keys = Reflect.getMetadataKeys(AuthController.prototype.logIn); // key값을 이용해서 Decorator data를 뽑아낸다. // 아직 어떤식으로 활용해야할지는 잘 모르겠다. keys.forEach((el) => { const value = Reflect.getMetada.. 2023. 2. 7.
Nest.js : Ports and Adapters Architecture 구현하기 (1) 이 글은 작성자(개발초보)의 뇌피셜일 뿐이며 참고만 하시되, 잘못된 부분이 있다면 지적해 주시기 바랍니다. Nest.js를 배우면서 우연히 ports and adapter architecture에 대해서 알게 되었다. ports and adapter architecture란, 비즈니스 로직과 외부 요소들(예를들어, DB)을 port와 adapter를 이용해서 구분하는 아키텍쳐이다. 우리가 일반적으로 사용하는(나만 이렇게 사용했을 지도 모르지만) service 만을 이용해서 코드를 작성시, service 안에 온갖 코드가 다 들어갈 것이다. 예를들면, DB를 건드리는 코드도 들어갈 수 있고, 검색엔진, email 혹은 외부 라이브러리 등 많은 것들에 관한 코드가 들어갈 수 있을 것이다. 하지만 서비스 로직.. 2023. 2. 3.