본문 바로가기

전체 글

(12)
[강의 후기] [코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core (Inflearn) 강의 들은 후기 강의명: [코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core 강의 학습 기간: 일주일 이직하는 회사 입사 전 NestJS 에 대한 전체 강의를 듣고 내가 부족한 점이 무엇인지 찾고자 해당 강의를 들었습니다 :) 결론적으로 정말 듣길 잘한 것 같네요.. 원래 알았던 내용이여도 복습겸 듣기도 좋았고 제가 몰랐던 내용들도 정말 많이 알게 되어서 매우 유익하고 기쁩니다! 게다가 강사님이 설명을 야무지게 해주시네요. NestJS 주니어 개발자라면 한번쯤은 들어보라고 추천하고 싶은 강의였습니다. 강의를 들은 후 내가 얻은 기술 키워드 ServeStaticModule: 특정 폴더에 있는 모든 파일들을 외부에서 접근 가능하도록 하는 ..
[Typescript] 데코레이터에 대한 정리 개요 강의를 듣다보니 reflect-metadata 에 대한 개념이 나오게 되었다. 찾아보니 자연스럽게 데코레이터에 대한 내용이 나왔는데 보니까 내용이 조금 헷갈려서 내 나름대로 정리한 것을 기록한다. 내용 타입스크립트에서 제공하는 데코레이터 기능은 총 다섯개가 존재한다. Class Decorators Method Decorators Accessor Decorators Property Decorators Parameter Decorators Class Decorators /** * Class Decorator * [역할] * * 클래스 정의를 관찰, 수정 또는 교체하는데 사용할 수 있다. * [특징] * * 클래스 생성자에 적용이 된다. * * 데코레이팅된 클래스의 생성자를 유일한 인수로 "런!타!임"에..
2023년도 회고 올해는 정말 많은 일들이 일어났던것 같다. 새로운 업무부터 퇴사와 이직. 큰 사건들 위주로 올해를 돌아보자.. (두서없이 쓰는 글로 문맥이 안맞고 생각의 흐름대로 작성되어있습니다 🙂) 웹 개발자로써의 시작 원래 나는 암호모듈 유지보수와 방화벽 유지보수를 했었다. 하지만 내 생각으로는 정말 애매한 포지션이였던것 같다. 결함 수정과 방화벽 성능 측정을 위주로 했었으니까… 그러다가 갑작스럽게 회사에서 웹을 개발하라고 부서 발령을 해버렸다. 평소에 다양한 개발을 하는거에 거부감도 없었고, 해보고싶은 분야여서 상관은 없었지만… 갑작스러운 커리어 전환에 너무 당황스러웠다.. 이렇게 방화벽을 개발하다가 nodejs, nestjs 백엔드 개발자로 바껴버렸다. 지금 생각해보면 내 커리어의 터닝 포인트가 되지 않았나 싶다..
[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 명령어를 사용하기 위..
[NodeJS] NodeJS 에서 elasticsearch 를 다뤄보자 (basic) - 1 개요 회사 프로젝트를 진행하다 보니 NodeJS 에서 Elasitcsearch를 사용하여 구현을 진행했다. 나중에 많이 활용할 것 같아서 자주 사용할 것 같은 기본 사용 방법에 대해서 정리 하고자 한다. 본 내용의 자세한 소스코드는 아래 링크에서 확인 가능합니다. https://github.com/palinYEE/node-nest-elasticsearch/tree/main/node-elasticsearch NodeJS 에서 Elasticseach 사용하기 사용 모듈: @elastic/elasticsearch 설치 명령어: npm install @elastic/elasticsearch elasticsearch Client 기본 설정 const client = new Client({ node: 'ht..