NestJS
[NestJS] 테스트 피라미드를 위한 에러 처리 방법 (feat. 3 layer architecture)
[NestJS] 테스트 피라미드를 위한 에러 처리 방법 (feat. 3 layer architecture)
2022.05.29서론 업무 중 동료 분의 코드를 보고 제가 작성한 코드 리뷰 내용의 일부입니다. 물론 본문과 같이 상세하게 작성하지 못했습니다. 그래도 좋은 테스트 코드에 있어서 휘발성 코드 리뷰로 지나치기 아쉬웠기 때문에 블로그에서 조금 상세하게 이야기하고자 합니다. 이 글에서 언급한 리팩토링을 하더라도 기능적, 성능적으로 나아지는 부분은 거의 없습니다. 다만, 테스트 피라미드에 부합하기 위해 수행되는 리팩토링은 유지보수 비용 측면에서 많은 이득을 챙길 수 있습니다. 또한 일관되지 않은 코드가 프로덕션에 반영되었을 때 성장하는 팀에 합류한 신규입사자가 큰 혼란을 겪을 수 있습니다. 지금부터 NestJS로 작성된 API를 jest, supertest로 테스트 코드를 작성하며 많은 테스트를 써야하는 구조와 적은 테스트를 ..
[NestJS] JWT 로그인 구현 예제 (bcrypt, passport, JWT, cookie)
[NestJS] JWT 로그인 구현 예제 (bcrypt, passport, JWT, cookie)
2021.12.29사용자 인증/인가는 모든 웹 애플리케이션에서 가장 중요한 부분입니다. 이전 포스트에서는 Node.js를 이용하여 JWT로그인을 구현했습니다. [node.js] JWT 구현 예제 Intro 웹 / 앱 개발을 하면 로그인 과정에서 반드시 만나게 되는 개념이 쿠키-세션이다. 최근 들어 IT 인프라 구성에는 많은 변화가 생겼다. 웹 기반의 서비스들은 웹과 앱을 함께 서비스하 charming-kyu.tistory.com 이번에는 NPM 라이브러리에서 가장 많이 사용되는 Passport를 이용하여 NestJS 애플리케이션에 로그인을 구현해보겠습니다. 또한 해싱(Hashing)을 통해 사용자를 등록하고 비밀번호를 안전하게 암호화하여 보호하겠습니다. User Entity 인증을 고려할 때 가장 먼저 해야 할 일은 사..