14-16p
요약
코드를 계층형으로 구분
가장 빈번히 바뀌는 것, 액션
항상 같은 값을 주는 것, 계산
종속성이 강하지만 잘 바뀌지 않는것, 데이터와 언어관련
액션은 시간에 영향을 받는다 다른 말로 다른액션순서에 영향을 받는다
액션들의 순서는 매우 중요하며, 시스템이 확장되어 분산 시스템으로 갈때에도 액션의 실행 순서는 보장 되어야한다
하지만 확장된 시스템에서는 액션들의 실행 순서는 보장되지 않는다. 이러한 문제를 해결하기 위해서는 타임라인 커팅을 사용한다. 커팅은 액션의 흐름에서 액션들의 결과가 모두 나올때 까지 대기 하기 때문에 이후 액션들에서 문제가 생기지 않는다.
발췌
메모
27-41p
[요약]
함수형 코딩의 1차 목표인 액션 계산 데이터를 나누는 것을 이야기한다.
해결하고자 하는 문제를 간략히 나누다 보면 온통 액션으로 이루어져 있다(그렇게 보인다)
실제로는 액션안에는 계산과 데이터를 분리 해낼 요소들이 굉장히 많고 끝없이 분리 할 수 있다. 책에서는 분리를 어느 단계까지 해야하는지 아는것이 중요하다고 말한다.
액션을 잘게 분리를 하다보면 데이터는 잘 분리 되는데 생각보다 계산이 잘 보이지 않을 수 있다. 문제를 해결하기 위해 생각을 할때 계산은 머리속에서 알아서 처리해서 데이터를 내기 때문이라고 책은 말한다.
책에서는 장보기를 예시로 든다. 냉장고에 있는 재고와 필요한 재고를 가지고 내가 사야할 물건을 결정하게 되는데(계산) 실제 우리가 행동 할 때 장을 보다가 중간에 멈춰서 필요한 물건을 계산하지 않고 바로바로 결정하기 때문에 계산이 눈에 잘 띄지 않는다고 말한다.
[발췌]
[메모]
액션의 분리는 어느 단계까지 해야하는 걸까?