🚀 94sssh
Published on

2024.04.17

[함수형 코딩] - 19. 함수형 프로그래밍 여행에 앞서

지금까진 여행이 아니었나요..? 🏃

그동안 배운 것

액션과 계산, 데이터

  • 코드에서 액션, 계산, 데이터를 구분한다.
  • 액션에서 계산을 분리해 재사용 및 테스트에 좋은 코드를 만든다.
  • 암묵적인 입력과 출력을 명시적으로 바꾼다.
  • 불변성을 구현해 데이터 읽기를 계산으로 만든다.
  • 계층형 설계를 적용한다.

일급 추상

  • 일급 문법으로 코드를 추상화할 수 있다.
  • 함수형 반복과 함수형 도구를 사용한다.
  • 파이프라인을 만든다.
  • 타임라인 다이어그램을 통해 동시성 분산 시스템을 이해한다.
  • 고차 함수로 상태를 다룬다.
  • 반응형 아키텍처로 원인과 효과의 결합을 줄인다.
  • 어니언 아키텍처를 적용한다.

진짜 중요한 3가지

1. 어떤 경우에는 액션에 계산이 숨어 있다.
액션과 계산, 데이터를 구분하는 것은 함수형 프로그래밍의 기본

2. 고차 함수를 통해 추상화의 개념을 넓힌다.
수많은 반복문은 고차 함수를 사용하면 한 번만 작성하면 된다.

3. 코드에서 시간의 의미는 마음대로 바꿀 수 있다.
액션의 순서와 반복은 바꿀 수 있다.

투 트랙으로 마스터 되기

트랙 1: 샌드박스

  • 연습 문제 풀기
    타입스크립트 연습하기 좋은 사이트
  • 사이드 프로젝트
  • 버려진 브랜치 활용

    내가 자주 활용했던 버려진 브랜치 활용, 정확히는 처음부터 온갖 것을 다 모아놓을 브랜치를 만들어서 만들어보고 옮겨서 적용해보곤 했다. 👨‍💻

트랙 2: 제품

  • 리팩터링
  • 신규 기능
  • 새로 만들기
  • 다른 사람 알려주기

챕터 후반부의 함수형 언어 소개부터 시작해서, 수학적 지식을 얻기 부분의 람다 대수, 콤비네이터, 이펙트 시스템, @~! 등은 이해하기 어려웠지만, 드디어 책 한 권을 끝냈다. 프로그래머의 뇌로 시작해서 생각보다 쉽지 않게 시작한 책 읽기가 벌써 2권을 마무리했다는 것이 너무 기쁘다~~! 😊
이번 책은 프로그래머의 뇌보다는 훨씬 재밌었고 유익했던 것 같다. 내용도 좋았고, 실제로 적용할만한 내용이나 기본기가 되어줄 내용이 많아 도움이 된 책이었다. 실제로 프로젝트에 얼마나 적용했는가 보다도 책을 읽으면서 내가 성장했나? 책에서 강조한 내용들을 기본적으로 코드를 작성하며 떠올릴 정도로 숙지했나? 하면 그렇다기엔 많이 부족하지만, 앞으로도 책의 내용은 코드를 작성함에 있어서 하나의 지침이 될 것 같고, 다른 책이나 글을 볼 때, 내용에 대한 판단을 하는 하나의 기준이 되어줄 것 같다. 물론, 책 내용은 언젠가 또 책을 읽으면서 중요한 부분을 익히려고 하겠지만, 일단 책을 다 읽었다는 것이 좋고 뿌듯하다~~~ 🥳