inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

안녕하세요 정말 좋은 강의 감사합니다

미해결

타입스크립트의 모든 것

안녕하세요 정말 좋은 강의 감사합니다. 혹시 vscode extension은 어떤거 쓰시는지 알수있을까요..?

  • typescript
  • Deno
  • nestjs
BH J 댓글 1 좋아요 0 조회수 398

15-02 gateway2 docker-compose 에러

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

도커 빌드하고 실행하는 과정에서 에러가 발생하네요.. 답변해주신 다른 글보고 해봐도 잘안되네요.. 일단 빌드시 생기는 에러입니다. yarn install 할때 경고가 엄청 발생하는데 apollo-server-express가 문제인 것 같은데 정확한건 잘 모르겠네요.. 사용한 버전정보입니다. 도커 빌드가 완료되서 실행을 해도 gateway가 다운되고 1번에러라는 메세지만 받네요 .. 어떻게 해야 할 지 답변부탁드립니다 ㅜㅜ

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
QQ 댓글 2 좋아요 1 조회수 623

createWorkspaceMembers 도 transaction 걸어줘야 하나요?

해결됨

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

안녕하세요 이장우 닮은 제로초 선생님, // workspaces.service.ts async createWorkspaceMembers(url: string, email: string) { const workspace = await this.workspacesRepository.findOne({ where: { url }, relations: ['Channels'], }); // queryBuilder 버전 this.workspacesRepository .createQueryBuilder('workspaces') // typeorm은 innerJoin 하면 join한 테이블은 가져오지 않는데, // innerJoinAndSelect을 하면 join한 테이블을 다 가져온다. .innerJoinAndSelect('workspaces.Channels', 'channels') .getOne(); const user = await this.usersRepository.findOne({ where: { email } }); if (!user) return null; const workspaceMember = new WorkspaceMembers(); workspaceMember.WorkspaceId = workspace.id; workspaceMember.UserId = user.id; await this.workspaceMembersRepository.save(workspaceMember); const channelMember = new ChannelMembers(); channelMember.ChannelId = workspace.Channels.find( (v) => v.name === '일반', ).id; channelMember.UserId = user.id; await this.channelMembersRepository.save(channelMember); } 강의에서 위와 같이 createWorkspaceMembers 를 작성하셨는데, 여기도 transaction을 걸어주는게 낫겠죠? 걸어주는게 맞다면, 아래와 같이 하면 되나요? async createWorkspaceMembers(url: string, email: string) { const queryRunner = this.dataSource.createQueryRunner(); await queryRunner.connect(); await queryRunner.startTransaction(); try { const workspace = await queryRunner.manager.findOne(Workspaces, { where: { url }, relations: ['Channels'], }); const user = await queryRunner.manager.findOne(Users, { where: { email } }); if (!user) return null; const workspaceMember = new WorkspaceMembers(); workspaceMember.WorkspaceId = workspace.id; workspaceMember.UserId = user.id; await queryRunner.manager.save(workspaceMember); const channelMember = new ChannelMembers(); channelMember.ChannelId = workspace.Channels.find( (v) => v.name === '일반', ).id; channelMember.UserId = user.id; await queryRunner.manager.save(channelMember); await queryRunner.commitTransaction(); } catch (error) { console.error(error); await queryRunner.rollbackTransaction(); } finally { await queryRunner.release(); } }

  • node.js
  • express
  • nestjs
  • typeorm
miniapp 댓글 1 좋아요 0 조회수 376

섹션2 회원가입 피그마 정답이 있나요

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

회원가입 피그마 정답이 있는지 궁금하네요 열심히 만들었는데 비교를 할 수가 없어서 문제이네요 최대한 비슷하게 했는데 미묘하게 달라서 제가 맞게 한건지 모르겠네요 섹션 7에 파이널 정답이 있는건 아는데 섹션2랑은 많이 달라서 문제네요

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
dnjs820 댓글 1 좋아요 0 조회수 391

회원가입 API graphql 오류 문의(quiz18 1-2 관련 문의)

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요! 오류내용 관련해서 질문사항이 있습니다. 새로운 프로젝트로 nestjs를 생성해서 회원가입 create API를 생성하려할때 graphql연결 부문에 있어서 위 이미지와 같이 에러가 발생합니다. 위 에러가 GraphQLError: Query root type must be provided.내용에 회원정보를 create하는 root type '@Mutation()'이 있는데도 오류가 나는데 여기서 '@Query()' 를 임의로 만들어 코드를 만들어 놓으면 정상적으로 연결이 완료가 되더라구요.. 조회역할을 하는 Query가 있어야 정상적으로 연결이 되는걸까요? 원리를 알고 싶습니다! ⬇️ @Query() 가 비활성화 됐을때 이미지(graphql 에러발생) ⬇️ @Query()가 활성화 됐을때 이미지(연결 정상)

  • nestjs
  • graphql
zeler1004 댓글 1 좋아요 0 조회수 624

letsStart파일들

미해결

탄탄한 백엔드 NestJS, 기초부터 심화까지

package-lock.js package.json tsconfig.json src디렉터리 강의 보면 다운받아서 초기설정해주는것같은데 얘네는 개발자가 원래 다 직접 쳐야하나요??? 아니면 매번 파일들을 저장했다가 프로젝트처음할때 붙여놓고 npm i 하고 해야하는건가요???

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
이재원 댓글 1 좋아요 0 조회수 394

14-02 프로시저 오류

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요. 프로시저를 만든는 도중 에러가 발생해서 질문드립니다. 똑같이 작성했는데도 에러가 나오네요. 세미콜론도 여러번 확인했는데 혹시 오류가 나는 다른 이유가 있을까요??

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
QQ 댓글 1 좋아요 0 조회수 526

nestjs - mysql 연결문제

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요 섹션27 08-04 nest.js-mysql 강의 듣다가 에러가 나서 질문드립니다. ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... Error: connect ECONNREFUSED ::1:3306 위와 같이 에러가 나는데 계속 구글링해서 해결해보려고 했지만 고쳐지지가 않네요.. 시도해본것들: 일단 DBeaver에는 문제없이 연결됐지만 그래도 혹시나 해서 allowPubicKeyRetrieval를 true로 바꿔보고 UseSSL을 false로 해봤습니다. 비밀번호를 변경해보았습니다. localhost를 127.0.0.1으로 바꿔봤습니다. mysql 재실행 해봤습니다. entities경로 확인해봤습니다. -- 전부 안되네요 ㅠ 뭐가 문제인걸까요? 추가로 맥북시스템설정에 mysql이 없어서 (맥북 버전문제?) 터미널로 계속 실행시켜주고 있는데 다른 방법없을까요?

  • nestjs
nya 댓글 2 좋아요 0 조회수 1152

!과 타입 단언 (보충) 질문

미해결

타입스크립트의 모든 것

이런식으로 변수에 값을 할당하면서 동시에 사용할수 있다고 하셨는데 examples2 type을 object 선언후 as 로 IExam 을 감싸는 이유가 따로 있을까요 저렇게 했을경우 value 프로퍼티 접근을할경우 빨간줄이 뜨는데 이럴땐 해결하는 방법이 따로 있을까요??

  • typescript
  • Deno
  • nestjs
규행 댓글 1 좋아요 0 조회수 430

OneToOne 관계

미해결

탄탄한 백엔드 NestJS, 기초부터 심화까지

USER와 Profile테이블은 OneToOne 관계입니다. 근데 서로 하나씩만 존재하다면 그냥 USER테이블에 Profile을 넣어버리면 되는거 아닌가요? OneToOne 관계를 유지하는 특별한 이유가 있나요?? 하나의 테이블이 커지는걸 방지하기 위해 OneToOne 관계를 형성하는 걸까요?

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
cyun0717 댓글 1 좋아요 0 조회수 332

자바스크립트 최신문법

미해결

탄탄한 백엔드 NestJS, 기초부터 심화까지

강의중 자바스크립트 최신문법을 사용해서 설정했다고 언급(7:35)되는데 "module": "commonjs","target": "ES5", commonjs에 최신문법을 적용해도 상관없는건가요? exnext에 적용하는게 좀더 안정적이지 않을까 생각이 들어서 말씀드립니다.

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
이지수 댓글 1 좋아요 0 조회수 359

최상단 import 자동화

미해결

탄탄한 백엔드 NestJS, 기초부터 심화까지

안녕하세요, 강의 영상을 보면 Body나 Param를 입력하면 맨 위에 import가 자동으로 되던데 vsc extension의 기능인가요?

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
beginnerner 댓글 1 좋아요 0 조회수 361

ENOENT: no such file or directory, stat \public\index.html

미해결

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

안녕하세요. 강사님 지금 sleact db를 생성하였고 table도 다 생성된 상태입니다. nest-typeorm 폴더와 front 폴더 를 둘 다 실행시키면 api/users api를 요청할 때 ENOENT: statusCode":404, no such file or directory, stat \public\index.html' 이러한 에러가 발생합니다. middlewares/frontend.middleware.ts 파일의 경로가 잘못되어 있나 해서 res.sendFile( path.join(__dirname, '..', '..', '..', 'public', 'index.html'), ); 를 res.sendFile(path.join(__dirname, '../', 'public', 'index.html')); 로 바꿔주었더니 api 로그인 페이지로 가지 않고 바로 workspace로 가집니다. response도 html파일로 옵니다. (어떠한 api를 요청해도 마찬가지입니다.) 어떤 부분에서 잘못되었는지 감이 안 잡히네요... 힌트라도 주시면 감사하겠습니다!

  • node.js
  • express
  • nestjs
  • typeorm
Jack 댓글 2 좋아요 0 조회수 3042

프론트에서 credentials: include로 설정한경우 cors 문제

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요. 프론트와 백엔드 통신 중에 문제가 있어 질문드립니다. restoreAcessToken 기능을 사용하기 위해서 쿠키를 사용해야 합니다. 서버측과 프론트측 주소가 다른 경우 쿠키 정보를 전송하기 위해서는 credentials: 'include' 로 설정해야 하잖아요? 그러면 브라우저에 다음과 같은 오류가 발생합니다. Access to fetch at 'http://localhost:3000/graphql' from origin 'http://localhost:8080' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. 프론트 주소: localhost:8080 백엔드 주소: localhost:3000 서버측에서 cors 문제를 해결하기 위해 사용한 코드는 아래와 같습니다. app.enableCors({ origin: "http://localhost:8080", // 요청을 보내는 클라이언트의 주소를 명시 credentials: true, }); 오류 해결을 위해서 어떻게 해야하는 걸까요? 그리고 새 토큰을 발급 받는 아래 setRefreshToken의 코드도 수정돼야 하는지요? network 탭에서는 쿠키가 들어온게 확인이 되는데 application 탭에서는 확인이 됐다 안됐다 합니다.. setRefreshToken({ user, res }: IAuthServiceSetRefreshToken): void { const refreshToken = this.jwtService.sign({ email: user.email, sub: user.userId }, { secret: process.env.JWT_REFRESH_KEY, expiresIn: "2w" }); res.setHeader("Set-Cookie", `refreshToken=${refreshToken}; path=/;`); } 답변 부탁드립니다. 감사합니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
Haewoong Lee 댓글 1 좋아요 0 조회수 3866

화살표 함수에서 this

해결됨

타입스크립트의 모든 것

안녕하세요 :) 좋은 강의 제공해주셔서 감사합니다. 덕분에 타입스크립트에 대해 많이 알아가고 있어요. 이전 강의와는 달리 화살표 함수를 통해 클래스를 함수로 변환하셨는데 그 과정에서 궁금한 점이 있습니다. 화살표 함수에서 this는 상위 컨텍스트의 this(영상 속 add 함수의 경우 전역 객체인 global)를 가리키므로, 작성해주신 add 함수에서의 _this는 IAdd가 아닌 globalThis가 맞는 게 아닌지 의문이 들어 질문드립니다. 제가 모르는 거나 놓치는 게 있어서 이해를 못 하는 것 같은데 알려주시면 감사하겠습니다 ㅠㅠ..

  • typescript
  • Deno
  • nestjs
Docker 댓글 1 좋아요 0 조회수 460

각 세션을 시작하기 위한 소스코드

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요. 강의를 통해 많은 도움 받고 있습니다. 일하면서 배우는 중이라 필요한 내용들을 그때마다 찾아서 공부하고 있습니다. 그런데 강의 특성상 각 단계를 차례대로 따라가지 않으면 새로운 세션을 공부하기 위한 베이스 코드가 없기 때문에 어려움을 겪고 있습니다. 혹시 version2의 각 세션을 시작하기 위한 베이스 코드를 제공해주시기는 어려울까요? 감사합니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
lpdjskfheg 댓글 2 좋아요 0 조회수 514

섹션29 10-08 강의 숙제 해설 질문

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요. 섹션29 10-08 강의 약 5:30 부분에서 타입스크립트 에러에 관한 숙제를 내주셨는데요. 해당 숙제와 관련된 해설 및 코드가 있는지 궁금합니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
mkkim 댓글 1 좋아요 0 조회수 629

섹션22 서버개념에 대한 질문입니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요? 강의 잘 듣고 있습니다. 서버관련해서 몇가지 헷갈리는 개념이 있어서 질문드립니다. 서버가 백엔드만 지칭하는 용어인 줄 알았는데 프론트나 DB에도 서버개념이 있다는 것이 신기했습니다. 단순히 데이터를 제공하는 입장이면 전부 서버라는 용어를 사용해도 되는 것인가요? 브라우저와 클라이언트를 같은 개념으로 생각해도 되는지요? 더 나아가 프론트까지? (저는 백엔드 개발을 공부하고 있어서 백엔드입장에서는 브라우저, 클라이언트, 프론트가 전부 같은 포지션으로 생각됩니다.) 백엔드서버가 브라우저의 접속도 기다린다고 하셨는데 백엔드서버는 프론트엔드서버하고만 통신하는 것이 아닌가요? 예를들어 브라우저(클라이언트?)에서 회원가입창을 클릭하고 프론트서버에서 화면을 보여줍니다.그리고 휴대폰인증번호를 입력한다고 하면, 프론트서버가 그 번호을 받아 백엔드서버로 넘겨줘서 백엔드에서 검증뒤 프론트로 보내주고, 프론트는 인증결과를 브라우저에 표시해줍니다. 보통 이런 경우 백엔드는 브라우저가 아니라 프론트하고 교류를 하는 것이 아닌가 생각합니다. 근본적으로 궁금한 것은 클라이언트가 브라우저에서 이런 저런 작업(클릭, 입력)을 했을 때 브라우저, 프론트, 백엔드, DB에서 서로 어떻게 통신을 하는지 내부에서 어떤 작업들이 일어나는지등의 큰 흐름을 알고 싶은데 이건 지금 질문하기보단 강의를 끝까지 들어봐야될것 같네요 ^^;;

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
nya 댓글 1 좋아요 0 조회수 575

섹션 6에서 CRS vs SSR

미해결

탄탄한 백엔드 NestJS, 기초부터 심화까지

섹션 6에서 CRS vs SSR 하나의 프로젝트에 2개를 번갈아가면서 구현된다는 말씀이 있는데, 마이크로프론트엔드를 말씀하시는걸까요? 아님 다른 방법이 있나요?

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
youjeongpark 댓글 1 좋아요 0 조회수 285

모듈 의존성 문제

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

@Module({ imports: [ TypeOrmModule.forFeature([Product, ProductTag, ProductCategory]), UserModule, ProductTagModule, ProductCategoryModule, ], providers: [ ProductResolver, ProductService, ], }) export class ProductModule {} 위와 같은 코드에서 ProductService의 실행에 필요한 ProductTagModule과 ProductCategoryModule를 다 import 해주었는데 계속 아래와 같은 의존성 오류가 나왔습니다. Nest can't resolve dependencies of the ProductService (ProductRepository, ?, UserService, ProductCategoryService). Please make sure that the argument ProductTagService at index [1] is available in the ProductModule context. Potential solutions: - Is ProductModule a valid NestJS module? - If ProductTagService is a provider, is it part of the current ProductModule? - If ProductTagService is exported from a separate @Module, is that module imported within ProductModule? @Module({ imports: [ /* the Module containing ProductTagService */ ] }) 그래서 아래와 같이 ProductTagService, ProductCategoryService를 임의로 providers에 넣어주면 또 실행이 됩니다. 해당 모듈을 이미 임포트 해주었는데 왜 서비스를 따로 또 주입해주어야 할까요? @Module({ imports: [ TypeOrmModule.forFeature([Product, ProductTag, ProductCategory]), UserModule, ProductTagModule, ProductCategoryModule, ], providers: [ ProductResolver, ProductService, ProductTagService, ProductCategoryService, ], }) export class ProductModule {} 아래는 ProductTagModule과 ProductCategoryModule 코드입니다. @Module({ imports: [TypeOrmModule.forFeature([ProductTag])], providers: [ProductTagResolver, ProductTagService], }) export class ProductTagModule {} @Module({ imports: [TypeOrmModule.forFeature([ProductCategory])], providers: [ProductsCategoriesResolver, ProductCategoryService], }) export class ProductCategoryModule {}

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
Haewoong Lee 댓글 1 좋아요 0 조회수 382

인기 태그

인프런 TOP Writers

주간 인기글