우석
함수형 프로그래밍 여행에 앞서
개념 다시 보기
액션, 계산, 데이터
- 액션 계산 데이터를 구분하여 문제가 되는 부분 찾기
- 액션에서 계산 빼내고 테스트가 쉬운 코드로 바꾸기
- 암묵적 입출력을 명시적으로 바꿔 액션 설계를 개선하기
- 불변성을 활용해 데이터 읽기를 계산으로
- 계층형 설계로 코드를 구성하고 개선하기
일급 추상
- 언어 문법을 활용한 알급화
- 함수형 반복과 함수형 도구를 활용한 고차원화
- 함소형 도구를 활용한 파이프라인화
- 타임라인을 활용한 동시성 분산 시스템 이해
- 타임라인을 활용한 버그 제거
- 고차 함수로 안전하게 상태 변경하도록 수정하기
- 반응형 아키텍처로 원인과 효과 분리
- 어니언 아키텍처 설계로 함수형 설계에 보다 적합한 아키텍처 사용하기
꼭 기억할 것
- 액션에 있는 계산을 찾아내도록 노력하자!
- 고차함수를 사용하면 추상화에 대한 개념이 넓어지고, 코드를 재사용하기 수월해진다.
- 코드 속에서 시간의 의미는 마음대로 바꿀 수 있다.
트랙 1: 샌드박스
- 새로운 기술을 실험하고 연습해보기 위한 장소
- 사이드 플젝에 적용해보자
- 사이트 활용
트랙2: 제품
- 운영 플젝에 적용해보기
- 전역 변수를 줄여보자!
- 타임라인을 하나씩 줄여보자!
- 액션에서 계산을 하나씩 줄여보자!
- 암묵적 입출력을 하나씩 줄여보자!
- 반복문을 하나씩 줄여보자!
2회독 후기
- 결국 아래 내용들로 정리가 되는 것 같다.
- 타임라인은 적을수록 이해하기 쉽다.
- 타임라인은 짧을수록 이해하기 쉽다.
- 공유하는 자원이 적을수록 이해하기 쉽다.
- 자원을 공유한다면 서로 조율해야 합니다.
- 시간을 일급으로 다룹니다.
- 로직에서 액션, 계산, 데이터를 분리하고 액션에 대해 위와 같이 다루는 것.
- 5가지에 대한 방법을 코드 예시와 함께 설명해주는 점이 좋았다.
- 까먹었던 액션, 데이터, 계산 관점을 다시 생각해볼 수 있었다.
만혁
함수형 프로그래밍 여행에 앞서
꼭 기억해야 할 것
-
어떤 경우에는 액션에 계산이 숨어 있다.
-
고차 함수를 사용하면 추상화에 대한 개념이 넓어진다.
-
코드에서 시간의 의미는 마음대로 바꿀 수 있다.
회독 후기
초반 불변성과 일급함수로 빌드업하고 타임라인과 동시성으로 마무리하게 되는데
마지막 타임라인과 동시성에서 Cut()
, ValueCell()
함수가 이 책의 정수인것 같다!!!!
처음 읽을땐 무슨말인지 몰랐고, 두번째 읽을땐 소름이 돋았고
세번째 읽을땐 지금 코드에 어떻게 사용하면 좋을지 상상이 되었다 단지 세번째 읽을때는 마음이 급해서 그런지 내용이 잘 눈에 안들어왔다는게 좀 아쉽다