묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨애플 웹사이트 인터랙션 클론!
블로킹
이미지 경로의 문제가 있는건가요???
-
미해결함수형 프로그래밍과 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. 이렇게 적혀 있어서, 이부분을 보완하면 될 듯한데... 전혀 진행되지 않아서요...
-
미해결Node.js 교과서 - 기본부터 프로젝트 실습까지
GCP관련질문입니다.
제로초님이 하신대로 gcp 컴퓨트엔진으로 생성해서초기설정(apt-get update, npm 설치등등)하고 express-generator로 express 제일 기본앱을 만들었는데외부아이피로 3000포트 붙여서 접속해도 계속 로딩만 돌고 접속이 안되어서 질문드립니다. 혹시 방화벽 문제인가 싶어서 방화벽도 수신,송신을 3000을 다 열어놨는데도 안되고그래서 bin/www열어서 3000포트를 80번 포트로 바꿨더니`Port 80 requires elevated privileges`라는 에러가 뜨네요어떻게 해결하면 좋을지 조언을 구합니다.강의 감사히 보고있습니다~!!
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
this에 관한 질문
객체에서의 this는 자기자신을 가르킵니다. 근데 es6 화살표함수를 사용하면 window를 가르키던데 제가 알기론 일반 함수가 실행되면 함수 컨텍스트가 만들어지고 그 안에 this, 변수객체, scopeChain가 정의되어져 있는걸로 알고 있습니다. 근데 es6 화살표 함수가 실행되면 함수 컨텍스트안에 this라는 것이 없고 변수객체에 this를 변수로서 상위 scope의 this를 가져오는게 맞을까요? 그래서 es6 화살표함수에는 bind()가 먹히지 않는지 궁금합니다..
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
mutations 의 인자 갯수
payload 인자를 객체화 시켜서 한번에 넘겨주지 않고 이렇게 넘겨주어도 작동은 하는데 방법은 상관이 없을까요? removeOneItem(state, todoItem, index) { localStorage.removeItem(todoItem.item); state.todoItems.splice(index, 1); },
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
오류
vue.runtime.esm.js?2b0e:619 [Vue warn]: Unknown custom element: <Mdoal> - did you register the component correctly? For recursive components, make sure to provide the "name" option. found in ---> <TodoInput> <App> at src/App.vue <Root> slot으로 만들어준 cusotm header만 출력이 됩니다. 버튼이나 배경 모달창은 뜨지 않습니다. 어떻게 해결해야되나요?
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
splice
7:00 분 경에 splice가 원래 있던 배열을 변경해서 새로운 배열을 반환해주신다고 하셨는데 새로운 배열을 반환해주는게 아닌 그냥 해당 배열을 변경만 해주는걸로 이해해도 될까요?
-
해결됨Vue.js 시작하기 - Age of Vue.js
데이터 바인딩 관련 질문입니다..
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Document</title> </head> <body> <div id="app"></div> <script> // 대부분의 오픈소스 라이브러리들은 IIFE를 활용한다. (function () { function init() { var div = document.querySelector("#app"); var viewModel = {}; Object.defineProperty(viewModel, "str", { get: function () { console.log("접근"); }, set: function (newValue) { console.log("할당", newValue); render(newValue); }, }); } function render(value) { div.innerHTML = value; } init(); })(); </script> </body> </html> 질문이 있습니다. 데이터 바인딩이라는 것이 viewModel을 Object.defineProperty(viewModel) 하는 것까지이고 set이라는 속성을 통해 데이터값에 변화가 있다면 화면에 재랜더링 하는 것을 Reactivity 라고 생각하면 될까요? 아니면 데이터 바인딩라는 개념에 Reactivity를 포함해서 데이터와 뷰연결 + 데이터가 바뀔시 화면 재랜더링 까지 포함되어있는건가요?
-
해결됨Vue.js 시작하기 - Age of Vue.js
템플릿
템플릿 문법 이라는 단어에서 템플릿이란 template:'<div></div>' 이렇게 사용되는 속성으로 알고 있습니다. 근데 이 속성을 사용하지 않고 <div id="app"></div> 안에서 사용되는 태그에 템플릿 문법을 사용하고 있는데 뷰의 템플릿 문법은 템플릿 속성에 한정해서 사용하는 것이 아니라 그냥 뷰로 화면을 조작하는 방법이라고 받아들이면 될까요?
-
해결됨Vue.js 시작하기 - Age of Vue.js
라우터와 라우팅의 차이.
라우팅이라는 것은 각 url에 따른 정보 처리를 의미하면 라우터의 의미는 무엇인가요?
-
해결됨Vue.js 시작하기 - Age of Vue.js
질문
데이터바인딩이라는 문법에서는 Object.defineProperty 라는 api를 사용하는데 이 api가 props에 도 적용되어있다고 강의에서 말씀하셨습니다. 이 부분이 이해는 가는데 Vue라는 생성자 함수에서 Object.defineProperty가 Vue라는 생성자함수에서 어떤식으로 사용되고 있는지와 Vue 생성자함수가 어떻게 구현되어있는지에 대해서 알 필요가 있을까요? 너무 깊게 들어가는것이 아닌 그냥 쓰는 방법에 익숙해지는게 맞는지 궁금합니다.
-
미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
퍼포먼스/가독성
초보적인 질문입니다 ㅠㅠ 1.지연 평가/즉시 평가 예제에서 L.map과 L.filter그리고 reduce를 조합해서 써주셨는데요 이전 강의부터 궁금했던 건데 지연 평가를 한다고 해도, reduce의 경우 takeAll처럼 결국 이터러블/이터레이터를 모두 평가를 해야되기 때문에 지연 평가나 즉시 평가나 시간복잡도/퍼포먼스적인 부분에서 차이가 없는 것이 아닌가 생각되는데 이것이 맞나요? 제 생각에 지연 평가는 take(작은 수)로 이터러블의 모든 요소를 순회/평가하지 않아도 되는 경우에만 의미가 있는 것 같은데, 뭔가 놓친 부분이 있는 것은 아닌지 궁금합니다 2.reduce only / reduce + map + filter 강의에서 말씀해주신 부분에서만 추측해보자면, 함수 합성으로 하시는 이유가 추상화/재사용성/가독성 등의 이유가 주된 이유인 것 같습니다. 그런데, map, filter, reduce의 조합이면 일단 순회를 3차례 돌아야 하는 것이고, reduce만 쓰면 순회는 1차례에서 끝날 텐데, 혹시 퍼포먼스적인 부분에서는 차이가 없나요? 1번 질문이랑 연결해서 (이터러블의 모든 요소를 순회해야 한다면) 지연 평가를 한다고 해도 평가를 그때 그때 필요한 시점에 하는 것일 뿐, 평가를 덜해도 되는 것이 아니기 때문에 제 생각에는 최종 평가까지 걸리는 시간이 더 들 것 같은데... (console.time을 찍어봤지만 간단한 예제라서 그런지 실행 시간에는 별 차이를 느끼지 못했습니다...)
-
미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
ws.has(arr) 문의 입니다.
arr = null을 했다고 하더라도, 가비지 컬렉터 입장에서 보면 ws에서 참조 중이기 때문에 가비지 컬렉견 대상으로는 되지 않을 것 같습니다. 가비지 컬렉션 대상으로 인식한다는 근거로 제시하신 것이 ws.has(arr) 인데, arr에 null값을 넣고 하였으니... ws.has(null)이니 당연 false나오는 거 아닌가요? 답변바랍니다
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
import에 { } 가 들어가는 이유가 뭔가요??
1:40 헬퍼의 사용법에서 import { mapState } from 'vuex'로 import 문에 전부 중괄호가 들어가 있는데요. 왜 여기는 중괄호가 들어가야 하나요? 규칙같은건가요?