이미 소장하고 있다면 판매해 보세요.
|
1장. 함수형 자바스크립트 소개
함수형 프로그래밍과 Underscore.js를 포함한 몇 가지 중요한 주제를 소개한다. _1.1 자바스크립트 활용사례 _1.2 함수형 프로그래밍 시작하기 _1.3 언더스코어와 관련한 잡담 _1.4 요약 2장. 일급 함수와 응용형 프로그래밍 일급 함수를 정의하고 사용하는 방법을 보여 주며 몇 가지 일반적인 적용 사례를 보여 준다. 일급 함수를 사용하는 기법 중 하나로 응용형 프로그래밍을 설명한다. 또한 함수형 프로그래밍을 이용한 소프트웨어 개발의 핵심인 ‘데이터 고찰’을 살펴본다. _2.1 일급 함수의 특징 _2.2 응용형 프로그래밍 _2.3 데이터 고찰 _2.4 요약 3장. 변수 스코프와 클로저 자바스크립트 함수형 프로그래밍의 두 가지 핵심을 설명하는 과도기 장이다. 자바스크립트에서 흔히 사용하는 어휘적 스코핑, 동적 스코핑, 함수 스코핑 등을 포함한 다양한 변수 스코핑을 살펴보며, 클로저가 어떻게 동작하며 어떤 방식으로 그리고 왜 클로저를 사용하는지 살펴본다. _3.1 전역 스코프 _3.2 어휘 스코프 _3.3 동적 스코프 _3.4 함수 스코프 _3.5 클로저 _3.6 요약 4장. 고차원 함수 2장과 3장에서 배운 내용을 기초로 하여 일급 함수의 중요 유형인 고차원 함수를 설명한다. ‘고차원 함수’라는 말이 조금 복잡해 보일 수도 있지만, 고차원 함수가 간단함을 보여준다. _4.1 다른 함수를 인자로 취하는 함수 _4.2 다른 함수를 반환하는 함수 _4.3 지금까지 배운 내용을 모두 활용: 객체 검증자 _4.4 요약 5장. 함수로 함수 만들기 다른 함수를 이용해서 함수를 ‘만드는’ 방법을 살펴본다. 함수를 만드는 것은 함수형 프로그래밍에서 중요한 기법이므로 함수를 만드는 방법을 적절히 설명한다. _5.1 함수 조립의 핵심 _5.2 커링 _5.3 부분 적용 _5.4 함수의 끝을 서로 연결하는 함수 조립 방법 _5.5 요약 6장. 재귀 직접 또는 간접적으로 자신을 호출하는 재귀 함수를 설명하는 과도기 장이다. 자바스크립트에서는 재귀에 한계가 있어서 자주 사용되진 않는다. 그러나 재귀의 한계를 극복할 수 있는 방법이 있는데 이를 일부 설명한다. _6.1 자신을 호출하는 함수 _6.2 상호 재귀 함수(서로를 호출하는 함수) _6.3 너무 깊은 재귀! _6.4 재귀는 저수준 동작이다 _6.5 요약 7장. 순수성, 불변성, 변경 정책 어떤 것도 바꾸지 않는 함수형 코드를 구현하는 다양한 방법을 살펴본다. 간단히 말하면, 변수가 바뀌지 않을 때 함수형 프로그래밍을 쉽게 적용할 수 있다. 변수가 바뀌지 않는 상황이 어떤 의미인지 자세히 설명한다. _7.1 순수성 _7.2 불변성 _7.3 변화 제어 정책 _7.4 요약 8장. 흐름 기반 프로그래밍 관찰 작업을 살펴본다. 전체 시스템을 데이터를 가공하고 이동시키는 가상의 함수 ‘조립 라인’으로 간주한다. _8.1 체이닝 _8.2 파이프라이닝 _8.3 데이터 흐름과 제어 흐름 _8.4 요약 9장. 클래스를 이용하지 않는 프로그래밍 클래스 기반의 객체 지향 프로그래밍을 전혀 적용하지 않는 흥미로운 방식으로 응용 프로그램을 만드는 함수형 프로그래밍 방식을 설명한다. _9.1 데이터 지향 _9.2 믹스인 _9.3 }).call("Finis" ); 부록 A. 실생활의 함수형 자바스크립트 부록 B. 참고문헌 |
|
어떤 독자를 위한 책인가?
이 책의 독자가 자바스크립트의 기본 지식은 있다고 가정했다. 자바스크립트 언어와 관련한 훌륭한 책이 있고, 온라인에도 방대한 자료가 있으므로 이 책에서는 자바스크립트 언어 자체에 대한 설명은 하지 않는다. 또한 독자가 자바, 루비, 파이썬, 자바스크립트 등에서 일반적으로 사용하는 객체 지향 프로그래밍을 실무에 적용할 수 있을 정도의 지식이 있다고 가정했다. 객체 지향 프로그래밍 지식이 있다면 필자가 제공하는 정보를 좀 더 매끄럽게 받아들일 수 있겠지만 꼭 전문적인 객체 지향 프로그래밍 지식이 필요하진 않다. 이 책은 오랫동안 자바스크립트를 해왔지만 함수형 프로그래밍에 대해 알고 싶어 하는 프로그래머 또는 오랫동안 함수형 프로그램을 해왔으면서 자바스크립트를 배우고자 하는 프로그래머에게 가장 이상적이다. 후자의 경우에는 이 책을 메인으로 삼아 공부하기보다는 자바스크립트의 특이한 사항에 초점을 맞춘 부가적인 책으로 활용하길 권한다. 혁신적이고 놀라운 자바스크립트 코딩 기법을 만나자! 이 책은 Underscore.js 라이브러리를 이용해 아름답고 안전하고 직관적이고 테스트하기 쉬운 함수형 자바스크립트 코드를 구현하는 방법을 설명한다. 함수형 프로그램 기법을 배우려는 자바스크립트 프로그래머와 자바스크립트를 배우려는 함수형 프로그래머에게 유용하다. * 일급 함수를 이용한 응용 프로그래밍 기법 * 변수 스코프와 클로저 이해하기, 사용하기 * 함수로 함수 만들기, 인자로 삼기 * 재귀 함수 관련 자바스크립트 한계 극복 * 프로그램에서 상태 변화의 흔적을 줄이기, 숨기기, 제거하기 * 체인과 함수형 파이프라인을 이용한 흐름 기반 프로그래밍 * 클래스를 사용하지 않고 코딩하는 방법 역자의 말 일반적으로 책에 실린 ‘추천의 글’은 책이 좋다는 것을 독자에게 알리고 구매를 독려하는 것이 목적이므로 맹목적으로 칭찬하는 글이 대부분이다. 그런데 이 책의 추천의 글을 읽었을 때는 뭔가 다른 종류의 ‘추천’ 표현이 있다. 가령 ‘독자를 놀래는 프로그래밍 책은 드물다’라던가 ‘한 장 한 장 읽어 나갈 때마다 포거스의 접근 방식이 얼마나 혁신적인지 깨닫고 놀라게 될 거라 장담한다’라는 표현이 있었다. 정말로 이 책의 내용이 그렇게 혁신적이고 놀라운 것일까라는 의아심을 자아냈다. 결론부터 얘기하자면 이 책을 끝까지 읽은 독자라면 ‘추천의 글’에 완전 동감할 것이라 생각한다. 함수형 프로그래밍이 제공하는 장점을 매우 간결하고 정확하고 적절하게 함축한 예제를 사용했다. 역자로서는 개인적으로 최근 몇 년간 이렇게 훌륭하게 집필된 책을 본 적이 없을 정도다. 하지만 책의 난이도가 높아 역자가 그랬듯 여러분도 여러 번 반복해 읽어야 하는 수고를 하게 될 것이다. - 우정은 |