Skip to content

FRONT-JB/Functional-Programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

GITHUB

함수형 프로그래밍 방법론

최신 Javascript 프로토콜들의 의미와 사용법

동시성, 지연성, 함수 합성.. 등 고급 프로그래밍 기법들

비동기, 에러 핸들링 방법론


섹션 0. 함수형 자바스크립트 기본기 (4강 ∙ 11분)

Recap

  • 평가와 일급 (03:00)
  • 일급 함수 (02:00)
  • 고차 함수 (06:00)

섹션 1. ES6에서의 순회와 이터러블:이터레이터 프로토콜 (4강 ∙ 31분)

Recap

  • 기존과 달라진 ES6에서의 리스트 순회 (03:00)
  • Array, Set, Map을 통해 알아보는 이터러블/이터레이터 프로토콜 (16:00)
  • 사용자 정의 이터러블, 이터러블/이터레이터 프로토콜 정의 (10:00)
  • 전개 연산자 (02:00)

섹션 2. 제너레이터와 이터레이터 (3강 ∙ 13분)

Recap

  • 제너레이터와 이터레이터 (04:00)
  • odds (07:00)
  • for...of, 전개 연산자, 구조 분해, 나머지 연산자 (02:00)

섹션 3. map, filter, reduce (7강 ∙ 37분)

Recap

  • map (06:00)
  • 이터러블 프로토콜을 따른 map의 다형성 1 (06:00)
  • 이터러블 프로토콜을 따른 map의 다형성 2 (03:00)
  • filter (05:00)
  • reduce (07:00)
  • reduce2 (02:00)
  • map+filter+reduce 중첩 사용과 함수형 사고 (08:00)

섹션 4. 코드를 값으로 다루어 표현력 높이기 (5강 ∙ 21분)

Recap

  • go (05:00)
  • pipe (04:00)
  • go를 사용하여 읽기 좋은 코드로 만들기 (02:00)
  • go+curry를 사용하여 더 읽기 좋은 코드로 만들기 (07:00)
  • 함수 조합으로 함수 만들기 (03:00)

섹션 5. 장바구니 예제 (2강 ∙ 20분)

Recap

  • 총 수량, 총 가격 (09:00)
  • HTML로 출력하기 (11:00)

섹션 6. 지연성 1 (11강 ∙ 1시간 11분)

Recap

  • range와 느긋한 L.range (13:00)
  • range와 느긋한 L.range 테스트 (02:00)
  • take (06:00)
  • 제너레이터/이터레이터 프로토콜로 구현하는 지연 평가 (04:00)
  • L.map (04:00)
  • L. filter (02:00)
  • range, map, filter, take, reduce 중첩 사용 (16:00)
  • L.range, L.map, L.filter, take 의 평가 순서 (14:00)
  • 엄격한 계산과 느긋한 계산의 효율성 비교 (05:00)
  • map, filter 계열 함수들이 가지는 결합 법칙 (03:00)
  • ES6의 기본 규악을 통해 구현하는 지연 평가의 장점 (02:00)

섹션 7. 지연성 2 (10강 ∙ 1시간 6분)

Recap

  • 결과를 만드는 함수 reduce, take (03:00)
  • queryStr 함수 만들기 (04:00)
  • Array.prototype.join 보다 다형성이 높은 join 함수 (08:00)
  • take, find (08:00)
  • L.map, L.filter로 map과 filter 만들기 (06:00)
  • L.flatten, flatten (06:00)
  • yield *, L.deepFlat
  • L.flatMap, flatMap (12:00)
  • 2차원 배열 다루기 (06:00)
  • 이터러블 중심 프로그래밍 실무적인 코드 (13:00)

섹션 8. 비동기:동시성 프로그래밍 1 (7강 ∙ 1시간 9분)

Recap

  • callback과 Promise (07:00)
  • 비동기를 값으로 만드는 Promise (06:00)
  • 값으로서의 Promise 활용 (08:00)
  • 합성 관점에서의 Promise와 모나드 (16:00)
  • Kleisli Composition 관점에서의 Promise (16:00)
  • go, pipe, reduce에서 비동기 제어 (13:00)
  • promise.then의 중요한 규칙 (03:00)

섹션 9. 비동기:동시성 프로그래밍 2 (10강 ∙ 1시간 26분)

Recap

  • 지연 평가 + Promise - L.map, map, take (12:00)
  • Kleisli Composition - L.filter, filter, nop, take (16:00)
  • reduce에서 nop 지원 (09:00)
  • 지연 평가 + Promise의 효율성 (03:00)
  • 지연된 함수열을 병렬적으로 평가하기 - C.reduce, C.take [1] (11:00)
  • 지연된 함수열을 병렬적으로 평가하기 - C.reduce, C.take [2] (14:00)
  • 즉시 병렬적으로 평가하기 - C.map, C.filter (03:00)
  • 즉시, 지연, Promise, 병렬적 조합하기 (08:00)
  • 코드 간단히 정리 (03:00)
  • Node.js에서 SQL 병렬 평가로 얻은 효율 (07:00)

섹션 10. 비동기:동시성 프로그래밍 3 (8강 ∙ 1시간 2분)

Recap

  • async:await (11:00)
  • [QnA] Array.prototype.map이 있는데 왜 FxJS의 map 함수가 필요한지? (11:00)
  • [QnA] 이제 비동기는 async:await로 제어할 수 있는데 왜 파이프라인이 필요한지? (20:00)
  • [QnA] async:await와 파이프라인을 같이 사용하기도 하는지? (02:00)
  • [QnA] 동기 상황에서 에러 핸들링은 어떻게 해야하는지? (05:00)
  • [QnA] 비동기 상황에서 에러 핸들링은 어떻게 해야하는지? (04:00)
  • [QnA] 동기/비동기 에러 핸들링에서의 파이프라인의 이점은? (09:00)
  • 마무리하며

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published