[함수형사고] 목차
Functional Thinkimg By Neal Ford
함수형 스터디를 진행하며 어떻게 함수형 사고를 할 수 있는가에 대한 고민을 했다. 물론 자바 자체를 잘하는 편은 아니지만, 꽤 매력있는 사고방식이라고 생각한다.
다음 아래와 같은 목차를 가지고 있다.
CHAPTER 1 왜
__1.1 패러다임 전환
__1.2 언어 트렌드에 발맞추기
__1.3 언어/런타임에 제어를 양도하기
__1.4 간결함
CHAPTER 2 전환
__2.1 일반적인 예제
____2.1.1 명령형 처리
____2.1.2 함수형 처리
__2.2 사례 연구: 자연수의 분류
____2.2.1 명령형 자연수 분류
____2.2.2 조금 더 함수적인 자연수 분류기
____2.2.3 자바 8을 사용한 자연수 분류기
____2.2.4 함수형 자바를 사용한 자연수 분류기
__2.3 공통된 빌딩블록
____2.3.1 필터
____2.3.2 맵
____2.3.3 폴드/리듀스
__2.4 골치 아프게 비슷비슷한 이름들
____2.4.1 필터
____2.4.2 맵
____2.4.3 폴드/리듀스
CHAPTER 3 양도하라
__3.1 반복 처리에서 고계함수로
__3.2 클로저
__3.3 커링과 부분 적용
____3.3.1 정의와 차이점
____3.3.2 재귀
__3.4 스트림과 작업 재정렬
CHAPTER 4 열심히보다는 현명하게
__4.1 메모이제이션
____4.1.1 캐싱
____4.1.2 메모이제이션의 첨가
__4.2 게으름
____4.2.1 자바의 게으른 반복자
____4.2.2 토털리 레이지 자연수 분류기
____4.2.3 그루비의 게으른 목록
____4.2.4 게으른 목록 만들기
____4.2.5 게으름의 이점
____4.2.6 게으른 필드 초기화
CHAPTER 5 진화하라
__5.1 적은 수의 자료구조, 많은 연산자
__5.2 문제를 향하여 언어를 구부리기
__5.3 디스패치 다시 생각하기
____5.3.1 그루비로 디스패치 개선하기
____5.3.2 클로저 언어 구부리기
____5.3.3 클로저의 멀티메서드와 맞춤식 다형성
__5.4 연산자 오버로딩
____5.4.1 그루비
____5.4.2 스칼라
__5.5 함수형 자료구조
____5.5.1 함수형 오류 처리
____5.5.2 Either 클래스
____5.5.3 옵션 클래스
____5.5.4 Either 트리와 패턴 매칭
CHAPTER 6 전진하라
__6.1 함수형 언어의 디자인 패턴
__6.2 함수 수준의 재사용
____6.2.1 템플릿 메서드
____6.2.2 전략
____6.2.3 플라이웨이트 디자인 패턴과 메모이제이션
____6.2.4 팩토리와 커링
__6.3 구조형 재사용과 함수형 재사용
____6.3.1 구조물을 사용한 코드 재사용
CHAPTER 7 실용적 사고
__7.1 자바 8
____7.1.1 함수형 인터페이스
____7.1.2 옵셔널
____7.1.3 자바 8 스트림
__7.2 함수형 인프라스트럭처
____7.2.1 아키텍처
____7.2.2 웹 프레임워크
____7.2.3 데이터베이스
CHAPTER 8 폴리글랏과 폴리패러다임
__8.1 함수형과 메타프로그래밍의 결합
__8.2 메타프로그래밍을 통한 자료형의 매핑
____8.2.1 함수형 자바와 그루비를 사용한 무한 스트림
__8.3 멀티패러다임 언어의 결과
__8.4 문맥 대 구성
__8.5 함수형 피라미드