묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
api 요청 로직 내부에서 async
5분쯤 아래와 같이 api 함수 내부에 async 만 사용하셔서 문의드립니다.async 랑 await는 같이 써야한다고 하셨는데,return을 바로하면 async만 사용해도 되는건가요 ??
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
.replace()
안녕하세요~ 정규식과 replace를 사용해서 이렇게 변경해도 될까요? function solution(s) { let re = /A/g; let answer = s.replace(re, "#"); return answer; } let str = "BANANA"; console.log(solution(str));
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
docker-compose build가 안돼요
cmder에 docker-compose build 입력했더니no configuration file provided: not found 라는 문구가 나오면서 안됩니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청드립니다
인프런 아이디: gil인프런 이메일: gil@projectlien.co.kr깃헙 아이디: gilha.leee@gmail.com깃헙 Username: gilhalee깃헙 권한 요청 부탁드립니다
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
뒤로가기
혹시 2번페이지로 갔을 경우 뒤로가기 버튼을 추가하여 1번페이지로 가고 싶은데 onclick: history.back();코드만 추가하면 되는 건가요?
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
검색버튼 작동이 안돼요
검색어를 입력하고 go버튼을 눌러도 작동하지 않고Uncaught ReferenceError: searchPost is not defined at HTMLButtonElement.onclick 라고 메시지가 뜹니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 재요청 드립니다.!!
깃헙 권한 재요청 드립니다! 인프런 아이디 : jungsr417@hanwha.com인프런 이메일 : jungsr417@hanwha.com깃헙 아이디 : jungsr417깃헙 Username : jsr 감사합니다.
-
미해결애플 웹사이트 인터랙션 클론!
load 이벤트시 첫 비디오 이미지가 뜨네요.
window.addEventListener('load' ... 중략sceneInfo[0].objs.context.drawImage(sceneInfo[0].objs.videoImages[0], 0, 0);안녕하세요.작업하다 이상해서, 강의자료도 같이 확인해보니 중간에 새로고침시 videoImages의 첫 이미지가 잠시 뜨는데, 아마 위의 코드 때문이 아닌가 합니다. 저 부분은 첫 scene의 장면임에도 불구하고, 뜬다는 것은 찰나이긴 하지만, 첫영역부터 순간적으로 중간으로 이동하면서 나타나는 현상같기도 한데, 이게 컴퓨터의 성능차이일수도 있다는 생각이 들기도 합니다. 저만 이런건지 모르겠습니다만..저 코드를 제거하고 중간에서 새로고침해보니 안보여서 문제가 없지만, 최상단 첫화면에서 새로고침하면 이미지가 안보이니 또 문제더군요.그래서 위 코드를 제거후, 새로고침시 조금 스크롤되는 코드에서 추가 조건문(else)를 붙여서 아래와 같이 수정해보았습니다. if (tempYOffset > 0) { let siId = setInterval(() => { scrollTo(0, tempYOffset); tempYOffset += 5; if (tempScrollCount > 20) { clearInterval(siId); } tempScrollCount++; }, 20); } else { sceneInfo[0].objs.context.drawImage(sceneInfo[0].objs.videoImages[0], 0, 0); } 이렇게 처리하니 문제가 없는 듯 한데, 이게 저한테만 생기는 문제인지, 아니라면 제가 위와 같이 처리한 방법이 맞는것인지 궁금합니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
토글 부분에서 리팩토링이 되지 않아 질문드립니다.
저는 getTime() 으로 타임을 받아서 value 부분을 객체로 만들어서 넘기고 있었습니다.store에서 sort 기능을 추가하였고완료된건을 아래로 넘기는 작업을하고 완료되지않은 건은 위로 올려서 나뉘게 작업하였습니다.그런대 이전에 store을 쓰지않을때는 단순하게 토글할때 sort를 함수로 만들어서 호출하였더니 잘되었습니다.store에 함수로 만들고 호출하고 나서는 리팩토링이 되지 않습니다 ㅠㅠ새로고침했을때는 잘 작동합니다. 또한 console창에도 바뀐 로직으로 잘 뜹니다.toggleOneItem 부분 봐주시면 감사합니다fetch부분에서는 잘되어서 리스트 가져올땐 잘되었는대 ㅠㅠ 토글하면서 잘 안돼더라구요!제가 어떤것을 실수 했을까요..? import Vue from "vue"; import Vuex from "vuex"; Vue.use(Vuex); //글로벌하게 Vuex를 쓰겠다는 의미 //해당 라이브러리를 사용하기 위한 초기화 코드를 실행하는 구문 //뷰에 연결해야 vuex를 사용할 수 있다 let sortItem = []; function sortlist(state) { const trueItem = state.filter( (item) => item.completed === true ); const falseItem = state.filter( (item) => item.completed === false ); trueItem.sort(function (a, b) { return b.value.time - a.value.time; //내림차순 }); falseItem.sort(function (a, b) { return b.value.time - a.value.time; //내림차순 }); sortItem = [...falseItem, ...trueItem]; return sortItem; } const storage = { fetch() { //네트워크의 리소스를 쉽게 비동기적으로 가져오기 //app에 있는 created를 store에 붙이기 let arr = []; if (localStorage.length > 0) { for (let i = 0; i < localStorage.length; i++) { if (localStorage.key(i) !== "loglevel:webpack-dev-server") { const item = localStorage.getItem(localStorage.key(i)); arr.push(JSON.parse(item)); //arr배열을 만들어서 푸시해주기 sortlist(arr); } } } return sortItem; // {} 단위밖에서는 arr을 호출할 수 없으므로 return 반환 }, }; // //다른 컴포넌트에서 this.$store 로 사용할 수 있음 export const store = new Vuex.Store({ state: { headText: "TODO it!", //헤더에 들어갈 값 등록하기 //todoItems: [], todoItems: storage.fetch(), //위에 만들어준 값을 넣어준다 }, getters: { getTotalNum(state) { //인자는 state return state.todoItems.length; }, getTrueNum(state) { //인자는 state const trueItem = state.todoItems.filter( (item) => item.completed === true ); return trueItem.length; }, }, mutations:{ addOneItem(state, value) { //console.log(value) const obj = { completed: false, value: value }; //const를 쓰면 재선언할 수 없어 디버깅할 때 충돌을 줄일 수 있음 //오브젝트로 만들어줬기 때문에 obj를 찍게 되면 object object가 찍힘, 따라서 문자열로 변환해 주는것 localStorage.setItem(value.item, JSON.stringify(obj)); //JavaScript 값이나 객체를 JSON 문자열로 변환 if(!state.todoItems.some(element => element.value.item == value.item)){ state.todoItems.unshift(obj); }else{ alert('이미 작성된 내용입니다.'); } }, removeOneItem(state, payload) { //console.log(payload); localStorage.removeItem(payload.todoItem.value.item); //객체일때 로컬스트리지에서 삭제하기 state.todoItems.splice(payload.index, 1); //현재 리스트에서 삭제하기 }, toggleOneItem(state, payload) { //todoItem.completed = !todoItem.completed; //이벤트로 넘어온값을 바꾸는 것을 안티패턴이라고 하며 어짜피 props로 내려준 값이 변경되므로 아래와같이 변경한것 state.todoItems[payload.index].completed = !state.todoItems[payload.index].completed; //localStorage 갱신하기 localStorage.removeItem(payload.todoItem.value.item); //localStorage는 업데이트 기능이 없으므로 삭제 후 localStorage.setItem(payload.todoItem.value.item, JSON.stringify(payload.todoItem)); //새로 추가해준다, 이때 completed 값이 바꼈으므로 바뀐값이 들어오게 된다. sortlist(state.todoItems); //리팩토링이안돼네...추후에 해결할것 ㅠㅠ }, clearAllItems(state) { localStorage.clear(); state.todoItems = []; }, }, });
-
해결됨[코드캠프] 시작은 프리캠프
실습4 함수작성방법 예제
const sendVerificationCode = () => { const token = String(Math.floor(Math.random() * 1000000)).padStart(6, "0") document.getElementById("verification__code").innerText = token document.getElementById("verification__code").style.color = "#" + token } const sendVerificationCode = () => { document.getElementById("verification__code").innerText = String(Math.floor(Math.random() * 1000000)).padStart(6, "0") document.getElementById("verification__code").style.color = "#" + String(Math.floor(Math.random() * 1000000).padStart(6, "0")) }상단의 코드와 하단의 코드 중 저는 하단의 코드로 작성했었는데, 이 경우 랜덤한 숫자는 나오는데 색은 변화가 없었습니다. 해당 이유를 알고 싶습니다!
-
해결됨HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
loginForm input type=email, password 위치 css 오류
선생님~ padding-left:30px; 이 부분이 placeholder 블럭안으로 가야할 거같아요 input[type="email"], input[type="password"] {} 이 블럭안에 있으면 밑에 이미지처럼 중앙에 안맞더라고요~
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청드립니다!!
인프런 아이디 : seajin97@g.shingu.ac.kr인프런 이메일 : seajin97@g.shingu.ac.kr깃헙 아이디 : seajin97@g.shingu.ac.kr깃헙 Username : simsimhang
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
jobs api가 동작하지 않습니다
다른 분들처럼 위의 문구가 나오네요확인 좀 부탁드려요
-
미해결자바스크립트 제대로 배워볼래?
선생님 안녕하세요. array내장함수 수업듣는중 이해가 안되는 부분이있어서 질문드립니다.
선생님 안녕하세요. array내장함수 수업듣는중 이해가 안되는 부분이있어서 질문드립니다.var person = [ {name:"유재석", point:78}, {name:"김종국", point:92}, {name:"양세찬", point:76}, {name:"하하", point:81}, ]; person.sort(function(a,b){ if(a.point > b.point){ return -1; } else if (a.point < b.point) { return 1; } else { return 0; } }); console.log(person); 변수안에 객채를 생성하고 sort안에 함수선언해서 조건문 넣는부분까지는 이해가 되는데요.함수안에 매개변수로 비교하는부분에서요 a,b에 대한 비교부분에서 이해가 잘안됩니다.매개변수안에서 a,b로 어떤 구조로 4개의 객체를 비교하는지 알려주시면 감사하겠습니다
-
미해결처음 만난 리액트(React)
chapter_05 오류 질문 입니다.
안녕하세요 소플님!!좋은 강의 너무 잘 듣고 있습니다. 다름이 아니라 chapter_5에서 npm start 를 하면 다음과 같이 실행이 되고 빈 화면이 뜹니다... 어떤 오류인지 찾지 못해서 질문 드립니다..!!
-
미해결[코드캠프] 훈훈한 Javascript
savedWeatherData 조건문
안녕하세요. 마지막 강의까지 잘 듣고 있습니다.강의 중 조건문에서 savedWeatherData 사용하셨는데, 그 전에 변수로 선언해준적이 없어서 에러가 나고 있어요어디부분에 선언을 하면 되는건지 궁금합니다.
-
미해결처음 만난 리액트(React)
컴포넌트 재 렌더링 과정이 궁금합니다.
안녕하세요 소플님!감사하게도 강의 너무 잘 듣고 있습니다!강의에서 알려주신 Accommodate function component 코드 제일 상단에 아래 처럼 로그를 찍도록 선언을 했는데요.function Accommodate(prop) { console.log("Accommodate created!!!") const [isFull, setIsFull] = useState(false); const [count, increaseCount, decreaseCount] = useCounter(0); useEffect(() => { console.log("======================"); console.log("useEffect() is called."); console.log(`isFull: ${isFull}`); }); //이후 생략 }최초에 화면을 그린 로그는 아래처럼 나오고 있는데Accommodate created!!! ====================== useEffect() is called. isFull: false Current count value: 0 입장 버튼을 누르고난 뒤에는 Accommodate created!!!로그가 마지막에 한번씩 더 찍히더라구요.count가 변경이 됐기 때문에 Accommdate를 재렌더링 했고 그 과정에서 1번 useEffect에 선언한 함수가 호출되고count가 변경됐기 때문에 2번 useEffect에 선언한 함수가 호출되는건 알겠는데, 최상단에 작성한 로그가 다시 찍히는 이유가 어떤거 인가요??Accommodate created!!! ====================== useEffect() is called. isFull: false Current count value: 1 Accommodate created!!!재렌더링이 또 된거라고 봐야하는걸까요..?!
-
미해결처음 만난 리액트(React)
실행이 잘 되지않습니다.
안녕하세요 import문에서 일부 입력하면 뒤에 경로가 자동으로 생성되는 부분에서 자꾸 소문자로 변하길래 수정해 주니 빨간 줄이 뜹니다. 또한 경로의 대소문자에 상관없이 실행이 어렵습니다. 확인 부탁 드립니다. 코드와 오류 나는 부분 첨부 합니다. Book.jsximport React from "react"; function Book(props){ return( <div> <h1>{`이 책의 이름은 ${props.name}입니다.`}</h1> <h2>{`이 책은 총 ${props.numOfPage}로 이루어져 있습니다.`}</h2> </div> ); } export default Book;Library.jsximport React from "react"; import Book from "./Book"; function Library(props){ return( <div> <Book name="책 1" numOfPage ={100}/> <Book name="책 2" numOfPage ={200}/> <Book name="책 3" numOfPage ={300}/> </div> ); } export default Library;index.jsimport React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; // import App from './App'; import reportWebVitals from './reportWebVitals'; import Library from './ch03/Library'; ReactDOM.render( <React.StrictMode> <Library /> </React.StrictMode>, document.getElementById('root') ); // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals reportWebVitals();
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
bad CPU type in executable: docker-credential-gcr
배포 사전 학습과제 진행중에,gcloud로 docker-credential-gcr 설치gcloud components install docker-credential-gcrdocker-credential-gcr 이용 docker-credential-gcr configure-docker 를 입력했을 때 제목과 같이 bad CPU 에러가 발생합니다. 이유를 알고싶습니다.(경로 확인which docker-credential-gcr 했을 때/Users/paradise/Desktop/google-cloud-sdk/bin/docker-credential-gcr 라고 확인됩니다.)(파일 executable 확인file docker-credential-gcr 했을 때docker-credential-gcr: Mach-O 64-bit executable arm64 라고 확인됩니다.) ingress 설정중에 발생한 문제가 있습니다. ingress 를 만들기 전에 이미지를 새로 만들고 gcloud shell에서 set image를 통해 재배포하는 단계까지는 모두 성공적으로 작동합니다. 다만 ingress를 만들면 404, cannot get error 가 발생합니다.All backend services are in UNHEALTHY state라고 나옵니다.이유가 궁금합니다.
-
해결됨HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
이미지 전환 후 잔상 효과
안녕하세요! 시즌 1강의부터 시즌 2 강의까지 유익하게 잘 듣고 있습니다! 다름이 아니라 강의를 듣고 강사님께서 작성해주시는대로 코드는 똑같이 작성했는데 이미지 전환 후 화면 아래에 잔상이 생깁니다. 이것저것 써보다가 혹시나 하여 강의 영상도 확인해보니 영상에서도 아랫쪽에 잔상이 남아있습니다. (24:23초 부분) 혹시 이유가 있거나 해결하는 방법이 있을까요?!(코드는 영상과 똑같이 작성하였기에 첨부하지 않았습니다!)감사합니다!