44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
for문이 더 적게 돈다는 의미?
여기서 for 문이 더 적게 돈다는 의미를 명확하게 이해하지 못해서 질문드립니다. 명령형일 때 a % 2를 평가하여 참이면 그 아래 코드를 실행하고, 아니면 실행하지 않는 것인데 L.filter에서도 결국 .next()로 순회를 돌 때 동일한 a % 2를 평가하여 다음 값을 yield해서 내보내는 것으로 이해했습니다. 그렇다면, 명령형일 때와 함수형일 때의 차이는 평가가 지연되었느냐, 그렇지 않느냐의 차이인 것인가요?
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
동시성 부하 조절 강좌에서 질문입니다.
L.map(L.map(f => f()))에서 함수를 실행해서L.map을 적용하는 것은 알겠는데, 추가적으로 L.map을 해주는 이유가 궁금합니다.그리고 그 이후 하단에 _.each(_.each($.addClass('fade-in')))을 해주는 이유도 좀 궁금합니다. 감사합니다.(멋진 강의 감사합니다.)
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
node.js에서 fxjs는 어떻게 사용하는건가요?
안녕하세요. 강의 잘 듣고 있습니다. 아... 질문 올렸다가 삽질하다보니 해결되어 계속 질문내용을 수정하게되네요 ^^; 1. lodash에서 _.go 같은 기능은 없는건가요? 아래와 같이 JSON.stringify를 호출되게 해보려 하는데 잘 안되어서요. _.go(list, _.filter((item) => item.name === name), _.head(), JSON.stringify ); _(list) .filter((item) => item.name === name) .header() 까지는 잘 되는데요... 그리고 _와 L은 섞어 쓰면 오류가 나나보네요. 2. 1번 질문에서 L.head()의 결과가 undefined나 null이 되었을때는 {} 를 JSON으로 만들고 싶은데 어떻게 하면 좋을까요? 생각해보니 defaultTo같은걸로 처리하면 되긴 할꺼 같긴하네요. 3. 아래 두 코드는 결과가 같을꺼라 기대했는데 왜 자꾸 에러가 나는지 알 수 있을까요? const _ = require("fxjs/Strict"); var result = _.go([1,2,3,4,5], _.reduce(_.multiply, 3)); console.log(result); const _ = require("lodash"); var result = _([1,2,3,4,5]).reduce(_.multiply, 3); console.log(result); fxjs에서 _.reduce만을 썼을때는 문제는 없는데 go와 같이쓰면 문제가 발생하네요. 아래와 같이 하면 되긴 하는데 좀 어색하네요. ㅠㅠ var result = _.go([1,2,3,4,5], _.curryN(2, _.reduce)(_.multiply, 3)); console.log(result); 답변 부탁드립니다. 감사합니다.
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
FP의 단점(?)을 극복하기 위한 질문 드립니다.
FP를 보면 결국 기존의 데이터를 수정하지 않고 새로운 카피본을 만드는 것인데, 메모리의 낭비로 이어질 수 있어서 작은 데이터에서는 문제는 없으나 대용량 데이터에서는 문제가 될 것 같습니다. 강의를 들으면서 이 문제의 해결 방안에 대한 기대를했었는데 별다른 언급이 없었네요. 이제 실무에 적용하려고 검토 및 준비를 하다보니 대용량 데이터 핸들링에서 이슈가 분명히 나올것 같아서관련자료를 찾아보니 이러한 문제점을 해결하기 위해서 persistent data structure를 사용하는것 같은데, 알려주신 FP와는 어떻게 접목시켜야 하는지요...? (결국 immutable.js 와 같은 오픈소스를 사용해야 하는지요...) 그동안 강의를 들으며 공부한 내용을 실제로 활용하기 위해서(올려주신 3개의 강의 모두 듣고 현재도 계속 반복중입니다) persistent data structure 와 FP에 대한 활용, 또는 persistent data structure가 아니더라도 FP에서 대용량 데이터를 다루는 방법에 대한 강의 또는 설명이 반드시 있어야 될 것 같습니다. 이야기가 약간 벗어난것 같은데...질문의 요점은 - FP로 대용량 데이터 핸들링시에 어떻게 처리를 해야하는것이 효율적인지에 대한 질문입니다. 끝으로 좋은 강의 감사합니다
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
fxsql 강의는 안열리나요?
강사님 깃헙에서 코드를 보다가 QUERY ` SELECT * FROM table1 WHERE table2_id IN ( SELECT id FROM table2 WHERE type = ${type} ORDER BY id DESC LIMIT ${limit} ) `; 이런식으로 쿼리를 날리는 걸 봤는데요. 함수의 문법이 아닌데 어떻게 함수처럼 쿼리가 보내지나요? 코드를 보고있는데도 잘 모르겠네요. 함수형 sql 강의도 열렸으면 좋겠어요
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
인라인 그리드 셀 편집 기능구현 문의 드립니다.
좋은 강좌 강사드립니다. 다름이 아니라 궁금한 부분이 있어 문의 드립니다. 간단한 ajax를 이용한 그리드 인라인 편집을 구현해 보려고 하고 있습니다. 임의의 레코드의 셀인 td 나 input 을 클릭 값을 변경해 주었을때 클릭된 td 상위 태그인 tr 하단에 저장 버튼 박스를 붙여 셀 값을 업데이트해 주려고 합니다. 혹시 간단한 예시나 팁을 주실수 있을까요?
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
마지막챕터의Images가 90개라고 나오는데요.. 소스를 얻을수 있을까요?
어디서 얻는지 모르겠습니다 ㅠㅠ..
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
구조분해 문의
L.takeWhile(({cars}) => cars.length == 4) 까지는 이해가 가는데요. L.takeWhile(({cars: {length}}) => length == 4) 여기에서 cars: ['철수', '영희', ...] 과 같이 배열이 value에 해당하는데, 저 배열부분을 {length}로 구조분해가 되는게 이해가 안 갑니다.
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
user.age >= 30에 관하여..
안녕하세요, 오랜만에 다시 강의를 듣기 시작했는데.. _.reduce((total, user) => { if(user.age >= 30) return total; return total + user.age; }, 0, users) 부분에서 if(user.age >= 30) 이라면 35, 와 34 를 리턴하여 값이 69가 아닌 왜 77이 나오는지 궁금합니다..
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
fxjs 슬랙 채널에 초대 받고 싶습니다.
초대해주시면 감사하겠습니다.
- 해결됨함수형 프로그래밍과 JavaScript ES6+ 응용편
fxjs가 lodash나 ramdajs에 비해 얻는 장점이 뭐가 있을까요?
실무에서 함수형 프로그래밍 도입을 위해 라이브러리들을 고민하고 있습니다. 거론되는 라이브러리는 ramdajs, lodash가 있구요. 아무래도 fxjs를 통해 FP를 배우기 시작해서 저에게 제일 편한건 fxjs이긴 합니다. 다만 위 라이브러리들이 더 글로벌하게 쓰이고 있어서 팀원들을 설득하기 위해 알아보고있지만, 아직 경험이 많이 없다보니 그런 안목이 아직 부족합니다. 위 라이브러리들을 훑어 봤을 때 fxjs로 transducer를 더 직관적으로 작성할 수 있고, 병렬평가가 가능합니다. 이외에도 여타 다른 라이브러리에 비해 장점으로 무엇을 꼽을 수 있을까요..? 그리고 fxjs2의 경우 tree shaking을 지원하는지도 궁금합니다
- 해결됨함수형 프로그래밍과 JavaScript ES6+ 응용편
fxjs를 사용한 백엔드 + 프론트엔드 구성에 참고할만한 예제가 있을까요?
삭제된 글입니다
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
"reduce 하나 보다 map + filter + reduce" 관련해서 질문드립니다~
강사님 강의 잘 봤습니다. "reduce 하나 보다 map + filter + reduce" 관련해서 질문드릴게 있어서요. 함수형 개발 기법 중에 transducer라는 게 있는 걸로 알고 있습니다. 어느정도 개념만 알고 있어서 이와 관련해서 질문 좀 드리려고 합니다. transducer 관련한 글을 보면 map, filter, reduce 등을 여러번 쓰는 것보다 reduce protocol을 따르는 map, filter등을 사용해서 compose(pipe)등으로 합성해서 사용하는게 많은 데이터를 다룰때 효율적이다라고 알고 있습니다(실제로 ramdajs, rxjs 등이 이러한 기법으로 만들어진걸로 알고 있구요). 강사님은 대용량 데이터를 다뤄야 할때도 reduce 하나 보다 map + filter + reduce 이렇게 사용을 하시나요? map + filter + reduce를 사용 하는 데 퍼포먼스 상 굳이 신경쓸 정도의 손해는 없는지 다른 의견이 있으신지 궁금합니다. 감사합니다.
- 미해결함수형 프로그래밍과 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('삭제되었습니다.'), ) ) )) );
- 해결됨함수형 프로그래밍과 JavaScript ES6+ 응용편
$.find, $.findAll 함수 관련 질문
find 함수와 findAll 함수를 부모에서 자식들을 찾는 동작으로 이해했는데 제대로 동작하지 않네요...두 함수의 의도가 궁금합니다.
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
reduce 보조 함수에 관한 질문입니다.
안녕하세요. 우선 좋은 수업 감사합니다! 😀 제 질문은 개인적으로 평소에 reduce를 이용해서 객체를 만들때 obj를 mutable하게 다루는 것이 아니라 아래 코드처럼 새로운 객체를 만들어 리턴하는 식으로 작성했었는데요. 저의 지식이 짧아 이와 같은 코드를 사용해도 괜찮은지, 혹은 단점이 있는지 궁금하여 질문 드립니다. 🤔 감사합니다. const object = entries => _.reduce( (obj, [k, v]) => ({ ...obj, [k]: v }), {}, entries, );
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
비교연산자를 사용하 실때 '===' 가 아닌'=='를 사용하시는 이유가 있으신지 궁금합니다.
저번 강의에 이어 이번 강의도 잘 보고있습니다. 이번 편까지 총 3편정도의 강의를 봤는데 비교연산자를 사용하 실때 '===' 가 아닌'=='를 사용하시는 이유가 있으신지 궁금합니다.
- 해결됨함수형 프로그래밍과 JavaScript ES6+ 응용편
order_ids 관련 질문있습니다.
order_ids 를 통해 결제가 완료된 가맹점 측 주문서 id 를 가져오는데 payments들의 order_id를 뽑아낸 이유가 궁금합니다. const order_ids = await _.map(({id}) => id, DB.getOrders()) payments 의 order_id 를 통해 값을 가져오는 로직이 아닌것 같아서 질문드립니다.
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
fxjs
아직 다보진 않았지만 모든강의가 Fxjs를 사용하는 건가요?? 그렇다면 환불받고 싶은데...
- 미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
reduce 관련 질문드립니다.
명령형을 함수형으로 바꾸는 과정 중에 질문드립니다. reduce 내부 함수를 간단하게 해보고 싶은데 if 문은 filter 를 통해서 해결이 가능할것 같은데, 여러가지 케이스에 관해서는 어떻게 해야하는지 감이 안오네요. 예시 코드 첨부합니다. const arr = [1, 2, 3, 4, 5, 6] console.log( _.reduce((a, b) => { if(b % 2 == 0) return a + b * 2 else if(b % 3 == 0) return a + b * 3 else if(b % 5 == 0) return a + b * 5 else return b },arr) )