묻고 답해요
152만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
localhost:3000
localhost:3000 하는데 Home Page 가 안뜨고 Hello world 가 뜨는 이유가 뭔가요 ? 코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)
PrismaClientInitializationError: Prisma Client could not locate the Query Engine for runtime "linux-arm64-openssl-3.0.x". 에러
도커 컨테이너 실행 명령어를 입력했는데 아래와 같은 에러가 발생했습니다.(프리즈마 버전 강의와 동일함)PrismaClientInitializationError: Prisma Client could not locate the Query Engine for runtime "linux-arm64-openssl-3.0.x". This happened because Prisma Client was generated for "darwin-arm64", but the actual deployment required "linux-arm64-openssl-3.0.x". Add "linux-arm64-openssl-3.0.x" to `binaryTargets` in the "schema.prisma" file and run `prisma generate` after saving it: generator client { provider = "prisma-client-js" binaryTargets = ["native", "linux-arm64-openssl-3.0.x"] }// schema.prisma generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") }
-
해결됨커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)
Module '"@prisma/client"' has no exported member 'cart'. 에러
안녕하세요. 프리즈마에서 정의한 모델타입을 import 할 때 강의랑 동일하게 아래처럼 입력하면 Module '"@prisma/client"' has no exported member 'cart'. 에러가 발생합니다. schema.ts 파일에는 model cart 로 정의되어있고 npx prisma generate 명령어를 통해 클라이언트 생성도 잘 되었습니다. 서칭해보니 Prisma는 모델 이름을 PascalCase로 자동 변환한다는데 그래서 그런건가요? 강의와는 버전차이인걸까요?import { cart } from '@prisma/client';
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
캡슐화 추가 설명 중 단일책임원칙 관련 질문
안녕하세요! 캡슐화 추가 설명 강의 중 궁금한 것이 있어 질문 드립니다. 상위 모듈인 app 모듈의 providers에서 하위 모듈들의 service나 repository를 주입 받아 사용하게 되면 다음과 같은 문제가 있다고 하셨습니다. 모듈들의 관리가 힘들어진다.단일책임원칙이 깨진다.추가적인 학습으로 알게된 1번에서 발생할 수 있는 문제는 다음과 같습니다.-상위 모듈의 providers에서 인덱스 순서대로 service를 불러 오기 때문에 만약 하위 클래스끼리의 의존성이 존재한다면, 그 순서를 관리해줘야 되는 복잡성이 발생한다 . 순환참조 또한 일어날 수 있다.하지만 2번 단일책임원칙이 깨진다는 문제점이 발생한다는 것은 아직 이해하지 못했습니다. app 모듈안에서 다른 클래스들의 기능을 사용할 때 참조하는 방식이 잘못된 것이지, 해당 클래스의 기능의 책임이 확장된 것은 아니라는 생각이 듭니다. 여전히 기능의 변경이 일어났을 때 해당 클래스만 수정하면 된다고 생각하기 때문입니다.제 이해가 잘못된 것인지, 강사님께서 SRP원칙의 의미를 조금 더 확장해서 말씀해주신 것인지 궁금합니다!
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
create_chat에서 빈 객체 보낼 때 ValidationPipe 예외 안 던지는 현상이 있습니다.
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 중 WebSocket에서 create_chat 이벤트에 빈 객체 {}를 보냈을 때, ValidationPipe가 예외를 잘 던져서 클라이언트(Postman)에서 exception 이벤트가 잘 발생하는 걸 확인했습니다.그런데 제가 강의 코드와 동일하게 다음과 같이 작성했는데요그런데 제가 Postman에서 {}만 보냈을 때는 ValidationPipe가 예외를 던지지 않고,exception 이벤트도 발생하지 않아서 디버깅에 꽤 시간이 걸렸습니다.CreateChatDto에 @IsDefined()를 추가하니까 그제서야 예외가 발생해서 Postman에서 exception이 감지됐습니다. 왜 강의에선 @IsDefined() 없이도 {}만 보내면 예외가 잘 발생하던데, 현재는 왜 @IsDefined()를 추가해야만 예외가 던져지는 걸까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
Node 설치했는데 NPM 버전 확인 안될때
PS C:\Users\devee> node -vv22.15.0PS C:\Users\devee> npm -vnpm : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Program Files\nodejs\npm.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.위치 줄:1 문자:1+ npm -v+ ~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess 라는 오류를 발견했을 때, PS C:\Users\devee> Get-ExecutionPolicyRestrictedPS C:\Users\devee> Set-ExecutionPolicy RemoteSignedPS C:\Users\devee> Get-ExecutionPolicyRemoteSignedPS C:\Users\devee> npm -v10.9.2 실행 정책 변경하자
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
컴포넌트 자동 import 관련
안드로이드 윈도우로 개발중에 있습니다 강의를 보면 <Button/> 컴포넌트 <Text/> 컴포넌트 추가하면 자동으로 import 부분에 추가가 되던데 전 안되서.. 혹시 어떤 설정해야하나요? 아님 어떤 Extension 설치해야하나요?? /** * Sample React Native App * https://github.com/facebook/react-native * * @format */ import React from 'react'; import {Button, StyleSheet, Text, View} from 'react-native'; function App(): React.JSX.Element { return ( <View style={styles.conatiner}> <Text>텍스트</Text> <Button title="버튼이름" /> </View> ); } const styles = StyleSheet.create({ conatiner: { backgroundColor: 'red', }, }); export default App;
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
lecture/섹션-수업코드 github
안녕하세요 lecture/섹션-수업코드 github 404 뜨더라구요ㅜ
-
해결됨프론트 개발자를 위한 백엔드 101 (NestJS, TypeORM)
NestJS, TypeORM의 typeorm.ts에서 autoLoadEntities: true와 entities: []의 공존
안녕하세요.TypeORM 마이그레이션 실습에서 아래와 같은 typeorm.ts 파일을 작성했습니다.import { registerAs } from '@nestjs/config'; import { DataSource, DataSourceOptions } from 'typeorm'; const config = { type: 'postgres', host: `${process.env.DB_HOST || 'localhost'}`, port: parseInt(`${process.env.DB_PORT || '5432'}`, 10), username: `${process.env.DB_USERNAME || 'test'}`, password: `${process.env.DB_PASSWORD || 'test'}`, database: `${process.env.DB_DATABASE || 'inflearn'}`, entities: ['dist/**/**/*.entity{.ts,.js}'], migrations: ['dist/migrations/*{.ts,.js}'], autoLoadEntities: true, synchronize: false, }; export default registerAs('typeorm', () => config); export const connectionSource = new DataSource(config as DataSourceOptions); 이 때, autoLoadEntities: true 항목이 있음에도, entities: [] 항목이 있어야 할 필요가 있나요? 없어도 코드 동작에 차이가 없는 것인가요?앞선 강의에서 autoLoadEntities: true 인 경우, entities: []를 따로 설정하지 않아도 된다는 내용이 있었던 것 같아서 헷갈립니다.감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
input 관련 문의
express 로 GraphQL 사용하였을 때 코드는 아래와 같습니다.const typeDefs = `#graphql input CreateBoardInput { writer: String title: String contents: String } type Mutation { createBoard(createBoardInput: CreateBoardInput!): String } `; const resolvers = { Mutation: { createBoard: (parent, args, context, info) => { ... return "게시글 등록 성공" } }위 내용을 Nest.js - GraphQL 에 적용하였을 때 아래와 같이 구현했습니다.@Mutation(() => String) createBoard( @Args('createBoardInput') createBoardInput: CreateBoardInput, ): string { // 1. 브라우저에서 보내준 Data 확인하기 console.log(createBoardInput.writer); console.log(createBoardInput.title); console.log(createBoardInput.contents); // 2. DB접속 후, 데이터 저장 => 데이터 저장했다고 가정 // 3. DB에 저장된 결과를 브라우저에 응답(response) 주기 return '게시글 등록 성공'; } @InputType() export class CreateBoardInput { // export 추가 및 클래스 이름 변경 @Field(() => String) writer: string; @Field(() => String) title: string; @Field(() => String, { nullable: true }) contents: string; }@InputType() 데코레이터: CreateBoardInput 클래스에 @InputType() 데코레이터를 적용하여, 이 클래스가 GraphQL 스키마에서 입력 타입으로 적용되게 되는데요.InputType 데코레이터의 경우 class 파일 위에 존재해야 한다고 합니다.지금처럼 InputType이 늘어날때마다 class 를 추가하나요?실무에서는 어떻게 사용하나요?
-
해결됨커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)
모듈 래포지토리 등록에 관한 질문입니다.
모듈 래포지토리 등록 방식이 제가 알고 있던 방식과 달라 질문드립니다.1.providers에 직접 등록이 방식은 래포지토리를 새로운 인스턴스로 만들어서 사용하는 방식으로 알고 있습니다.2. 다른 모듈을 imports에 등록이 방법은 싱글톤으로 동일한 인스턴스가 공유하는 방식으로 알고 있습니다.2가지 방식 중 1번을 선택하신 이유와 실무에서는 어떤 방식을 사용하는지 궁금합니다!
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
맵에서 onLongPress 가 동작 하지 않습니다.
안녕하세요.강의 내용을 따라 하다가갑자기 맵에서 onLongPress 가 동작 하지 않는데혹시 어떤 컴포넌트에서 long press 이벤트를 가지고 가는지?관련 디버깅 방법이 있을까요?
-
해결됨커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)
timezone 관련 질문
안녕하세요. prisma에서 utc 시간이 아닌 다른 시간대를 사용하고 싶은데, 현재 prisma에서는 timezone 관련 지원이 부재한 것으로 보입니다. 강사님께서는 위와 같은 상황일 경우, 이 부분을 어떤 식으로 해결하셨는지 궁금합니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
tap() 안에서 async/await 쓸 때 트랜잭션 커밋이 제대로 안 되는 이유가 궁금합니다.
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://inf.run/54jjz - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. QueryRunner 커스텀 데코레이터 만들기 듣고 있는데 강의대로 return next.handle().pipe( catchError(async (e) => { await qr.rollbackTransaction(); await qr.release(); throw new InternalServerErrorException(e.message); }), tap(async () => { await qr.commitTransaction(); await qr.release(); }), );이렇게 코드를 짜면 포스트맨에서 응답으로 { "message": "QueryRunner Decorator를 사용할려면 TransactionInterceptor를 적용해야 합니다.", "error": "Internal Server Error", "statusCode": 500}이렇게 나옵니다. 그래서 tap 대신에 mergeMap(async (value) => { await qr.commitTransaction(); await qr.release(); return value; }), merge맵을 사용하면 문제가 해결되는데 강의에서는 tap을 써도 트랜잭션 커밋이 잘 되는 것처럼 보였는데, 설명 부탁드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Rest API 보다는 graphql이 주된 내용인데
보통 채용공고엔 rest api가 많더라고요 강의에도 아예 없진 않은데 강의 수강이후에 rest api도 할수있다고 생각을 해도되나요 아니면 따로 공부를 해야하나요? 차이가 많이나는지요
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
TypeORM과 mysql을 사용하시는 분들
TypeORM과 mysql을 사용하여 실습하시는 분들은아래와 같이 Entity 정의에 'class-transformer' 라이브러리에 있는 '@Exclude()'데코레이터와 'instanceToPlain'메서드를 사용하여 password 노출을 막을 수 있습니다.위 사진처럼 Entity 파일에 @Exclude() 사용고양이 데이터를 불러오는 서비스(getCurrentCat) 로직에서 위와 같이 instanceToPlain을 사용하시면 됩니다!
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
ConfigService.get<string>() 반환값이 string | undefined로 처리되어 TS 오류가 발생합니다
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://inf.run/54jjz - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 환경변수 적용하기 -1 듣고 있는데async registerWithEmail(user: RegisterUserDto) { const hash = await bcrypt.hash( user.password, parseInt(this.configService.get<string>(ENV_HASH_ROUNDS_KEY)), ); const newUser = await this.usersService.createUser({ ...user, password: hash, }); return this.loginUser(newUser); }this.configService.get<string>(ENV_HASH_ROUNDS_KEY 에서 string| undefined 형식의 인수는 string 형식의 매개 변수에 할당될 수 없습니다라는 에러가 뜹니다.강의에서는 위 코드에서 타입 에러가 발생하지 않던데, NestJS 버전 차이로 인해 타입 정의가 바뀐 걸까요? 해결방법이 궁금합니다.
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
cocoapods 설치 오류 관련
이슈React Native 프로젝트 생성 시 CocoaPods 오류 sudo gem uninstall cocoapods 실행 시 cocoapods 설치 안됐다는 메시지 확인 그래서 sudo gem install cocoapods, gem install cocoapods 명령어를 통해 cocoapods 수차례 재설치 및 관련 패키지 (drb, activesupport 등) 설치했음에도 안됨Xcode 상 Location, Command Line Toolds 도 확인zshrc 파일 내에도 말씀하신대로 명령어 입력해놓음 -> 후 프로젝트 생성 자체가 안되서 진도를 못나가서 너무 해결하고 싶은데 어떻게 해야할까요? 개발중인 OS 등의 버전Mac OS: 15.3.2(24D81)ReactNative: 0.72.6(으로 생성하라고 하셔서 버전 명시하여 프로젝트 생성하였으나 실패)Node: v23.10.0Ruby: ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [arm64-darwin24] rbenv: 1.3.2
-
해결됨맛집 지도앱 만들기 (React Native + NestJS)
yarn add @react-navigation/native 설치 후 환경 에러
yarn add @react-navigation/native 설치 이후 부터 java 버전이 다르다고 나와서몇일째 진도를 못나가고 있습니다. 제발 도와주세요... Task :react-native-safe-area-context:compileDebugKotlin'compileDebugJavaWithJavac' task (current target is 11) and 'compileDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
강의 전체 소스코드 받을수있을까요?
강의를 듣는데 보내주시면 감사드리겠습니다