묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
창조절 안됨
https://github.com/Unsok1234/frontend npm run dev로 실행시키고 인터페이스를 중간으로 옮겼는데강의에는 왼쪽으로 돼있짢아요 이걸 제가 수동으로 옮겨도 되나요?
-
미해결[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
_app.js 작성 이후로 에러가 발생하네요
uri 서버를 들어갔더니 계속 무한로딩 되더라구요 그래서 서버 접속되는 포토폴리오용 주소로 했는데도 안됩니다. 무슨 문제인지 모르겠어요
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
nest js 버전문제
수강생분들의 질문을 기다립니다! - 에러에 해당하는 질문은 "에러가 발생한 상황에 대한 충분한 설명", "에러 메세지", "에러가 난 코드 스크린샷"을 함께 첨부해주세요. - 언어에 해당하는 질문은 구글링 및 서치 후에 구체적으로 질문해주시면 좋습니다. - 간단한 진로 및 방향성에 대한 질문은 메일로 보내주세요.- 패키지 버전 관리은 실무 환경과 트랜드에 맞추어 강의를 업데이트 하고 있습니다. 강의를 그대로 따라갔는데 에러가 발생한다면 패키지 버전을 강의에서 사용하는 버전과 동일하게 맞춰주세요!- 강의 노트, QA 목록, 공지 사항을 먼저 확인해주세요.- 논리적이고 구체적인 질문은 학습 효과를 올립니다 🙂 노드 버전 20으로 맞추고 강의 node.js 설치된 모듈대로 설치를 했었는데 문법적인 오류가 뜹니다. 이경우는 어떻게 해야되나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
학습자료
노션의 학습자료 제 개인 노션에서 수정은 안되는건가요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
8.5) Read = 투두리스트 렌더링하기
안녕하세요.투두리스트 렌더링하기에서 TodoItem에 key를 넣지 않았을때 웹브라우저에서 에러가 발생하고, 강의 화면에 vscode에서도 보면 해당 소스코드 위치에 Missing "key" prop for element in... 이라고 나오는데, 제 경우에는 소스코드 위치에 Missing "key" prop for element in... 이라는 내용이 나오지 않습니다. Eslint 플러그인도 설치했고,아래와 같이 설정 했는데, 무슨 차이 때문에 이런 현상이 생기는 걸까요? rules: { "no-unused-vars": "off", "react/prop-types": "off", },그래서, 검색을 좀 해보았고 rules에 아래와 같이 내용을 추가해 봤는데도, Missing "key" prop for element in... 이 내용이 나오지 않습니다. rules: { "no-unused-vars": "off", "react/prop-types": "off", "react/jsx-key": "true", },참고로 저의 package.json은 아래와 같습니다.{ "name": "section08", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", "lint": "eslint .", "preview": "vite preview" }, "dependencies": { "react": "^19.1.1", "react-dom": "^19.1.1" }, "devDependencies": { "@eslint/js": "^9.33.0", "@types/react": "^19.1.10", "@types/react-dom": "^19.1.7", "@vitejs/plugin-react": "^5.0.0", "eslint": "^9.33.0", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", "globals": "^16.3.0", "vite": "^7.1.2" } }
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
강의자료는 어디서 볼 수있나요??
강의자료는 어디서 볼 수있나요??1강에 강의자료는 코드뿐이던데,,
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
학습자료가 안열립니다.
제가 코드캠프(백 + 프론트) 강의 2개를 2024년 3월 12일에 구매를 했는데 잘열리던 학습자료가 안열립니다.
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
[꼭][[꼭] 그랩님, 답변 부탁드립니다], Failed to load resource: the server responded with a status of 404 (Not Found) 상품 상세 페이지 질문입니다.
좋은 강의 잘 듣고 있습니다.다름이아니라, 이전 강의들에 에러들을 다 해결해서 80강을 듣기 전 까지 상품 상세 페이지 구현 후,상품 상세 페이지 보기까지 에러 없이 잘 되던 것이80강을 듣고 코드를 작성 후 부터 '상품 상세 페이지 ' 가 뜨지를 않고 있습니다.아래 사진 첨부 합니다. 사진 1. 아래 사진으로 DB Browser for SQLITE에서 이미지를 작성 해 준 뒤 일단 이미지는 잘 받아 옵니다. 참고로, 사진 1 은 VS CODE 폴더(GRAB-MARKET-SERVER)에서 server.js에 소스 order : [['createdAt','DESC']], 입력을 일단 개인적인 이유로 빼었기 떄문에, 판매되는 상품에 순서가바뀌어 있습니다.order : [['createdAt','DESC']] 을 넣게 된다면 상품 순서는 축구공,농구공,키보드,키보드로 화면에 나타나는데요, 아래 사진과 같아요.제일 먼저 축구공을 누르게 되면 localhost:3000/products/4라고 뜨기에요, 원래 제대로 되려면,축구공을 누르면 localhost:3000/products/1로 되어야 하는거 아닌가요? 그리고 위 첨부한 사진 보면왼쪽과 같이 에러가 발생하는데요, 어떻게 해야 제대로 작동 할까요?그리고 잘못 소스코드를 입력하고 실행하다보니 키보드가 2개 생성 되었습니다만, 이것을 하나만 남기고 싶은데어떻게 해야 하는지요? -->DB Browser for SQLite에서 삭제하는 방법이 있나요?위에 사진 1에서 가장 마지막인 4번째의 축구공을 누르면, 위와 그리고 아래와 같은 에러가 발생하며 상품 정보 상세 페이지.즉 상품 정보를 받고 있습니다... 만 그대로 멈춰있고 이전 강의 챕터에서 만든 것(상품상세페이지) 불러올 수 없게 되어 질문을 남깁니다. 즉 상품 정보 상세 페이지가 잘 만들어져서 그대로 에러 없이 잘 해왔는데, 에러가 나서 여쭈어봅니다.-추가 질문 : 상품 정보를 받고 있습니다... 페이지 경우는 POSTMAN 가짜 서버(=mock서버)에서랑 관련이 깊은 건가요? POSTMAN(=mock서버)에서 그랩님의 강의를 따라올때, 다른점들이 몇가지 있었는데요(몇가지 다른점은 에러가 있었습니다.), 그래서 위 에러가 발생하는 건가요? 다른점이 발생한 경우라면 포스트맨 에러 스샷을 추가로 올리겠습니다. 그럼 봐주실 수 있나요?아니라면 POSTMAN(=mock서버)과 관련 없이 우리는 Node 서버를 구축 했기에,Mock서버인 POSTMAN과 전혀 상관이 없는 건가요?[상품 상세 페이지] 불러오지 못하는 것은 만일 Node 서버의 문제이지, Postman과 상관 없다면,node 서버측에서는 무엇을 고쳐주거나 어떤 소스를 작성해줘야 에러가 해결될까요? 더불어서 79강 강의 2분 56초 부터 3분 32초 보면, POSTMAN 테스트를 하는 부분이 나오는데, 여기서 아래 사진을 보면[왼쪽 메뉴 get product] Body 부분에서 그랩 강사님 화면과 다르게 뜨는데, 이것은 왜 그런건가요?어떻게 해야 http://localhost:8080/products/1 , http://localhost:8080/products/2 , http://localhost:8080/products/3 을 제대로 작동하게 할 수 있나요? 마지막으로 [참고 사진]으로 POSTMAN의 잘 작동하는 [get products]사진 첨부해 봅니다. 어떻게 해야 이 모든 에러를 해결 할 수 있을지에 대해 자세한 답변 부탁드립니다.
-
미해결Do it! Node.js 프로그래밍 입문
몽고db security 설정
15강 몽고DB설정하기 영상의 6분경security 밑에 quickstart 메뉴가 안보이는데아이디와 비밀번호 설정을 어떻게 해야하나요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
6강/7강 수업
다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.6강 마지막 화면이랑 7강 첫화면 코드가 달라져서 이 부분은 어떻게 해결하면 될까요??(안녕하세요->환영합니다)(console.log->alert)크게 이 두 부분이 다른 것 같습니다. 그냥 이대로 진행하면 될까요?2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요!
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
usecallback과 usememo를 중복해서 쓰는 이유(context 분리하기 챕터)
안녕하세요 강의를 잘 듣고있습니다.하지만 개념이 잘 이해가 되지 않은 부분들이 있어서 질문드립니다.context 분리하기 강의 부분입니다!!!이부분에서 이미 전 시간에 만들었던 useCallback으로 선언했던 함수들이 있습니다. 하지만 왜 app컴포넌트의 렌더링으로 인해 또 함수 선언이 되어 usememo를 써야한다고 하셨는지 문의드려요. const onCreate = useCallback((content) => { dispatch({ type: "CREATE", data: { id: idRef.current++, isDone: false, content: content, date: new Date().getTime(), }, }); }, []); const onUpdate = useCallback((targetId) => { dispatch({ type: "UPDATE", targetId: targetId, }); }, []); const onDelete = useCallback((targetId) => { dispatch({ type: "DELETE", targetId: targetId, }); }, []);const memoizedDispatch = useMemo(() => { return { onCreate, onUpdate, onDelete }; }, []);그동안 다른 컴포넌트에 props를 줄때는 color={color}식으로 주고, 이는 객체형태라고 합니다. 받는 자식 컴포넌트에서는 {color} 이런식으로 구조분해할당을 합니다. 하지만 createContext로 만든 provider value ={} 는 기본적으로 객체형태가 아닌걸까요? 기본적으로 구조분해할당을 하지 않는거같아서 뭐지싶었습니다<TodoDispatchContext.Provider value={memoizedDispatch}>useEffect, useMemo의 차이점은 무엇인가요? 기본적으로 의존성 배열을 []로 둘때는 처음으로 컴포넌트가 mount 될때만 실행하고 , [todos]를 넣으면 이 변수 state가 바뀔때만 실행하는거같아서 똑같은거같아요
-
미해결레디스의 모든 것 (feat. Node.js)
강의 소리가 너무 작아요.. 사운드 편집 불가하신지요?
강의가 너무 작아서 스피커 크게 켜놓고 듣다가..카톡 오면 소리에 깜짝깜짝 놀라네요..ㅎ_ㅎ;;;;;;;혹시 수고스러우시겠지만 사운드 편집 안되나요? ㅡ,.ㅡ;;
-
미해결[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
플레이 그라운드 퀴즈 문제 질문이 있습니다.
위와 같이 입력했을 때 fetchBoard 가 null로 나오는데제가 어느부분에서 실수했는지 감이 안잡혀서 질문드립니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
이벤트 선언 관련 질문입니다.
해당 이벤트에서 클릭 시 useNavigate 함수를 호출하라 인데 이 둘의 동작에서 차이가 발생했습니다.그 이유를 설명해주실 수 있으신가요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
복합 대입 연산자
안녕하세요.1.7) 복합대입 연산자 관련 질문입니다.예제) num7 -= 20; 부분입니다.바로 위에 있는 num7 += 20;은 num7에 할당 되어 있는 값에 20만큼 더해서 console result 값은 30이 반환이 될 것이었고, 반환이 되었습니다.그런 논리라면 num7 -= 20; 이면단순 수식으로 생각을 하였을 때, 10 -20 = -10이 되어야 하는게 아닌가 싶습니다.num7 -= 20; 에서 20; 이 부분이 앞에 오게 되는 이유가 있을까요?기본 연산자에서는 정수만 취급하기 때문에 앞뒤의 순서가 바뀐 것일까요? 단순 JS의 구조적인 문제일까요?이에, 설명하셨던 부분과 약간 상이 한 내용인 거 같아서 질문 남겨드립니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
콜백함수-호출 시 인수 값을 안 넣어도 되는건지 궁금합
// 2. 콜백함수의 활용 function repeat(count, callback){ for(idx=0; idx<count; idx++){ callback(idx); } } repeat(4, function callback(){ console.log(idx * 2)}); repeat(4,(idx)=>{ console.log(idx * 4); }) repeat(5,()=>{ console.log(idx * 5); })repeat()으로 호출할 때 콜백함수까지 같이 불러오는 부분에 대해 궁금증이 생겼습니다. repeat(인수, 콜백함수)=> 이 부분에서 콜백함수에 매개변수로 idx를 안 넣어도 콘솔창에 결과가 잘 나옵니다. 그런데도 콜백함수 인수를 작성할 때 idx를 꼭 적어줘야 하나요? repeat(4, (idx) // idx를 넣고 메인 함수 콜백 호출 부분인 callback(idx); 에서 idx를 뺏더니 출력결과가 Nan이 나옵니다. repeat(4, () => 이렇게 idx가 없는 호출문? 에서는 정상적으로 값이 잘 나오는데 저 부분은 왜 안나오는지 궁금합니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
함수- return으로 결과값 반환
// 함수선언 함수를 생성하는 것 function greeting(){ console.log("안녕하세요"); } greeting(); let area1 = getArea(20, 30); console.log(area1); getArea(40, 200000); // 함수 호이스팅 // -> 끌어올리다 라는 뜻. //함수가 선언되는 순서는 중요하지 않다! function getArea(width, height){ function another(){ //증첩함수 console.log('another'); } another(); let area = width*height; // console.log(area); return area; <------------------------- 여기 return이 반환값이라고 하셨잖아요. getArea(40, 200000) = area 와 같다고 생각하면 되는거죠? 그리고 그걸 화면에 출력하기 위해서는 꼭 변수에 담아야 하는거죠? 그건 알겠는데 왜 변수에 담아야 나오는 건지 궁금합니다!! }
-
해결됨React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
ipify.org api 호출 시 클라이언트 ip주소를 반환하는지?
ch-7-2에서포스트 상세 조회 router 안에서 ipify.org api를 호출하는데포스트 상세 조회 API를 클라이언트에서 호출할 경우서버에서 ipify.org api를 호출하기 때문에 의도한바와 다르게 서버 ip 주소가 나오고 클라이언트 IP는 req.ip를 통해서만 얻을 수 있지않나요??const response = await axios.get("https://api.ipify.org?format=json"); ip = response.data.ip;
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
Promise 의 reject 관련 오류
2.13) 비동기 작업 처리하기 2. Promise 강의에서, if 문을 활용한 타입 검증 시 오류인 상황(else) 에서의 reject 가 정상 동작하지 않습니다. /* Promise */ const promise = new Promise((resolve, reject) => { // 비동기 작업 실행 함수 : executor setTimeout(() => { let num = 10; num = '10'; console.log(num); if (typeof num === 'number') { // 성공일 때 호출 resolve(`${num}은 숫자입니다.`); } else { // 실패일 때 호출 reject(`${num}은 숫자가 아닙니다.`); } }, 1000 * 1); }); 위 코드에서, num 타입을 string 으로 변경했을 때 else 문이 진행되는 것으로 기대했습니다. 이때, 브라우저의 디버거에서 오류를 발생시키면서 정상 동작되지 않습니다. 터미널에서는 UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 라는 오류가 발생됩니다. catch 문 없이 reject 를 단독으로 사용하는 것에 문제가 있는 것 같은데, 예제와는 다르게 동작하는 것 같아 문의드립니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
node.js 버전 및 typescript 적용 문의
안녕하세요 강사님.node.js 강의 수강을 이제 막 시작한 프론트엔드 개발자 수강생입니다.1. 모든 강의는 node.js 14 버전 기준으로 녹화가 된게 맞나요? 맞다면 22LTS 버전으로 설치해도 강의를 수강하는데 문제는 없을까요? 2. 그리고 프로젝트 생성 처음부터 typescript 적용하고 싶은데, 초보자에게 괜찮을까요?비추천이시라면 typescript 없이 시작하려고 합니다.감사합니다.