묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결타입스크립트의 모든 것
BuilderInit 사용 이유
안녕하세요~ 좋은 강의 감사합니다~spring 3년 정도 사용하다가 이번에 이직 하면서 nest.js를 사용하게 되어 강의 듣고 있는데요. js지식이 얕아서 간혹 이해 안되는 부분이 생기더라구요.찾아보면서 진행하고 있긴한데 이번강의의 BuilderInit클래스를 추가해주신 부분이 이해가 잘되지 않아서 문의드려요~ 데코레이터는 "값 조작 은 인스턴스화 해서 실행해야 한다"라고 지난 강의에서 말씀해주셨는데new PostEntity.Builder()를 하였을 때 컴파일 타임에 Builder() 와 멤버변수()를 인식하지못해서 사용하는 건가요? class BuilderInit {static Builder = class {build() {};[props: string]: Function;}}이 문법도 잘이해가 가질 않지만, 메소드의 시그니처를 정의해주는걸로 보이는데요(?), build()가 있어야 하는 이유가 뭘까요? build()도 정의해주는 것으로 봤는데 없애도 문제없이 동작하더라구요.
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
[3-8] React Query 도입(2) - 로그인 연동하기
[3-8] React Query 도입(2) - 로그인 연동하기 아침에도 질문올리고 또 올리네요 ㅠ거의 하루종일 이 부분 학습하고 회원가입 로그인 했는데어떠한 오류도 없고 회원가입, 로그인이 안되서 질문 남깁니다.강의 파일 비교해봐도 특별히 오타가 없는거 같은데요혹시 깃주소 올리면 봐주시나요?
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
[3-7] 백엔드 서버 실행하기 에서 에러로 폴더 생성이 안되는경우
[3-7] 백엔드 서버 실행하기 에서 에러로 폴더 생성이 안되는경우 인데요unable to connect to server : connection timeout expired 이렇게 뜨고 폴더 생성이 안되는데요기존 설치되었던 pgAdmin이 이상이 있나싶어 다시 설치하려고 하는데요어떤걸 설치해야할지 모르겠습니다.저는 윈도우 86-64인데요 버전이 너무 많아서요수업 잘 듣고 있는데 여기서 막히네요 ㅠㅠ 터미널에서 서버를 실행하니src/image/image.controller.ts:14:25 - error TS2307: Cannot find module 'src/@common/constants' or its corresponding type declarations.14 import { numbers } from 'src/@common/constants';~~~~~~~~~~~~~~~~~~~~~~~Found 1 error(s).이런 오류가 뜨네요 어떻게 해야할까요? 깃파일에 오타가 있습니다
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
ios 실행 이후 ➜ explicit dependency.. 뜨고 멈추는 경우 해결책 공유합니다.
xcode 15.3node 21.1.0프로젝트를 latest로 설치하면 문제가 없는데, 강의와 일치시키려고 0.72.6으로 설치하면 https://github.com/facebook/react-native/issues/39743위와 같은 에러가 발생했습니다.---xcode에서 직접 빌드 시키니, flipperKit에서 에러가 발생했습니다.---이럴 경우 해결 방법입니다.https://github.com/facebook/react-native/issues/43335저처럼 시간 쏟는 분들이 계실까봐 공유합니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
vscode postgresql extension이 실행되지 않습니다.
강사님께서 설명해주신대로 입력해서 vscode extension 설치 후에 진행하려고 하는데 role "postgres" does not exist 라는 오류와 함께 extentsion 진행이 되지 않습니다. 혹시 무엇이 문제인지 알 수 있을까요?
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
사용하시는 vscode 테마가 무엇이죠?
사용하시는 vscode 테마가 무엇이죠?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
error_code : Property 'user' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.ts(2339)
안녕하세요! 저와 같은 수강생 여러분, 반갑습니다.분명 저와 같은 에러를 겪고 분투하는 사람을 위해서 제 경험을 공유 드립니다. 저 같은 경우 선생님 코드를 그대로 따라 진행을 했었는데요.특히나 CustomDecoration 부분에 있어서 그대로 따라 진행을 했습니다. 정확히 이 부분에서 에러가 발생을 하더라구요.return request.user as CatCurrentDto; 에러의 내용은 아래와 같습니다.Property 'user' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.ts(2339) 해결방안은 선생님이 보여주신 nestJS의 공식문서를 참고해서 다시 적어보았는데요. Request를 제거해주시면 저 부분이 잡힙니다. 버전이 자꾸 바뀌기때문에 매개변수, 메소드, 각각의 요구되는 필드값 또한 바뀌는것 같습니다. 무언가 잘 안될때는 제공해주신 공식문서 찾는것도 좋은 방법인거 같습니다. 저와 같은 에러를 만나신분에게 조금이나마 도움이 되었음좋겠습니다. 아래는 전체 로직 입니다. [user.decorator.ts] -> 제공된 소스코드 수정한 코드import { CatCurrentDto } from './../../cats/dto/cats.current.dto'; import { createParamDecorator, ExecutionContext } from '@nestjs/common'; export const CurrentUser = createParamDecorator( (data: unknown, ctx: ExecutionContext) => { const request = ctx.switchToHttp().getRequest(); return request.user as CatCurrentDto; }, ); [user.decorator.ts] -> 제공된 소스코드import { CatCurrentDto } from './../../cats/dto/cats.current.dto'; import { Request } from 'express'; import { Cat } from '../../cats/cats.schema'; import { createParamDecorator, ExecutionContext } from '@nestjs/common'; export const CurrentUser = createParamDecorator( (data: unknown, ctx: ExecutionContext) => { const request: Request = ctx.switchToHttp().getRequest(); return request.user as CatCurrentDto; }, );
-
미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
파일명 짓고 구분하기가 어렵습니다
수업 거의 다 듣고 포트폴리오 만드는 중에 질문드립니다. fetchBoards로 게시판을 불러올때 리턴 객체명을 어떻게 해야할지 모르겠습니다. 예를 들어, board[], paging 값이 두개 리턴이 된다고 했을때 dto폴더에 select-board.output.ts 객체 파일을 만들어주면 될까요? 아니면 board[], paging 형태로 내보내는것은 나쁜 방식일까요? 웬만하면 프론트가 아니라 백에서 처리해서 내보내려고 합니다. 이런식으로 폴더 구분이랑 파일 이름 짓기가 모호한 경우가 많은데 여기에 초점을 맞춘다고 시간을 허비하지말고 구분만 잘해놓는게 좋을까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
VScode postgresql 익스플로러 'Cannot get password' 에러
안녕하세요 강의 잘 보고 있습니다!다름이 아니고 VScode에서 postgres 익스플로러로 DB연결을 해주려는데 자꾸 오른쪽 밑에 'Cannot get password'라는 에러가 발생해서 연결이 되지 않습니다... yaml파일이랑 app.module도 잘 확인했는데 해당 에러때문에 DB 연결이 안됩니다. 확인 부탁드릴게요,, 캡쳐본입니다. post로 바꿔고 해봐서 현재 post입니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
NodeJS 는 왜 싱글 스레드라고 불리는가요?
안녕하세요! 개발을 시작한지 얼마되지 않은 개발자입니다. 수업의 내용을 조금 인용하면 "nodeJS 는 싱글 스레드 모델이고, 이벤트 룹이 앞단에서 nonBlocking 요청 빠르게 수행하고 만일 Blocking 요청이 들어온다면 워커 스레드에 넘긴다. " 라고 이해했습니다.하지만 워커 스레드를 사용하게된다면 그것이 싱글 스레드라는 이름에 맞는건지 의구심이 듭니다. 단순히 이벤트 룹이라는 특정 스레드가 앞단에서 Blocking 요청과 nonBlocking 요청을 구분해서 처리를 하기에 싱글 스레드라는 말이 나온건가요?그리고 이벤트 룹이 Blocking 요청과 nonBlocking 요청을 나누는 기준 또한 궁금합니다.마지막으로 구글링을 하며 본 정보에 의하면 JavaScript 가 싱글 스레드 기반의 언어이고, NodeJS는 스레드 풀을 미리 생성하여 워커 스레드들을 미리 생성해 둔 뒤, 각 워커 노드에서 JavaScript 를 실행하여 멀티 스레드를 가능하게 한다는 글을 보았는데 이 내용이 맞다면 NodeJS 는 싱글 스레드 기반 프레임워크가 아닌것으로 받아드려도 괜찮을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
에러가 뜨네요 수강 강의 내용에도 전체 내용이 없어서 안되네요 전체 코드는 제공이 안되나요??
import { ApolloServer } from '@apollo/server' import { startStandaloneServer } from '@apollo/server/standalone' const typeDefs = `#graphql input CreateBoardInput { writer: String title: String contents: String } type MyResult { number: Int writer: String title: String contents: String } type Query { #fetchboards: MyResult #객체 1개를 의미 fetchboards: [MyResult] # 배열 안에 객체 1개 이상을 의미! } type Mutation { # createBoard(writer: String, title: String, contents: String): String createBoard(createBoardInput: CreateBoardInput!): String }`; const resolvers = { Query: { fetchBoards: (parent, args, context, info) => { // 1. 데이터를 조회하는 로직 => DB에 접속해서 데이터 꺼내오기 const result = [ { number: 1, writer: '철수', title: '제목입니다~~', contents: '내용이에요@@@', }, { number: 2, writer: '영희', title: '영희 제목입니다~~', contents: '영희 내용이에요@@@', }, { number: 3, writer: '훈이', title: '훈이 제목입니다~~', contents: '훈이 내용이에요@@@', }, ]; // 2. 꺼내온 결과 응답 주기 return result; }, }, Mutation: { createBoard: (_, args) => { // 1. 브라우저에서 보내준 데이터 확인하기 console.log(args); console.log("=========================") console.log(args.createBoardInput.writer) console.log(args.createBoardInput.title) console.log(args.createBoardInput.contents) // 2. DB에 접속 후, 데이터를 저장 => 데이터 저장했다고 가정 // 3. DB에 저장된 결과를 브라우저에 응답(response) 주기 return "게시물 등록에 성공하였습니다!!"; }, }, }; const server = new ApolloServer({ typeDefs: typeDefs, resolvers: resolvers, cors: true, // 모든 사이트 허용하고 싶을 때 // cors: { origin: ["https://naver.com", "https://daum.net"] } // 특정 사이트만 지정하고 싶을 때 }); startStandaloneServer(server) // 4000node_modules/@graphql-tools/schema/esm/addResolversToSchema.js:62 throw new Error(`${typeName}.${fieldName} defined in resolvers, but not in schema`); at file:///Users/youssipro/Desktop/project/backend/class/section03/03-06-graphql-api-apollo-server-board/index.js:78:16
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
typeOrm 1:N N:1 관련 질문입니다.
너무 단순한 것 같은데, 몇시간 확인해봐도 해결이 되지 않아서 이렇게 질문드립니다.post 로 1:N을 생성해서 확인해 보면, 아래 이미지 처럼 post에 빈배열이 나옵니다.get 요청, relations 은 아래와 같습니다. 강의를 보면서 작성한 코드입니다. 이전 내용인 profile 은 잘 되는데...post 1:N 은 무엇이 문제일까요...?
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
createQueryRunner는 undefined속성을 읽을 수 없다
const qr = this.dataSource.createQueryRunner();ERROR [ExceptionsHandler] Cannot read properties of undefined (reading 'createQueryRunner')TypeError: Cannot read properties of undefined (reading 'createQueryRunner') at TransactionInterceptor.intercept (C:\Users\Administrator\Desktop\cf_sns\src\common\interceptor\transaction.interceptor.ts:21:32)이 에러가 떠서 postman으로 테스트를 진행하지 못하고있습니다. dataSource도 typeorm에서 import 해서 사용했는데 컨트롤러에서 트랜잭션을 사용할때는 됐다가 인터셉터로 따로 빼서 사용하려고할 때 발생한 오류입니다.
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
jwt를 따로 연습하고 있는데 env를 못읽는 것 같습니다.
import { Module } from '@nestjs/common'; import { AuthController } from './auth.controller'; import { AuthService } from './auth.service'; import { ConfigModule } from '@nestjs/config'; import { PassportModule } from '@nestjs/passport'; import { JwtModule } from '@nestjs/jwt'; import { JwtStrategy } from 'src/auth/jwt/jwt.strategy'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, envFilePath: `.env.${process.env.NODE_ENV}`, }), PassportModule.register({ defaultStrategy: 'jwt', session: false }), JwtModule.register({ secret: process.env.JWT_SECRET, signOptions: { expiresIn: '1y' }, }), ], controllers: [AuthController], providers: [AuthService, JwtStrategy], }) export class AuthModule {}이게 auth.module.ts 파일입니다import { Injectable } from '@nestjs/common'; import { PassportStrategy } from '@nestjs/passport'; import { ExtractJwt, Strategy } from 'passport-jwt'; @Injectable() export class JwtStrategy extends PassportStrategy(Strategy) { constructor() { super({ jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(), ignoreExpiration: false, secretOrKey: process.env.JWT_SECRET, }); } async validate() {} }여기서 문제가 일어났습니다. process.env.JWT_SECRET 이 것을 읽지 못합니다.NODE_ENV="development" JWT_SECRET="secret" PORT=8000.env.development 파일도 root폴더에 잘 있습니다. 무엇이 문제인지 잘 모르겠습니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
강의 ppt
강의 ppt는 따로 받을수는 없나요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
postPosts의 req.user.id 컴파일 에러?
postPosts 컨트롤러까지 요청이 들어왔다면 Request 객체에 user 프로퍼티가 있는 것은 확실한데타입스크립트 컴파일러가 인식을 못하는 것 같아요.앱 실행이 안되는데 어떻게 해결해야 할까요...
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
http 모듈
바로 전 강의에서부터 http.을 하면 자동완성이 안되었는데, 그냥 직접 다 작성해서 서버를 실행시키니깐 되긴 되더라구요.근데 이번강의도 http모듈 관련 자동완성을 계속 쓰는 것 같길래 질문드립니다.nodeJs에 기본으로 내장되어있는 모듈이라고 하는데 저는 왜 자동완성이 안될까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
refresh token 재발급과 만료에 대해서
refresh token을 재발급 하기 위한 작업 과정에 대해 궁금한 것이 있어서 질문드립니다.저는 access token이 만료되면 refresh token을 통해 재발급을 받으려고 시도하고,이때 refresh token마저 만료된 상태라면 다시 로그인 하여 새로운 access token과 refresh token을 발급받아야 한다고 생각하고 있었습니다.그런데 refresh token을 재발급하는 로직도 강의 내용에 있더라구요.강의에서 refresh token이 만료되면 /auth/token/refresh api로 refresh token을 재발급 받으면 된다라고 설명해주셨는데,만료된 refresh token으로 refresh token을 재발급 받는 건 좀 이상한 것 같아서요.아니면 refresh token이 만료되지 않았는데 refresh token을 재발급 해야 하는 요청이 따로 있을까요?
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
프로젝트 설치 npx
npx react-native@latest init MatzipApp npx: 541개의 패키지를 19.389초만에 설치했습니다. Unexpected token ? 프로젝트 ruby 버전을 변경하고 프로젝트 npx 설치하는데 해당 오류로 인해 프로젝트 폴더가 생기지 않네요 혹시 해결법이 어떤것일까요?검색해봐도 나오질 않네요
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
x-www-form-urlencoded
x-www-form-urlencoded는프론트로부터form으로 데이터 받을 때 받는 거 아닌가요?