55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결함수형 프로그래밍과 JavaScript ES6+
이 모든함수들
이 모든 함수들을 제공을하는 건가요 아니면 실습을 통해 이해를 돕기 위해 선생님께서는 이렇게 알고리즘을 만드신건가요?
- 미해결함수형 프로그래밍과 JavaScript ES6+
reduceF를 작성해야 하는 이유
안녕하세요! 강의 정말 잘 보고 있습니다. 제가 여쭤보고 싶은 내용과 동일한 강의 질문이 있어 코드는 링크로 대체합니다. 링크 에 대한 답변이 이해가 가지 않아 올리는 질문입니다. reduce에 nop적용 강의 중, reduceF를 작성하는 부분이 있는데요. reduceF 함수를 작성해 분리하지 않고 코드를 acc에 그대로 할당시키면 에러가 나는 이유에 대해서 아마 acc가 바뀌기 때문일 것이라고 답변을 달아주셨는데요, 그게 무슨 의미인지 모니터랑 눈 싸움을 몇 시간 하다 지쳐서 질문올립니다 ㅠㅠ acc가 바뀌기 때문에 에러가 난다는게 무슨 의미일까요?
- 미해결함수형 프로그래밍과 JavaScript ES6+
deepFlat에 yield* 대신 for...of 문으로 작성
deepFlat을 yield* 대신 for...of문으로 작성을 하려는데, 가명함수가 제너레이터를 반환해서 제대로 작동이 안됩니다. deepFlat의 if문을 for...of문으로 작성하는 방법이 있을까요? L.deepFlat = function* f(iter) { for(const a of iter) { if(isIterable(a)) for(const b of a) yield f(b); else yield a; } }
- 해결됨함수형 프로그래밍과 JavaScript ES6+
await 원리 질문 드립니다
항상 답변 해주셔서 감사합니다 async함수에서 await 키워드의 원리가 제가 생각한 것이 맞는지 궁금합니다. 1. 전역 실행 컨택스트 생성후 콜스택 푸시 2. foo 함수 실행 -> foo 실행 컨택스트 생성 후 콜스택 푸시 3. delay1000 함수 실헹 4. 프로미스 생성자 함수가 전달받은 콜백함수를 web api에 넘기고 프로미스 객체를 반환하고 종료 5. foo 실행 컨텍스트에서 await 키워드로 인해 프로미스가 settled 상태가 될 때까지 대기 6. webapi에서 콜백함수 처리 후 프로미스 상태 fulfilled로 변경 7. 런타임 이어서 진행 const delay1000 = async a => new Promise(resolve => setTimeout(() => resolve(a), 1000)); const foo = async () => { const bar = await delay1000(1111); console.log(bar); } foo();
- 해결됨함수형 프로그래밍과 JavaScript ES6+
reduce 함수에서 nop 처리
안녕하세요 강사님 :) reduce 함수에서 비동기 값 a를 처리하기 위해서 reduceF를 정의하시고 사용하셨는데 함수 내부에서 풀어서 작성 했을시 정상적으로 동작하지 않더라구요 어떤 문제가 있어서 정상적으로 동작하지 않는것인가요 ? var reduce = curry((f, acc, iter) => { if(!iter) { iter = acc[Symbol.iterator](); acc = iter.next().value; } else { iter = iter[Symbol.iterator](); } return go1(acc, function recur(acc) { let cur; while(!(cur = iter.next()).done) { const a = cur.value; acc = a instanceof Promise ? a.then(a => f(acc, a), e => e == nop ? acc : Promise.reject(e)) : f(acc, a) // acc = reduceF(acc, a, f); if (acc instanceof Promise) return acc.then(recur); } return acc; }); }); reduce(add, [Promise.resolve(1), Promise.resolve(2), Promise.resolve(3)]) .then(log);
- 미해결함수형 프로그래밍과 JavaScript ES6+
bloking/non-blocking, sync/async와 연결지어 생각해도 괜찮을까요??
이번 강의를 보면서 bloking/non-blocking, sync/async가 떠올랐는데요! function add10(a, callback) { setTimeout(() => callback(a + 10), 100); } 위 코드는 제어권이 다시 돌아오지 않으니깐 async이고, 그 반대로 Promise는 Promise 객체가 반환되어 제어(.then)할 수 있으니 non-blocking이라고 생각해도 괜찮을까요?
- 해결됨함수형 프로그래밍과 JavaScript ES6+
flatMap에서 map을 먼저 하는 이유
안녕하세요 강사님 :) flatMap을 할 때 Map을 먼저 적용하고 flatten을 적용하는 이유가 있나요 ? flatten을 먼저하고 map을 적용하는게 제가 생각했을 땐 좀 더 사용하기 편하고, 함수이름으로 생각해봤을 때 직관적인것 같아서 질문드립니다!
- 미해결함수형 프로그래밍과 JavaScript ES6+
go, pipe, curry 함수의 유래?에 대해서 궁금합니다.
안녕하십니까! 강의 유익하게 잘 듣고 있습니다. 다름이 아니라, 강의를 들으면서 그냥 궁금한 점이 생겨서 글을 올려봅니다. 개념을 배울 때마다 조금이나마 더 깊게 이해해보려고 MDN 문서 등을 참조해서 더 많은 내용들을 공부하고 있습니다. 그런데 go, pipe, curry 같은 개념들은 map이나 filter, reduce 등의 메소드와는 달리 어떤 특정 문서에 나오지 않고, 아티클이나 블로그 같은 곳에서 명시되어 있는 것 밖에 찾지 못했습니다. 그래서 뭔가 이런 프로그래밍 방법들이 혹시 어디에서 어떻게 나타나게 되었는지, 실제 전세계적으로 통용되는 워딩인지 궁금해서 글을 남겨봅니다. 좋은 강의를 토대로 더욱 성장하는 개발자가 되도록 노력하겠습니다! 새해복 많이 받으시기 바랍니다:)!!
- 해결됨함수형 프로그래밍과 JavaScript ES6+
질문..
1:42초에서 왜 setTimeout이 작동하지않는건가요...?? 그리고왜 pending아닌 resolved로 출력되나요..??
- 미해결함수형 프로그래밍과 JavaScript ES6+
catchNoop 질문
1:15초쯤에 catchNoop에 arr대신 전개 연산자를 활용하여 [...arr]로 전달해주는데 그러면 그 밑에9번쨰 라인에서 forEach적용함수를 arr가 아닌 [...arr] 이여야 하는거라고 생각되는데 정상작독하는 이유가 뭘까요.,.?
- 미해결함수형 프로그래밍과 JavaScript ES6+
catchNoop함수 리턴값 질문.
8:26초에서 catchNoop함수만들떄 arr을 인자로받아 ','를 기준으로 forEach문을 실행하고 arr을 리턴한고하셨는데 이게 문법상으로 이해가 안되서요.. 혹시 어떤 부분을 찾아보면 좋을지 알려주시면 감사하겠습니다!
- 미해결함수형 프로그래밍과 JavaScript ES6+
L.filter에서 Promise.reject(nop)을 yield했을떄.
7:11초에서 질문드립니다!! L.fliter함수에서 조건을 충족하지못하여 reject(nop)을 생산했을시, L.map에 인자를 전달해주지않는이유가 go함수자체에존재하는 reduce에서 catch를 처리해주지않고있기 떄문인가요??
- 미해결함수형 프로그래밍과 JavaScript ES6+
강의내용 질문드립니다!
강의내용 15:36초부분에서 질문드립니다.. 강의 94번쨰 코드라인에서 에러가발생했음에도 불구하고 왜 then으로 처리되는건가요?? 만약 then으로 빠질 수 밖에 없는상황이라면 아래와같이 catch문을 작성해줬을떄 catch문으로 빠질 수 있는 상황이 어떤 부분에서 에러가 발생했을때 처리해 줄 수 있나요?
- 미해결함수형 프로그래밍과 JavaScript ES6+
대기가 발생했을떄의 안전한합성 에대해서 질문드립니다!
13:20초에서 Promise를통해 함수를 합성하려는것이 이전의 []통해 값의 존재 유무에따른 안전한합성 관점이아닌 대기가 발생했을때의 안전한 합성을 하려는 도구써 활용한다는게 then체이닝이 resolve를 받을떄까지 진행되지 않는다는점을 활용한다는게 맞나요?
- 미해결함수형 프로그래밍과 JavaScript ES6+
map 과 each 의 차이점 질문
자바스크립트를 한창 공부중인 학생입니다 map 함수와 each 함수에 대해 궁금한점이 있습니다 _.map은 마지막에 새 배열을 리턴하는걸로 알고있는데요 _.each는 위에 map과 역할은 비슷하나 리턴값이 없는것이 차이점일까요? 혹시 이 글에서 제가 잘못 이해한점은 있을까요? 그리고 키보드 소리가 좋아서 그런데 혹시 녹화 당시 무슨 키보드를 쓰셨는지도 궁금합니다!!
- 해결됨함수형 프로그래밍과 JavaScript ES6+
reduce 매개변수 acc는 무엇의 약자인가요?
안녕하세요 강사님 강의 아주 잘 듣고 있습니다 :) reduce 매개변수 acc는 무엇의 약자인가요?
- 미해결함수형 프로그래밍과 JavaScript ES6+
강의내용 질문드립니다!
4:27에서 왜 변수 c에 대입후 출력을하면 Promise {<resolved> : 25}; 값이나오고 그위에 바로 출력을하게되면 Promise{<pending>} 으로 출력이되는건가요?? 제가 직접 작성해서 확인해보면 둘다 Promise{<pending>}로 동일하게 출력이되는데 어떤부분이 다른지 궁금합니다!
- 미해결함수형 프로그래밍과 JavaScript ES6+
포스팅 문의
안녕하세요. 강의 수강하면서, 수업내용 일부를 정리하고, 관련 코드들을 출처표기 후 블로그나 github 에 올려도 될까요 ?
- 미해결함수형 프로그래밍과 JavaScript ES6+
return 사용
안녕하세요 강의를 보다가 궁금한 점이 생겼는데요!! return을 해주는 것과 return을 안해주는 것의 차이가 무엇이 있나요? 또 확인을 해보려면 어떤 식으로 하는 것이 좋을 까요?
- 미해결함수형 프로그래밍과 JavaScript ES6+
promise 작성로직 수정하려고 하는데 잘 안됩니다. ㅠㅠ
강의 전체 수강했는데요. 강의로는 이해한듯 해도 실제 적용하려니 잘 안되네요. ㅠㅠ 아래와 같이 비동기 방식의 업무를 promise 이용해서 작성한 스크립트가 있습니다. 이걸 강의에서 배운대로 go() 안에 넣어서 간결하게 바꾸고 싶은데 잘 안되네요. const save = function () { dataArray = [0,1,2]; //비동기 함수인 getAsyncData 세번 수행하기 위한 배열. runPromise = function(n) { return new Promise(function(resolve, reject){ setTimeout(function() { getAsyncData("DATA_AT="+n, function(val) { DsList[n].data = val; resolve(n+': resolve'); }); }, n * 300); }); }; promiseAll = function() { req = dataArray.map(function(el) { return runPromise(el).then(function(result){ log(result); }); }); Promise.all(req).then(function() { //TODO : promise 전체 수행 완료. 이후 로직 수행 }); } promiseAll();} 위 스크립트를 go(dataArray, map(.. . .. ...) 이런식으로 어떻게 바꿀 수 있을까요?