함수형 프로그래밍과 JavaScript ES6+ 응용편

함수형 프로그래밍과 JavaScript ES6+ 응용편

(23개의 수강평)

563명의 수강생
44,000원
지식공유자 · 유인동
48회 수업· 총 6시간 2분수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 초급, 중급
castinglife 프로필

인라인 그리드 셀 편집 기능구현 문의 드립니다. castinglife 8일 전

좋은 강좌 강사드립니다.

다름이 아니라 궁금한 부분이 있어 문의 드립니다.

간단한 ajax를 이용한 그리드 인라인 편집을 구현해 보려고 하고 있습니다.

임의의 레코드의 셀인 td 나 input 을 클릭 값을 변경해 주었을때

클릭된 td 상위 태그인 tr 하단에 저장 버튼 박스를 붙여 셀 값을 업데이트해 주려고 합니다.

혹시 간단한 예시나 팁을 주실수 있을까요?

1
한지훈 프로필

마지막챕터의Images가 90개라고 나오는데요.. 소스를 얻을수 있을까요? 한지훈 14일 전

어디서 얻는지 모르겠습니다 ㅠㅠ..

1
파이 프로필

구조분해 문의 파이 29일 전

L.takeWhile(({cars}) => cars.length == 4) 까지는 이해가 가는데요.

L.takeWhile(({cars: {length}}) => length == 4) 여기에서 cars: ['철수', '영희', ...] 과 같이 배열이 value에 해당하는데, 저 배열부분을 {length}로 구조분해가 되는게 이해가 안 갑니다.

1
vanila 프로필

user.age >= 30에 관하여.. vanila 3달 전

안녕하세요, 오랜만에 다시 강의를 듣기 시작했는데..

_.reduce((total, user) => {
        if(user.age >= 30) return total;
        return total + user.age;
      }, 0, users)

부분에서 if(user.age >= 30) 이라면 35, 와 34 를 리턴하여 값이 69가 아닌 왜 77이 나오는지 궁금합니다..

1
blgf6190 프로필

fxjs 슬랙 채널에 초대 받고 싶습니다. blgf6190 5달 전

초대해주시면 감사하겠습니다.

1
이성필 프로필

fxjs가 lodash나 ramdajs에 비해 얻는 장점이 뭐가 있을까요? 이성필 5달 전

실무에서 함수형 프로그래밍 도입을 위해 라이브러리들을 고민하고 있습니다.

거론되는 라이브러리는 ramdajs, lodash가 있구요.

아무래도 fxjs를 통해 FP를 배우기 시작해서 저에게 제일 편한건 fxjs이긴 합니다.

다만 위 라이브러리들이 더 글로벌하게 쓰이고 있어서 팀원들을 설득하기 위해 알아보고있지만,

아직 경험이 많이 없다보니 그런 안목이 아직 부족합니다.

위 라이브러리들을 훑어 봤을 때

fxjs로 transducer를 더 직관적으로 작성할 수 있고,

병렬평가가 가능합니다. 이외에도 여타 다른 라이브러리에 비해 장점으로

무엇을 꼽을 수 있을까요..?

그리고 fxjs2의 경우 tree shaking을 지원하는지도 궁금합니다

3
Daniel Lee 프로필

fxjs를 사용한 백엔드 + 프론트엔드 구성에 참고할만한 예제가 있을까요? Daniel Lee 7달 전

안녕하세요. 최근 기본편 + 응용편을 수강하고있는 수강생입니다. 인동님의 강의 덕분에 함수형프로그래밍의 매력에 빠지게 되었습니다. 정말 감사합니다.

제가 강의를 모두 들은 후 실무에 fxjs + mql를 사용하여 백엔드 + 프론트엔드 구성을 해보려하는대요. 일단은 express + fxjs + mql + vanilla js를 사용하여 구성해보려 하고있습니다. 하지만 어떤식으로 프로젝트를 구성하고 라이브러리를 사용하는것이 best practice일지 감이 잡히지 않는것 같습니다...ㅜㅜ 제 지식이 부족한탓이지만 혹시 해당 구성에대한 예제가 있을까요?

다시한번 좋은강의 감사드립니다!

 

 

8
WebFront stove 프로필

"reduce 하나 보다 map + filter + reduce" 관련해서 질문드립니다~ WebFront stove 8달 전

강사님 강의 잘 봤습니다. "reduce 하나 보다 map + filter + reduce" 관련해서 질문드릴게 있어서요.

함수형 개발 기법 중에 transducer라는 게 있는 걸로 알고 있습니다. 어느정도 개념만 알고 있어서 이와 관련해서 질문 좀 드리려고 합니다.

transducer 관련한 글을 보면 map, filter, reduce 등을 여러번 쓰는 것보다 reduce protocol을 따르는 map, filter등을 사용해서 compose(pipe)등으로

합성해서 사용하는게 많은 데이터를 다룰때 효율적이다라고 알고 있습니다(실제로 ramdajs, rxjs 등이 이러한 기법으로 만들어진걸로 알고 있구요).

강사님은 대용량 데이터를 다뤄야 할때도 reduce 하나 보다 map + filter + reduce 이렇게 사용을 하시나요?

map + filter + reduce를 사용 하는 데 퍼포먼스 상 굳이 신경쓸 정도의 손해는 없는지 다른 의견이 있으신지 궁금합니다.

 

감사합니다.

 

4
이충만 프로필

삭제후 alert를 띄우는 코드 이충만 8달 전

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('삭제되었습니다.'),
      )
    )
  ))
);

2
조성륜 프로필

$.find, $.findAll 함수 관련 질문 조성륜 8달 전

find 함수와 findAll 함수를 부모에서 자식들을 찾는 동작으로 이해했는데 제대로 동작하지 않네요...
두 함수의 의도가 궁금합니다.

4
이충만 프로필

reduce 보조 함수에 관한 질문입니다. 이충만 8달 전

안녕하세요. 우선 좋은 수업 감사합니다! 😀

제 질문은 개인적으로 평소에 reduce를 이용해서 객체를 만들때 obj를 mutable하게 다루는 것이 아니라 아래 코드처럼 새로운 객체를 만들어 리턴하는 식으로 작성했었는데요. 저의 지식이 짧아 이와 같은 코드를 사용해도 괜찮은지, 혹은 단점이 있는지 궁금하여 질문 드립니다. 🤔

감사합니다.

 

const object = entries => _.reduce(
  (obj, [k, v]) => ({ ...obj, [k]: v }),
  {},
  entries,
);

1
Holden Colfield 프로필

비교연산자를 사용하 실때 '===' 가 아닌'=='를 사용하시는 이유가 있으신지 궁금합니다. Holden Colfield 8달 전

저번 강의에 이어 이번 강의도 잘 보고있습니다.

이번 편까지 총 3편정도의 강의를 봤는데 비교연산자를 사용하 실때 '===' 가 아닌'=='를 사용하시는 이유가 있으신지 궁금합니다.

2
조성륜 프로필

order_ids 관련 질문있습니다. 조성륜 9달 전

order_ids 를 통해 결제가 완료된 가맹점 측 주문서 id 를 가져오는데 payments들의 order_id를 뽑아낸 이유가 궁금합니다.

const order_ids = await _.map(({id}) => id, DB.getOrders())

payments 의 order_id 를 통해 값을 가져오는 로직이 아닌것 같아서 질문드립니다.

3
bg 프로필

fxjs bg 9달 전

아직 다보진 않았지만 모든강의가 Fxjs를 사용하는 건가요?? 

그렇다면 환불받고 싶은데...

1
조성륜 프로필

reduce 관련 질문드립니다. 조성륜 9달 전

명령형을 함수형으로 바꾸는 과정 중에 질문드립니다.

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)

)

3
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스