- [ backend ][etc] passport를 이용하여 인증/인가 구현하기 (with nest)2024-01-18 02:20:04passport로 인증/인가 구현하기 passport란? 직접 구현한 인증/인가 로직을 passport 라이브러리를 활용하여 대체할 것이다. passport는 node에서 사용하는 인증 라이브러리다. 이미 인증/인가를 구현했으면서 왜 passport를 도입했을까? 바로 passport가 표준화된 방식을 이용하고 있기 때문이다. passport의 이점 표준화된, 다양한 인증 전략 제공 : 직접 다 구현할 필요없이 다양한 전략을 간단하게 사용할 수 있다. 풍부한 생태계 : 많은 곳에서 활발하게 사용되고 있기 때문에 문제가 발생했을 때 도움을 얻기 쉽다. ... @Injectable() export class JwtAuthGuard implements CanActivate { constructor(privat..
- [ backend ][etc] graceful shutdown으로 사용자 경험 저하 방지하기 (with docker & nest)2024-01-15 18:26:08UX는 프론트엔드 담당이라고? 백엔드도 할 수 있어 😎 새로운 어플리케이션이 출시되는 등의 이유로 서버를 종료하는 상황을 가정해보자. 사용자의 요청을 처리하는 도중에 서버를 종료하면 어떻게 될까? 사용자는 서버로부터 유의미한 응답을 받을 수 없기 때문에 불편함을 느낄 것이다. 지금부터 모든 요청을 처리한 후에 종료하는 방법을 알아보자! graceful shutdown 난 사실 우아한 종료가 아닌, 우하하 종료를 구현했다 🤪 그레이스풀 종료는 서버가 모든 요청에 대해 응답하고, 더 이상 처리해야 하는 작업이 없을 때 종료하는 것을 의미한다. 혹시 SIGKILL을 보내고 있진 않나요? 그레이스풀 종료를 구현하기 위해서는 몇 가지 유의사항이 있다. 우선, 프로세스를 강제로 죽이면 안된다. (처음엔 SIGKIL..