[함수형사고] 목차

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 함수형 피라미드