NestJS11 [NestJS] interface, type, class 도입기 (언제 뭘쓰지??) 들어가며처음 TypeScript를 시작했을 때만 해도 interface, type, class의 차이점을 명확히 이해하지 못했습니다. 특히 NestJS로 백엔드 개발을 시작하면서는 더 큰 혼란이 왔죠."어? 근데 NestJS에서는 왜 class를 이렇게 많이 쓰지?""interface랑 class가 왜 이렇게 따로 노는 것 같지?"기본부터 차근차근: 세 가지 방식의 차이// 1. interface: 타입 정의의 기본interface User { id: string; name: string; email: string;}// 2. type: 유연한 타입 정의type UserResponse = { user: User; token: string;} | null;// 3. class: .. 2025. 1. 22. NestJS JWT 인증 시 발생하는 'secretOrPrivateKey must have value' 에러 완벽 해결하기 🔐 안녕하세요! 오늘은 NestJS로 개발하시는 분들이 한 번쯤은 마주치셨을 법한 JWT 관련 에러를 함께 파헤쳐보려고 합니다. 특히 'secretOrPrivateKey must have value' 에러는 개발자들의 골치를 아프게 하는 대표적인 문제인데요, 이 에러의 발생 원인과 해결 방법을 상황별로 정리해보았습니다.## 🤔 에러가 발생하는 근본적인 이유이 에러의 핵심은 간단합니다. JWT를 sign할 때 사용하는 secret 값과 설정된 secret 값이 일치하지 않는 거죠. 특히 ConfigModule을 사용할 때 환경 변수를 불러오는 과정에서 가장 빈번하게 발생합니다.## 📌 주요 발생 케이스와 해결방법### 1. 환경변수 설정 미스 (가장 흔한 케이스)개발하다 보면 `.env` 파일은 만들었는데.. 2024. 11. 21. TypeORM에서 insert() 사용 시 @BeforeInsert가 동작하지 않는 문제 해결하기 🤔 안녕하세요! 오늘은 TypeORM을 사용하면서 겪었던 재미있는 이슈 하나를 공유하려고 합니다.특히 비밀번호 해싱같은 작업을 할 때 자주 마주치는 문제인데요, 이 글을 통해 여러분의 소중한 시간을 아낄 수 있었으면 좋겠습니다! 😊🚨 문제 상황관리자 계정을 생성하는 API를 만들던 중이었습니다. 당연히 비밀번호는 해시화해서 저장해야 하니, Entity에 @BeforeInsert 데코레이터를 사용했죠.@Entity('admin_user')export class AdminUserEntity extends CommonEntity { @Column() userId: string; @Column() password: string; @BeforeInsert() async hashPassword() { .. 2024. 11. 20. [NestJS] 의존성 주입의 모든 것: Provider와 useClass, useFactory, useValue 사용법 최근 DDD 개발을 진행중에 있는데 생각보다 이 개념을 디테일하게 설명해주는 글을 찾기 쉽지 않고 사용법을 제대로 알지 못하고 그냥 복사 붙이기해서 사용하는 사람들이 있어서 작성하게 됐다!NestJS에서 useClass, useFactory, useValue의 차이와 용도NestJS에서 의존성 주입(Dependency Injection)을 위해 제공하는 useClass, useFactory, useValue는 providers 설정에서 사용되는 여러 방법들이다. 각각의 방법은 서비스나 값을 주입하기 위해 사용하는 방식이 조금씩 다르다. 이들이 어떻게 다른지와 각자의 용도를 설명하고, 실제로 사용되는 방법까지 예시를 통해 알아보자!1. useClass 사용 예시useClass는 특정 클래스를 주입하고, 다.. 2024. 10. 23. 이전 1 2 3 다음