컨텐츠상세보기

함수형 사고 (커버이미지)
함수형 사고
  • 평점평점점평가없음
  • 저자닐 포드 지음, 김재완 옮김 
  • 출판사한빛미디어 
  • 출판일2016-08-30 
  • 등록일2016-10-24 
  • 파일포맷 epub 
  • 파일크기4 M  
  • 지원기기 PC PHONE TABLET

    아이폰, 아이패드, 안드로이드, 태블릿, PC

책소개

객체지향 언어에 길든 개발자들에게 예제를 통해 함수형으로 '생각'하는 법을 깨닫게 해주는 책. 스칼라 같은 함수형 언어의 수요가 늘고 있지만 자바 같은 객체지향에 익숙한 개발자들은 함수형 패러다임으로 넘어가는 데 어려움을 겪고 있다. 단순히 새 언어 문법을 익히는 것이 아니라 사고방식 자체를 바꿔야 하기 때문이다. 이 책은 자바 8, 스칼라, 클로저, 그루비 예제를 통해 객체지향 개발자가 함수형으로 사고를 전환하고 시야를 넓히는 일을 돕는다. 익숙한 사고방식을 바꾸려 노력하는 자바 개발자에게 소중한 디딤돌이 될 것이다.

저자소개

글로벌 IT 컨설턴트 업체 소트워크스(ThoughtWorks)의 디렉터, 아키텍트, 밈 랭글러. 소트워크스 입사 전에는 DSW 그룹의 CTO로 재직했다. 조지아 주립 대학교에서 컴퓨터과학 학위를 땄으며 언어, 컴파일러, 통계분석을 공부했다. 다수의 애플리케이션을 설계하고 개발했으며, 여러 교육 자료, 기고문, 비디오 연설로도 유명하다. 국제적으로 명망 있는 강연자로서, 수많은 세계 개발자 콘퍼런스에서 발표한 바 있다. 대규모 기업 애플리케이션 설계 및 구축에 관해 주로 컨설팅하고 있다. 저서 중 국내 번역서로는 『능률적인 프로그래머』(지앤선, 2009), 『프레젠테이션 교과서』(위키북스, 2014 ) 등이 있다. 웹사이트 http://www.nealford.com을 운영한다.

목차

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

한줄 서평

1