Skip to content

SINHOLEE/functional_and_concurency

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

유인동 선생님의 함수형 프로그래밍과 동시성

학습이유

  • 프론트 앤드 개발자로서 개발을 하다보니 가장 어려운것이 비동기로 처리되는 다양한 작업을 원하는 대로 조작하는것이었다. 비동기 특성상 작업 완료 시점을 구분하여 관리하는 것이 쉽지 않았다. react에서는 redux +sage라는 비동기 작업 라이브러리를 이용하여 관리하는데, 과연 이러한 미들웨어 혹은 라이브러리 없이 순수하게 관리하는 방법이 무엇인지 궁금하였다.

느낀점

  • 아직 100% 이해하진 못하였지만, 몇가지 funtional programing 혹은 async programing에 대한 힌트를 얻은것 같다.

배운점

  • 함수형 프로그래밍에서 몇가지 규칙을 읽을 수 있었는데
  1. 인자 중 마지막 인자를 반환하여, pipelining이 가능하도록 설계
  2. 추상화 수준이 높아 promise까지 관리하도록 설계함
  3. 동사+목적어(or 동명사+목적어)와 같이 무한히 binding되는 구조로 영어와 같은 문장구성이 가능했다.
  4. promise객체를 이용하여, pending의 상태가 변경되는 시점에 원하는 함수를 호출하여 비동기 작동을 원하는대로 조작할 수 있다. 예를들어 Promise.All을 이용하여 n개의 작업이 다 끝났을때의 시점을 정하거나, Promise.race를 이용하여 가장 빨리 끝나는 작업의 시점을 기준으로 특정 동작을 수행할 수 있도록 관리하는 로직을 짤 수 있다.

About

유인동선생님 d2강의 무작정 따라하기!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published