이미 소장하고 있다면 판매해 보세요.
1장. 함수형 프로그래밍 소개
__불변성 __참조 투명성 __고차 함수 __지연 평가 __함수형 프로그래머처럼 생각하기 __FP의 장점 ____FP를 통한 생산성 향상 ____FP는 재미있다 ____스칼라 __결론 2장. 기초 수학 __집합론 ____함수 ____함수의 종류 __컴퓨터 과학 기초 ____익명 함수 ____일급 객체로서의 함수 __결론 3장. 범주론과 패턴 __패턴 기반 범주론 ____간략한 역사 ____대상과 사상 ____범주의 예 ____Scal 범주 ____펑터 ____펑터의 프로그래밍 언어 표현 __패턴 ____펑터 패턴 ____모노이드 ____자연 변환 ____모나드 __결론 4장. 함수형 자료 구조 __Option 자료 구조 __Try 자료 구조 __Either 자료 구조 __고차 함수 __Scala의 for 컴프리헨션을 위한 모나드 __기존 자료 구조 ____불변성과 기록 ____지연 __결론 5장. 불변성 자세히 알아보기 __가변과 불변 변수 __재귀 ____연결 리스트의 예 __꼬리 재귀 __스칼라 fold의 강력한 기능과 관련된 예 __fold와 Monoid 사이의 연관성 __고차 함수에 대한 추가 정보 ____map에서 flatMap으로 __결론 6장. 동시성에 대한 질문 __스트림 __Akka 스트림 ____소스 ____Flow ____Sink __스트림 더 알아보기 __FS2 __결론 7장. 어디로 가야 하는가? __순수한 방식 채택하기 ____IO 모나드 ____중간 노선 선택 ____JVM 언어 ____닷넷 언어 ____타입 클래스 __결론 부록. 스칼라 |
저잭 위드먼
관심작가 알림신청Jack Widman
역이진호
관심작가 알림신청이진호의 다른 상품
역한용진
관심작가 알림신청
이 책에서 다루는 내용
- 함수형 프로그래밍 기본 개념을 배우고 함수형 프로그래머가 문제에 접근하는 방식을 탐구한다. - 함수형 프로그래밍이 객체 지향 프로그래밍과 명령형 프로그래밍이 어떻게 다른지 이해할 수 있다. - 함수적인 방식으로 현실을 모델링하는 실용적이고 적용 가능한 디자인 패턴 세트를 사용할 수 있다. - 함수형 프로그래밍 및 객체지향 프로그래밍 기능을 소프트웨어 프로젝트에 통합하는 방법을 학습할 수 있다. - 함수형 디자인 패턴을 적절하게 적용하고, 정확하고 견고한 동시에 쉽게 수정할 수 있는 코드를 작성할 수 있다. 이 책의 대상 독자 모든 프로그래머를 대상으로 한 책이다. 함수형 프로그래밍에 대한 경험은 없지만 들어본 적이 있고, 궁금한 점이 많거나 지식이 전혀 없는 상태에서 서점에서 이 책을 구매한 경우에도 유용할 것이다. 숙달된 함수형 프로그래머 또한 도움이 될 만한 내용을 찾을 수 있을 것이다. 다른 책에서는 다루지 않는 방식으로 함수형 프로그래밍의 범주론의 근간을 심층적으로 설명한다. 마지막으로 활용 경험이 어느 정도 있지만 함수형 프로그래밍을 구성하는 개념과 이론을 더 깊이 이해하고 싶은 프로그래머는 이 책을 통해 많은 것을 배우고 즐길 수 있을 것이다. 지은이의 말 최근 몇 년간 함수형 프로그래밍(FP)은 부흥기를 맞이하고 있다. 자바, 자바스크립트, 파이썬과 같이 처음부터 함수형으로 설계되지 않았던 프로그래밍 언어들이 시간이 지나면서 함수형 기능을 포함하도록 발전함에 따라 수많은 회사에서 함수형 프로그래밍 경력을 보유한 프로그래머를 찾고 있다. 함수형 개발 경력을 보유한 프로그래머에 대한 수요는 함수형 방식을 따를 때 버그가 더 적게 생성되고 확장 가능한 견고한 코드를 생성하는 등 개발 프로세스가 개선될 것이라는 인식에 기반을 두고 있다. 이것이 사실인지에 대한 여부와 앞으로 작성될 코드에서 함수형 코드의 비율이 더 높아질지에 대한 여부는 시간이 흘러감에 따라 더 분명해질 것이다. 지금은 함수형 프로그래밍을 각각 장단점을 보유한 여러 패러다임 중 하나로 생각하자. 옮긴이의 말 최근 스칼라, 코틀린, 타입스크립트, 하스켈 등 다양한 함수형 프로그래밍 언어가 소프트웨어 개발에 활용되고 있다. 이러한 인기의 비결은 함수형 프로그래밍만이 갖고 있는 여러 특징 때문이다. 많은 프로그래밍 언어가 개발의 편의성을 이유로 동적 타입 시스템을 적용한 프로그래밍 언어를 사용하고 있다. 그러나 이는 유지 보수를 어렵게 만들며 예기치 못한 오류를 발생시킨다. 반면, 함수형 프로그래밍은 부수 효과(side effect)가 없기 때문에 테스팅과 디버깅에 용이하다는 장점이 있다. 정적 타입 시스템을 채택한 함수형 프로그래밍은 이러한 장점을 극대화시킬 수 있다. 하지만 함수형 프로그래밍은 반복문, 조건문과 같은 기본적인 문법만 익혀서는 효과적으로 실무에 사용할 수 없으며 일급 객체, 범주론, 집합론 등 다양한 수학적 개념을 익혀야 효과적으로 사용할 수 있다. 이 책에서는 이러한 수학적 개념들과 함께 불변성, 지연 계산법과 같은 특징을 다루기 때문에 함수형 프로그래밍의 본질을 이해하고 실제 업무에 활용하는 데 많은 도움이 될 것이다. 과거 명령형 프로그래밍만 전적으로 사용하던 시절이 있었지만 현재는 객체지향 프로그래밍과 명령형 프로그래밍이 함께 조화를 이루고 있다. 앞으로는 함수형 프로그래밍과 객체지향 프로그래밍을 함께 활용하는 개발 방법론이 적용될 것이다. 이 책은 이러한 함수형 프로그래밍과 객체지향 프로그래밍을 함께 사용할 수 있는 방법도 다루고 있다. 프로그래밍 언어 연구에 매진하는 연구원으로서 함수형 프로그래밍을 배우고 싶어 하는 독자에게 이 책을 강력히 추천한다. |