묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
회원가입 과제 완료용
안녕하세요!!과제 완료해서 피드백 부탁드리고자 올렸습니다!앞으로 잘 부탁 드립니당~<html><!DOCTYPE html> <html lang="ko"> <head> <title>회원가입</title> <link rel="stylesheet" href="./02-signup.css"> </head> <body> <div class="signUpContent"> <h2> 회원 가입을 위해<br> 정보를 입력해주세요 </h2> <label for="email" class="label text">* 이메일</label> <input id="email" class="input_text" type="text"> <label for="name" class="label text">* 이름</label> <input id="name" class="input_text" type="text"> <label for="password" class="label text">* 비밀번호</label> <input id="password" class="input_text" type="password"> <label for="password_chk" class="label text">* 비밀번호 확인</label> <input id="password_chk" class="input_text" type="password"> <div class="signUpChk"> <input id="gender_w" class="input_radio" type="radio" name="gender"> <label for="gender_w" class="label gender">여성</label> <input id="gender_m" class="input_radio" type="radio" name="gender"> <label for="gender_m" class="label gender">남성</label> </div> <div class="agreeChk"> <input type="checkbox" id="input_chk"> <span class="agree_text"> 이용약관 개인정보 수집 및 이용, 마케팅 활용 선택에 모두 동의합니다. </span> </div> <div class="out-line"> <div class="line"></div> </div> <button> <span>가입하기</span> </button> </di> </body> </html><css>* { box-sizing: border-box; } h2 { font-size: 32px; color: #0068FF; font-weight: 700; line-height: 47px; } .out-line{ padding: 30px 0px; } .line { border-bottom: 1px solid #E6E6E6; } .label{ font-size: 16px; font-weight: 400; line-height: 24px; } .signUpContent{ width: 670px; height: 960px; border: 1px solid #AACDFF; border-radius: 20px; box-shadow: 7px 7px 39px rgba(0, 104, 255, .25) ; display: flex; flex-direction: column; padding: 72px 100px 70px 100px; } .label.text{ padding: 20px 20px 0 0; color: #797979; } .input_text{ border-style: none; border-bottom: 1px solid #CFCFCF; height: 60px; } .signUpChk{ display:flex; justify-content: center; align-items: center; padding: 50px 0; } .input_radio{ margin: 0 5px 0 0; width: 20px; height: 20px; } .label.gender{ padding-right: 30px; } .agreeChk{ display: flex; justify-content: center; align-items: center; } .agree_text{ height: 22px; font-size: 14px; font-weight: 400; line-height: 20px; } button{ width: 470px; height: 75px; background-color: #FFF; border: 1px solid #0068FF; border-radius: 10px; } button > span { font-size: 18px; font-weight: 400; color: #0068FF; }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
types.ts 파일이 안생깁니다
10-04-graphql-codegen-mutation/query 안녕하세요, 원두 강사님. 아래글에서 빠른 답글 감사합니다. 그러나 아직 해결이 되지 않은 문제가 있습니다. "yarn generate"를 하면 Done이라고 뜨긴 하는데 ts파일이 전혀 생성되지 않고 있습니다.터미널 창 입니다.ts파일이 생기지 않은 모습입니다.codegen.yaml 파일입니다. (띄어쓰기는 두번 씩으로 들여쓰기가 한번 씩 되어 있습니다.)package.json 파일입니다. 제가 시도한 터미널 명령어는rm -rf ./node_modules && npm installyarn add -D @graphql-codegen/cliyarn add -D @graphql-codegen/typescriptyarn add ts-node입니다. 좌측 메뉴탭 윗부분의 새로고침 버튼을 여러번 눌러봐도 마찬가지고비쥬얼스튜디오코드 에디터를 껐다 다시 켜봐도 마찬가지 입니다ㅠㅜㅠㅜ AI 답변 받은 이후 차근차근 따라 해봤지만 해결이 안되고 있습니다.노드모듈즈와 yarn.lock을 지우고 yarn install 이후package.json 에서 코드젠 관련 된 코드줄 다 지우고다시 처음부터 하나씩 해봐도 안됩니다.
-
미해결[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
ApolloError: request to http://mock.com/graphql failed, reason: response3.headers.all is not a function
33-05 강의에서 test에서 자꾸 이 오류가 뜹니다apis.jsimport { graphql } from "msw"; const gql = graphql.link("http://mock.com/graphql") export const apis = [ gql.mutation("createBoard", (req, res, ctx) => { const { writer, title, contents } = req.variables.createBoardInput return res( ctx.data({ createBoard: { _id: "qqq", writer, title, contents, __typepname: "Board", }, }) ); }), // gql.query("fetchBoards", () => {}) ]; jest.setup.jsimport { server } from "./src/commons/mocks/index" beforeAll(() => server.listen()); afterAll(() => server.close()); index.test.tsx import { fireEvent, render, screen, waitFor } from "@testing-library/react"; import StaticRoutingMovedPage from "../../pages/section33/33-05-jest-unit-test-mocking"; import { ApolloClient, ApolloProvider, HttpLink, InMemoryCache, } from "@apollo/client"; import fetch from "cross-fetch"; import mockRouter from "next-router-mock"; jest.mock("next/router", () => require("next-router-mock")); it("게시글이 잘 등록되는지 테스트 하자!", async () => { const client = new ApolloClient({ link: new HttpLink({ uri: "http://mock.com/graphql", fetch, }), cache: new InMemoryCache(), }); render( <ApolloProvider client={client}> <StaticRoutingMovedPage /> </ApolloProvider> ); fireEvent.change(screen.getByRole("input-writer"), { target: { value: "맹구" }, }); fireEvent.change(screen.getByRole("input-title"), { target: { value: "안녕하세요" }, }); fireEvent.change(screen.getByRole("input-contents"), { target: { value: "방가방가" }, }); fireEvent.click(screen.getByRole("submit-button")); await waitFor(() => { expect(mockRouter.asPath).toEqual("/boards/qqq"); }); }); 도와주십쇼 ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
안녕하세요 리액트에서 fetchUser를 이용해 로그인이 되어있는지 검증하려고 합니다
리액트에서 fetchUser를 이용해 로그인이 되어있는지 검증하려고 하는데 로그인api를 호출 후 fetchUser를 호출하면 Unauthorized에러가 납니다 헤더에 토큰이 저장되지 않아서 그런걸까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
로그인한 user의 비밀번호를 변경하는 API updateUserPwd 로직
quiz19 -2 에서토큰기반인증(로그인)된 유저의 비밀번호 변경 로직을 구현하고 있는데요..resolver와 service의 연결부분에서 에러가 발생하는데 혼자서 해결이 어려워 문의드립니다.제가 생각한 updateUserPwd의 로직은유저가 있는지의 여부 확인비밀번호의 일치 여부 확인bcrypt로 변경하고자하는 비밀번호의 암호화암호화된 변경비밀번호를 해당하는 email의 DB에 저장이렇게 하면 끝나는 로직이라고 생각하고 소스코드를 작성했습니다. 1차적으로 제가 생각한 로직에 빠진 부분이 있는지 궁금하고 지금의 소스코드로 어떤부분을 보완해야하는지 궁금합니다.(현재 코드블록으로 공유한 내용은 users.service.ts에서 return부분에 where에서 에러가 발생하는 상황입니다..) 추가로 필요한 정보나 내용, 소스코드가 있으면 추가적으로 공유하도록 하겠습니다. 도와주세요~~~나머지 import해온 class들은 수업을 통해서 그대로 가져온 내용들입니다.//users.resolver.ts @UseGuards(gqlAuthAccessToken) @Mutation(() => String) updateUserPwd( @Args('email') email: string, @Args('password') password: string, ): string { this.usersService.updateUserPwd({ email, password }); return '비밀번호 수정 성공'; }//users.service.ts async updateUserPwd({ email, password, }: IUserServiceUpdateUserPwd): Promise<UpdateResult> { const user = await this.findOneByEmail({ email }); if (!user) throw new UnprocessableEntityException('등록되지 않은 이메일 입니다.'); const isAuth = await bcrypt.compare(password, user.password); if (!isAuth) throw new UnprocessableEntityException('틀린 암호입니다.'); const hashedPassword = await bcrypt.hash( password, Number(process.env.SALT), ); return this.UsersRepository.update( { password: hashedPassword }, { where: { email: user.email }, }, ); }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
회원가입 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()가 활성화 됐을때 이미지(연결 정상)
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
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". 이틀 동안 여러가지 찾아보고 해결을 시도해봤지만 잘 안되네요. 도움 부탁드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
Section Quiz7 에서 질문이 있습니다.
퀴즈7에 있는 소주제 : 컴포넌트 재사용성과 수정 프로세스에서 질문이 있습니다.updateProduct로 수정하는 부분인데요.페이지 모두 만들었는데. 여기서 수정이 완료 됐다고 하는데 데이터가 null값으로 들어가네요..밑에는 container페이지와 queries페이지 입니다.어느 부분이 잘못됏는지 모르겠어서 질문드립니다. http://practice.codebootcamp.co.kr/graphql 에서 create부분에선 seller를 바로 받아오는데 밑에서는 productId로 받아옵니다. 이렇게 된다면 수정페이지 에서는 seller 는 수정 못하게 되는건가요?
-
해결됨GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]
DISABLE_WEBSOCKETS=true meteor run 문제
GraphQL 기본 수업에서 학습용 프로젝트를 런하려고 하는데...DISABLE_WEBSOCKETS=true meteor run 이 안됩니다.'DISABLE_WEBSOCKETS'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.라는 메시지가 뜹니다.README.md 보고 그대로 따라했습니다.어떻게 해야하나요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
Use 'import type' 에러 및 eslintrc.json
1. 강의를 똑같이 따라했는데 위와같은 메시지가 뜹니다!import 말고 import type을 쓰라는데 멘토님과 다르게 왜 이런 에러가 일어나는건가요?2. 저는 class파일에 eslintrc.json파일이 없어서 화면보고 그냥 따라 적기만 했는데 문제가 없을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
BoardWrite.presenter의 작성자 input 값의 defaultValue
BoardWrite부분의 presenter의 작성자 부분에defaultValue값에 자꾸 오류가 떠서 문의드립니다.비밀번호나 내용부분과 같이 다른 input창의 defaultValue에는 문제가 생기지 않는데 왜 유독 작성자 부분에만 에러가 뜨는지 모르겠습니다. 그런데 멘토님 파일에는 이전시간에 배우지 않았던 readOnly부분이 추가되어있고 defaultValue값도 수정되어있더라구요! readOnly에 대한 부분은 구글링을통해 왜 쓰는지는 알았지만 뒤에 {!!props.~~} 왜 이렇게 선언하는지와,defaultValue부분에 || "" 부분이 왜 들어가는지 모르겠습니다ㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
포트폴리오 - modal에서의 오류
주소입력창 까지 잘 진행되었는데 비밀번호 모달창을 만들면서 부터 오류가 나기 시작했습니다. 어디서부터 잘 못된 것인지 잘 모르겠는데.. 계속 이런 오류가 뜹니다. 어떻게 해결해야 할까요?
-
해결됨GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]
"섹션9 - item 추가" 강의 누락내용 제보, 외 중요오타
섹션 9. Frontend 개발 - item 관련 기능구현 / item 추가를 듣고, 마지막에 서버실행시켜서, item 추가하는 부분을 보았는데,이렇게 메뉴추가를 해도 아무런 반응이 없어서, 오타가 있나 싶어서, 찾아봐도 없길래,뭔가 빠졌나 봤더니,클릭이벤트 시 onAddItem 함수를 실행시켜 주는 내용이강의에서 누락되어있음을 확인했습니다.저부분을 추가해주니, 잘 작동하였습니다. 강의 편집하시면서, 빠뜨리신거 같습니다.중요한 부분이라, 제보합니다.다다음 강의인 item 수정/삭제 강의에서, 앞 강의에서 작성하는 내용이 없었음에도해당부분이 이미 작성되어있는 것도 확인했습니다. 해당 영상 코드 오타입니다.따라치시는 분들이 에러 날수도 있을거 같습니다.resut -> result경로가 잘못나왔습니다. 이렇게 되어야합니다.그리고 중요하지 않은 사소한 오탈자 및 편집 영상이 튀는 것들을 수업 들으면서,이전에 작성했던 글에 답글형식으로 수업들으면서 눈에 뜨일때마다 계속해서 제보드리고 있습니다. (게시판 도배방지목적)강의 개정에 도움이 되셨으면 합니다.영상 튀는 부분 : https://www.inflearn.com/questions/786367/오탈자 : https://www.inflearn.com/questions/785432/
-
해결됨풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
204 error 문제
안녕하세요 재남님!배포 과정에서 문제가 있어 질문 드립니다~현재 상황은 heroku에 깃 연동을 통해 배포를 한 상태입니다.그렇기 때문에 herokuURL/graphql 을 입력하면 studio.apollographql.com에서 날리는 api test도 잘 동작하고 있습니다.그런데 vercel로 배포한 페이지에서는 products 화면을 제외한 cart, admin 같은 경우는 204 error가 뜨고 있는 상황입니다. 검색을 해보니 컨텐츠를 보여줄 필요가 없다(?) 라고 나오는데 어떤 문제인지 잘모르겠습니다.. ㅜ
-
해결됨풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
server 실행 오류가 납니다.
https://github.com/JaeHyuk1217/JH_mall/tree/master/shopping-mall server을 실행하면 이러한 오류가뜹니다... 환경변수 설정도 해보고 node 재설치도 해봤는데 되지 않습니다..
-
해결됨GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]
강의영상 튀는 부분 제보 (update: 2023.2.27)
해당 영상 5:45 에서 편집이 좀 튑니다. 내용이 살짝 반복되네요이전 강의영상들에서도 몇개 있긴했는데, 적어놓진 않았네요.앞으로 수업들으면서 튀는 부분이 또 나오면,추가글을 작성안하고 이글의 답변으로 남겨놓겠습니다.너무 제가 질문게시판 글 도배하는거같은 느낌이 있네요.;
-
해결됨GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]
강의자료 코드 강의와 다른부분 제보
깃허브 자료에 있는 코드에 있는 다른부분? 오탈자? 제보합니다.해당부분 _id : _id가 되어야 하지 않나요?그리고 이부분은 강의영상에서는 const 로 되어있던데강의자료에는 이부분만 let으로 되어있습니다. 상관없는 건가요?error 명령어 출력하는부분, throw 가 없네요 여기는.
-
해결됨GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]
강의 오탈자 제보 (update : 2023.03.06)
오탈자 제보합니다. 해당부분,updateFile 이 아닌uploadFile 이 되어야합니다. 이부분 때문에 계속 playground 가 하얀화면으로 아무것도 안나왔었어요.ㅠㅠ다행히 수업자료 파일은 제대로 나와있었어서 코드하나하나 비교해가면서 겨우 찾았네요..
-
해결됨풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
4일차 장바구니에서 오류가 납니다.
안녕하세요 4일차 공부를 하던중 willpay를 cart 에서 밖으로 꺼내 willpay-index.tsx 로 변경하게 되면서 이러한 오류가 뜨면서 장바구니가 담아지지 않습니다.(장바구니가 비어있을 때는 비어있다는 텍스트는 출력이됩니다) 코드상 오류 표시는 안나는데 해결이 안되서 여쭤봅니다. 감사합니다.
-
해결됨GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]
강의 오탈자 제보
제보합니다. 경로가 /utils/formatDate 로 되어야합니다.오탈자 입니다.