메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

함수형 자바스크립트

모던 웹 개발에 충실한 실전 함수형 프로그래밍 안내서

한빛미디어

번역서

판매중

  • 저자 : 루이스 아텐시오
  • 번역 : 이일웅
  • 출간 : 2018-02-01
  • 페이지 : 320 쪽
  • ISBN : 9791162240427
  • 물류코드 :10042
  • 초급 초중급 중급 중고급 고급
4.8점 (8명)
좋아요 : 22

ES6와 로대시, 람다JS, RxJS와 함께하는 함수형 프로그래밍 

함수형 프로그래밍은 먼 나라 이야기가 아닙니다. 특히 사소한 부분 하나가 시스템 전체를 망가뜨릴 수 있는 웹 애플리케이션에서 함수형과 리액티브 프로그래밍의 이점이 더욱 주목받고 있습니다. 함수형 프로그래밍의 원칙을 따르면 성능은 물론 확장, 모듈화, 재사용, 테스트 등 많은 측면에서 개선을 꾀할 수 있습니다. 이 책은 웹의 미래인 ES6와 떠오르는 함수형 라이브러리 로대시, 람다JS, RxJS 등을 활용하여 실무에 강한 함수형 프로그래밍의 세계에 안착하게 도와줍니다.

 

733수정됨_tyle-Cnn-vertical.jpg

 

루이스 아텐시오 저자

루이스 아텐시오

시트릭스 시스템즈의 선임 소프트웨어 엔지니어. 컴퓨터 과학 학사 및 석사 학위를 취득하고 10년간 자바, PHP, 자바스크립트 등으로 엔터프라이즈 애플리케이션을 구축해왔습니다. 왕성한 커뮤니티 활동을 하면서 지역 모임과 콘퍼런스에 자주 참가합니다. 본서 외 저서로 『RxJS in Action』(Manning, 2017), 『Functional PHP』(Leanpub, 2016) 등이 있습니다.

이일웅 역자

이일웅

20년 가까이 국내외 엔터프라이즈 현장에서 자바 전문 풀스택 개발자, 소프트웨어/애플리케이션 아키텍트로 프로젝트를 수행했다. 어느덧 50대를 바라보는 중년 아재가 됐지만 아직도 궁금한 기술이 많은 엔지니어이고, 20여 권의 IT 전문서를 번역하며 동료, 후배 개발자들과 지식과 경험을 나누는 일에도 힘쓰고 있다.
 

Part I 함수형으로 사고하기

 

CHAPTER 1 함수형 길들이기 

1.1 함수형 프로그래밍은 과연 유용한가?

1.2 함수형 프로그래밍이란?

1.3 함수형 프로그래밍의 좋은 점

1.4 마치며

 

CHAPTER 2 고계 자바스크립트 

2.1 왜 자바스크립트인가?

2.2 함수형 대 객체지향 프로그래밍

2.3 함수

2.4 클로저와 스코프

2.5 마치며

 

Part II 함수형으로 전환하기

 

CHAPTER 3 자료구조는 적게, 일은 더 많이 

3.1 애플리케이션의 제어 흐름

3.2 메서드 체이닝

3.3 함수 체이닝

3.4 코드 헤아리기

3.5 재귀적 사고방식

3.6 마치며

 

CHAPTER 4 재사용 가능한, 모듈적인 코드로 

4.1 메서드 체인 대 함수 파이프라인

4.2 함수 호환 요건

4.3 커리된 함수를 평가

4.4 부분 적용과 매개변수 바인딩

4.5 함수 파이프라인을 합성

4.6 함수 조합기로 제어 흐름을 관리

4.7 마치며

 

CHAPTER 5 복잡성을 줄이는 디자인 패턴 

5.1 명령형 에러 처리의 문제점

5.2 더 나은 방안: 함수자

5.3 모나드를 응용한 함수형 에러 처리

5.4 모나드 체인 및 합성

5.5 마치며

 

Part III 함수형 스킬 갈고닦기

 

CHAPTER 6 빈틈없는 코드 만들기 

6.1 함수형 프로그래밍과 단위 테스트

6.2 명령형 프로그램 테스트의 어려움

6.3 함수형 코드를 테스트

6.4 속성 기반 테스트로 명세 담기

6.5 코드 실행률로 효율 측정

6.6 마치며

 

CHAPTER 7 함수형 최적화 

7.1 함수 실행의 내부 작동 원리

7.2 느긋한 평가로 실행을 늦춤

7.3 ‘필요할 때 부르리’ 전략

7.4 재귀와 꼬리 호출 최적화

7.5 마치며

 

CHAPTER 8 비동기 이벤트와 데이터를 관리 

8.1 골칫덩이 비동기 코드

8.2 비동기 로직을 프라미스로 일급화

8.3 느긋한 데이터 생성

8.4 RxJS를 응용한 함수형 리액티브 프로그래밍

8.5 마치며

 

APPENDIX A 이 책에서 사용한 자바스크립트 라이브러리

A.1 함수형 자바스크립트 라이브러리

__A.1.1 로대시JS

__A.1.2 람다JS

__A.1.3 RxJS

A.2 기타 라이브러리

__A.2.1 Log4js

__A.2.2 QUnit

__A.2.3 시논JS

__A.2.4 블랭킷JS

__A.2.5 JSCheck

 

APPENDIX B 한국어판 부록: 예제 실습 안내

B.1 노드JS 설치 및 QUnit 테스트

B.2 브라우저 콘솔창에서 실습

검증된 자바스크립트 라이브러리로 입문하는 함수형 프로그래밍의 신세계 

복잡한 웹 애플리케이션에서는 자바스크립트 코드의 사소한 부분 하나가 시스템 전체를 망가뜨릴 수 있습니다. 함수형 프로그래밍의 원칙을 따라 코딩하면 이런 사태를 막고 애플리케이션의 설계, 의사소통, 유지보수를 수월하게 할 수 있습니다. 

 

이 책은 웹 애플리케이션을 개선하는 함수형 자바스크립트 기법을 알려줍니다. 성능은 물론이고 확장, 모듈화, 재사용, 테스트 등 웹 개발의 많은 측면을 개선할 수 있습니다. 로대시, 람다JS, RxJS 등 모던 웹 개발의 대세로 떠오른 함수형/리액티브 라이브러리를 활용한 구체적인 예제를 살펴봅니다. 

 

순수함수, 부수효과, 선언적 프로그래밍 등 함수형 프로그래밍의 중심 사상을 살펴보는 1부는 명령형에서 함수형 자바스크립트로 넘어가는 길잡이 역할을 합니다. 2부에서는 함수 체인, 커링, 합성, 모나드 등 핵심 기법을 다룹니다. 이를 토대로 고계함수와 재귀를 조합하여 코드를 작성하는 법을 배우고 모듈화 및 에러 처리에 활용합니다. 3부는 단위 테스트, 최적화, 비동기 이벤트 등 웹 개발자가 실무에서 맞닥뜨리는 난제를 함수형 프로그래밍(리액티브 프로그래밍)으로 풀어봅니다.

 

 

주요 내용

● 실무 친화적인 함수형 프로그래밍 기법

● 용도에 맞게 함수형 프로그래밍 적용하기

● 구현과 로직을 분리하여 생산성 높이기

● 함수형 스타일의 에러 처리, 테스트, 디버깅

● 모든 예제는 ES6로 작성(이터레이터, 제너레이터, 프라미스 활용법)

 

지금까지 나의 길을 돌아보면 객체지향 언어 보다 C언어로 임베디드 시스템 구현하는 작업을 많이 한 것 같다. 학생 시절에  C++, 자바를 배우긴 하였으나 실전에서 설계를 하기보다는 기존 코드를 수정 보완하는 작업에 촛점을 맞추어왔다. 자바스크립트는 IoT 구현에 관심을 가지면서 조금씩 배우긴 했지만 기본이 튼튼하지 않으니 여전히 수박 겉핧기 처럼 느껴진다.  "물들어올때 노저어라"라고 했던가~ 우연한 기회에 이책을 접하게 되고 강제로 공부하게 됨을 기쁘게 생각한다.

  

최근에 함수형 프로그래밍을 주제로한 서적들이 많이 보인다. 그만큼 프로그래밍 언어의 세계에서 중요한 패러다임이지 않을까 추측해본다. 위키페이지를 참조해보니1930년대에 개발된 람다대수를 근간으로 많은 프로그래밍 언어에서 람다연산을 발전시켜오고 있다고 한다. 여타 다른 함수형 언어들보다 이책에서 언급한 것 처럼 자바스크립트가 갖는 인기와 친숙함이 있기에 잘 활용하여 입문을 한다면 시간이나 노력에서 효율적일 것 같다.  

 

웹 어플리케이션을 잘 알고 있는 자바스크립트 개발자를 대상으로 하기 때문에 최소한 자바스크립트에 어느 정도 숙달 되어 있지 않으면  자주 어려운 부분을 만나지 않을까 생각된다. 그러나 자바스크립트 입문자라 하더라도 함수형 설계와 객체지향형 설계의 차이점에 초점을 맞추어 읽어나가면 많은 도움이 되지 않을까 한다.


이책은 크게 3부분으로 구성된다. Part1에서 함수형 프로그래밍의 개념 및 함수형으로 사고를 하는 방법을 배우고 Part2에서는 함수형 프로그래밍을 실전에 응용하기 위한 개념과 기법을 설명한다. 마지막으로 Part3에서는 작성한 프로그램을 검증하기 위한 테스트 기술을 배우면서 초급부터 고급까지 다양한 지식을 단계적으로 배울 수 있도록 되어있다.  

 

 

"함수형 프로그래밍은 과연 무엇인가?  자바스크립트를 활용하여 함수형 프로그래밍을 시작하면 어떨까?" 

 

 

 

 

 

중간 중간에 어려운 부분이 나올때 마다  다이아그램을 잘 활용한 설명으로 조금이나마 이해도를 높일 수 있었다. 자바스크립트를 활용한 함수형 프로그래밍은 분명 색다른 경험이었다. 절차적 언어와는 전혀 다른 차원의 코드 간결화와 생산성을 향상을 이루어 낼 수 있다니 신기할 따름이다. 함수형 프로그래밍에 흥미와 기대를 갖게 하는 과정이었다.  

한빛미디어 [Functional Programming JAVASCRIPT] 도서에 대한 리뷰를 진행하겠습니다. 한빛미디어에서 진행하는 세번째 IT 도서 리뷰! 이지만 지난 주까지 였던 리뷰가 늦어지게 되었네요 ㅠㅠ (죄송합니다 한빛미디어...) 함수형 프로그래밍 서적도 이미 한두권 정도 보았었는데, 다른 책과의 비교도 약간 넣어서 리뷰를 시작하겠습니다.


함수형 프로그래밍 (이하 FP)이란 말이 떠오르기 시작한건 벌써 몇 년 ( 태초에는 웹이 이..ㅆ... 불과 몇 년이 아닌 이유는 웹이 생기고, 대표적 FP인 자바스크립트가 활성화 된 시기에 비하면 몇 년 조차도 적은 기간이 아니기 떄문)이 되었습니다. 하지만 그 기간동안 제대로 정리된 FP 내용에 대한 서적은 별로 보질 못했던 것 같습니다.

오늘 이 책을 보고, 다른 곳에서 배우지 못했던 점에 대한 얘기만 해보겠습니다.

Chap. 1 함수형 길들이기

우선 책을 펼치자 마자 나오는 Chap 1의 예제 코드는 es6 람다 문법. 이미 자바스크립트 코딩에선 webpack과 babel 설명을 맞추고 es6문법을 사용하는게 기본으로 자리잡는 마당에 아직 es5에 jQuery로만 예제를 구성하는 책이 있습니다. (하아...)

RxJS에 대한 적용이 1장부터...? 다른 FP 서적의 마지막 보충설명에서 라이브러리 소개로 나온 걸 본 적은 있지만 메인으로, 사용 예제가 나온건 애초에 처음 보았습니다.

Chap. 2 고계 자바스크립트

React에서 핫한 영역으로 자리잡은 HOC (High Order Component)의 베이스가 되는 High Order Function에 대한 설명은 다른 책에서 찾아보기 힘들었는데, 매우 자세히 설명되어 있습니다. Curry까지 나와있는 책은 많았지만 이런 부분까지 정리되어있다는데 놀랍네요.

Chap. 3 자료구조는 적게, 일은 더 많이, Chap. 4 재사용 가능한, 모듈적인 코드로

Chap 3, 4에서는 코드에 대한 정리 및 OOP와 FP에 대한 비교가 주를 이루기 때문에 앞 Chap처럼 화려한 라이브러리, 최신 OOO에 대한 내용은 없습니다. 하지만 기본에 충실한 자료구조, Curry 들을 자세히 설명해 놓았습니다.

Chap. 5 복잡성을 줄이는 디자인 패턴

C, Java처럼 컴파일 언어가 아닌 JS에서 자료구조를 C, Java처럼 직접 유저가 다 구현해서 사용하기는 힘들지만 디자인 패턴은 어느 정도 구현할 수 있다고 생각합니다. 하지만 그 설명을 찾기란 힘들죠...

Chap. 6 빈틈없는 코드 만들기, Chap. 7 함수형 최적화

빼놓을 수 없는 테스팅 및 마무리 코드 최적화. 한가지 아쉬운건 이미 대세인 jest나 mocha를 놔두고 jQuery에서 만든 Qunit을 사용했어야 하는가.... 라는 부분입니다.

Chap. 8 비동기 이벤트와 데이터를 관리

사실 제일 기대하기도 했고, 어떤 JS 책을 보던 가장 중요하게 생각하는 부분입니다. es6가 생긴 이후 가장 빠르게 변하기도 하며 다른 언어에서 또한 포커싱이 맞춰져 있는 비동기.

es5에서 es6로 올라가면서 Promise가, es6에서 es7으로 올라가면서 async/await이 사용되고 있는데 Promise로, 내용을 발전시켜 RxJS까지, 사용자가 어떻게 프로그램을 발전시켜야 하는지 알려주기 위한 정성이 느껴집니다.


항상 자바스크립트에 관련된 책만 읽고, 리뷰도 그에 관련된 내용들만 하는데 그 중 가장 앞서나가는 책이 확실하다고 생각합니다. 이전까지의 책들에서 보지 못했던 발전 (es6, 비동기 처리, HOF, RxJS 등등)들을 제대로 정리해 놓았고, 어려운 부분까지 확실하게 풀어 설명했네요. 저도 따라가지 못했던 부분들이 몇몇 보여서 반성하게 되었습니다.

단점은 아니지만 지금 당장 시작하는 초보자가 보기에는 약간의 허들이 있다곤 생각합니다. 5단계로 치면 2~3단계 정도의 초중급 책이며 그 위로 올라갈 수 있도록 확실히 뒷받침 해줄 수 있다고 확신할 수 있겠습니다.

함수형 자바스크립트를 읽고

 

요즘에는 절차형라는 보다는 함수형이라는 말이 점점 많이 들리고 있다.

예전에 절차형과 함수형 프로그램에 대한 차이를 어떤 블로그에서 적이 있다. 결과는 같은 프로그램을 하는 스타일이 너무 다른 것에 충격을 받았다.

그래서 '함수형 사고 객체지향 개발자에서 함수형 개발자로 거듭나기' 라는 책을 구매해서 봤으니 내용이 난해해서 이해하기 힘들었다.

 

그리다가 번째 'You Don't Know JS: 타입과 문법, 스코프와 클로저' 책을 봤을 때는 전에 보던 책과 비슷한 애기이긴 하나 역시 아직도 개념을 이해하기에는 어려웠다.

 

그러던 중 '폴리글랏 프로그래밍' 책을 봤다. 프로그램에 대한 이야기를 임백준씨가 해준다는 것에 그냥 보고 있었는 데, 전에 몰랐던 프로그램에 대한 역사를 좀 알고 나니 함수형 프로그램에 대한 생각이 더욱 간절해졌다.

 

그러던 중 '함수형 자바스크립트'를 보니 개발자라면 대부분 사용하는 자바스크립트로 함수형 프로그램밍을 한다는 게 새로웠다.

요즘 자바스크립트는 RxJS 등등 비동기가 대세가 되어 가고 ES6 등등 새로운 표준이 도입되고 있으나 현실에서는 예전에 하는 옛날 방식으로 개발하고 있는 나의 모습을 보니 다시금 책이 새롭게 느껴졌다.

 

part 1에서는 함수형으로 사고하는 방식을 도와준다. 실은 몇 번 읽어야 할 듯하다. 여전히 나에게는 새로운 세계다.

 

part2에서는 기존 절차형을 함수형으로 전환하는 방법을 소개해 준다. 람다 사용법도 익숙해야 하고, 새로운 자바스크립트 표준에도 익숙해져야 한다. 그런데도 프로젝트에서 사용해 볼만한 것들이 많이 보인다.

 

part3에서는 함수형 스킬을 갈고닦기인데 좋은 내용이나 아직 여기까지는 힘들다. 위에 내용을 익히고 나서 해야 뜻하다.

 

자바스크립트로 함수형을 만든다고 생각하면 기존에 있는 프레임워크를 그냥 사용한다고 생각했는데, 역시나 기본/개념이 중요한 듯하다.

함수형 프로그램을 알고 싶은 사람은 책을 봐도 좋을 듯하다.

전혀 감이 없다면 '폴리글랏 프로그래밍'을 먼저 읽고 보는 걸 추천한다.

 

이번에 살펴 볼 책은 한빛미디어에서 출간한 "함수형 자바스크립트" 이다.

MANNING에서 출간한 Functional Programming in Javascript 를 번역한 번역서로 자바스크립트라는 언어를 통해 함수형 프로그래밍의 개념에 대해 설명하고 있다.

 

함수형 프로그래밍이라는 단어가 최근 몇년전부터 들려오기 시작했다. 2000년에 처음 웹프로그래밍을 시작하면서 가장 많이 듣던 단어가 객체지향언어프로그래밍이었다. 프로그램을 작성하려면 객체지향 프로그램의 의미를 먼저 이해하고 프로그램을 작성하는게 정석처럼 받아 들여 졌다. 그래서 객체지향 프로그램 관련 서적도 범람하던 시기였다.

하지만 점차 대규모 개발이 이뤄지고 아니면 개발 이후 시간이 지나고 다양한 기능들을 수용하고 덧붙여 여 나가면서 이를 대행하기에 객체지향 프로그램  언어의 한계가 드러나기 시작했다. 그래서 대두되었던게 함수형 프로그래밍이였다.

 

이 책은 함수형 프로그래밍을 웹개발자들에게 친숙한 언어이 자바스크립트를 통해 설명하므로 새로운 언어를 배워야 한다는 부담이 없고, 커링, 부분적용, 클로저, 모나드 등 함수형에서 언급된느 핵심 개념들을 짧은 시간에 학습할 수 있다. 그렇지만 기존에 자바스크립트를 이해하지 않고 사용하거나 jQuery를 활용해서 사용했던 개발자들에게 있어서는 새로운 언어를 배우는 것과 같이 자바스크립트에 대해 일정부분 학습이 학습이 필요하다. 자바스크립트 이해하는데 더글라스 클락포드가 지은 "Javascript The Good Parts"(번역서 : 자바스크립트 핵심가이드 - 한빛미디어)를 추천한다.

 

이 책은 총 3개 부, 8개 장으로 구성되어 있다.

1부는 함수형으로 사고하기로 함수형 프로그래밍의 개념을 설명하고 자바스크립트에서 관련 지식을 다루고 있다.

2부는 함수형으로 전환하기로 함수형 프로그램의 핵심기법은 함수체인, 커링, 합성, 모나드 등에 대해 설명하고 있다.

3부는 함수형 스킬 갈고닦기로 함수형 프로그래밍을 실무에 응용하면서 얻는 잇점에 대해 알아보고 있다.

 

이 책은 ECMAScript 6(이하 ES6) 명세를 기준으로 자바스크립트를 작성하고 있다. 이때문에 ES6에 대한 기초 지식도 일부 필요할 수도 있지만 반드시 ES6를 알아야만 작성할 수 있는것은 아니다. 이 책을 보기 위해 ES6를 따로 학습할 필요는 없다. 다만 앞으로 자바스크립트를 적극적으로 활용하기 위해서는 ES6에 대해서도 학습하는 것이 도움이 된다.

 

이 책에 작성된 코드는 함수형 프로그램에 대한 개념을 설명하기 위해 만들어졌다. 이 때문에 짧은 코드들과 이를 실행 했을 때 결과값을 함께 제공하고 있어 코드를 이해하는데 어렵지 않다. 코드를 설명하면서  필요시 주석을 코드 옆에 표시되어 있어 한결 보기 편했다.

또한 개념을 설명함에 도식들이 제공되어 도식을 통해 개념이 설명하고 이를 다시 코드로 작성되어 제공하고 있어 어려운 개념들을 이해하는데 많은 도움이 되었다.

 

마지막으로 이 책은 이제 웹개발 혹은 자바스크립에 입문하는 개발자에게 다소 이해하기 어려울 수도 있다. 그래서 초급개발자보다는 자바스크립트로 프로그래밍을 하면서 자신이 작성한 코드에 대해 한계를 느끼거나 더 나은 방법이 없는지 궁금해하는 개발자에게 새로운 길을 안내할 수 있는 안내서임에 틀림이 없다. 특히 요즘 뜨고 있는 자바스크립트 프레임워크(Angular, React)를 학습하는 개발자에게 함수형 프로그래밍에 대한 개념을 이해 한다면 프레임워크를 이해하는데 도움을 주고 또한 한단계 성장할 수 있는 기회라고 생각한다.

아직 읽는 중이긴 하지만 입문자는 아니지만 초급개발자의 입장에서 써보려고 합니다.

일단 입문서라기엔 접근하기가 쉽지는 않아보입니다. 그렇지만 단계는 잘 짜여있다고 봅니다.

구조가 잘짜여진 책이고 번역도 생각보다 잘 되어있습니다. 하지만 한눈에 쉽게 들어오지는 않아요.

함수형으로 생각하기가 쉽지 않은 초보 개발자분들은 앞에서부터 차근차근 읽는것이 좋을것 같습니다.

성장해나가는데 도움이되는 책입니다.

 

함수형 프로그래밍에 대한 이야기가 많이 들려오고 있습니다.

 

사실 오래전부터 들려왔던 프로그래밍 패러다임이자 세계관인데요.

 

제 생각에 함수형 프로그래밍의 핵심 가치는 '본질에 집중'하자인 것 같습니다.

 

프로그래밍의 낮은 수준에서 코드를 만들어가는 것이 아닌 우리가 정말로 해결해야 할 문제에 집중하여 높은 수준에서 문제를 볼 수 있도록 도와주는 사고체계를 만들어줍니다.

 

객체지향과 같은 프로그래밍 패러다임의 하나인 함수형 프로그래밍은 우리의 기본적인 사고방식을 바꾸도록 요구합니다. 그렇기 때문에 단순히 쉽게 배워서 적용할 수 있는 도구가 아니죠. 체화되어 익숙해진 사고방식과 다른 새로운 방식으로 사고하기 위해서는 많은 훈련과 깊이있는 생각이 필요합니다.

 

아마 대규모 애플리케이션을 구축해본 개발자라면 결과물의 덩치가 커져감에 따라 확장성과 재사용성이 떨어져가는 애플리케이션을 보며 좌절했던 경험을 가지고 있을겁니다. 서비스 오픈 이후에도 각종 유지보수와 빠른 변화에 대응하느라 코드 생산성이 떨어져가며 변경 혹은 추가된 코드가 기존에 작성했던 다른 기능에 어떤 영향을 일으켜 문제를 일으킬지 노심초사하게 됩니다. 이렇게 시간이 지나며 능률이 조금씩 떨어져 저는 자괴감을 느끼기도 했죠.

 

함수형은 선언적, 순수함수, 불변성, 투명성으로 표현됩니다. 앞서 말한 문제를 해결해주도록 도와주죠.

 

결론적으로 함수형 프로그래밍이라는 패러다임은 어렵지만 배울 가치가 충분한 도구입니다.

 

함수형 자바스크립트 책을 통해서 아주 체계적이며 단계적으로 함수형의 필요성과 기술을 배울 수 있습니다. 자바스크립트를 전문적으로 다루는 개발자들에게 함수형뿐만 아니라 자바스크립트의 함수 그 자체로도 좋은 내용을 담고 있고요. 입문서이자 시니어들을 위한 수준높은 기술까지 담고 있습니다. 뒤로 갈수록 심도있는 내용을 다루기 때문에 한번 읽고 덮게될 책은 아닙니다. 아마 책 챕터 부분부분을 적용해 보며 계속 꺼내보게될 것 같습니다.

 

자바스크립트 함수는 일급객체입니다. 이 때문에 언어가 자유롭게 느껴지기도 하지만 엉망이 될 여지도 많아지는 이유죠. 하지만 이런 이유로 자바스크립트를 외면할 수 없습니다. 그건 단지 언어의 문제가 아닌 언어를 다루는 우리의 문제니깐요. 

 

자바스크립트를 좀 더 사랑스럽고 우아하고 정교하게 다루고 싶다면 이 책을 읽어보길 권합니다.

 

이 책을 읽게된 계기는 요즘 vuejs를 이용해서 
프로젝트를 하고 있는데 점점 프론트페이지 부분에
로직이 많아지다 보니 소스 정리가 되지않게되어
더이상 막 프로그램을 하다가는 않되겠다 생각하고
이책을 읽게 되었습니다.

이 책의 핵심 내용은 우리가 이전에 많이 사용하던 객체지향형의 
프로그래밍 기법과 비교해서 함수형을 사용했을때의 장점을 
요즘 가장 핫한 언어인 자바스크립트를 사용하여 상세하게 기술하였습니다
그래서 함수형 프로그램의 코어한 부분 부터 자세히 알고싶으신 분은 꼭 한번 읽어보시라고 권해드리고 싶습니다.

이책은 크게는 3파트별로 나뉘어져있습니다.
1.함수형 사고하기
2.함수형으로 전환하기
3.함수형 스킬 갈고닦기

첫번째 파트에서는 객체지향에 길들여진  프로그래머들에게 
함수형 프로그래밍이 과연 어떤것이고 장점이 무엇인지 상세히 기술하여서 
함수형 프로그램밍에 대한 이해도를 높이고 있습니다.

두번째 파트에서는 첫번째 파트에서 습득한 함수형 프로그래밍의 기초적인 지식을 
실제 코딩할때 어떻게 사용하면 되는지 좀더 실무적인 부분에 대해서 많이 다루고 있습니다.

세변째는 좀 더 실무적으로 들어가서 프로그래머들이 평소에 엄청나게 많이 고민하고 있는
재사용성 , 모듈화, 패턴등에 대해서 함수형 프로그래밍으로 구현했을때 얼마나 많은 장점이 
있는지 좀더 세부적으로 예제들과 사용사례를 제시하고 있습니다.

이 책을 보고 강력한 자바스크립트의 함수형 프로그래밍 기법을 사용하여 
좀더 강력한 프로그래밍을 할 수 있을것 같다 

 

이전까지 자바스크립트와 관련된 함수형 프로그래밍 책은 2014년도(번역본 기준)에 출판된 책에

없었는데, 작년부터 요근래 여러 좋은 책이 많이 출판되어 반갑기도 하고 선택의 폭이 넓어져 기쁘기도 합니다.

 

이 책은 EcmaScript 2015 기준으로 쓰여져있습니다. 자바스크립트에 관심있는 분들이라면 다들 아시겠지만, 

ES2015 이전과 이후는 상당한 차이가 있기 때문에 어느 언어 명세가 어느 기준인지는 매우 중요합니다. 

다만, 2015이후의 명세는 다루지 않는 한계가 있긴 합니다.

 

우선, 책에서는 기본적인 함수형 프로그래밍에 대한 내용을 설명합니다. 

이전에 제가 읽어본 비슷한 유형의 책들은 패러다임에 대한 내용 위주로 파고드는 경향이 있었습니다. 

물론 그러한 구성도 좋기는 하지만 실제 실무개발에서는 바로 적용하기엔 까다롭다는 점이 존재 했습니다. 

이책 에서는 패러다임과 더불어 테스트 및 최적화에 대한 내용을 다루면서 패러다임 설명을 넘어서 

실제 적용시 함수형으로 개발된 코드를 어떻게 테스트 할지, 메모리 및 성능에 대한 최적화에 대해서도 알려줍니다.

 

이후에 비동기와 관련된 내용도 다루기는 합니다만, 분량 관계상 깊이 보다는 처음 접하는 독자

가 쉽게 이해할 수 있도록 쉽게 설명하는데 중점을 두는 듯한 느낌을 받았습니다.

책의 분량은 부담이 없는 수준 입니다. 그러면서 독자가 이해하기 쉽도록 전반적으로 설명과 구성이 잘 되어 있습니다.

 

함수형 프로그래밍을 자바스크립트로 접하고 싶은 분에게 추천드립니다.

 

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
함수형 자바스크립트
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
함수형 자바스크립트
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
함수형 자바스크립트
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실