Stouter's Blog
과정을 담는 개발 블로그입니다.
Featured
타입 공유를 선택한 계기 백엔드에서 API들을 구현하면서 다양한 API 타입들을 정의하게 되었다. 이 때, 프론트엔드와 백엔드에서 사용하는 타입을 공유하기로 결정했다. 이를 통해 다음과 같은 이점을...
모노레포를 결정한 이유 기존의 불편함 현재 문진 웹서비스의 개발 팀원은 백엔드 개발자인 나와 프론트엔드 개발자인 윤하님 두명으로 구성되어 있다. 기존에 같이 토이 프로젝트를 진행하면서 백엔드와...
All Stories
Node 기반으로 서비스 환경을 구성했을 땐 무중단 배포를 위해 프로세스 관리 도구인 PM2를 많이 쓰게 된다. 해당 글에선 PM2가 어떤 동작을 하여 무중단 배포를 하는지, 또한 어떻게 구성하는 지를 정리해보자....
모노레포 환경에서 개발을 하다보면 자체적으로 라이브러리나 패키지를 구현할 때가 많다. 이러한 라이브러리를 다른 프로젝트들에서도 사용하려면 NPM으로 배포하는 것도 좋은 방안이 될 수 있다. 본 글에선 NPM에 내 라이브러리를 배포하는 방법을...
라이브러리를 commonjs 기반으로 생성해야하는 이유
항상 기계적으로 구현했던 인증 부분에 관해서 어느날 의문이 들었다. 우리는 어떤 공격을 방어하기 위해 이러한 절차들을 마련해둔걸까? 과연 JWT 토큰 기반의 인증은 안전한걸까? 정리해보자.
NestJS에서는 인증 부분을 Guard를 통해 쉽게 구현할 수 있다. 우리는 현재 두 가지의 Guard를 사용하고 있다. 두 가지의 Guard의 이름을 criticalGuard와 looseGuard로 지었다.
SleepyWoods 서비스는 웹 게임 기반의 SNS로 개인화된 경험 및 데이터가 잘 지켜지는 것이 중요하다. 편리하지만, 안전하기도 한 회원 인증 서비스를 구현하기 위해 고민했던 부분을 정리해보자.
Typscript로 개발을 하다가 함수의 return type과 관련하여 궁금증이 생겨서 멘토분께 질문을 드렸었다. 좋지 않은 질문이었음에도 훌륭한 답변을 해주셔서 그 안에 많은 긍정적인 사고를 할 수 있었다. 새로운 지식을 배웠으니 이를...