묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Javascript ES6+ 제대로 알아보기 - 초급
this바인딩 질문
const b = { name : '하하', bb () { return this.name; }, a: x => { return this.name; } } 생뚱맞은 질문 있을수도 있는데 여기서 a: x=> {return this.name}에서 에로우 함수는 함수스코프인데 실행컨텍스트 실행이 this바인딩을 안하니까 const b= {}이쪽 스코프를 참조하니까 객체에서의 this는 window인가여 TT bb() { const b = x => { return this.name; } } 같은경우는 this바인딩 안하니까 외부함수 즉 메소드 bb(){}의 this를 보니까 this는 b를 보는건 알겟는데용
-
미해결제주코딩베이스캠프 Code Festival: JavaScript 100제
키가 숫자일때 점접근자사용
안녕하세요선생님~ 수업 잘 듣고있어요 객체에서 키값으로 문자나 숫자를 쓸수있다고 하셨는데 ,숫자1을 키값으로 쓰니까 점접근자를 사용할수없네요? 각괄호접근자로는 값이 출력되구요 왜 그럴까요?
-
미해결타입스크립트 입문 - 기초부터 실전까지
타입 확장 불가능에 대한 질문입니다.
type test1 = {name: string} type test2 = test1 & {age: number} const test3: test2 = { name: 'd', age: 33 } 찾아보니 제가 보기에는 위 코드가 interface 처럼 확장이 되는 것 같던데, 제가 쓴 코드는 확장의 개념이 맞는지 아닌지 질문드립니다.
-
해결됨인터랙티브 웹 개발 제대로 시작하기
zMove에 1000이나 950곱하는것
안녕하세요 선생님 궁금한게 생겨서 질문드려요! const zMove=pageYOffset/maxScrollValue*1000-490; houseElem.style.transform='translateZ('+zMove+'vw)'; 여기에서 zMove에 1000을 곱할때 pageYOffset/maxScrollValue가 너무 작아서라고 이해했는데 다시듣다보니 의문이 생겨서요 .wall-left, .wall-right의 width가 1000vw인것과 관련있는건가요? 스크롤이 끝까지 가지않게 950을 곱해주시는걸 보고 든 생각인데 이게 맞는건지 궁금해요
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
slot 에러 질문입니다.
안녕하세요 강사님. 저는 vue cli 4 버전으로 하고 있습니다. 기존 강의 대로 slot 부분을 따라하면 npm run serve 했을 때 사진과 같은 에러가 납니다. 위의 에러를 검색해서 찾다가 TodoInput 컴포넌트의 <h3 slot="header">경고</h3> 을 <template v-solt:header>경고</template> 로 바꾸니까 해결이 되었습니다. 제 생각에는 4버전의 eslint-loader가 기존 강의 버전과 다른 규칙이 있어서 그런 것 같은데 제 생각이 맞는지 여쭤보고 싶어서 질문을 드립니다. 그리고 혹시나 제가 한 것 말고 다른 해결 방법이 있다면 알려주시면 감사하겠습니다.
-
해결됨Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
dispatch 에 관한 질문입니다.
actions.js 에서 return response를 명시하지 않고 곧바로 Ask.vue에서 then으로 체인을 할수 있던데요, 어떻게 돌아가는건지 정확히 알 수 있을까요?
-
미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
제로초님 HTTP 완벽가이드 추천해주신거 너무 잘 읽었습니다.
제로초님 노드 js교과서 예전버전과 유튜브에 올려주식 새 버전 모두 너무 감사하게 잘 듣고 있습니다. 강의 중간에 소개해주셨던 HTTP 완벽가이드책을 보면서 HTTP를 한번 훓었는데 HTTP 전체 개념을 잡는데 정말 큰 도움이 된것 같습니다. 너무 좋은 책 소개해주셔서 감사드립니다. 다름이 아니라 HTTP 공부 뒤에 운영체제도 공부해보려고 하는데 혹시 추천해주실만한 책이 있는지 물어봐도 될까요?현재 알아본것은 - 운영체제 (일명 공룡책)- 그림으로 배우는 구조와 원리 운영체제- 운영체제와 정보기술의 원리 이렇게 세권이 좋다는 말은 들었습니다. HTTP 완벽가이드처럼 입문자도 쉽게 이해할수 있으면서 필수개념은 다 익힐 수 있는 책을 공부하고 싶은데 혹시 조언을 부탁드려도 되는지 여쭙고 싶습니다. 강의와 관계없는 질문이라 물어보기 죄송한데 주변에 조언을 얻을만한 곳이 없어서 이곳에 올립니다.좋은 하루 보내시기 바랍니다!
-
해결됨프로그래밍 시작하기 : 웹 입문 (Inflearn Original)
설문조사 실습에서
설문조사 실습에서 for (var j = 0; j < list[i].options.length; j++) // 이 부분에서 에러가 나타납니다.Uncaught TypeError: Cannot read property 'length' of undefined at survey.html:23뭐가 문제일까요...?
-
미해결코어 자바스크립트
호이스팅 관련 질문
안녕하세요? 강의 재밌게 잘 들었습니다. 호이스팅 관련된 질문이 있습니다. 강의를 보고나니 호이스팅, 즉 스코프 내에서 선언과 할당을 분리하는 방식이 언어 설계 상에 어떤 의도가 있는지 의문이 생겼는데요. 열심히 구글링을 해보니 1. JS 엔진이 코드를 실행하기 앞서서 컴파일 과정을 거치고 이 컴파일 과정에서 먼저 선언문을 처리함으로써 각 선언문의 렉시컬 스코프를 결정해주기 위해서라는 결론에 도달했습니다. 그런데 어차피 실행 하기 전에 컴파일 되는 방식이라면요. 굳이 선언을 올리는 방식이 아니라 다른 언어들처럼 컴파일러가 알아서(죄송하지만 구체적으로 표현을 못하겠습니다) 최적화된 기계어를 뽑아낸 다음에 그걸 실행시키면 되는게 아닌가? 라는 의문이 생겼습니다. 다시 구글링을 열심히 해보니 2. JS는 브라우저에 렌더링 하기 직전 짧은 시간에 컴파일을 해줘야 하기 때문에 위와 같은 방식이 불가 하고 컴파일과 인터프리팅을 한 번에 top-down으로 쭉 해줘야 한다는 내용을 알게되었습니다. 저는 1과 2를 합해서 3. 현재 스코프의 모든 선언문이 어디서 나타나든 실행 전에 컴파일 과정을 지나게 해야한다. 그래야 top-down으로 컴파일->인터프리팅이 가능하기 때문이다. 그래서 호이스팅으로 현재 스코프의 선언문을 먼저 올려야 한다. 라는 결론을 내렸는데요. 1과 2에 대한 정보는 많은데 3에 대한 자세한 잘 못찾겠어서 이곳에 질문을 남깁니다. 3의 내용에 잘못된 부분이 있는지 알려주신다면 감사하겠습니다. 긴 질문 읽어주셔서 감사합니다. 답변 기다리도록 하겠습니다.
-
미해결Vue.js 시작하기 - Age of Vue.js
개발자도구(F12)를 눌렀을때 VUE 탭이 안보이네요.
cli이전 html 작성코드를 Open with Live Server로 실행했을때는 개발자코드에 vue탭이 보였는데요. localhost:8080에서 개발자코드를 열면 vue탭이 안보입니다.
-
해결됨프로그래밍 시작하기 : 웹 입문 (Inflearn Original)
radio에 관해 질문드립니다.
강의대로 input 태그 중 radio를 이용해 성별을 선택할 수 있도록 했을때 중복선택이 가능하고 한번 누르면 취소가 안됩니다. 중복을 허용하지 않도록 하는 방법이 있을까요?
-
해결됨Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
아무리 찾아도답이안나와서 질문드립니다.
https://codepen.io/mikilll94/pen/RwbYrpz 간단한 예제인데요. 데이터가 많을때 v-model 바인딩을 하면 속도가 엄청느려지는데 이유가 뭔가요 v-model 동작방식과 관련이 있을까요??.. 그리고 해결방안이 있을까요
-
해결됨애플 웹사이트 인터랙션 클론!
블로킹
이미지 경로의 문제가 있는건가요???
-
미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
fxsql 사용 중 질문이 있습니다.
안녕하세요. 강의중 소개된 fxsql과 관련하여 질문이 있어서 남기게 되었습니다. - fxsql의 ASSOCIATE 를 사용시 서로다른 테이블들을 각각 select하여 데이터를 가져오는것으로 확인하였는데 join을 사용하여 쿼리를 날리는 방법은 없는것일까요? - fxsql로 구성된 서버를 local, staging, production과 같은 서로다른 환경으로 분리하여 사용 시 데이터베이스 테이블이나 필드같은 부분은 어떤식으로 동기화하여 사용하는것이 best practice일까요? 좋은강의 정말감사드리며 다음 강의가나오길 기대하고 있습니다!
-
해결됨Vue.js 끝장내기 - 실무에 필요한 모든 것
첫번째 로그인시에 토큰값이 없는 이유
많은 분들이 헷갈려 하시는 것이 첫번째로 로그인할때 headers 에 Authorization 부분이 비어 있는 부분이 강의에 나오지 않아 헷갈려하시는것 같습니다. 현재 강의에서는 강사님도 로그인을 첫번째로 하시고 토큰값을 받아온 뒤 로그아웃 이후 다시 로그인을 하셔서 토큰값을 서버에 보내신것같습니다. 첫번째 로그인할때는 당연히 토큰을 받아온게 없으므로 없는게 정상인것같습니다.
-
해결됨애플 웹사이트 인터랙션 클론!
오류
검은 박스가 밖에서 안으로 들어오려는거 같은데 원인을 알 수 있을까요? case 3: // 가로, 세로 모두 100%로 채우기 위한 세팅(계산 필요) const widthRatio = window.innerWidth / objs.canvas.width; const heightRatio = window.innerHeight / objs.canvas.height; let canvasScaleRatio; if (widthRatio <= heightRatio) { // 브라우저 width < 캔버스 width인 경우 canvasScaleRatio = heightRatio; } else { // 브라우저 height < 캔버스 height 경우 canvasScaleRatio = widthRatio; } objs.canvas.style.transform = `scale(${canvasScaleRatio})`; objs.context.drawImage(objs.images[0], 0, 0); // 캔버스 사이즈에 맞춰 가정한 innerWdth와 innerHeight const recalculatedInnerWidth = document.body.offsetWidth / canvasScaleRatio; const recalculatedInnerHeight = window.innerHeight / canvasScaleRatio; if (!values.rectStartY) { // values.rectStartY = objs.canvas.getBoundingClientRect().top; values.rectStartY = objs.canvas.offsetTop + (objs.canvas.height - objs.canvas.height * canvasScaleRatio) / 2; values.rect1X[2].end = values.rectStartY / scrollHeight; values.rect2X[2].end = values.rectStartY / scrollHeight; } const whiteRectWidth = recalculatedInnerWidth * 0.15; values.rect1X[0] = (objs.canvas.width - recalculatedInnerWidth) / 2; values.rect1X[1] = values.rect1X[0] - whiteRectWidth; values.rect2X[0] = values.rect1X[0] + recalculatedInnerWidth - whiteRectWidth; values.rect2X[1] = values.rect2X[0] + whiteRectWidth; // 좌우 화이트박스 그리기 // objs.context.fillRect(values.rect1X[0], 0, parseInt(whiteRectWidth), objs.canvas.height); // objs.context.fillRect(values.rect2X[0], 0, parseInt(whiteRectWidth), objs.canvas.height); objs.context.fillRect( parseInt(calcValues(values.rect1X, currentYOffset)), 0, parseInt(whiteRectWidth), objs.canvas.height ); objs.context.fillRect( parseInt(calcValues(values.rect2X, currentYOffset)), 0, parseInt(whiteRectWidth), objs.canvas.height ); break;
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
todolist에 propsdata를 this.$store.state.todoItems로 변경시켜줬더니 페이지에 아무것도 뜨지않습니다
todolist에 propsdata를 this.$store.state.todoItems로 변경시켜줬더니 페이지에 아무것도 뜨지않습니다 F5 리플래쉬하면 데이터는 화면에 반영됩니다만 화면에서 액션일으킬때 실시간으로 반영이 안됩니다....
-
해결됨제주코딩베이스캠프 Code Festival: JavaScript 100제
버블정렬
버블정렬 함수를 구현하실 때 2번째 for 문에서 result.length에서 1을 안 빼는 이유가 있나요??
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
i 태그가 왜 안 되나 봤더니..(해결방법)
vue create vue-todo와 vue init webpack-simple vue-todo 차이가 있습니다. vue create vue-todo는 (자신이 생성한 프로젝트) vue-todo/public/index.html를 수정해야하고, vue init webpack-simple vue-todo는 (강의 속 생성한 프로젝트) vue-todo/index.html를 수정하는 것입니다. 그래서 즉 vue create vue-todo로 사용하시는 분들은 vue-todo/public/index.html를 수정하시면 됩니다.
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
Vuex 를 설치/등록한 이후로 npm 서버가 실행이 되지 않습니다
지금까지 수업했듯 npm run serve 로 서버를 실행시켜서 state 적용된 것을 체크해보려고 했으나, 위와 같은 에러 메세지가 발생했고, 여기서 제시한 npm install --save core-js/modules/es.array.splice 명령어를 실행하였으나, 이런 메세지가 또 발생합니다. 이 메세지 내용을 보고, 구글링을 해본 결과 package-lock.json을 삭제하고 다시 실행시키거나 npm cache verify 명령어를 실행하거나 등등 여러가지 답변이 있었으나 전부 실행되지 않습니ㄷㅏ.최종 에러 메세지 상에는 Could not install from "core-js/modules/es.array.splice" as it does not contain a package.json file. 이렇게 적혀 있어서, 이부분을 보완하면 될 듯한데... 전혀 진행되지 않아서요...