묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결처음 만난 리액트(React)
setState
import {useState} from 'react' function Counter(props) { const [count, setCount] = useState(0) return ( <div> <p>총 {count}번 클릭했습니다</p> <button onClick={()=>setCount(count+1)}> 클릭 </button> </div> ) } export default Counter setCount(count+1)이 아니라setCount(count++)하면 증가는 되지만 버벅거리는 느낌으로 바로바로 증가가 안되는데 왜그런건지 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
프론트에서 원하는 데이터를 찾을 때
section29까지 듣고 현재 제 프로젝트를 구축하고 있습니다.그런데 궁금한 것이 이제까지 수업에서는 데이터를 찾을 때 고유 id를 가지고 findOne 메서드를 이용해서 데이터를 찾거나 find 메서드로 전체 데이터를 다 긁어오는 방식을 사용했습니다.하지만 프론트에서는 특정 조건을 충족하는 데이터만 찾고 싶은 경우가 많을텐데요.이를 위해서 해당 조건을 찾을 수 있는 query를 다 만들어주어야 하는지 아니면 find로 데이터를 모두 취합해서 들고오면 프론트에서 알아서 원하는 데이터를 찾는 방식으로 구현되는 것이 맞는건지 궁금합니다.
-
해결됨[코드캠프] 훈훈한 Javascript
createTodo함수 안에 매개변수
createTodo 함수 안에 매개변수인 storageData를 넣어줬는데keyCodeCheck 함수 안에 createTodo함수를 넣어줄 때는 전달인자를 안 넣어줘도 되는건지 알고 싶습니다.매개변수가 정의되면 그 함수를 호출할 때 전달인자를 넣어줘야하는게 아닌가요?const createTodo = function (storageData) { let todoContents = todoInput.value; if (storageData) { todoContents = storageData.contents; } const newLi = document.createElement("li"); //괄호 안에는 생성할 태그 이름 const newSpan = document.createElement("span"); const newBtn = document.createElement("button"); newBtn.addEventListener("click", () => { newLi.classList.toggle("complete"); //새로 생성된 li에 새로운 클래스 속성 추가해줌 saveItemsFn(); }); newLi.addEventListener("dblclick", () => { newLi.remove(); }); newSpan.textContent = todoContents; newLi.appendChild(newBtn); newLi.appendChild(newSpan); todoList.appendChild(newLi); todoInput.value = ""; saveItemsFn(); }; const KeyCodeCheck = function () { if (window.event.keyCode === 13 && todoInput.value != "") { createTodo(); } };
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 3, 숫자만 추출 문제(정답 확인 부탁 드립니다.)
안녕하세요 선생님 !섹션 3번 - 숫자만 추출 문제를 이렇게 풀어도 괜찮을지 확인 한번 부탁 드리겠습니다.그리고 혹시 이런 문제들의 경우 정규식 보다는 이렇게 탐색하고 푸는게 더 좋은 풀이 방식인건가요??<html> <head> <meta charset="UTF-8"> <title>출력결과</title> </head> <body> <script> function solution(str){ let answer = ""; for(const a of str){ if(!isNaN(a)){ if(answer[0] !== undefined) answer += a; else if(a > 0) answer += a; } } return answer; } let str="g0en2T0s8eSoft"; console.log(solution(str)); </script> </body> </html>
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
외래키 지정에 관해서
@ManyToOne(() => ProductCategory) @Field(() => ProductCategory) productCategory: ProductCategory;외래키를 위와 같이 지정해주는 경우와@ManyToOne(() => ProductCategory) @Field(() => String) productCategoryId: string;이렇게 지정해주는 경우 데이터베이스에 테이블 사이의 관계가 만들어질 때 차이는 없나요?typeORM과 graphQL 요청시 객체를 그대로 전달하느냐 아니면 string 형식의 id만 전달하느냐 정도의 차이만 있나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
08-02 강의에 설치해야될 패키지가 더 생긴건가요?
강의 중간에 yarn으로 패키지 설치하는 부분이 있는데강의에 나와있는 3개의 패키지 말고 @apollo/server를 따로 설치해줘야 하는 것 같습니다.뭔가 바뀐건가요?일단은 이렇게 해서 넘어 가긴 했습니다
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃헙 권한 빠른 신청 요청드립니다.
인프런 아이디 : opve_5@naver.com인프런 이메일 : opve_5@naver.com깃헙 아이디 : opve555@gmail.com깃헙 Username : gon-pick
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
section 29 수업과 관련해서 질문드립니다!
안녕하세요 선생님. 재접속시 column이 삭제되는 문제는 버전을 낮추니 해결되었습니다! 다만 app.module.ts 에서 @Module decorator 설정 중 entities: [] 부분에 glob path 설정이 안돼서 버전과 관련된 것인지 궁금해서 질문드립니다!( glob path만 입력했을 때 entity를 읽지 못해 직접 입력해주니 해결되었습니다)( 아직 실력이 부족해 질문이 상세하지 못한 점 양해 부탁드립니다. )
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
데이터 수정에 관하여
수업에서는 product 테이블을 생성할 때 연관된 테이블의 데이터도 한번에 만들 수 있도록 구현하였습니다.그렇다면 데이터 수정도 product의 mutation 요청으로 연관 테이블들의 데이터도 모두 수정할 수 있도록 구현해야 하나요?이렇게 하려니 product 업데이트를 위해 입력해야 하는 데이터가 너무 많아지고 연관된 테이블의 데이터를 수정하는 경우에 create처럼 연관된 테이블의 컬럼의 데이터를 하나하나 다시 다 지정해줘야 하는 불편함도 있습니다.이렇게 한방에 처리하는거 말고 일단 product update mutation에는 product의 본래 컬럼들만 수정할 수 있도록 처리하고 연관된 테이블의 데이터는 연관 테이블의 기본키로 해당 테이블들의 update mutation으로 처리해도 될까요? 일단은 연관된 테이블의 기본키를 product의 fetchProduct로 조회하고 찾은 키를 이용해서 연관 테이블의 데이터를 수정하는 방식입니다.어떤 구조가 올바른 방식일까요?
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
뷰엑스 설치 및 연결 &amp;gt; vuex를 적용했는데 개발자도구에 base state 모양이 없어요.
vue개발자도구로 넘어가는 순간 콜솔에 이 에러가 나고 개발자도구에서 선생님과 다르게 나타나는데 콘솔에러때문일까요? 선생님 git으로 checkout해서 코드 똑같이 해도 이런 문제가 발생하네요.
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
카운터 만들기 app.js 오류
카운터 만들기를 진행하고 있는데 App.js에서 강사님과 동일하게 만들었으나 vs에서는 계속 에러나고 코드샌드박스에서는 app.js에 export default App ; 요 문구만 넣으면 에러가 발생하는데 왜그런걸까요?https://codesandbox.io/s/floral-rain-jhruuz?file=/src/App.js
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
docker-compose 후 데이터 전송 시 에러에 대해서...
먼저 각 폴더의 경로입니다. 해당 코드는 몽고디비 경로입니다.야믈파일에서의 코드입니다. docker-compose up 을 하고 데이터를 전송 했을 때의 에러입니다.(바디 안에 phone의 값은 스크린샷으로 인해 지운 부분입니다.) docker-compse를 하지 않은 상태에서의 데이터 전송 메세지입니다.도커화 시키기 전에 바로 내 컴퓨터에서는 잘 전송이 되어지는데 docker-compose했을 때에 에러가 발생을 합니다.위에는 docker-compose up명령어를 작동 시켰을때 나오는 메세지들인데 해당 건에서는 에러메세지라고 보일 만한 것들을 찾지 못하였습니다.처음에는 몽고디비 경로를 잘못 설정 한 것 같아서 강의를 다시 보고 야믈파일에서 써주었던 database경로로 네임 리졸류션 하여 설정을 해주었는데 에러가 발생을 하여 질문을 남깁니다. ㅠ-ㅠ혹시 제가 놓친 부분이나 잘못된 부분이 있다면 가르쳐주신다면 감사드립니다 ㅠㅠ 에러를 해결해보기 위해 도전해본 방법은 3가지 였습니다.몽고디비 주소를 127.0.0.1:27017 에서 database:27017로 변경 후 도커빌드 -업기존에 실행되고 있던 몽고디비를 중지한 후 도커 컴포즈업 실행 도커 이미지 모두 삭제한 후 다시 빌드 업 실행 해결 방법을 아신다면 답변 부탁드립니다. 감사합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
fiy.io로 진행할 때 APIURL설정에 관하여
fiy.io강의 진행 후vercel에 그맵마켓 웹 배포하기 강의 진행했는데화면에 데이터를 못받아 오고 있습니다.정말 죄송한데 원인을 잘 모르겠어요..어떤 부분을 어떻게 찾아봐야할까요.. fly.io에서 URL에 안들어가지는게 뭔가 이상한거같은데..안돌아가고 있다는 느낌이랄까요greb-market-server에서 fly deploy에러나는데 이거때문일까여?PS D:\VScode\grab-market-server> fly deploy==> Verifying app configValidating D:\VScode\grab-market-server\fly.tomlPlatform: machines✓ Configuration is valid--> Verified app config==> Building imageRemote builder fly-builder-blue-feather-4034 ready==> Creating build context--> Creating build context done==> Building image with Docker--> docker host: 20.10.12 linux x86_64[+] Building 23.1s (0/1)[+] Building 12.9s (12/14) => CACHED [internal] load remote build context 0.0s => CACHED copy /context / 0.0s => resolve image config for docker.io/docker/dockerfile:1 1.9s => CACHED docker-image://docker.io/docker/dockerfile:1@sha256:39b85bbfa7536a5feceb7372a0817649e 0.0s => [internal] load metadata for docker.io/library/node:16.17.1-slim 0.6s => [base 1/2] FROM docker.io/library/node:16.17.1-slim@sha256:1f6cbe8654b31c214225bddd12451b857 0.0s => CACHED [base 2/2] WORKDIR /app 0.0s => CACHED [build 1/6] RUN apt-get update -qq && apt-get install -y python pkg-config build- 0.0s => CACHED [build 2/6] COPY --link package.json package-lock.json ./ 0.0s => CACHED [build 3/6] RUN npm ci --include=dev 0.0s => CACHED [build 4/6] COPY --link . . 0.0s => ERROR [build 5/6] RUN npm run build 10.3s ------ > [build 5/6] RUN npm run build:#12 0.549#12 0.549 > grab-market-server@0.1.0 build#12 0.549 > react-scripts build#12 0.549#12 1.839 Creating an optimized production build...#12 10.22 Failed to compile.#12 10.22#12 10.22 ./src/App.js#12 10.22 Line 6: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22 Line 7: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22 Line 8: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22 Line 9: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22 Line 10: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22 Line 12: 'React' must be in scope when using JSX react/react-in-jsx-scope#12 10.22#12 10.22 Search for the keywords to learn more about each error.#12 10.22#12 10.22------Error: failed to fetch an image or build from source: error building: executor failed running [/bin/sh -c npm run build]: exit code: 1
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 2, 1,2차원 탐색(봉우리)
선생님 안녕하세요 문제를 푸는 과정에서 궁금한 점이 생겨서 질문 드립니다.먼저 저는 문제에서 힌트를 얻어 기존의 배열의 테두리에 0을 추가해주고 풀었습니다.근데 arr.push / arr.unshift를 통하여 배열 상하단에 [0,0,0,0,0]으로 된 배열을 추가하고 난 뒤배열 안의 arr[i]의 배열에도 push, shift를 통해 0을 추가해줬습니다. 이 과정에서 동일하게 for문을 진행했는데추가해준 첫번째, 마지막 배열의 길만 9개가 되는데 왜 그런지 이유를 잘 모르겠습니다.다른 배열들은 push, unshift가 한번씩만 된 거 같은데, 추가해준 배열만 2번씩 된 거 같습니다. 이유가 무엇인지 알 수 있을까요?? 제가 잘못한 부분이 있는걸까요??<html> <head> <meta charset="UTF-8"> <title>출력결과</title> </head> <body> <script> function solution(arr){ let answer = 0; let newArr = new Array(arr.length).fill(0); arr.push(newArr); arr.unshift(newArr); for(let i=0;i<arr.length;i++){ arr[i].push(0); arr[i].unshift(0); } for(let i=0;i<arr.length;i++){ for(let j=0;j<arr[i].length;j++){ let res = arr[i][j]; if(i !== 0 && i !== arr.length - 1 && j !== 0 && j !== arr[i].length - 1){ if(res > arr[i+1][j] && res > arr[i-1][j] && res > arr[i][j+1] && res > arr[i][j-1]){ answer += 1; } } } } console.log(arr) return answer; } let arr = [ [5,3,7,2,3], [3,7,1,6,1], [7,2,5,3,4], [4,3,6,4,1], [8,7,3,5,2] ] console.log(solution(arr)) </script> </body> </html>
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
section 10 수업과 관련해서 질문드립니다!
데이터 추가 후 서버를 종료하고 다시 실행시키면 사진처럼 id column이 사라져버립니다.이유를 모르겠습니다 ㅠ..
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Duplicate entry '' for key 'product.PRIMARY' 에러
graphql로 상품등록 하고 mysql를 끄고 다시 키면 Duplicate entry '' for key 'product.PRIMARY' 에러가 발생합니다. 그래서 mysql에 있는 데이터를 삭제하고 다시 mysql를 키면 정상적으로 작동을 합니다. 데이터를 수동으로 삭제를 안하고 작동을 어떻게 시킬수 있나요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. const input = `15 BACBACCACCBDEDE`.split('\n'); let arr = input[1].split(''); function solution(arr){ let studentMap = new Map(); let winner = ''; let maxNum = 0; for(let i = 0; i < arr.length; i++){ studentMap.set(arr[i], studentMap.get(arr[i]) +1 || 1); } let studentArr = [...studentMap] studentArr.forEach(arr => { if(arr[1] > maxNum){ maxNum = arr[1]; winner = arr[0]; } }) return winner; } console.log(solution(arr));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. const input = `10 3 12 15 11 20 25 10 20 19 13 15`.split('\n'); let M = Number(input[0].split(' ')[1]); let arr = input[1].split(' ').map(str => Number(str)); function solution(arr){ let sumArr = []; let sum = 0; for(let i = 0; i < M; i++){ sum += arr[i]; } sumArr.push(sum); for(let j = M; j < arr.length; j++){ sum += arr[j]; sum -= arr[j-M]; sumArr.push(sum); } return Math.max(...sumArr); } console.log(solution(arr));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이 코드도 괜찮을까요 ?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. const input = `5 5 1 3 1 2 3`.split("\n"); let M = Number(input[0].split(" ")[1]); let arr = input[1].split(" ").map((str) => Number(str)); function solution(arr) { let count = arr.filter((num) => num <= M).length; // 5 let p1 = 0; let p2 = 1; let sum = arr[p1] + arr[p2]; // 4 while (p1 !== p2) { if (sum < M) { count++; p2++; sum += arr[p2]; } else if (sum === M) { count++; sum -= arr[p1]; p1++; } else if (sum > M) { sum -= arr[p1]; p1++; } } return count; } console.log(solution(arr));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이 코드도 괜찮을까요 ?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 수업해주셨던 코드랑 다른건 없을까요 ? const input = `8 6 1 2 1 3 1 1 1 2`.split("\n"); let M = Number(input[0].split(" ")[1]); let arr = input[1].split(" ").map((str) => Number(str)); function solution(arr) { let p1 = 0; let p2 = 1; let sum = arr[p1] + arr[p2]; let count = 0; while (p2 < arr.length) { if (sum < M) { p2++; sum += arr[p2]; } else if (sum > M) { sum -= arr[p1]; p1++; } else if (sum === M) { sum -= arr[p1]; p1++; count++; } } return count; } console.log(solution(arr));