묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
graphQL 에러 문제
안녕하세요. 그래프큐엘 관련 에러가 해결이 되지 않아 질문드립니다.아래와 같은 Member, Dibs 엔티티가 있습니다.@Entity() @ObjectType() export class Dibs { @ManyToOne(() => Member, { primary: true }) @Field(() => Member) member: Member; @ManyToOne(() => Campground, { primary: true }) @Field(() => Campground) campground: Campground; @DeleteDateColumn() deletedAt: Date; }@Entity() @ObjectType() // @InputType() export class Member { @PrimaryColumn() @Field(() => String) memberId: string; @Column({ nullable: false }) @Field(() => String) password: string; @Column({ nullable: false }) @Field(() => String) nickname: string; @Column({ nullable: false }) @Field(() => String) email: string; @Column({ nullable: false }) @Field(() => String) name: string; @Column({ nullable: false }) @Field(() => String) phoneNumber: string; }그런데 Member 클래스를 다른 엔티티 클래스에서 외래키로 지정해주면 오류가 발생합니다.코드를 보시면 Dibs 엔티티에서 Member를 @Field(() => Member) 데코레이터로 지정하여 그래프큐엘 필드로 지정해주는데 아래의 오류가 발생합니다.Error: Cannot determine a GraphQL input type ("Member") for the "member". Make sure your class is decorated with an appropriate decorator.인터넷에 찾아보니 Member 클래스에 InputType 데코레이터를 지정해주라고 돼있는데 강의 예제코드에선 특정 클래스를 다른 엔티티에서 외래키로 활용할 때 그 클래스에 ObjectType만 지정하고 InputType은 지정해주지 않아도 잘 작동하였습니다.Member클래스 뿐만 아니라 외래키로 활용되는 모든 클래스에서 오류가 발생하고 있습니다. 해당 클래스들에 InputType을 지정하면 오류가 사라지긴 하나 아래와 같은 다른 오류가 또 발생합니다.Error: Schema must contain uniquely named types but contains multiple types named "Member". 이틀 동안 여러가지 찾아보고 해결을 시도해봤지만 잘 안되네요. 도움 부탁드립니다.
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
객체를 저장하는 경우도 있나요?
안녕하세요. 혹시 디비에 객체를 저장하는 경우도 있나요? 예를들어 아래처럼 5개의 색상 키와 그 키에 해당하는 string을 값으로 가지는 객체 형태를 유저 정보에 저장하고 싶어요.// Color 객체 예시 입니다. { RED: string; BLUE: string; GREEN: string; YELLOW: string; PURPLE: string; }nest&typeorm는 처음이다보니 chatgpt의 도움을 많이 받고 있는데요. 객체는 저장이 되지 않지만 postgresql 에서는 이런 방법을 알려주긴하더라고요. export class User extends BaseEntity { @PrimaryGeneratedColumn() id: number; @Column() email: string; // 생략... @Column({ type: 'jsonb', nullable: true }) categories: { [key in Color]: string } | null; // 생략... 이 5개에서 늘어나거나 줄어들일이 없어서 테이블을 만드는게 맞는지 고민이 돼서요. 위와 같이하는건 좀 이상한 방법일까요? 이럴거면 그냥 email:string 하듯이 RED:string 이런식으로 컬럼 5개로 저장하는 방법이 나을까요?
-
해결됨타입스크립트의 모든 것
타입 단언과 관련해서 질문드립니다.
강의를 다 보고 나서 의문점이 들어서 질문 드립니다.강의에서 value 값을 출력하기 위해서인터페이스를 만들고 as랑 제네릭을 활용하는 법을 알려주셨는데제 생각에는 인터페이스를 만들었으니까example의 타입으로 인터페이스를 주면 되지 않을까 했습니다.해봤더니 에러가 안 나고 출력도 잘 되더라고요저한테는 인터페이스를 타입으로 주는 것이 더 간편하게 느껴지는데object를 타입으로 주는 것이 더 실무에 적합한 방식인 건가요?어떤 차이점이 있을까요? 그리고 제네릭을 식별자 뒤에 쓰면 인수와 관련된 것 같은데식별자 앞에 제네릭을 쓰면 어떤 의미인가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
backend폴더 복사 후, dist폴더의 위치
안녕하세요.21-03 폴더를, 23-01/backend 폴더 내에 복사하였습니다.빌드 후, dist 폴더가 backend/backend/dist 에 위치합니다. 수업화면에서 처럼 backend/dist에 위치하게 하려면 어떻게 해야하나요?답변해주시면 감사하겠습니다~
-
미해결따라하며 배우는 NestJS
이 오류는 어떻게 잡아야할까요...
혹시 이런 오류 뜨시는 분은 안계셨나요오류는 없는데 실행이 되질 않습니다ㅜ
-
미해결타입스크립트의 모든 것
extends와 implements질문 드립니다.
extends의경우 클래스와 클래스간의 상속간에 사용되는것 아닌가요?? 그래서 인터페이스는 implements를 사용하는 것으로 알고있는데 extends를 사용해도 되나요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
OG 실습 중에 궁금한게 생겨 질문드립니다.
불과 얼마전에 네이버가 사이트를 바꿨는데요오늘 OG 실습을 하던 중, 네이버 head / meta에 OG tag가 사라진 것을 확인했습니다.OG tag가 없이도 미리보기가 잘 구현되는데, 어떻게 가능한지가 궁금해 질문드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
04-06 Mongoose 활용 강좌 21분 경에 포트포워딩 주석을 해제하고 진행했는데
저는 주석 안풀고 그냥 네임 리졸루션으로 했는데 그렇게 진행해도 되나요? 그런데 이렇게 하면 compass 프로그램 주소를mongodb://my-database:27017/mydocker 이렇게 가야하는 건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
docker-compse volumes 관련 질문드립니다!
docker-compose.yaml에 volumes 추가한 후 실행해봤지만 index를 바꿔도 refresh되지 않습니다.그래서 반대로 container의 값을 수정하면 local의 index.js가 바뀔까 했지만 위의 사진처럼 오류가 발생합니다. Mount되었다는 것으로 보아 연결은 된 것 같고, 제공된 파일과 강의 비교하면서 오탈자 찾아봤지만 모두 같습니다.이를 해결하기 위해 어떻게 접근해야할지 궁금합니다.
-
해결됨타입스크립트의 모든 것
질문 드립니다.
keyof 강의를 듣다가 생긴 에러인데요prt 함수에서 key의 타입을 string으로 주면 저렇게 에러가 뜨는데이유를 봐도 이해가 잘 가지 않아서 질문드립니다.혹시 단순히 string으로 타입을 주면 params의 프로퍼티 키인지 타입스크립트가 알 수 없어서에러가 뜨는 것인가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
복습중 오류
복습을 통해 다시 공부을 하던중 오류가 발생하였습니다.해당 오류가 기존 수업과 충돌되어서 발생한 오류 인지 궁금합니다. 해달 오류 해결 방법이 있을까요?? 해당 오류는 [Nest] 76304 - 2023. 05. 17. 오후 5:45:23 ERROR [ExceptionHandler] Table 'board' already exists QueryFailedError: Table 'board' already exists나왔습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Docker hub를 보던 중 궁금한게 생겨 질문드립니다!
수업에서 사용한 node docker image의 경우 linux, node, npm, yarn이 설치된 이미지라는 것을 어떻게 확인할 수 있는지 궁금합니다.즉 docker hub에 있는 이미지를 보고 그 이미지가 어떤 컴퓨터인지 어떻게 확인할 수 있는지가 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
구글로그인 review영상
client id와 client secret 받는 과정에 대해 노션을 참고하라는 영상내용이 있는데 혹시 어디서 참고하면 될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
마이크로 서비스 운영시 DB는 하나 써도 되는 건가요?
마이크로 서비스로 다수의 서버들을 운영하려고 한다면 typeorm을 통해 entity 에서 1대1 관계 등에서 정의내린 것들은 어떻게 유지 해야 할까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
section 22. CORS 파트에서 궁금증이 생겨 질문드립니다!
origin이 같다는게 어떤 의미일까요? domain이 같다는 것인가요?같은 localhost인데 CORS가 발생한 이유가 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
섹션 22 3-05 강좌가 편집이 제대로 이루어진 것 같지않아 보입니다.
40분에서 끊어져야 할 동영상 같은데 6시간이 넘어가게 업로드가 된 것 같습니다 빠르게 확인해야될 것 같은데요
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
[섹션 22]Quiz 5 axios 질문
안녕하세요.프론트엔드와 api 를 연동하는 과정에서 axios를 import 하는 방법에 질문 있습니다. menu.js의 getCoffee 함수에서 axios를 이용해 /starbucks api를 호출하려는데,menu.js 파일에서 import axios from 'axios'를 하면 에러가 발생합니다.반면에 menu/index.html 에서 <script src="를">https://unpkg.com/axios/dist/axios.min.js"></script>를 하면 잘 작동합니다. 이렇게 index.html에서 axios를 다운받는게 맞는건가요?그렇다면, 실제로 axios를 사용하는 코드는 menu.js에 있는데, 왜 index.html에서 가져와야 하는 건가요? 감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
도커 mysql 연결 안되는 문제
[section27] 08-06 도커 패키징 강의 관련 내용입니다.강의대로 똑같이 세팅하고 진행해보니, 빌드까지는 잘되지만 실행할 때 데이터베이스와 연결이 안되는 문제가 생깁니다.Unable to connect to the database, Retrying... 에러가 뜨는데, 강의에서 말씀하셨듯이 데이터베이스 서버가 늦게 켜지는 문제라고 생각하고 계속 시도해도 똑같이 연결이 안됩니다.세부 에러메시지가 다른 걸 보니 다른 문제같은데, 구글링해서 mysql 세팅도 바꿔보고 코드도 바꿔보고 이것저것 다 해봤는데 안돼서 이렇게 질문 남깁니다.
-
미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
@JoinColumn() 관련 오류
@JoinColumn()@OneToOne(() => ProductSalesLocation)productSaleslocation: ProductSalesLocation; 코드가 들어가면 import { JoinColumn, JoinTable } from 'typeorm/browser'; 위 처럼 import가 되고 아래와 같은 오류가 뜹니다. Join Column OneToOne 부분만 지우고 코드를 돌리면 잘 돌아가는데, 저것을 추가하는 순간 아래와 같은 오류가 뜹니다. 이유를 알 수 있을까요? 16-01-mysql-relation2/node_modules/typeorm/browser/index.js:3import "reflect-metadata";^^^^^^SyntaxError: Cannot use import statement outside a module at internalCompileFunction (node:internal/vm:73:18) at wrapSafe (node:internal/modules/cjs/loader:1176:20) at Module._compile (node:internal/modules/cjs/loader:1218:27) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1308:10) at Module.load (node:internal/modules/cjs/loader:1117:32) at Function.Module._load (node:internal/modules/cjs/loader:958:12) at Module.require (node:internal/modules/cjs/loader:1141:19) at require (node:internal/modules/cjs/helpers:110:18) at Object.<anonymous> (/Users/hychoi/WebstormProjects/backend-study/class/16-01-mysql-relation2/src/apis/products/entities/product.entity.ts:3:1) at Module._compile (node:internal/modules/cjs/loader:1254:14)
-
미해결타입스크립트의 모든 것
as와 변수의 타입 지정 차이
안녕하세요. 단언하는 방법중에 제네릭보다 as를 더 많이 사용 하신다고 하셧는데 그러면 말씀하신 as로 하는것과 변수로 타입을 지정해서 사용하는것의 차이가 있을까요??interface IExam { value: number } const example: object = { value: 1 }; // 1. as console.log((example as IExam).value); // 2. 변수의 타입지정 interface IExam2 { value: number } const example2: IExam2 = { value: 1 }; console.log(example2.value)--방금 보충 봤습니다. 그런데 변수의 값에 as를 쓰면서 콘솔값에도 as를 쓰는 이유는 무엇인가요??