묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
ES5라면 어떻게 구현해야 할까요?
이렇게 구현하면 되는지 더 좋은 방법은 없는지 궁금합니다. for (var i = 0; i < list.length; i++) { ((num) => { list[num].addEventListener('click', ()=> { console.log(`${num}: ${list[num].innerHTML}`); }); })(i); }
-
미해결함수형 프로그래밍과 JavaScript ES6+
take 내부의 이터레이터 클로저에 대해
while (!(cur = iter.next()).done) { let a = cur.value; 를 for (const a of iter) { 로 바꾸면 비동기상황에서 iter를 기억하지 못해서 하나만 take하게 되더라구요. 두 문법이 같은 걸로 알고있는데 for of 내부의 이터레이터는 클로저로 사용될수없나요? 이런경우엔 while밖에 쓸수없는건가요? 클로저로 사용되려면 함수내부에서 표현식 안에 갖혀있어야된다는 조건? 같은게 있나요?
-
미해결React로 NodeBird SNS 만들기
sudo 계정이후 permission denied
안녕하세요 영상 보고 첫 배포 성공 후, 똑같은 코드를 깃허브에서 다시 다운받아서 다시 배포하는 연습을 하고 있습니다. front 서버에 배포를 하려고 하는데 - sudo su - npm run build ( build 디렉토리는 /home/ubuntu/새로정의한프로젝트명/front) 여기서 permission denied가 떨어지네요 이하 에러 로그입니다.=------------------------------------------------> root@ip-172-31-35-199:/home/ubuntu/zepettoland/ch9_zepettoland/front# npm run build > react-nodebird-front@1.0.0 build /home/ubuntu/zepettoland/ch9_zepettoland/front > cross-env ANALYZE=true next build sh: 1: cross-env: Permission denied npm ERR! code ELIFECYCLE npm ERR! errno 126 npm ERR! react-nodebird-front@1.0.0 build: `cross-env ANALYZE=true next build` npm ERR! Exit status 126 npm ERR! npm ERR! Failed at the react-nodebird-front@1.0.0 build script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2019-11-25T03_23_39_728Z-debug.log 기존 소스에 프로젝트명만 바꾼건데요 문의드리겠습니다. 감사합니다.
-
미해결쉽고 자연스럽게 배워보는 Javascript 입문 - 코드스쿼드 마스터즈 코스 레벨1
질문
<script> n=Number(prompt("2 이상의 정수를 입력해주세요.")); for(var i=2; i<n; i++){ if(n % i === 0){ document.write(n+"은 소수가 아닙니다."); break; }else{ document.write(n+"은 소수입니다."); } } </script> 혹시 이렇게 작성하면 안되는건가요?
-
미해결Vue.js 시작하기 - Age of Vue.js
ctrl \하니까 새창이 생겨요
메뉴가 닫히는게 아니라 새창이 생겨요 도와주세요윈도우입니다
-
해결됨Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
git권한 부탁드립니다.
인프런닉네임: codingc인프런이메일: codingc@hanmail.netgithub: codingc@hanmail.net닉네임: codingc1
-
미해결함수형 프로그래밍과 JavaScript ES6+
products가 사라지는 부분
다른분이 질문한것에서 저도 의문이 생겼는데 답변을 봐도 이해가 잘되지않습니다. curry함수에 의해서 products =>filter(p=>p.price <20000, products)가 products ⇒ filter(p⇒p.price <2000)(products)로 변화되고 filter(p⇒p.price <2000) 이렇게 축약되었을때 어떻게 같게 작동하는지 모르겠습니다. a => f(a) 라는 함수는 그냥 f와 하는일이 같다는 말이 이해가 잘안됩니다. 조금만 더 풀어서 설명부탁드립니다.
-
해결됨TDD 개발 방법론을 활용한 React Native 앱 개발
No tests found, exiting with code 1 에러
{ "name": "ReactNativeTDD", "version": "0.0.1", "private": true, "scripts": { "android": "react-native run-android", "ios": "react-native run-ios", "start": "react-native start", "test": "jest", "lint": "eslint ." }, "dependencies": { "react": "16.9.0", "react-native": "0.61.1" }, "devDependencies": { "@babel/core": "^7.6.2", "@babel/runtime": "^7.6.2", "@react-native-community/eslint-config": "^0.0.5", "babel-jest": "^24.9.0", "eslint": "^6.5.1", "jest": "^24.9.0", "metro-react-native-babel-preset": "^0.56.0", "react-test-renderer": "16.9.0" }, "jest": { "preset": "react-native" } } __tests__ 폴더명 변경 시 yarn run test 를 하게 되면 testMatch: **/__tests__/**/*.[jt]s?(x), **/?(*.)+(spec|test).[tj]s?(x) - 0 matches 이렇게 테스트가 작성된 폴더를 찾지 못하는 경우가 있습니다. 강의의 진행과 동일하게 했는데도 이렇게 에러가 나네요. 검색 결과 package.json 파일에서 "jest" : { "preset": "react-native", "testRegex": "(/tests/.*|(\\.|/)(test))\\.js$" } 이렇게 testRegex 에 대한 추가 설정을 해주고 나면 테스트 폴더가 잡힙니다. 무슨 문제인지 알고 싶습니다.
-
미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
network status가 200이 아니라 304가 뜨는데 왜 그런걸까요?
network status가 200이 아니라 304가 뜨는데 왜 그런걸까요?
-
미해결코어 자바스크립트
안녕하세요 혹시 ppt 자료는 어디서 받을 수 있나요?
안녕하세요 혹시 ppt 자료는 어디서 받을 수 있나요? ppt를 프린트해서 정리해서 보고자 합니다.
-
미해결웹 게임을 만들며 배우는 자바스크립트
Math.random()에 관해서
안녕하세요^^ 오늘도 강의 감사히 듣고 있습니다. 강의에서 Math.random()은 진짜 랜덤이 아니라고 하셔서 인터넷을 검색해보니 Math.random()은 0과1사이의 uniform distribution을 따르기 때문에 Math.ceil(Math.random()*100)을 했을때 2자리 수가 한자릿수에 비해 더 나올확률이 높아진다는것을 알게 되었습니다. (이 사이트를 통해서 알았습니다. https://stackoverflow.com/questions/1062902/how-random-is-javascripts-math-random) 그래서 제가 스케일을 100,1000, 조정해봤을때 그 비율이 실제와같은지 한번 체크해보려고 코드를 짜봤는데요. 제 코드에서는 숫자별로 비율이 비슷하게 나와서 제가 코드를 잘못짠건지 혹은 다른부분이 이상한지 잘모르겠어서 여쭤봅니다. 항상 강의 감사히 듣고있습니다. 아래는 제 코드이고 시행횟수와, 최대숫자를 조정할수 있습니다. 감사합니다. var 시행횟수 = 99999; var 최대숫자 = 1000; var 랜덤군 = []; for(i=0;i<시행횟수;i+=1){ //랜덤군에 랜덤넘버 하나씩 채워넣기 랜덤군.push(Math.ceil(Math.random()*최대숫자)); } console.log(랜덤군); var count = []; var 확률 = []; for(j=1;j<최대숫자;j+=1){// 채워넣었던 숫자를 하나씩 카운트하고 시행횟수로 나눠 확률알아보기 count[j-1]=0; for(var i = 0; i < 랜덤군.length; ++i){ if(랜덤군[i] == j) count[j-1]+=1; 확률[j-1]=count[j-1]/시행횟수; } } console.log(count); console.log(확률);
-
해결됨웹 게임을 만들며 배우는 자바스크립트
자바스크립트에서 줄바꿈을 하고싶습니다.
영상 너무 감사히 보고있습니다. 너무 잘 설명해 주셔서 감사드립니다. 너무 설명이 좋아서 이 시리즈가 끝나면 다른 시리즈도 계속 보고싶을 정도입니다. 제가 끝말잇기 프로그램을 따라서 만들고 있는데요. 현재 입력된 단어를 받으면서 원래 있던 단어가 지워지지 않고 계속 기록이 남아있는 상태로 계속 추가하고 싶은데요. 중간에 단어.textContent = 단어.textContent + '\n' +입력창.value; 이런식으로 하니깐 줄바꿈이 안되던데 줄바꿈을 하려면 어떻게 해야할까요? 영상 항상 감사히 보겠습니다. 좋은 하루되세요~ var 바디 = document.body; var 단어 = document.createElement('div'); 단어.textContent = '제로초'; document.body.append(단어); var 폼 = document.createElement('form'); 바디.append(폼); var 입력창 = document.createElement('input'); 폼.append(입력창); var 버튼 = document.createElement('button'); 버튼.textContent = '입력!'; 폼.append(버튼); var 결과창 = document.createElement('div'); 결과창.textContent = '결과'; document.body.append(결과창); 폼.addEventListener('submit', function (이벤트) { 이벤트.preventDefault(); if (단어.textContent[단어.textContent.length - 1] === 입력창.value[0]) { 결과창.textContent = '딩동댕'; 단어.textContent = 단어.textContent + '\n' +입력창.value; 입력창.value = ''; 입력창.focus(); } else { 결과창.textContent = '땡'; 입력창.value = ''; 입력창.focus(); } });
-
해결됨Angular, 앵귤러 100분 핵심강의
예제 파일은 홈페이지에서 다운받을 수 있다하는데 없네요.
회원가입후 강의 > 해당강의선택 > 자료 > 자료없음.
-
미해결트렐로 개발로 배우는 Vuejs, Vuex, Vue-Router 프론트엔드 실전 기술
쌤 도와주세요
11:40 부터 진행하는 '폼의 바깥을 누르면 닫히는기능'을 하고 있는데요.. (제 코드에 오타가 있을까봐) AddCard.vue와 List.vue를 전부 복붙도 해봤습니다. 복붙을 해도 안된다면 어디에서 문제가 있는걸까요? 저것만 적으면 잘되던 Add Card도 펼쳐지지 않습니다 ㅠㅠ. 오류를 해결할수있는 방법을 알려주셨으면 합니다. mounted() { this.setupClickOutside(this.$el) }, methods: { setupClickOutside(el) { document.querySelector('body').addEventListener('click', e => { if (el.contains(e.target)) return this.$emit('close') }) } }
-
미해결WEB2 - JavaScript
이거는 왜 안될까요?..... 아톰을 사용하고있습니다.
<!DOCTYPE html> <html > <head> <meta charset="utf-8"> <title></title> </head> <body> <h1>Loop & Array</h1> <script> var coworkers = ['kcj','kcj2','kcj3']; <h2>coworkers</h2> var i = 0; while(i<coworkers.length) { document.write('<li>+coworkers[i]+</li>'); i = i+1; } </script> </body> </html>
-
미해결함수형 프로그래밍과 JavaScript ES6+
function* 없이 지연성이 있는 함수를 만들 수 있을까요?
주어지는 generator기능이 없이, generator와 동일한 역할을 수행하는 함수를 코드로 보고 싶습니다.
-
미해결함수형 프로그래밍과 JavaScript ES6+
products가 사라져도 왜 괜찮은지 모르겠어요....
curry 함수에 의해서 products =>filter(p=>p.price <20000, products) 가 products ⇒ filter(p⇒p.price <2000)(products) 가 되는 것은 이해하였습니다. 다만 어째서 products ⇒ filter(p⇒p.price <2000)(products) 가 filter(p⇒p.price <2000) 랑 같은 것인지는 이해가 되지 않습니다. 모양 자체도 (인자) ⇒ (실행할 함수) 의 모양에서 아예 (함수) 의 모양으로만 바뀌었는데, 이렇게 될 경우 인자를 주지도 않고 작동하는 함수? 처럼 보입니다. 혹시 go 함수의 reduce 함수 자체가 이미 f(acc, a)를 할때 f(products, filter(....)) 와 같은 모양이 되기에 그런것일 까요?
-
해결됨Vue.js 시작하기 - Age of Vue.js
watch vs. computed 강의에서
아래 코드에서 설명하시고자 했던 부분이 'console.log(num)과 같은 단순한 로직보다는, axios.get(num)과 같은 무거운 로직의 경우에 watch의 사용이 보다 적절할 수 있다.' 가 맞나요? 입문자인데 console.log(num)와 axios.get(num) 가 가지는 차이가 와닿지 않아서 의도하신 설명이 이 맥락이 맞는지 여쭙니다.. 강의 잘듣고있습니다! methods: { fetchUserByNumber: function(num) { // console.log(num); axios.get(num) } }
-
해결됨Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
URL에 왜 #이 먼저 들어가 있나요?
안녕하세요. 예제를 따라하다 문득 궁금한게 생겨 연락 드립니다. ip:port/#/news처럼 왜 #을 사용하나요?
-
미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
삭제후 alert를 띄우는 코드
confirm을 통해 삭제 후 '삭제되었습니다.' alert를 띄울 때 동작은 잘 되는데 아래와 같은 에러가 뜨는 이유가 궁금합니다. _.go( Images.fetch(), Images.tmpl, $.el, $.append($.qs('body')), $.findAll('.remove'), $.on('click', async ({ currentTarget }) => ( await Ui.confirm('정말 삭제하시겠습니까?') && ( _.go( currentTarget, $.closest('.image'), $.remove, await Ui.alert('삭제되었습니다.'), ) ) )) );