쏙쏙 들어오는 함수형 코딩 - CHAPTER 19.
포스트
취소

쏙쏙 들어오는 함수형 코딩 - CHAPTER 19.

쏙쏙 들어오는 함수형 코딩

해당 포스트는 쏙쏙 들어오는 함수형 코딩을 학습하며 필요한 내용을 정리한 포스트입니다.




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

이번 장에서 살펴볼 내용

  • 직장 상사의 심기를 건드리지 않고 새로운 기술을 적용하거나 학습하는 방법
  • 함수형 기능에 심취하기 위해 함수형 프로그래밍 언어 한두 개를 골라 본다.
  • 함수형 프로그래밍의 수학적인 관점으로 깊이 들어가 본다.
  • 함수형 프로그래밍을 더 배우기 위한 책을 알아 본다.

💻 전문가의 기술을 배웠다.

🍳 파트 1 : 액션과 계산, 데이터

  • 코드에서 액션과 계산, 데이터를 구분해 가장 문제되는 부분을 찾음

  • 액션에서 계산을 빼내 재사용하기 좋고 테스트하기 쉬운 코드를 만듦

  • 암묵적인 입력과 출력을 명시적인 것으로 바꿔 액션의 설계를 개선

  • 불변성을 구현해 데이터 읽기를 계산으로 만듦

  • 계층형 설계로 코드를 구성하고 개선




💻 파트 2 : 일급 추상

  • 언어의 문법을 일급으로 만들어 코드를 추상화

  • 함수형 반복과 함수형 도구를 사용해 고차원으로 추론

  • 함수형 도구를 연결해 데이터 변환 파이프라인을 만듦

  • 타임라인 다이어그램을 통해 동시성 분산 시스템을 이해

  • 버그를 없애기 위해 타임라인을 활용

  • 고차 함수로 안전하게 상태를 변경

  • 반응형 아키텍처를 사용해 원인과 효과의 결합을 줄임

  • 세상과 상호작용하기 위해 어니언 아키텍처 설계를 서비스에 적용




💻 꼭 기억해야 할 것

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

  • 계산을 찾아서 빼내는건 귀찮지만 가치있는 일

  • 계산은 액션보다 재사용하기 좋고, 테스트하거나 이해하기 쉽다.

  • 액션과 계산, 데이터를 구분하는 것은 함수형 프로그래밍 기술의 기본


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


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

  • 타임라인 다이어그램으로 시간 흐름에 따라 코드가 어떻게 실행되는지 시각화할 수 있다.

  • 액션은 실행 시점(순서)와 실행 횟수(반복)가 중요




💻 샌드박스 : 사이드프로젝트를 시작해라

처음에는 작은 프로젝트로 시작

재미로 하는 사이드 프로젝트를 만들어라

익숙한 기술과 새로운 기술을 함께 사용해라

언제든지 기능을 추가해볼 수 있는 프로젝트를 준비해라




💻 샌드박스 : 연습 문제로 훈련하기

edabit

projecteuler

codewars

katas




**💻 제품 **

🍳 오늘 당장 버그를 없애 보자

  • 변경 가능한 전역변수를 하나씩 줄인다. (3장 ~ 5장)

  • 타임라인을 하나씩 줄인다. (15장 ~ 17장)


🍳 설계를 하나씩 개선하자

  • 액션에서 계산을 빼내자

  • 암묵적 입력과 출력을 명시적으로 바꿔보자

  • 반복문을 바꿔보자 (12장 ~ 14장)




💻 인기 있는 함수형 프로그래밍 언어

elixir

elixirschool




💻 수학적 지식

  • 람다 대수
  • 콤비네이터
  • 타입이론
  • 카테고리 이론
  • 이펙트 시스템




💻 요점 정리

  • 이 책에서 중요한 기술을 많이 배웠다.

    • 기술을 마스터하기 위해 계획을 세워 보면 좋다.
  • 기술을 잘 쓸 수 잇는 준비가 되지 않았지만 열정이 넘칠 수 있다.

    • 실험하고 연습할 수 있는 안전한 장소를 찾자
  • 함수형 프로그래밍으로 더 좋은 제품 코드를 만들 수 있다.

    • 제품 코드에 사용하면서 생기는 부담은 기술을 연마하는 데 도움이 되기도 한다.
  • 사이드 프로젝트나 실제 제품에 사용할 수 있는 실용적인 함수형 프로그래밍 언어가 많이 있다.

    • 사이드 프로젝트나 실제 제품에 적용하는 것은 함수형 프로그래밍 분야에서 경험을 쌓기 좋은 환경이다.
  • 함수형 프로그래밍에는 수학적 개념이 사용되기도 한다.




📚 레퍼런스

Normand, 김은민, and Normand, Eric. (쏙쏙 들어오는) 함수형 코딩 : 심플한 코드로 복잡한 소프트웨어 길들이기 / 에릭 노먼드 지음 ; 김은민 옮김 (2022). Print.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.