66,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
docker-compose.yml 파일 환경변수 관리
안녕하세요,docker-compose.yml 파일 같은 경우는 .gitignore 처리를 하는 파일인지, 아니면 이 부분도 환경변수로 데이터 접근하는 값들을 환경변수로 바꿔줘야하는지 어떻게 관리하는지 알고 싶어 질문드립니다.
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
Prettier 세팅 관련 문의!
1분 30초 즈음에..탭키 눌러서 저장하시면, 16, 17, 18번쨰 줄 이렇게 한줄씩 정렬이 되시는데저는 해당 부분이 자동으로 프리티어 정렬이 들어갑니다 .혹시 프리티어 세팅 부분을 알 수 있을까요?
- 해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
guard와 controller 토큰 추출 / 디코드 중복 코드 관련 질문
// POST auth/login/email @Post('login/email') @UseGuards(BasicTokenGuard) // authorization 기준으로 rawToken을 받아옴. postLoginEmail(@Headers('authorization') rawToken: string, @Request() req) { // email:password -> base64 // adsfasdfasfdad => email:password const token = this.authService.extractTokenFromHeader(rawToken, false); const credentials = this.authService.decodeBasicToken(token); return this.authService.loginWithEmail({ email: credentials.email, password: credentials.password, }); }질문이 있습니다.req.user.email , req.user.password 이런식으로 Guard를 통해 요청에 대한 값을 받아올 수 있다고 설명해주셨습니다. 실제로 guard 부분에서, 해당 extractTokenFromHeader부분과, decodeBasicToken 부분이 겹치는 것 같은데, 이중적으로 처리해주는 것이 맞는지 아니면 아래와 같이 req.user.password 부분을 디코드 해주어서, 중복 부분을 생략해 줄 수 있을 것이라고 생각하는데 어떤 접근방법이 맞는지 궁금합니다! 이 부분도 중복을 해결해야 하는 부분 아닌가 해서 궁금합니다! // POST auth/login/email @Post('login/email') @UseGuards(BasicTokenGuard) // authorization 기준으로 rawToken을 받아옴. postLoginEmail(@Headers('authorization') rawToken: string, @Request() req) { // 여기는 req.user.password를 직접 입력하게되면 인코드된 값이므로, 디코드 된 값이 들어가야 할 것 같긴합니다. (JWT 모듈같은 것을 활용해서!) return this.authService.loginWithEmail({ email: req.user.email, password: req.user.password, }); }
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
Column Property 질문드립니다
안녕하세요섹션 10에 [Column Property 정리하기] 수강중 3분 40초 부분에 질문드립니다.@Column({}) 에 type을 변경했을때 데이터 안에 title이 전부 null로 변경되는데 유지되게 할 수 있는 방법 있을까요??
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
exist가 deprecated 되고, exists로 변경된 것 같습니다!!
exist deprecate => exists 로 변경된 것 같습니다!!!
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
데이터베이스 삭제후 nullable false일떄 에러 발생하지 않습니다.
DB도 지우고, 강의 그대로 코드도 동일하나 nullable이 에러가 발생하지 않습니다. 아래 질문하고 동일한 현상이 발생합니다!
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
Bearer라는 단어로 작성하는 이유가 있나요?
항상 좋은 강의 감사합니다.예전에 프론트 개발 할 때도 궁금했던 부분인데Bearer 를 굳이 작성하는 이유나 혹은 작성하게 된 관습의 기원이 궁금합니다.
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
posts 테이블에 authorId 컬럼값의 이름은 자동으로 생성되는건가요?
항상 좋은 강의 감사합니다. 강의를 들으며 궁금했던 부분은 제가 따로 테이블 컬럼이름을 설정해준 적이 없는데 자동으로 columnId값으로 지정된 부분입니다.현재 제 추측으로는 async createPost(authorId: number, title: string, content: string) { const post = this.postsRepository.create({ author: { id: authorId, }, title, content, likeCount: 0, commentCount: 0, }); const newPost = await this.postsRepository.save(post); return newPost; }해당 부분에서 create의인자로 받는 author 부분에서 key 값인 id를 확인해서 자동적으로 authorId라는 값이 만들어진건가 추측해보고 있는데 혹시 제 추측이 맞을까요?
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
findAndCount 함수에서 왜 count가 0이 아닌 값들은 제외 되었는지 궁금합니다.
const userAndCount = await this.userRepository.findAndCount({ take: 3, }); 위 와 같은 코드에서 결과 값으로 count가 변경 되어 있는 id 1,3의 값은 왜 가져오지 않았는지 궁금합니다!
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
relation option "nullable : false" 로 설정했는데, 테이블에 insert가 되고 있습니다.
안녕하세요 선생님~위와 같이 세팅해서user/profile로 post 요청을 보내면 500 에러가 나야하는걸로 알고 있는데,이처럼 잘 들어가 버리네요ㅜ`users` 로 get요청을 보내도 profile이 null이 들어간 상태로 조회됩니다.개발환경 버전도 올려드립니다~
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
docker-compose yaml 파일 깃 업로드
안녕하세요 코팩님 nestjs/config 모듈과 process.env 를 이용해서 환경변수 파일을 작성하고 환경변수를 불러오고 하잖아요. 그런데 docker-compose.yaml 파일에도 db password나 이런게 존재하는데, docker-compose 파일은 깃허브에 보통 포함을 안 하나요?
- 해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
findOne 사용 이유
강의 8:23에 createChat 함수의 리턴값으로 save 함수에서 반환된 chat을 사용하지 않고 findOne 함수를 통해 조회한 chat을 사용하신 이유가 궁금합니다!
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
섹션26 FileIntercepter적용문의
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 통합 링크https://links.codefactory.aiFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
섹션26 FileIntercepter적용 질의
분명 postman으로 FormData로 설정하신후title,content,image를 보내셨는데 어떻게Nestjs에서 @Body()로 받을수 있나요 Http요청이니 req.body 형식으로 접근 가능한게 아닐까요??
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
configService와 process.env
안녕하세요 코팩님!class 작성 시에 다른 class를 상속하여 작성하는 경우 있잖아요nestjs/passport를 이용해서 구글 oauth 로그인을 구현하려고 합니다.import { PassportStrategy } from '@nestjs/passport'; import { Strategy } from 'passport-google-oauth20'; import { Injectable } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; @Injectable() export class GoogleStrategy extends PassportStrategy(Strategy, 'google') { constructor(private readonly configService: ConfigService) { super({ clientID: this.configService.get('GOOGLE_CLIENT_ID'), clientSecret: this.configService.get('GOOGLE_CLIENT_SECRET'), callbackURL: 'http://localhost:3000/auth/google/callback', scope: ['email', 'profile'], }); }이 경우에super() 호출 전에 this를 참조하려고 해서 에러가 발생합니다.이런 경우에는 불가피하게 그냥 @Injectable() export class GoogleStrategy extends PassportStrategy(Strategy, 'google') { constructor() { super({ clientID: process.env.GOOGLE_CLIENT_ID, clientSecret: process.env.GOOGLE_CLIENT_SECRET, callbackURL: 'http://localhost:3000/auth/google/callback', scope: ['email', 'profile'], }); }이렇게 직접 환경변수를 적어주는 방법 밖에는 없을까요?
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
섹션 6에서 코드를 서비스 단으로 옮기고 난뒤부터 get 메소드가 제대로 작동하지 않아요
강의를 따라서 로직을 서비스 단으로 옮긴 뒤부터 response 코드 200인데 내용이 posts들이 오지 않아요getPostsbyId도 이렇게 되고 getAllPosts도 이렇게 됩니다 도와주세요 ㅠㅠ나머지 put이랑 post , delete 는 제대로 작동합니다 ㅠㅠ
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
vscode postgresql extension이 실행되지 않습니다.
강사님께서 설명해주신대로 입력해서 vscode extension 설치 후에 진행하려고 하는데 role "postgres" does not exist 라는 오류와 함께 extentsion 진행이 되지 않습니다. 혹시 무엇이 문제인지 알 수 있을까요?
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
VScode postgresql 익스플로러 'Cannot get password' 에러
안녕하세요 강의 잘 보고 있습니다!다름이 아니고 VScode에서 postgres 익스플로러로 DB연결을 해주려는데 자꾸 오른쪽 밑에 'Cannot get password'라는 에러가 발생해서 연결이 되지 않습니다... yaml파일이랑 app.module도 잘 확인했는데 해당 에러때문에 DB 연결이 안됩니다. 확인 부탁드릴게요,, 캡쳐본입니다. post로 바꿔고 해봐서 현재 post입니다.
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
NodeJS 는 왜 싱글 스레드라고 불리는가요?
안녕하세요! 개발을 시작한지 얼마되지 않은 개발자입니다. 수업의 내용을 조금 인용하면 "nodeJS 는 싱글 스레드 모델이고, 이벤트 룹이 앞단에서 nonBlocking 요청 빠르게 수행하고 만일 Blocking 요청이 들어온다면 워커 스레드에 넘긴다. " 라고 이해했습니다.하지만 워커 스레드를 사용하게된다면 그것이 싱글 스레드라는 이름에 맞는건지 의구심이 듭니다. 단순히 이벤트 룹이라는 특정 스레드가 앞단에서 Blocking 요청과 nonBlocking 요청을 구분해서 처리를 하기에 싱글 스레드라는 말이 나온건가요?그리고 이벤트 룹이 Blocking 요청과 nonBlocking 요청을 나누는 기준 또한 궁금합니다.마지막으로 구글링을 하며 본 정보에 의하면 JavaScript 가 싱글 스레드 기반의 언어이고, NodeJS는 스레드 풀을 미리 생성하여 워커 스레드들을 미리 생성해 둔 뒤, 각 워커 노드에서 JavaScript 를 실행하여 멀티 스레드를 가능하게 한다는 글을 보았는데 이 내용이 맞다면 NodeJS 는 싱글 스레드 기반 프레임워크가 아닌것으로 받아드려도 괜찮을까요?
- 미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
typeOrm 1:N N:1 관련 질문입니다.
너무 단순한 것 같은데, 몇시간 확인해봐도 해결이 되지 않아서 이렇게 질문드립니다.post 로 1:N을 생성해서 확인해 보면, 아래 이미지 처럼 post에 빈배열이 나옵니다.get 요청, relations 은 아래와 같습니다. 강의를 보면서 작성한 코드입니다. 이전 내용인 profile 은 잘 되는데...post 1:N 은 무엇이 문제일까요...?