반디북
쏙쏙 들어오는 함수형 코딩
Ch19
우석

함수형 프로그래밍 여행에 앞서

개념 다시 보기

액션, 계산, 데이터

  • 액션 계산 데이터를 구분하여 문제가 되는 부분 찾기
  • 액션에서 계산 빼내고 테스트가 쉬운 코드로 바꾸기
  • 암묵적 입출력을 명시적으로 바꿔 액션 설계를 개선하기
  • 불변성을 활용해 데이터 읽기를 계산으로
  • 계층형 설계로 코드를 구성하고 개선하기

일급 추상

  • 언어 문법을 활용한 알급화
  • 함수형 반복과 함수형 도구를 활용한 고차원화
  • 함소형 도구를 활용한 파이프라인화
  • 타임라인을 활용한 동시성 분산 시스템 이해
  • 타임라인을 활용한 버그 제거
  • 고차 함수로 안전하게 상태 변경하도록 수정하기
  • 반응형 아키텍처로 원인과 효과 분리
  • 어니언 아키텍처 설계로 함수형 설계에 보다 적합한 아키텍처 사용하기

꼭 기억할 것

  • 액션에 있는 계산을 찾아내도록 노력하자!
  • 고차함수를 사용하면 추상화에 대한 개념이 넓어지고, 코드를 재사용하기 수월해진다.
  • 코드 속에서 시간의 의미는 마음대로 바꿀 수 있다.

트랙 1: 샌드박스

  • 새로운 기술을 실험하고 연습해보기 위한 장소
  • 사이드 플젝에 적용해보자
  • 사이트 활용

트랙2: 제품

  • 운영 플젝에 적용해보기
  • 전역 변수를 줄여보자!
  • 타임라인을 하나씩 줄여보자!
  • 액션에서 계산을 하나씩 줄여보자!
  • 암묵적 입출력을 하나씩 줄여보자!
  • 반복문을 하나씩 줄여보자!

2회독 후기

  • 결국 아래 내용들로 정리가 되는 것 같다.
    1. 타임라인은 적을수록 이해하기 쉽다.
    2. 타임라인은 짧을수록 이해하기 쉽다.
    3. 공유하는 자원이 적을수록 이해하기 쉽다.
    4. 자원을 공유한다면 서로 조율해야 합니다.
    5. 시간을 일급으로 다룹니다.
  • 로직에서 액션, 계산, 데이터를 분리하고 액션에 대해 위와 같이 다루는 것.
  • 5가지에 대한 방법을 코드 예시와 함께 설명해주는 점이 좋았다.
  • 까먹었던 액션, 데이터, 계산 관점을 다시 생각해볼 수 있었다.
만혁

함수형 프로그래밍 여행에 앞서

꼭 기억해야 할 것

  • 어떤 경우에는 액션에 계산이 숨어 있다.

  • 고차 함수를 사용하면 추상화에 대한 개념이 넓어진다.

  • 코드에서 시간의 의미는 마음대로 바꿀 수 있다.

회독 후기

초반 불변성과 일급함수로 빌드업하고 타임라인과 동시성으로 마무리하게 되는데

마지막 타임라인과 동시성에서 Cut(), ValueCell() 함수가 이 책의 정수인것 같다!!!!

처음 읽을땐 무슨말인지 몰랐고, 두번째 읽을땐 소름이 돋았고

세번째 읽을땐 지금 코드에 어떻게 사용하면 좋을지 상상이 되었다 단지 세번째 읽을때는 마음이 급해서 그런지 내용이 잘 눈에 안들어왔다는게 좀 아쉽다