개발/NestJS23 [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. JavaScript/TypeScript의 for...of와 for await...of 완벽 가이드 안녕하세요! 오늘은 for...of와 for await...of의 차이점에 대해 알아보려고 합니다. 이 두 구문의 차이를 정확히 아는 개발자가 생각보다 적은데요, 실제 프로젝트에서 잘못 사용하면 심각한 버그를 유발할 수 있습니다. 차근차근 알아보도록 할게요!1. 기본 개념for...offor (const item of items) { // items는 일반 배열 console.log(item);}일반 배열을 순회할 때 사용Symbol.iterator를 구현한 모든 컬렉션에 사용 가능배열, 문자열, Map, Set 등에 사용for await...offor await (const item of items) { // items는 Promise 배열 또는 AsyncIterable console.log(i.. 2024. 11. 27. [NestJS] Queue 완벽 가이드: 기초 개념부터 실전 활용까지 들어가며안녕하세요! Queue 시스템을 처음 접하시는 분들을 위해 글을 써봅니다. 처음에는 저도 "그냥 바로 처리하면 되지, 왜 Queue가 필요하지?"라는 생각을 했었는데요. Queue의 동작 원리를 이해하고 나니 그 필요성이 확 와닿더라고요.Queue 시스템의 기본 동작 원리Queue는 어떻게 구성되어 있나요?Queue 시스템은 크게 세 가지 컴포넌트로 구성됩니다:Producer (작업 등록자)Queue (작업 대기열)Consumer (작업 처리자)가장 중요한 점은 Consumer가 Queue를 지속적으로 모니터링하고 있다는 것입니다.// 실제 동작 흐름1. Producer: "새 작업이 있어요!" → Queue에 작업 등록2. Queue: "새 작업이 들어왔어요!" → Redis에 작업 저장3. C.. 2024. 11. 25. NestJS JWT 인증 시 발생하는 'secretOrPrivateKey must have value' 에러 완벽 해결하기 🔐 안녕하세요! 오늘은 NestJS로 개발하시는 분들이 한 번쯤은 마주치셨을 법한 JWT 관련 에러를 함께 파헤쳐보려고 합니다. 특히 'secretOrPrivateKey must have value' 에러는 개발자들의 골치를 아프게 하는 대표적인 문제인데요, 이 에러의 발생 원인과 해결 방법을 상황별로 정리해보았습니다.## 🤔 에러가 발생하는 근본적인 이유이 에러의 핵심은 간단합니다. JWT를 sign할 때 사용하는 secret 값과 설정된 secret 값이 일치하지 않는 거죠. 특히 ConfigModule을 사용할 때 환경 변수를 불러오는 과정에서 가장 빈번하게 발생합니다.## 📌 주요 발생 케이스와 해결방법### 1. 환경변수 설정 미스 (가장 흔한 케이스)개발하다 보면 `.env` 파일은 만들었는데.. 2024. 11. 21. 이전 1 2 3 4 ··· 6 다음