blackd***
2016-09-04

멀티코어, 빅데이터, 분산 컴퓨팅을 다루는 데는 동시성과 병렬성이 핵심이다. 이 책은 동시성 프로그래밍의 핵심 내용을 다루며, 액터나 함수형 프로그래밍 같은 기술이 전통적인 스레드와 잠금장치 문제를 어떻게 풀 수 있는지 알려준다. GPGPU, 맵리듀스, 스트림 처리 등을 활용하여 코드의 성능, 확장성, 회복력을 향상해보자.
7가지 동시성 모델은 "일주일에 한 개씩, 단 7 만에 7가지 동시성 모델 완전 학습!"이라는 문장으로 요약할 수 있는 책입니다.
1주 차: 스레드와 잠금장치
2주 차: 함수형 프로그래밍
3주 차: 클로저 방식
4주 차: 액터
5주 차: 순차 프로세스 통신
6주 차: 데이터 병렬성
7주 차: 람다 아키텍처
위와 같은 커리큘럼을 가진 책으로, 총 363페이지의 IT 전문서로써는 조금 얇은 편의 책입니다.
전체적인 학습 커리큘럼이 매우 잘 구성되어 있다는 인사을 주었습니다. 하루의 학습을 마감하는 장에, 마무리 단계가 있습니다. 배운 내용을 정리해주고, 자율학습(찾아라, 수행하라) 가이드라인을 제시합니다. 더불어 그 장의 장·단점을 정리해주는 구성은 독자로써 무척이나 만족스러웠습니다. 그리고 새로운 개념을 소개할 때, 단순히 정의의 나열이 아닌 단계별 문제와 해법을 통하여 개념을 제시하고 있습니다. 이는 새로운 개념을 마주할 때, 큰 도움이 되었습니다.
다만 함수형 프로그래밍에 대한 전체적 맥락을 보는 정도의 내용이지, "완전 학습"이라 하기엔 어렵습니다. 함수형 프로그래밍에 대한 기본 개념을 어느정도 갖춘 분이 아니라면, 상당한 난항이 있을 책입니다. 어렵습니다.
'임백준'이라는 이름과 '동시성 모델'이라는 신뢰성과 호기심으로 이 책을 택하였습니다. 웹 프로그래머로써는 상당히 낯선 개념인 함수형 프로그래밍에 대하여 전체적인 맥락을 짚어볼 수 있는 좋은 기회였습니다.
다만 누군가에게 이 책을 권하게 된다면, 먼저 함수형 프로그래밍에 대한 기본 개념이 담긴 책을 권하고 싶습니다.