설치 방법 Module 작성 debug와 playground option 비활성화 가능 playground란 무엇인가? 브라우저 내의 GraphQL IDE이며 기본적으로 GraphQL 서버 자체와 동일한 URL에서 사용할 수 있다. 액세스 하기 위해서는 Gra
NestJs와 graphql과 Cognito를 사용해 로그인 로직을 구현중에 mutation을 사용할 때 에러가 발생하였고 다음과 같이 해결하였다.발생 에러 : "Cannot return null for non-nullable field LoginResponse.id_
회원가입 로직을 구현할 때 이메일로 인증번호를 보내서 확인시키고자 할 때의 로직을 구현해보자! 이메일로 인증번호를 보내기 위해 nodemailer라는 라이브러리를 사용하고자 했다. Gmail Oauth 2.0과 같이 사용해보자. Gmail Oauth 2.0을 사용하
NestJS 프로젝트를 Docker 이미지로 만들어보자Dockerfile 작성.dockerignore 작성docker 이미지 builddocker 이미지 실행확인
이전에 local에서 redis를 적용해서 사용했는데, local이 아닌 docker에서 redis를 사용해보고자 한다.docker에서 redis 이미지 다운로드docker 컨테이너로 redis 실행redis-cli 접속확인
pm2를 사용하여 무중단 배포를 적용해보자먼저 EC2 SSH에 접속한다.Install pm2Project CloneProject BuildProject Runpm2 명령어 정리
로직을 만들다 보면 transation을 사용해야 하는 경우가 필연적으로 생기기 마련이다. 서비스 로직을 만들면서 transaction을 사용할 경우가 있었는데, NestJS와 mongoose에서 어떻게 사용하는지 포스팅 하고자 한다.먼저 트랜잭션이 무엇인지에 대해 설
NestJs도 NodeJs를 기반으로 동작하기 때문에 변경사항이 생기면 서버를 껐다가 다시 시작해야 변경사항이 적용되는 불편함이 있다.express에서는 이러한 불편함을 nodemon 라이브러리를 통해 해결하지만,NestJS에서는 Hot Reload라는 기능을 지원한다
일반적으로 외부에 유출되면 안되는 정보들을 하드코딩하지 않고 변수를 파일을 통해 보관하고 런타임 환경에서 가져다 쓰는 방식을 쓰기 위해 dotenv패키지를 사용한다.또한 환경에 따라 다른 변수를 사용해야 할 때도 사용하기도 한다.이 패키지를 NestJS에서 사용하고자
Express에서 HTTP 요청에 대한 Log를 남겨주는 미들웨어인 Morgan과 같은 미들웨어를 NestJS에서도 구현해보자Middleware미들웨어는 클라이언트로부터 들어온 요청을 각 컨트롤러의 요청 핸들러가 처리하기 이전에 코드를 실행할 수 있는 기능입니다. 미들
NestJs를 사용하여 슬랙 백엔드 클론을 하던 중 채팅 기능을 구현하기 위해 Socket.io 라이브러리를 사용하고자 했다.명령어를 통해 nestjs에서 필요한 websocket 모듈들을 설치를 해준 뒤event 폴더를 만들어 event gateway 파일을 생성했다
NestJS에는 여러가지 데코레이터가 존재한다. @Body(), @Param()등 특정 요청에 대한 값에 대해 접근할 수 있다.위와 같은 데코레이터들을 커스텀하여 사용할 수 있다.Custom DecoratorCustom Decorator를 사용하면 request 또는
현재 프로젝트 배포는 변경사항이 생기면 EC2 ssh에 접속하여 git pull origin main -> npm run build -> pm2 reload <application_name>의 단계를 거쳐서 변경사항을 반영한다.하지만 프로젝트 갯수가 늘어나고 관리
이전 글에서 Code Deploy를 사용하여 CI/CD 구축을 위한 설정 방법을 포스팅 했었는데, 구축하고 나서 생각을 했을 때 굳이 사용할 필요가 없을 것 같다.현재 배포 방식은 EC2 ssh 환경에서 pm2로 무중단 배포를 적용했고, 변경 사항이 생길 때 마다 ss
Jest를 사용하여 테스트 코드를 짜고 실행을 했는데 에러가 발생했다.