묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결함수형 프로그래밍과 JavaScript ES6+
제가 이해한 C.Reduce와 Reduce의 동작 차이 정리
Concurrency Reduce와 Strict Reduce의 동작 차이 정리_.reduce 와 C.reduce의 차이는 [...iter]로 제너레이터를 한번에 돌려 프로미스들을 동시에 평가 ( 프로미스의 평가 == 프로미스 객체 반환, 콜백함수 즉시실행 ) 하는데에 있다. _.reduce만약 [... ]형태로 전개하지 않는다면 reduce의 while문에서 next()를 하여 yield 로 반환하는 값을 하나씩 빼 올 것이고,이 과정에서 프로미스는 뽑힌다면 (=평가된다면) 뽑히는 과정에서 비로소 콜백을 실행 할 것이다. 그러나 전개하지 않은 상태에서는 이런 뽑히는 과정이 순차적이므로, '프로미스를 뽑아서 콜백을 실행 시켜준 후, reduce 자체를 return 하여 콜백이 완료될 때 까지 기다리고 다시 recur 재귀함수를 통해 이어서 진행하는 과정' 을 프로미스가 뽑힐 때마다 해주어야 하는 것이다.C.Reduce반면에 [...] 형태로 전개하여 사용하면, yield로 반환될 모든 값이 배열에 담긴다. 이 과정에서 뽑힌 프로미스는 콜백이 바로 실행될 것이고, 만약 제너레이터에 여러 프로미스들이 존재한다면 제너레이터의 next()가 연속적으로 동작함에 따라 콜백도 주르륵 병렬되게 실행 될 것이다.이런 프로미스를 포함한 배열을 받은 reduce는 then()을 통해서 reduce를 종료하고 프로미스를 반환한다. 콜백이 완료되면 then(recur)에 의해 재 실행된다. 여러 프로미스들이 거의 동시에 자신의 콜백을 실행시켰기 때문에, reduce 입장에서는 전체 시간이 가장 오래걸리는 놈 만큼만 소요다는 것이다. 마치 Promise.all() 이 동작하는것 처럼 말이다
-
미해결자바스크립트 : 기초부터 실전까지 올인원
깃허브 오류
깃헙 강의 도중 push과정에서 오류가 생긴것같은데 혼자 구글링으로 해결하다보니 또 다른 부분에서 오류가 생겨나서 점점 엉키는 것 같아 여쭤봅니다 ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
구글로그인 review영상
client id와 client secret 받는 과정에 대해 노션을 참고하라는 영상내용이 있는데 혹시 어디서 참고하면 될까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이런식으로 p1 p2를 안써도 괜찮을까요 ?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.바로 shift()로 빼주었는데 이래도 괜찮은걸까요 ? const input = `3 1 3 5 5 2 3 6 7 9`.split("\n"); let arr1 = input[1].split(" ").map((str) => Number(str)); let arr2 = input[3].split(" ").map((str) => Number(str)); function solution(arr1, arr2) { let answer = []; while (arr1.length && arr2.length) { if (arr1[0] < arr2[0]) { answer.push(arr1.shift()); } else { answer.push(arr2.shift()); } } while (arr1.length) { answer.push(arr1.shift()); } while (arr2.length) { answer.push(arr2.shift()); } return answer; } console.log(solution(arr1, arr2));
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 확인 부탁드립니다.
function solution(m, product) { let answer = 0; let n = product.length; let cnt = 0; product.sort((a, b) => a[0] / 2 + a[1] - (b[0] / 2 + b[1])); // console.log(product); for (let i = 0; i < n; i++) { m = m - (product[i][0] / 2 + product[i][1]); cnt++; //console.log("cnt", cnt); if (product[i][0] + product[i][1] > m) break; answer = cnt; } return answer; } //콘솔에서는 cnt가 4로 나왔는데 답에서 3으로 출력이 됩니다.
-
해결됨코어 자바스크립트
전역 공간에서의 this
안녕하세요! 강의를 들으면서 정리하다가 질문이 생겨 글 올립니다. temp.jsvar a = 3; console.log(this); 위와 같이 코드를 작성하고 실행시켜 보면사진과 같이 빈 객체가 나옵니다. 관련해서 다른 글들을 찾아보니, 노드에서는 전역 환경의 this만 global이 아니라 module.exports를 가리킨다 라는 글이 있었습니다. 왜 위와 같은 결과가 나오는지, 실제로 전역 환경의 this는 module.exports를 가리키는 건지 질문 드립니다!
-
해결됨웹 프론트엔드를 위한 자바스크립트 첫걸음
책 출판 예정???
혹시 책 출판 예정일이 언제쯤인지 물어봐도 되나요???미예정인가요?? 아니면 어느 정도 나올 시기가 정해졌나요??
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
이 풀이도 괜찮을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 콘솔창엔 답이 나오긴 하는데 반례가 있나 싶습니다..! const input = `5 28 6 6 2 2 4 3 4 5 10 3`.split("\n"); function solution(input) { let totalMoney = Number(input.shift().split(" ")[1]); let inputNumArr = input .map((arr, index) => { if (index === input.length - 1) { return [Number(arr.split(" ")[0]) / 2, Number(arr.split(" ")[1])]; } else { return [Number(arr.split(" ")[0]), Number(arr.split(" ")[1])]; } }) .sort((a, b) => a[0] - b[0]); let count = 0; for (let i = 0; i < inputNumArr.length; i++) { let presentSum = inputNumArr[i].reduce((a, b) => a + b, 0); if (totalMoney - presentSum < 0) { break; } else { totalMoney -= presentSum; count++; } } return count; } console.log(solution(input));
-
미해결타입스크립트 입문 - 기초부터 실전까지
제네릭타입과 유니온타입을 같이 사용할 때 질문입니다.
interface DropdownItems<T> { value: T; selected: boolean; } const emails: DropdownItems<string>[] = [ { value: "naver.com", selected: true }, { value: "gmail.com", selected: false }, { value: "hanmail.net", selected: false }, ]; const numberOfProducts: DropdownItems<number>[] = [ { value: 1, selected: true }, { value: 2, selected: false }, { value: 3, selected: false }, ]; // 아래 createDropdownItem 함수 부분 질문입니다. function createDropdownItem(item: DropdownItems<string | number>) { const option = document.createElement("option"); option.value = item.value.toString(); option.innerText = item.value.toString(); option.selected = item.selected; return option; } 강의에서는 createDropdownItem함수의 매개변수 자리에 item: DropdownItem<string> | DropdownItem<number> 로 작성을 해주셨는데위 코드처럼 item: DropdownItems<string | number> 으로 작성을 해도 오류가 발생하지 않더라구요.각 방식이 서로 차이가 있을까요? 만일 차이가 있다면 어떠한 것인지 궁금합니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
두번째 프로젝트 페이지구현- 홈(/)강의 질문
사진이 엑스박스로 뜨는데 어디가 잘못된건지 모르겠습니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
마이크로 서비스 운영시 DB는 하나 써도 되는 건가요?
마이크로 서비스로 다수의 서버들을 운영하려고 한다면 typeorm을 통해 entity 에서 1대1 관계 등에서 정의내린 것들은 어떻게 유지 해야 할까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
section 22. CORS 파트에서 궁금증이 생겨 질문드립니다!
origin이 같다는게 어떤 의미일까요? domain이 같다는 것인가요?같은 localhost인데 CORS가 발생한 이유가 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
섹션 22 3-05 강좌가 편집이 제대로 이루어진 것 같지않아 보입니다.
40분에서 끊어져야 할 동영상 같은데 6시간이 넘어가게 업로드가 된 것 같습니다 빠르게 확인해야될 것 같은데요
-
해결됨[코드캠프] 시작은 프리캠프
싸이월드 만들기 29분10초부터 갑자기 똑같이 안되는데 뭐가 잘못 됬을까요? ㅠㅠㅠㅠ
*{ box-sizing: border-box; margin: 0px; } .background{ width: 1024px; height: 600px; background-image: url("../images/background.png"); padding: 20px 0px 0px 20px; } .outerbox{ width: 808px; height: 544px; background-image: url("../images/outerbox.png"); } .wrapper { display: flex; flex-direction: row; padding: 32px 0px 0px 32px; } .wrapper__left { width: 208px; height: 472px; display: flex; flex-direction: column; } .wrapper__left__header { width: 100%; height: 30px; display: flex; flex-direction: row; justify-content: center; } .today { font-size: 9px; } .wrapper__left body { width: 100%; height: 100%; } .wrapper__right { width: 524px; height: 472px; background-color: violet; }지금 29분 10초 현재상황입니다 여기서 갑자기 justify-content: center; << 하는데 여기서부터 저장하기해도 홈페이지 변경이 안되네요 왜그런걸까요? ㅠㅠ
-
미해결Vue.js 시작하기 - Age of Vue.js
vue3 버전이 아닌데 계속학습해도 괜찮을까요?
안녕하세요 ~ vue3가 있는상황에서 vue2를 배워도 상관없나요? vue2를 배우고 3로 넘어가려면 힘든가요?
-
미해결인터랙티브 개발 실무 끝장내기 [역량 강화편]
스크롤위치에 따른 페이지 변화에서
왜 scroll2를 넣으신건가요?
-
미해결인터랙티브 개발 실무 끝장내기 [역량 강화편]
배열을 이용한 bg컬러 변경 강의에서 tagname body에 [0]이 왜 붙나요?
배열을 이용한 bg컬러 변경 강의에서 tagname body에 [0]이 왜 붙나요? body.style이렇게만 작성해도 되지 않나요?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃허브 권한요청 드립니다!
인프런 아이디 : ksr92923@naver.com인프런 이메일 : ksr92923@naver.com깃헙 아이디 : complete9261깃헙 Username : complete9261
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
[섹션 22]Quiz 5 axios 질문
안녕하세요.프론트엔드와 api 를 연동하는 과정에서 axios를 import 하는 방법에 질문 있습니다. menu.js의 getCoffee 함수에서 axios를 이용해 /starbucks api를 호출하려는데,menu.js 파일에서 import axios from 'axios'를 하면 에러가 발생합니다.반면에 menu/index.html 에서 <script src="를">https://unpkg.com/axios/dist/axios.min.js"></script>를 하면 잘 작동합니다. 이렇게 index.html에서 axios를 다운받는게 맞는건가요?그렇다면, 실제로 axios를 사용하는 코드는 menu.js에 있는데, 왜 index.html에서 가져와야 하는 건가요? 감사합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
문제 그대로 배열 가져올 경우 질문입니다.
안녕하세요 선생님, 강의 재밌게 듣고 있습니다.질문입니다.문제에서 [5,28](학생수,예산) 배열도 그대로 가져오면 코드가 어떻게 수정될까요? (처음 let arr에 추가 할 경우 말씀드립니다)i 와 j for문 돌때 1부터 시작하면 된다고 생각했는데, 답이 안나와서 질문드립니다!! function sol(m,arr){ let ans = 0; let n = arr.length; arr.sort((a,b)=>((a[0]+a[1])-(b[0]+b[1]))); for(let i = 1; i < n; i++){ let money = m - (arr[i][0]/2 + arr[i][1]); let cnt = 1; for(let j = 1; j < n; j++){ if(j !== i && arr[j][0]+arr[j][1] > money) break; if(j !== i && arr[j][0]+arr[j][1] <= money){ money -= (arr[j][0]+arr[j][1]); cnt++; } } ans = Math.max(ans, cnt) } return ans;}let arr= [[5,28],[6,6],[2,2],[4,3],[4,5],[10,3]];console.log(sol(28,arr));