월 79,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
yarn add @apollo-server 405 에러...
설치하려하는데 405 에러 나오네요....검색해서 나오는것도 몇가지 해보긴했는데...해결이 안되서 올려봅니다~## 에러메시지Error: https://registry.npmjs.org/@apollo-server: Request "https://registry.npmjs.org/@apollo-server" returned a 405
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Github
터미널에 'git push origin master'를 입력하고 엔터를 누르면fatal: 'origin' does not appear to be a git repositoryfatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists. 이렇게 나와고 있어요. 어디서 실수했어요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
AccessToken은 잘 만들어지는데 payload에 아무것도 안담겨요
로그인 시 받은 accesstoken을 밑에 /user/test의 헤더에 넣었습니다.처음에는 payload에 값이 담겼는데 갑자기 아무것도 안담기네요ㅜㅜ변경사항이 있었던 건 다 돌려봤는데도 도저히 뭐가 문제인지 모르겠어서 남깁니다.뭐가 문제인지도 모르겠어서 코드도 뭘 보여드려야 할 지 모르겠네요ㅜㅜ accesstoekn은 잘 만들어지는데.. 저 accesstoekn으로 UseGuards(AuthGuard('access')) 이 가드를 통과하는 거 아닌가요?validate()까지 간 거 보면 인가는 됐다고 생각했는데 왜 payload에 아무것도 안담기는지 모르겠네요ㅜㅜ
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
GraphQL import 오류
GraphQL 관련된 내용이 뜨는 것 같긴 한데 ObjectType과 Field를 못 찾는 것 같습니다.. yarn add graphql을 해봐도 안되네요
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
파일 업로드 질문
안녕하십니까혹시 graphql을 이용한 이미지 업로드 부분에서포스트맨 말고 클라이언트에서 요청하려고 할 때다른 설정들이 필요한가요?여러 방법들을 해봤는데 모두 안되서 질문 드립니다. await axios.post("http://localhost:5656/graphql", { query: ` mutation { uploadFile(file: ${file}) } `, })const file = files[0] await axios.post("http://localhost:5656/graphql", { query: ` mutation uploadFile($file: Upload!) { uploadFile(file: $file) }, `, variables: { file: file, }, })
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
배열을 스웨거로 작성하는 법을 모르곘어요
퀴즈 4 풀고 있는데 1개 이상의 배열을 스웨거로 작성하는 법을 모르겠습니다.예를 들면[{name:"철수",age:2},{name:"훈이",age:3}] 이런거를 이런 예시를 가지고 2개의 배열로 나타내는 법을 모르겠습니다
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
포트폴리오 작성할 때 강의에서 배운대로 적어도 되나요?
포트폴리오 작성하고 있는데 강의에서 배운 내용들로 채워도 되나요? 아니면 선생님이 doc를 직접 찾아보라고 일일히 강의에서 설명하지 않은 내용들을 써야하나요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
테이블 관계
안녕하세요예를 들어 MockUserRepository를 만들고 그 안에 mydb라는 데이터가 있습니다.만약 기존 User 테이블이 Post 테이블과 관계가 맺어져 있다면 Post까지 mydb에 담아야 하나요?mydb = [{ id= '', name:='', password= '' }] 이렇게 해야 하는 건지아니면 mydb = [{ id: '', name:'', password: '', post: { id: '', title: ''}] 이렇게 작성해야 하는 건지 궁금합니다!! 그리고 userService에서 postService를 사용하는 로직이 있는데 userService 테스트시 MockPost 테이블까지 같이 구현해야 하는 건지..아니면 다른 방법이 있는 건지ㅜㅜ 궁금하네요 하나만 더 여쭤보자면.. ㅜㅜ 제가 이해가 잘 안가서 그러는데 controller.ts를 테스트할 때는 service를 mock하고, service.ts를 테스트할 때는 데이터베이스를 mock해서 사용하는 건가요??
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
yarn start:dev 실행시 에러
포스트맨에서 요청하려는데 어느 부분이 문제여서 에러가 난걸까요?일단 어느부분을 보셔야 해결해주실 수 있으실지 모르겠어서 캡처를 2개 했습니다.
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
안녕하세요 AccessToken 관련 질문입니다.
안녕하세요 얼마전에 Access Token 관련 질문을 드렸습니다.저는 Backend 강의만 듣고 있어서 Frontend 강의가 어떻게 진행되었는지 몰라서 여쭤봅니다!현재 전역 스테이트 변수인 recoil을 사용해서 AccessToken을 저장 중 입니다.하지만 그냥 recoil만 사용할 때는 새로 고침 시 데이터가 삭제되어서 문제가 되고 있습니다.persistAtom 이라는 속성을 사용해서 상태가 유지되도록 할 수 있다는 것을 알게 되었는데 이렇게 사용할 경우 localstorage에 토큰 값이 그대로 들어가더군요.그러면 토큰 값이 그대로 노출되어서 보안상 문제가 될 것 같은데 혹시 이게 문제가 안되는지, 그대로 사용해도 되는지아니면 새로고침시 계속 token이 사라지니까 모든 컴포넌트에 useEffect를 사용해서 restoreAccessToken을 호출하도록 만들면 어떨까요?다른 방법이 있다면 방향을 알려주세요! 감사합니다.
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
ManyToMany 테이블이 자동으로 만들어지지 않습니다..
import { ProductCategory } from 'src/apis/productsCategories/entites/productCategory.entity'; import { ProductSaleslocation } from 'src/apis/productsSaleslocations/entities/productSaleslocation.entity'; import { ProductTag } from 'src/apis/productsTags/entities/productTag.entity'; import { User } from 'src/apis/users/entities/user.entity'; import { Column, Entity, JoinColumn, JoinTable, ManyToMany, ManyToOne, OneToOne, PrimaryGeneratedColumn, } from 'typeorm'; @Entity() export class Product { @PrimaryGeneratedColumn('uuid') id: string; @Column() name: string; @Column() description: string; @Column() price: number; @Column({ default: false }) isSoldout: boolean; @JoinColumn() // 1:1 연결에서는 두 테이블 중 중심을 정하는 JoinColumn을 달아주어야한다. @OneToOne(() => ProductSaleslocation) // 일대일 연결. 어떤 테이블이랑 연결될지 표기. ProductSaleslocation 테이블과 연결 할 것이다. productSaleslocation: ProductSaleslocation; // 그 때 사용되는 Column은 productSaleslocation이고 타입은 다음과 같다, FK @ManyToOne(() => ProductCategory) // many가 Product 한개인게 Category productCategory: ProductCategory; // FK @ManyToOne(() => User) user: User; @JoinTable() // ManyToMany는 둘 중 하나에 JoinTable 작성 @ManyToMany(() => ProductTag, (productTags) => productTags.products) // 상대방 입장에서 나를 볼 때 products productTags: ProductTag[]; // 객체가 여러개이기 떄문에 객체 배열타입 사용 } import { Product } from 'src/apis/products/entities/product.entity'; import { Column, Entity, ManyToMany, PrimaryGeneratedColumn } from 'typeorm'; @Entity() export class ProductTag { @PrimaryGeneratedColumn('uuid') id: string; @Column() name: string; @ManyToMany(() => Product, (products) => products.productTags) products: Product[]; }ManyToMany 설정했는데.. product_product_tags_product_tag 테이블이 자동으로 생성이 안되네요. 코드 말고 건드려줘야 할 부분이 있나요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
폴더, 파일, 함수 생성시 s붙이는 기준
product vs products 와 같이파일 및 폴더 생성시 s를 붙이는 기준이좀 해깔리는데,어디에서 설명해주셨는지 기억이 안나서질문 드립니다~답변 주시면 감사하겠습니다~1.apis 아래 1depth 폴더에는 s를 붙임apis/products 2. entities 폴더 내부 파일 s 안붙임entities/product.entity.ts 3.module.ts, resolver.ts, service.ts 에는 s붙임src/products/products.module.tssrc/products/products.resolver.tssrc/products/products.service.ts
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Promise, resolve, setTimeout에 대한 질문입니다.
async function aaa() { console.log(1); console.log(2); await new Promise((resolve, reject) => { setTimeout(resolve, 3000); }).then(() => { console.log("히히히"); }); console.log(3); } aaa();async function aaa() { console.log(1); console.log(2); await new Promise((resolve, reject) => { setTimeout(() => {}, 3000); }).then(() => { console.log("히히히"); }); console.log(3); } aaa(); 맨위의 코드는 12히히히3 이렇게 잘 찍힙니다. 위의 코드에서 setTimeout(resolve,3000) 에서 resolve를 ()=>{} 로 바꾸니, 12 이렇게 찍힙니다. resolve라는 것을 쓰지 않음으로써 then으로 가지 못해 console.log('히히히')가 동작을 하지 않는 것은 이해가 되는데, promise 외부 코드인 console.log(3); 이 동작하지 않는건 이해가 되지 않습니다. resolve에 뭔가 더 특별한 기능이 더 있는 건가요??
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
파이널 과제도중 질문
파이널 과제중에 html이랑 css는 어느정도 다를수있게된거같은데 타이머나 인증번호쪽 js가 쫌 안되더라고요..이걸 공부를 어떻게해야할지 고민입니다파이널과제를 완벽하게 할수있을때까지 복습을해야할지..아니면 다음 커리큘럼이 js니까 일단 진도를 나가야할지 고민입니다
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
access token 관련 질문드립니다.
안녕하세요 강의를 다 듣고 개인 포트폴리오 제작중에 있습니다.현재 로그인 부분을 구현중인데, 포인트 충전이라던가 마이페이지 접근시, 비밀번호 변경 시 등의 경우에 인가(여기선 fetchUser)를 받아야 한다고 이해했습니다. 그러려면, 강의에선 아래 사진처럼 header에 토큰을 넣어서 보내었습니다.하지만 직접 프론트엔드를 구축해서 api 호출하려고 하니 header에 토큰을 넣어줘야 하는데, 현재 로그인시 그냥 토큰 값인 문자열을 리턴할 뿐 엑세스토큰을 저장하는 곳이 없습니다.보통 액세스토큰을 저장할 때 변수, 로컬스토리지, 세션스토리지, 쿠키 중 무엇을 가장 많이 사용하나요?섹션 13-11의 강의에서 처럼 변수에 액세스토큰을 저장하는 경우를 생각해 봤습니다. 그러면 인증하는 컴포넌트(ex: login)와 인가를 받는 컴포넌트(ex: 포인트 충전)가 다를 때 컴포넌트에서 token을 변수로 저장하더라도 다른 컴포넌트에서는 사용 못할텐데 recoil같은 라이브러리를 사용해서 전역변수로 사용해야 하는지 궁금합니다. 아래는 프론트엔드의 login 컴포넌트를 예시를 적어보았습니다. const [token, setToken] = useState(""); await axios.post("http://localhost:5656/graphql", { query: ` mutation { login(id: "${inputId}", password: "${inputPw}") } `, }) .then(res => { setToken(res.data.data.login); } }) 감사합니다.
- 미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
docker build 시 이미지 생성부분 질문
현재Docker 3 - package.json강의 듣고 질문 드립니다아래와 같이 index.js 파일을 3회 수정후, 수정할때마다 docker build 후docker images 명령어로 확인해보니이미지가 총 3번 생성 된것을 확인 할 수 있는데, express index.js 파일import express from "express" const app = express() app.get("/qqq", function (req, res) { res.send("qqq1") }) app.listen(3000) import express from "express" const app = express() app.get("/qqq", function (req, res) { res.send("qqq2") }) app.listen(3000)import express from "express" const app = express() app.get("/qqq", function (req, res) { res.send("qqq3") }) app.listen(3000)이미지 총 3번 생성질문1size가 915 mb 로 나오는데,위에 915M * 3 만큼의 용량이 내 pc 어딘가에 저장되어 용량을 차지하고 있는게 맞나요?질문2그렇다면 왜 기존 이미지를 수정하는 방식이 아닌,매번 새로운 이미지를 생성하는걸까요?지금 윈도우에 wsl Linux 설치하여 학습중인데,우클릭해서 용량을 확인할수가 없네요뒤에 해당 내용을 알려주시나요?답변 주시면 감사하겠습니다~
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
배포 후, refreshToken 문제
안녕하세요! 현재 프론트앤드, 백엔드 강의를 들으며 포트폴리오를 진행하고 있고, 백엔드는 배포까지 완료하였습니다. 백엔드 배포후, 프론트앤드에서 백엔드api주소를 배포된 주소로 변경하였는데 refresh token이 쿠키에 저장되지 않아 자꾸 에러가 납니다ㅠㅠ배포 전 localhost에선 문제없이 작동되었는데 배포된후엔 왜 문제가 될까요?? <Front-End=====>(apollo/index.tsx)(getAccessToken.ts)(useAuth.tsx)<Back-End=====>(main.ts)
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
깃허브 코드 업로드
학습한 내용(코드)을 깃허브에 올려도 괜찮은가요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
트랜잭션 사용 유의점
안녕하세요. 지난번 질문에 빠른 답변감사합니다. 트랜잭션 공부 중 주의사항에 대한 블로그 글을 짧게 봤는데요, 트랜잭션은 꼭 필요한 최소의 코드에만 적용하는 것이 좋다는 내용이었습니다. 결제 부분만 트랜잭션을 사용하고 나머지 게시판, 채팅 등 다른 기능 구현시 굳이 트랜잭션 사용 안해도 되는거죠?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
포트폴리오는 몇개가 좋을까요?
프론트 엔드 강의에 있는 포트폴리오 1개백엔드 강의에 있는 포트폴리오 1개이 강의에 총 포트폴리오가 2개 있는데2개 다 하는게 좋을까요?