Q1. nest.js 같은 라이브러리들을 자유자재로 써야 하나요? Q2. docs를 따로 보면서 사이드 프로젝트를 만들며 공부해야 하나요? 아니면 또 다른 강의를 구매해서 공부해야하나요? 기초적인 지식은 어느정도 감이 잡힌 것 같은데, 세부적인 설정 부분이나 고급 기능들은 어떻게 접근할지 잘 모르겠습니다. 강사님은 어떻게 공부하시나요?
결제 API를 테스트 하던 중 CORS에러를 발견하여 나름대로 수정을 해보려고 했으나.... 헤매고 있어서 질문 드립니다. 우선 에러 메시지가 아래처럼 나왔습니다. (현재 쓰고 있는 에디터가 webstorm이라 혹시나 해서 vscode로 실행했는데요 결국 동일한 에러가 발생했습니다.) 결국 preflight에서 CORS에러가 난건데요. 이를 찾아보니... 프론트/백엔드 모두에서 설정해야 해서 다음과 같이 했습니다. Front --------------------------------------------- 테스트 해보려고 변수를 하드코딩 했습니다. axios.defaults.withCredentials = true; axios.post( 'http://localhost:3000/graphql', // 쿼리 작성 { query: ` mutation { createPointTransaction(impUid: "imp_12345678", amount: 100) { id impUid amount status } } ` }, // headers { headers: { "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhNmQ3NjU5Yy05NzA2LTQ4MDgtOTA0OC02ZjI4YWY4NmNhN2UiLCJpYXQiOjE2OTQwNzI1MjQsImV4cCI6MTY5NDA3NjEyNH0.Uch2B5ewPc6yVsy4LuyOJzAUXEhnypbTxKmtQt6hRBw", } } ) Backend ------------------------------------------------- main.ts import { NestFactory } from '@nestjs/core' import { AppModule } from './app.module' import { ValidationPipe } from '@nestjs/common' import { HttpExceptionFilter } from './commons/filter/http-exception.filter' async function bootstrap() { const app = await NestFactory.create(AppModule) // cors설정 추가 app.enableCors() app.useGlobalPipes(new ValidationPipe()) app.useGlobalFilters(new HttpExceptionFilter()) await app.listen(3000) } bootstrap() 제가 찾은 방법은 여기까지 인데요. 다른 방법을 찾지 못해 질문 드립니다.;;;;
import {~} from '@nestjs/common' 에서 '@nestjs/common' 모듈 또는 해당 형식 선언을 찾을 수 없습니다.ts(2307) 라고 뜨는데 뭔가 설치해야 될게 있나요? vscode를 초기화 하고 yarn,express,node 필요한 것만 설치하고 npx @nestjs/cli new qqq 만 설치했습니다 혹시 누락된게 있나요
안녕하세요. 저번에는 jwt 인증 전략에 대해서 질문했었는데요. 해결이 됐습니다. 이번에는 passport-jwt의 jwt.strategy.ts 의 가드 전략에서 로그인한 유저의 정보를 가져와야 하는데요. 미리 정해놓은 페이로드의 id를 가져오니 유저의 id는 나왔는데 유저의 나머지 정보는 어떻게 가져오는건가요? 가져오는 방법과 가져오게되는 로직이 궁금합니다.
수강생분들의 질문을 기다립니다! - 에러에 해당하는 질문은 "에러가 발생한 상황에 대한 충분한 설명", "에러 메세지", "에러가 난 코드 스크린샷"을 함께 첨부해주세요. - 언어에 해당하는 질문은 구글링 및 서치 후에 구체적으로 질문해주시면 좋습니다. - 간단한 진로 및 방향성에 대한 질문은 메일로 보내주세요. - 패키지 버전 관리은 실무 환경과 트랜드에 맞추어 강의를 업데이트 하고 있습니다. 강의를 그대로 따라갔는데 에러가 발생한다면 패키지 버전을 강의에서 사용하는 버전과 동일하게 맞춰주세요! - 강의 노트, QA 목록, 공지 사항을 먼저 확인해주세요. - 논리적이고 구체적인 질문은 학습 효과를 올립니다 :)
안녕하세요. 저번에 NESTJS를 이용해서 MSA환경에서 gRPC프로토콜을 이용하는 시스템을 만들고있다고 질문했었는데, jwt와 local을 이용한 인증전략을 구성하는데 문제가 생겨서 ,질문 남깁니다. 서버는 gateway를 통해 클라이언트와 통신하고, 각 서버끼리는 gRPC를 통해 통신하고, 클라이언트와는 HTTP통신을 합니다. jwt, local 가드는 게이트웨이의 각 모듈(user의 컨트롤러 등)에서 사용되기때문에 게이트웨이 모듈의 프로바이더에 JwtStrategy, LocalStrategy를 작성해놨는데 Nest can't resolve dependencies of the LocalStrategy, Nest can't resolve dependencies of the JwtStrategy의 오류가 납니다. 인증 전략을 가져오는데 문제가 생긴거같은데, 게이트웨이가 아닌 서버의 모듈에 추가해야하는건가요? 일반적인 방법이 궁금합니다. 검색을 해보면 다 auth모듈을 만들어서 사용하는데, 저는 그냥 strategy파일만 만들어서 inject하려고 합니다...
const typeDefs = `#graphql input CreateBoardInput { writer: String title: String contents: String } type MyResult { number: Int wrtier: String title: String contents: String } type Query { fetchBoards: [MyResult] #배열 안에 객체 1개 이상을 의미 } type Mutation { # createBoard(writer: String, title: String, contents: String): String createBoard(createBoardInput: CreateBoardInput!): String } `; 이 백틱 사이의 부분이 VSCode 안에서 전부 주황색으로 나오네요. 수업과 같이 예쁘게 표시 되려면 따로 설정해야하는 것이 있을까요? 제 에디터 모습입니다.
product.service.ts에서 join을 하기 위해 return this.productsRepository.find({ relations: ['productSaleslocation']}) 이렇게 해주었는데요. 여기에 들어가는 productSaleslocation이라는 테이블 명이 product.entity.ts에서 조인이 되는 대상 컬럼 @JoinColumn() @OneToOne(() => ProductSaleslocation) @Filed(() => ProductSaleslocation) productSaleslocation: ProductSaleslocation 이 부분의 정의 때문에 그렇게 명명하는 것일까요? relation에 들어가는 테이블명은 딱히 정의한 곳을 못찾아서요. 실제 DB상의 테이블 명이랑은 다르고... 만약 제 추측이 맞다면 @OneToOne, @MayToOne을 붙인 Filed명이 테이블 명 처럼 사용되는 것이죠?
product.service.ts에서 create, findOne, findAll을 만들때는 async, await를 사용하지 않았습니다. 그리고 create 만들 때 nest에서는 이걸 호출하는 곳(resolver)에서 자동으로 기다리고 있기 때문이라고 하셨는데요. 다만, 시간이 걸리기 때문에 Return type은 Promise<Product>로 했고요. 근데 update, delete를 하실때는 async, await를 사용하셨는데요. 어떤 이유가 있을까요??
mysql의 비밀번호를 자동생성을 통해 생성해서 ~+kmisB1[@l1&FH 로 설정해 놓았는데 아래 명령어에서 특수문자로 인해 인식이 정상적으로 못하는것 같습니다. & 앞에 \를 추가하여 ~+kmisB1[@l1\&FH 로 시도해도 인식이 되지 않았습니다. 명령어 : npx typeorm-model-generator -h localhost -d sleact -u root -x ~+kmisB1[@l1&FH -e mysql 에러 : 필수 인자를 받지 못했습니다: e 'FH'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.