함수형 자바스크립트 프로그래밍 (프로그래밍 인사이트)

함수형 자바스크립트 프로그래밍 (프로그래밍 인사이트)

$29.00
Description
실무 밀착형, 함수형 자바스크립트 프로그래밍 가이드!
『함수형 자바스크립트 프로그래밍』은 자바스크립트에서 함수형 패러다임을 통해 보다 효율적인 코드를 만들고자 하는 개발자를 위한 실무 밀착형 가이드다.
익숙한 개발 방식에서 벗어나 기존 코드를 어떻게 함수형으로 바꿀 수 있는지를 보여주면서 독자에게 ‘함수형 패러다임’이 적용된 코딩 스타일과 콘셉트를 전달한다.
이 책은 함수형 자바스크립트 프로그래밍을 위한 문법과 개념을 단순히 소개하지 않는다. 책 전반에 걸쳐 함수의 응용을 매우 깊이 다루며, 실용적인 접근을 항상 함께한다. 우선 함수형 패러다임을 잘 보여주는 라이브러리인 Underscore.js를 직접 구현해 보면서 함수적인 기법들이 얼마나 유용한지를 몸소 느낄 수 있도록 한다. 또한 함수형 프로그래밍의 완성도를 높이기 위해 저자가 직접 개발한 Partial.js 라이브러리를 통해 함수의 조합, 연속성, 순수 함수, 고차 함수, 불변성, 비동기, 동시성 등을 설명해서 보다 ‘개발자스럽게’ 함수형 자바스크립트 프로그래밍에 접근한다.

이 책은 가독성을 높이기 위해 코드 부분을 컬러로 제작했으며, 보다 나은 학습 환경을 제공하기 위해 책과 함께 보면 좋은 동영상 강의를 인프런을 통해 제공한다(https://www.inflearn.com/course/함수형-프로그래밍/). 책에 실린 모든 예제 코드는 책의 깃허브(https://github.com/indongyoo/functional-javascript/)를 통해 확인할 수 있다.
저자

유인동

저자유인동은마켓프레스에서커스텀티셔츠서비스마플(http://www.marpple.com)을만들고있다.마켓프레스에서는HTML,CSS,JavaScript,Node.js,PostgreSQL,AWS를주로다루고있다.어쿠스틱코드,카카오,엔씨소프트오픈마루스튜디오,시도우,하자센터에서웹서비스,아이폰앱,안드로이드앱등을개발했다.Objective-C와iOSSDK,Java와AndroidSDK의매력에빠져객체지향프로그래밍을파고들다가,지금은함수형프로그래밍의매력에빠져있다.다양한기술과언어들을탐구하는것을좋아하고최근에는함수형자바스크립트라이브러리인Partial.js를만들었다.

목차

1장함수형자바스크립트소개
__1.1함수형프로그래밍그거먹는건가요?
____1.1.1함수형자바스크립트를검색하면나오는예제
____1.1.2값으로써의함수와클로저
__1.2함수형자바스크립트의실용성
____1.2.1회원목록중여러명찾기
____1.2.2for에서filter로,if에서predicate로
____1.2.3함수형프로그래밍관점으로filter보기
____1.2.4map함수
____1.2.5실행결과로바로실행하기
____1.2.6함수를값으로다룬예제의실용성
__1.3함수형자바스크립트의실용성2
____1.3.1회원목록중한명찾기
____1.3.2값에서함수로
____1.3.3함수를만드는함수와find,filter조합하기
____1.3.4고차함수
____1.3.5functionidentity(v){returnv;},이건어디다쓰는거지?
____1.3.6연산자대신함수로
____1.3.7함수합성
__1.4함수형자바스크립트를위한기초
____1.4.1일급함수
____1.4.2클로저
____1.4.3클로저의실용사례
____1.4.4클로저를많이사용하라!
____1.4.5고차함수
____1.4.6콜백함수라잘못불리는보조함수
____1.4.7함수를리턴하는함수와부분적용
__1.5정리

2장함수형자바스크립트를위한문법다시보기
__2.1객체와대괄호다시보기
____2.1.1난해해보이는문법들을확인하는목적
____2.1.2객체와key
____2.1.3함수나배열에달기
____2.1.4delete
____2.1.5코드가실행될수있는영역
__2.2함수정의다시보기
____2.2.1기본정의
____2.2.2호이스팅
____2.2.3호이스팅활용하기
____2.2.4괄호없이즉시실행하기
____2.2.5newFunction이나eval을써도될까요?
____2.2.6간단버전문자열화살표함수와newFunction성능
____2.2.7유명(named)함수
____2.2.8유명함수를이용한재귀
____2.2.9자바스크립트에서재귀의아쉬움
__2.3함수실행과인자그리고점다시보기
____2.3.1()다시보기
____2.3.2인자다시보기
____2.3.3this다시보기
____2.3.4call,apply다시보기
____2.3.5call의실용적사례
__2.4ifelse||&&삼항연산자다시보기
____2.4.1if의괄호
____2.4.2||&&
____2.4.3삼항연산자
__2.5함수실행의괄호
____2.5.1함수실행을통해생기는새로운공간
____2.5.2기본적인비동기상황
____2.5.3함수실행괄호의마법과비동기
____2.5.4비동기와재귀
__2.6화살표함수
____2.6.1익명함수와의문법비교
____2.6.2익명함수와의기능비교
____2.6.3화살표함수의실용사례
____2.6.4화살표함수재귀
__2.7정리

3장Underscore.js를직접만들며함수형자바스크립트의뼈대익히기
__3.1Underscore.js소개
____3.1.1Underscore.js간단히써보기
____3.1.2Underscore.jsvs.Lodash
____3.1.3지연평가1(take)
____3.1.4지연평가2(map->map->map)
____3.1.5지연실행
____3.1.6함수형프로그래밍관점에서의each
____3.1.7지원환경,용량,추가기능비교
____3.1.8Underscore.js와Lodash비교정리
____3.1.9Underscore.js를만드는이유
__3.2_.map과_.each구현하기
____3.2.1ArrayLike와Underscore.js의콘셉트
____3.2.2_.map만들기
____3.2.3쓸모없어보이는함수사용하기
____3.2.4_.each만들기
____3.2.5함수로함수만들기,bloop
____3.2.6Object.keys
____3.2.7bloop개선하기
____3.2.8중간정리
__3.3_.filter,_.reject,_.find,_.some,_.every만들기
____3.3.1_.filter만들기
____3.3.2bloop로_.filter만들기
____3.3.3_.rest,_.toArray,_.reverse,_.if
____3.3.4익명함수없이bloop로_.filter만들기
____3.3.5_.reject만들기
____3.3.6_.find,_.some,_.every를만들기위해bloop고치기
____3.3.7_.find만들기
____3.3.8_.findIndex,_.findKey만들기
____3.3.9_.some,_.every만들기
____3.3.10함수형프로그래밍에서함수는‘로직’이다!
__3.4_.reduce만들기
____3.4.1_.reduce소개
____3.4.2_.reduce의용도
____3.4.3_.reduce로회원데이터집계하기
____3.4.4_.reduce만들기
____3.4.5bloop반으로줄이기
__3.5좀더발전시키기
____3.5.1_.filter중간에나가기
____3.5.2코드양과성능

4장함수조립하기
__4.1고차함수와보조함수
____4.1.1한번만실행하는함수
____4.1.2다시물어보지않는함수
____4.1.3앞서받은인자혹은상황을변경해나가는경우
____4.1.4앞서받은인자를잘유지해야하는경우
__4.2부분적용
____4.2.1_.partial로함수만들기
____4.2.2_.partial과_.compose로함수만들기
____4.2.3더나은_.partial함수
__4.3연속적인함수실행
____4.3.1체인의아쉬운점
____4.3.2_.compose의아쉬운점
____4.3.3파이프라인
____4.3.4클래스를대신하는파이프라인
____4.3.5더나은파이프라인,그리고MultipleResults
__4.4더나은함수조립
____4.4.1함수조립과Partial.js
____4.4.2Partial.js의_.pipe
____4.4.3즉시실행파이프라인_.go
____4.4.4문자열화살표함수
____4.4.5Partial.js의_.partial
____4.4.6Partial.js의부분커링

5장Partial.js와함수조립
__5.1파이프라인
____5.1.1네임스페이스
____5.1.2즉시실행파이프라인,_.go와_.mr
____5.1.3함수를만드는파이프라인_.pipe
____5.1.4부분커링함수와의조합
____5.1.5보조함수로사용하는파이프라인
____5.1.6비동기와_.go
____5.1.7중간에멈추고나가기
__5.2비동기
____5.2.1코드변경없이비동기제어가되는고차함수
____5.2.2비동기결과를기다리는if문,_.if
__5.3고차함수
____5.3.1주요고차함수의보조함수에서더많은인자사용하기
____5.3.2_.all,_.spread
__5.4파이프라인2
____5.4.1_.go에서this사용
____5.4.2또다른파이프라인,_.indent
____5.4.3_,__,___
____5.4.4무조건비동기로동작하는_.async
____5.4.5_.go에서비동기제어건너뛰기
__5.5템플릿함수
____5.5.1함수스타일의템플릿함수
____5.5.2Jade(Pug)스타일문법지원
____5.5.3데이터치환
____5.5.4일반HTML전용_.string
____5.5.5인자여러개받기
____5.5.6escape
____5.5.7코드실행
____5.5.8_.sum
____5.5.9비동기제어
__5.6지연평가와컬렉션중심프로그래밍
____5.6.1지연평가
____5.6.2Lodash의체인방식지연평가가아쉬운이유
____5.6.3지연평가결정의기준과L
____5.6.4컬렉션중심프로그래밍
____5.6.5수집하기와거르기
____5.6.6접기
____5.6.7찾아내기
____5.6.83가지유형(수집하기,거르기,찾아내기)과지연평가와의연관성
____5.6.9더나은지연평가
____5.6.10지연평가의동작조건을동적으로하기
____5.6.11Partial.js

6장값에대해
__6.1순수함수
____6.1.1순수함수와부수효과
____6.1.2순수함수와순수함수가아닌함수
__6.2변경최소화와불변객체
____6.2.1직접변경하는대신,변경된새로운값을만드는전략:_.sortBy,_.reject,_.pluck,_.initial,_.without
____6.2.2_.clone으로복사하기
____6.2.3_.extend,_.defaults로복사하기
____6.2.4불변객체,그리고immutable.js의훌륭한점
____6.2.5immutable.js의아쉬운점
____6.2.6Model/Collection류의커스텀객체들의아쉬운점
__6.3기본객체다루기
____6.3.1_.sel과JSONSelector로중첩구조데이터다루기
____6.3.2JSONSelector를이용한값변경
____6.3.3커스텀객체vs기본객체
____6.3.4_.set,_.unset,_.remove2,_.pop,_.shift,_.push,_.unshift
____6.3.5_.set을통한값변경을함수로하기
____6.3.6깊은값꺼내기:_.deep_pluck
__6.4정리

7장실전에서함수형자바스크립트더많이사용하기
__7.1_.each,_.map
____7.1.1if대신_.each사용하기
____7.1.2선택된항목들지우기와_.map
____7.1.

출판사 서평

『함수형자바스크립트프로그래밍』은자바스크립트에서함수형패러다임을통해보다효율적인코드를만들고자하는개발자를위한실무밀착형가이드다.
이책은함수형자바스크립트프로그래밍을위한문법과개념을단순히소개하지않는다.책전반에걸쳐함수의응용을매우깊이다루며,실용적인접근을항상함께한다.우선함수형패러다임을잘보여주는라이브러리인Underscore.js를직접구현해보면서함수적인기법들이얼마나유용한지를몸소느낄수있도록한다.또한함수형프로그래밍의완성도를높이기위해저자가직접개발한Partial.js라이브러리를통해함수의조합,연속성,순수함수,고차함수,불변성,비동기,동시성등을설명해서보다‘개발자스럽게’함수형자바스크립트프로그래밍에접근한다.
이책은익숙한개발방식에서벗어나기존코드를어떻게함수형으로바꿀수있는지를보여주면서독자에게‘함수형패러다임’이적용된코딩스타일과콘셉트를전달한다.