묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
텍스트 rpg 강의 관련 질문입니다
const input = event.target['menu-input'].value; 를 사용하는 부분에서 강의를 듣기로는 menu-input이라는 id를 가진 input의 event.target.value를 따오는걸로 이해했는데이렇게 하지않고 그냥 const $menu-input = document.querySelector('#menu-input');const input = $menu-input.event.target.value; 로 해도 괜찮은건가요? 저 둘의 차이는 단지 두줄을 한줄로 간략하게 하는 용도인가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
도커 yarn install
#0 10.10 error @graphql-tools/merge@9.0.0: The engine "node" is incompatible with this module. Expected version ">=16.0.0". Got "14.21.3"#0 10.10 error Found incompatible module.#0 10.10 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command. ------Dockerfile:10--------------------8 | COPY ./yarn.lock /myfolder/9 | WORKDIR /myfolder/10 | >>> RUN yarn install11 |12 | COPY . /myfolder/--------------------ERROR: failed to solve: process "/bin/sh -c yarn install" did not complete successfully: exit code: 1ERROR: Service 'my-backend' failed to build : Build faileddocker-compse bulid 했을때 에러가 발생합니다
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션5 연속부분수열1 (Two Pointers Algorithm) 질문있습니다.
강사님이 작성해주신 코드를보면 for문안에 while문을 돌려서 시간복잡도가 O(n^2) 아닌가요?이렇게하면 시간복잡도가 O(n)이라서 아래의 코드가 더 좋은것 아닌가요?
-
해결됨비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
PuTTY git pull orgin main 적용안됨..?
안녕하세요 선생님강의를 따라하는 도중 제가 실수로 port번호를 입력하지 않아 수정 후 다시 git에 push를 하고새로 업데이트된 내용을 적용시키기위해PuTTY에서 git pull을 하였습니다.그런데도 마커가 뜨지 않아서 브라우저 개발자도구를 살펴보니 수정한 port번호가 추가 되어있지 않더라구요 ㅠㅠㅠ 이럴때는 어떤방법을 시도해보아야하나요..?
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
리팩토링 강의에서 라우터 리팩토링 전개연산자(...)
선생님 안녕하세요. 좋은강의 정말로 감사드립니다.리팩토링 강의에서 라우터들을 Index.js로 통합시켜줄 때 module.exports = { ...require("./userRouter"), ...require("./blogRouter"), ...require("./commentRouter"), }; 이렇게 전개연산자(...)를 작성해주셨는데요. 이유가 뭘까요? 이렇게 안하고 그냥 module.exports = { require("./userRouter"), require("./blogRouter"), require("./commentRouter"), }; 이렇게 해주려고 하니 에러가 발생하더라구요. 이유가 뭘까요??
-
미해결처음 만난 리액트(React)
styled-components 설치 문제
module를 지웠다가 깔아봐도 계속 이 오류가 뜨네요.,..
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
강의 5분경 내용인 "메인 페이지" 글자가 뜨지 않습니다.
이전 메인페이지가 뜨지 않는다는 질문과 답변들을 통해 App.js파일과 index.js 파일 상단에 import React from 'react'; 를 넣기도 해보고 node와 npm 삭제 > 재설치 후 진행해 보아도 메인페이지에 글자가 뜨지 않아 질문드립니다ㅜㅜ또한 각 파일의 vscode내 터미널 로그를 보아도 딱히 에러가 보이지 않아 문의드립니다..!
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
삭제하기 버튼은 왜 없나요?
DiaryEditor에서 뒤로가기랑 취소하기 버튼 2개가 있는데 "취소하기를 삭제하기로 바꿔야 하는 것 아닌가?"라는 의문이 들었습니다. 강의를 모든 페이지 구성까지 들었는데 어디에서 일기 삭제하기가 없어서요..혹시 책이나 뒷 강의에 나올진 모르겠지만..
-
미해결SCSS(SASS)+FLEX 실전 반응형 웹 프로젝트 with Figma
이전 figma강의를 수강했으면 생략해도 충분할까요?
이전 모바일 웹 퍼블리싱 figma를 수강했는데,이번 강의에서는 알면 넘어가도 된다는 내용이 없어서요 이번 강의 figma에서 새로 쓰는 기능이 있는지, 아니면 html 프레임 잡는거부터 바로 시작해도 충분할까요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
따로 커밋을 하거나 재배포를 하지 않았는데, DB가 자동으로 초기화 됩니다.
fly.io에 server 프로젝트를 deploy 단계까지 마쳤다.web 프로젝트까지 배포가 완료 되어 모든 동작이 잘 이뤄지고 있다.하지만, 일정 시간이 지나면 자동으로 fly.io에 배포된 DB가 초기화가 된다.초기화가 된 것인지, local의 데이터가 자동 업로드 되면서 덮어씌여진 것인지는 잘 모르겠다.이전 질문의 답변을 보면, Commit을 하면서 fly.io가 자동으로 덮어씌여진다는 것을 보았다.-> 하지만, 실험 결과 Commit을 따로 하지 않아도 초기화가 된다.만약 git과 연관이 있다면6-1. 배포 이후 별다른 작업을 하지 않았지만, 일정시간이 지나면, vercel와 같이 자동으로 git의 repository 최신 내용 바탕으로 업데이트 되어, git에 이미 올라가 있던 DB가 fly.io에 반영이 되는것인가가 궁금합니다.6-2. 또한, 그렇다면 애초에 vercel은 레포지토리 주소를 참고하여 배포하였다면, fly.io는 그저 플랫폼 로그인 수단으로만 git을 연동하였는데, 최신 커밋을 참고하는 기능이 있는지도 궁금합니다.결론적으로 현재 반복적으로 DB가 초기화 되는 현상을 고치고 싶습니다. 추가적인 실험 결과, 로컬의 nodemon server.js가 돌고 있는 server 프로젝트를 종료를 하여도, 일정 시간이 지나면 fly.io의 DB가 초기화 되는 것으로 보아, server의 내용이 바뀌면서 자동으로 로컬 내용이 fly.io로 넘어가는 것도 아닌 것 같습니다.
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
날짜 형식
const getStringDate = (date) => { return date.toISOString().slice(0, 10); } const New = () => { const [date, steDate] = useState(getStringDate(new Date())); const navigate = useNavigate(); return ( <div> <MyHeader headText={"새 일기쓰기"} leftChild={<MyButton text={'< 뒤로 가기'} onClick={()=> navigate(-1)}/>} /> <div> <section> <h4>오늘은 언제인가요?</h4> <div className="input-box"> <input value={date} type="date" onChange={(e) => steDate(e.target.value)} /> </div> </section> </div> </div> ) }왜 저는 yyyy-mm-dd 형식이 아니라 yyyy.mm.dd로 나올까요? ㅠㅠ
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
date 설정을 바꿀 수 없을까요?
date를 나타내기 위해const getStringDate = (date) => { return date.toISOString().slice(0, 10); }사용헤서 date를 설정하니까밤에 작성하건 낮에 작성하건 Home페이지에서모두 같은 시간으로 저장되서 시간순으로 저장되는 느낌이 안사는 것 같아요.toISOstring을 안하고 onCreate에 데이터를 넣는 코드 구조도 알려주실 수 있나요? --------------------------------------스스로 생각을 해보았는데 혹시const handleSubmit = () => { if (content.length < 1) { contentRef.current.focus(); return; } onCreate({ date, content, emotion }); navigate("/", { replace: true }); };에서 onCreate 함수에 date대신 new Date().getTime()를 넣으면 제가 생각한 문제가 해결될까요? --------------------------------------다시 생각을 해보았는데 이렇게 하면 시간이 지났을때 전날 일기를 작성할 수가 없네요..
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
왜 src폴더 위치에서 images가 불러와 지는 지 모르겠습니다
<img src="images/icons/logo.png" /> 만으로 사진이 불러와 지는데요 엄밀히 따지면 images 파일은 public 폴더 아래 있으니<img src="../public/images/icons/logo.png" /> 처럼 상위 폴더로 이동 후 public에서 images에 접근할 수 있는 것 아닌가요?
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
안녕하세요. 끝말잇기 order가 안넘어가고 [object HTMLSpanElement]1번째 참가자 이렇게 나옵니다.
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>끝말잇기</title> <style></style> </head> <body> <div><span id="order">1</span>번째 참가자</div> <div>제시어: <span id="word"></span></div> <input type="text" /> <button>입력</button> <script> const number = Number(prompt("몇 명이 참가하나요?")); const $button = document.querySelector("button"); const $input = document.querySelector("input"); const $word = document.querySelector("#word"); // word는 id니까 const $order = document.querySelector("#order"); let word; // 제시어 let newWord; // 새로 입력한 단어 const onClickButton = () => { if (!word) { // 제시어가 비어 있는가? // 비어 있다 word = newWord; // 입력한 단어가 제시어가 된다. 데이터를 바꾸고 // 화면도 바꿔줘야 함 $word.textContent = word; const order = Number($order.textContent); // order 숫자로 변환, 현재 순서 if (order + 1 > number) { // 현재 순서에서 1을 더한 값이 number보다 크다면 $order.textContent = 1; // 다음 순서를 1로 } else { // 그렇지 않다면 $order.textContent = order + 1; // 다음 순서를 현재 순서 + 1로 } $input.value = ""; // 입력칸 다시 공백으로 } else { // 비어 있지 않다 if (word[word.length - 1] == newWord[0]) { // 올바른가? -- 제시어의 마지막 글자와 새로 입력한 단어의 첫 번째 글자가 일치 word = newWord; $word.textContent = word; if (order + 1 > number) { $order.textContent = 1; } else { $order.textContent = order + 1; } $input.value = ""; } else { // 올바르지 않은가 alert("올바르지 않은 단어입니다!"); } } }; const onInput = (event) => { newWord = event.target.value; }; $button.addEventListener("click", onClickButton); $input.addEventListener("input", onInput); </script> </body> </html> 2번째 참가자 라고 떠야하는데 [object HTMLSpanElement]1번째 참가자가 대신 뜹니다ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
포트폴리오 프로젝트
안녕하세요,선생님 강의를 보며 열심히 백엔드 공부중입니다.혹시 포트폴리오 과제같은 경우는 프론트엔드 코스도 봐야 하나요? 아니면 백엔드 커리큘럼 한에서 만들기가 가능할까요?
-
미해결Node.js로 웹 크롤링하기
아래 noscript 내용입니다.
const puppeteer = require('puppeteer'); const dotenv = require('dotenv'); dotenv.config(); const crawler = async () => { try { const browser = await puppeteer.launch({ headless: false, args: ['--window-size=1920,1080', '--disable-notifications'] }); const page = await browser.newPage(); await page.setViewport({ width: 1080, height: 1080, }); await page.goto('https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=서울+지게차'); await page.waitFor(3000); await page.evaluate(() => { window.scrollBy(0, 1500); document.querySelector('#loc-main-section-root > section > div > div.api_more_wrap > a').click(); }); await page.waitFor(3000); await page.waitFor(3000); await page.evaluate(() => { document.querySelector('#_pcmap_list_scroll_container > ul > li:nth-child(1) > div.qbGlu > div.ouxiq.icT4K > div > div > span > a > span.hClKF').click(); }); await page.waitFor(3000); await page.evaluate(() => { document.querySelector('#_pcmap_list_scroll_container > ul > li:nth-child(1) > div.qbGlu > div.ouxiq.icT4K > div > div > div > div:nth-child(1) > span.RUjqr > a').click(); }); } catch (e) { console.error(e); } }; crawler(); Error: Evaluation failed: TypeError: Cannot read properties of null (reading 'click') at __puppeteer_evaluation_script__:2:151 at ExecutionContext._evaluateInternal (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/ExecutionContext.js:122:13) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async ExecutionContext.evaluate (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/ExecutionContext.js:48:12) at async crawler (/Users/youssi/Downloads/nodejs-crawler-master/lecture/index.js:53:5) -- ASYNC -- at ExecutionContext.<anonymous> (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/helper.js:111:15) at DOMWorld.evaluate (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/DOMWorld.js:112:20) -- ASYNC -- at Frame.<anonymous> (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/helper.js:111:15) at Page.evaluate (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/Page.js:833:43) at Page.<anonymous> (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/helper.js:112:23) at crawler (/Users/youssi/Downloads/nodejs-crawler-master/lecture/index.js:53:16) 에러가 납니다. 구글 개발자도구에서 select an element~~~ 누르고 나서야 document.querySelector('#_pcmap_list_scroll_container > ul > li:nth-child(1) > div.qbGlu > div.ouxiq.icT4K > div > div > span > a > span.hClKF').click(); });위 소스가 정상적으로 작동을 합니다. 찾아보니 Javascript를 사용하여 브라우저에서 렌더링하는 웹 페이지를 가져오려고 합니다. 즉, Http Request Node를 사용하여 수신하는 초기 응답에 현재 검색 중인 데이터가 포함되지 않습니다. 당신의 데이터는 자바스크립트 안에 로드되어 브라우저에 의해 html에 삽입될 것입니다.이것과 비슷한 거 같습니다. 크롤링이 안되는 것일까요??
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
같은 css 값일 때
a:link, a:visited, a:active { text-decoration: none; color: #3f464d; } [모던HTML/CSS로 상용화도 가능한 반응형 모던 웹페이지 만들기4] 6:00 부분에서 text-decoration 등 중복되는 설정값이 여러 가상클래스에 적용이 되는데 이런식으로 한번에 써도 되나요 ?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃허브 권한 부탁드립니다.
인프런 아이디 : enoch.ha915@gmail.com인프런 이메일 : enoch.ha915@gmail.com깃헙 아이디 : enoch.ha915@gmail.com깃헙 Username : enochsori
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃허브 권한 요청 드립니다.
인프런 아이디 : zzyoungjin@naver.com인프런 이메일 : zzyoungjin@naver.com깃헙 아이디: zzyoungjin@naver.com깃헙 Username : youngjin-yu
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Docker Compose Volumes - postman 조회 오류
"Docker Compose Volumes" 강의를 통해 local의 코드를 수정하면 docker 내 image가 nodemon으로인해 refresh되는 것을 cat 명령어로 파일을 열어 확인했습니다.그런데 코드를 변경 후 13:54에 나온것처럼 local의 콘솔창에 refresh에 대한 로그가 나타나지를 않으며,local에서 postman으로 확인할 때도 코드가 변경되지 않은 것처럼 작동합니다. 뭐가 문제일까요?