본문 바로가기

NestJS

(6)
[강의 후기] [코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core (Inflearn) 강의 들은 후기 강의명: [코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core 강의 학습 기간: 일주일 이직하는 회사 입사 전 NestJS 에 대한 전체 강의를 듣고 내가 부족한 점이 무엇인지 찾고자 해당 강의를 들었습니다 :) 결론적으로 정말 듣길 잘한 것 같네요.. 원래 알았던 내용이여도 복습겸 듣기도 좋았고 제가 몰랐던 내용들도 정말 많이 알게 되어서 매우 유익하고 기쁩니다! 게다가 강사님이 설명을 야무지게 해주시네요. NestJS 주니어 개발자라면 한번쯤은 들어보라고 추천하고 싶은 강의였습니다. 강의를 들은 후 내가 얻은 기술 키워드 ServeStaticModule: 특정 폴더에 있는 모든 파일들을 외부에서 접근 가능하도록 하는 ..
[NestJS] JWT 인증 가드 작성 방법에 대한 두가지 방법 및 나의 생각 개요 인프런 강의를 듣다가 지금까지 못본 방법으로 jwt 인증을 구현하는 것을 보았다. 내가 기존에 알고있던 방법과 새로 알게된 방법을 보고 이에 대한 차이점과 앞으로는 나는 어떤 방법을 통해서 개발할지를 생각해보자. 기존 방식으로 구현하는 법 (내가 원래 알고있던 방식) 내가 기존에 알고있는 방식은 PassportStrategy 를 사용하는 방식이였다. 사용 방식은 다음과 같다. 사용할 모듈에 JwtModule 등록 // auth.module.ts @Module({ imports: [ PassportModule, JwtModule.register({ // JwtModule 등록 부분 secret: process.env.JWT_SECRET || jwtConfig['accessSecret']..
[NestJS] VScode 디버깅을 이용하여 똑똑하게 NestJS 를 디버깅하자! 개요 정말 부끄럽게도 저는 NestJS 백엔드 소스코드 디버깅을 할 때 중간중간 this.logger.debug 코드를 넣어서 값을 확인했었다.. 인프런 강의를 듣는 중 VScode 로 NestJS 디버깅을 할 수 있고, breaking point 를 넣어서 확인할 수 있었다. 너무 유용해 보여서 이를 셋팅하는 방법을 작성하고자 한다. 셋팅 VScode 에서 왼쪽 옵션 중 실행 및 디버그 (재생버튼에 디버그 표시 되어있는 아이콘)을 클릭한다. 여기서 launch.json 파일 만들기를 클릭하면 아래와 같이 선택창이 나오는데 “Node.js”를 선택해준다. 선택하면 .vscode/launch.json 파일이 생성된다. 이제 이 파일을 아래와 같이 수정해주면 된다. { // IntelliSense를 사용하여..
[NestJS] request lifeCycle 정리 개요 NestJS 를 사용해왔는데 라이프사이클을 까먹은것 같다. 내 기억 저장소로 라이프사이클에 대해서 정리하려고 한다. 기본 개념들 Middleware 클라이언트의 요청을 처리하기 전에 수행되는 컴포넌트 사용 방식은 express 의 middleware와 동일. Guard 요청을 다음 단계로 진행할지 말지 결정해 주는 클래스 주로 인증, 인가를 위해 사용한다. 미들웨어에서도 인증과 인가처리를 할 수 있지만, 미들웨어는 실행 컨텍스트에 접근하지 못하기 때문에 다음에 어떤 핸들러가 실행될지 알 수 없고 가드는 실행 컨텍스트 인스턴스에 접근할 수 있어 다음에 실행될 작업을 정확히 알고 있다. Interceptor 아래와 같은 기능을 사용할 수 있다. 메소드 실행 전/후에 추가 로직 바인딩 함수에서 반환 된 ..
[TypeScript] 타입스크립트 기초 01. 기본 지식 tsc: 타입스크립트를 자바스크립트로 변환해주는 컴파일러이자, 타입을 검사해주는 역할 또한 진행해준다. 이는 tsconfig.json 파일로 옵션을 넣을 수 있다. 코드를 변환해주는 역할과 타입을 검사하는 역할이 별개이다. 즉 타입 검사가 오류가 나더라도 코드 변환은 정상적으로 이루어진다. tsc --noEmit: 타입 검사만 확인하는 명령어 02. tsc 사용하기 nodejs 에서 typescript 를 사용하기 위해서는 다음과 같은 명령어가 필요하다. $ npm init# package.json 생성 $ sudo npm i typescript# typescript install $ sudo npx tsc --init# tsconfig.json 생성 여기서 tsc 명령어를 사용하기 위..
[Rabbitmq] 에러 분석 2 - JavaScript heap out of memory 에러 1. 개요 본 이슈는 대용량 트래픽, 데이터를 다루기 위한 프로젝트를 진행하면서 생긴 문제입니다. https://github.com/palinYEE/many_log_manage_project GitHub - palinYEE/many_log_manage_project: Rabbitmq 를 활용한 실시간 다량의 로그 처리를 다루는 프로젝트 Rabbitmq 를 활용한 실시간 다량의 로그 처리를 다루는 프로젝트 입니다. Contribute to palinYEE/many_log_manage_project development by creating an account on GitHub. github.com 2. 에러 발견 매초 10만 개의 샘플 데이터를 발생시키고 이를 Rabbitmq로 받아서 저장하는 로직을 구현..