HOME > Detail View

Detail View

함수형 자바스크립트

함수형 자바스크립트 (Loan 19 times)

Material type
단행본
Personal Author
Fogus, Michael 우정은, 역
Title Statement
함수형 자바스크립트 / 마이클 포거스 지음 ; 우정은 옮김
Publication, Distribution, etc
서울 :   한빛미디어,   2014  
Physical Medium
292 p. : 삽화 ; 24 cm
Varied Title
Functional Javascript
ISBN
9788968480799
General Note
새롭고 올바른 자바스크립트 프로그래밍 기법  
부록: 실생활의 함수형 자바스크립트  
감수: 정경석  
Bibliography, Etc. Note
참고문헌(p. 279-285)과 색인수록
Subject Added Entry-Topical Term
JavaScript (Computer program language) Functional programming (Computer science)
000 01046camcc2200337 c 4500
001 000045797520
005 20140428110209
007 ta
008 140425s2014 ulka b 001c kor
020 ▼a 9788968480799 ▼g 13000
035 ▼a (KERIS)BIB000013373225
040 ▼a 247017 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.133 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b J41 2014z4
100 1 ▼a Fogus, Michael
245 1 0 ▼a 함수형 자바스크립트 / ▼d 마이클 포거스 지음 ; ▼e 우정은 옮김
246 1 9 ▼a Functional Javascript
260 ▼a 서울 : ▼b 한빛미디어, ▼c 2014
300 ▼a 292 p. : ▼b 삽화 ; ▼c 24 cm
500 ▼a 새롭고 올바른 자바스크립트 프로그래밍 기법
500 ▼a 부록: 실생활의 함수형 자바스크립트
500 ▼a 감수: 정경석
504 ▼a 참고문헌(p. 279-285)과 색인수록
650 0 ▼a JavaScript (Computer program language)
650 0 ▼a Functional programming (Computer science)
700 1 ▼a 우정은, ▼e
900 1 0 ▼a 포거스, 마이클, ▼e
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.133 J41 2014z4 Accession No. 121229566 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

자바스크립트를 올바로 사용할 수 있는 방법으로 함수형 프로그래밍 기법을 제시하는 책. 이 책은 Underscore.js 라이브러리를 이용해 아름답고 안전하고 직관적이고 테스트하기 쉬운 함수형 자바스크립트 코드를 구현하는 방법을 설명한다. 함수형 프로그램 기법을 배우려는 자바스크립트 프로그래머와 자바스크립트를 배우려는 함수형 프로그래머에게 유용하다.

일급 함수를 이용한 응용 프로그래밍 기법, 변수 스코프와 클로저 이해하기, 사용하기, 함수로 함수 만들기, 인자로 삼기, 재귀 함수 관련 자바스크립트 한계 극복, 프로그램에서 상태 변화의 흔적을 줄이기, 숨기기, 제거하기, 체인과 함수형 파이프라인을 이용한 흐름 기반 프로그래밍 등을 다루고 있다.

이 책은 자바스크립트를 올바로 사용할 수 있는 방법으로 함수형 프로그래밍 기법을 제시한다. 이 과정에서 Underscore.js를 사용하여 자바스크립트의 가장 큰 걸림돌인 '이상한 점', '안전하지 않은 특성', '수많은 경쟁 라이브러리가 있다는 사실'을 극복한다.

* 언더스코어(Underscore.js)란 무엇인가?
함수형 프로그래밍을 지원하는 자바스크립트 라이브러리로써 Prototype.js (또는 루비)에서 제공하는 것과 비슷한 기능을 함수형 프로그래밍용으로 제공한다. 하지만 언더스코어는 자바스크립트 내장 객체를 확장하지 않는다.

* 어떤 독자를 위한 책인가?
이 책의 독자가 자바스크립트의 기본 지식은 있다고 가정했다. 자바스크립트 언어와 관련한 훌륭한 책이 있고, 온라인에도 방대한 자료가 있으므로 이 책에서는 자바스크립트 언어 자체에 대한 설명은 하지 않는다. 또한 독자가 자바, 루비, 파이썬, 자바스크립트 등에서 일반적으로 사용하는 객체 지향 프로그래밍을 실무에 적용할 수 있을 정도의 지식이 있다고 가정했다. 객체 지향 프로그래밍 지식이 있다면 필자가 제공하는 정보를 좀 더 매끄럽게 받아들일 수 있겠지만 꼭 전문적인 객체 지향 프로그래밍 지식이 필요하진 않다.

이 책은 오랫동안 자바스크립트를 해왔지만 함수형 프로그래밍에 대해 알고 싶어 하는 프로그래머 또는 오랫동안 함수형 프로그램을 해왔으면서 자바스크립트를 배우고자 하는 프로그래머에게 가장 이상적이다. 후자의 경우에는 이 책을 메인으로 삼아 공부하기보다는 자바스크립트의 특이한 사항에 초점을 맞춘 부가적인 책으로 활용하길 권한다.

* 도서 특징 (책 표지 글)
혁신적이고 놀라운 자바스크립트 코딩 기법을 만나자!
이 책은 Underscore.js 라이브러리를 이용해 아름답고 안전하고 직관적이고 테스트하기 쉬운 함수형 자바스크립트 코드를 구현하는 방법을 설명한다. 함수형 프로그램 기법을 배우려는 자바스크립트 프로그래머와 자바스크립트를 배우려는 함수형 프로그래머에게 유용하다.

일급 함수를 이용한 응용 프로그래밍 기법
변수 스코프와 클로저 이해하기, 사용하기
함수로 함수 만들기, 인자로 삼기
재귀 함수 관련 자바스크립트 한계 극복
프로그램에서 상태 변화의 흔적을 줄이기, 숨기기, 제거하기
체인과 함수형 파이프라인을 이용한 흐름 기반 프로그래밍
클래스를 사용하지 않고 코딩하는 방법


Information Provided By: : Aladin

Author Introduction

마이클 포거스(지은이)

분산 시뮬레이션, 머신 비전, 전문가 시스템 구축의 경험을 가진 클로저와 클로저스크립트에 핵심적으로 기여한 전문가다.

우정은(옮긴이)

인하대학교 컴퓨터공학과를 졸업하고 LG전자, 썬 마이크로시스템즈, 오라클 등에서 모바일 제품 관련 개발을 하다가 현재는 뉴질랜드 웰링턴에 있는 Xero에서 모바일 앱 개발자로 새로운 인생을 즐기고 있다. 2010년 아이폰의 매력에 빠져들면서 번역과 개발을 취미로 삼고 꾸준히 서적을 번역한다. 옮긴 책으로는 『플러터 인 액션』, 『처음 배우는 스위프트』, 『실전 자바 소프트웨어 개발』, 『모던 자바 인 액션』(이상 한빛미디어) 등이 있다.

정경석(감수)

1999년 말부터 웹 서비스를 개발했다. 인터넷 뱅킹 및 모네타 카드 웹, 한국은행 대량이체 시스템, 모네타 교통칩 카드 발급 시스템, 나라사랑카드 선불 과금 시스템, 시티은행 모바일 뱅킹 시스템 등의 개발에 참여했다. 서버 사이드 백엔드 플랫폼 개발자로서 하루 수천만에서 수억 건에 이르는 요청을 처리하는 다양한 대용량 서비스를 구축 및 운영해왔다. 2013년 현재 삼성 스마트폰에 프리로드되는 앱의 백엔드 시스템을 개발 및 운영하고 있다. 삼성 앱스의 신규기능인 추천 서비스를 HBase를 사용하여 개발했다. 『이것이 레디스다』(2013, 한빛미디어)

Information Provided By: : Aladin

Table of Contents

목차
옮긴이의 글 = 5
추천의 글 = 6
서문 = 10
감사의 글 = 16
CHAPTER 1 함수형 자바스크립트 소개
 1.1 자바스크립트 활용사례 = 23
  1.1.1 자바스크립트의 몇 가지 한계 = 26
 1.2 함수형 프로그래밍 시작하기 = 27
  1.2.1 함수형 프로그래밍이 중요한 이유 = 27
  1.2.2 함수-추상화 단위 = 31
  1.2.3 캡슐화와 은닉 = 34
  1.2.4 함수-동작 단위 = 35
  1.2.5 데이터 추상화 = 40
  1.2.6 함수형 자바스크립트 맛보기 = 44
  1.2.7 속도에 대해 = 47
 1.3 언더스코어와 관련한 잡담 = 50
 1.4 요약 = 51
CHAPTER 2 일급 함수와 응용형 프로그래밍
 2.1 일급 함수의 특징 = 53
  2.1.1 자바스크립트의 다중 패러다임 = 55
 2.2 응용형 프로그래밍 = 61
  2.2.1 컬렉션 중심 프로그래밍 = 62
  2.2.2 응용형 프로그래밍의 다른 예제 = 63
  2.2.3 응용형 함수 만들기 = 67
 2.3 데이터 고찰 = 69
  2.3.1 '테이블 형식'의 데이터 = 73
 2.4 요약 = 77
CHAPTER 3 변수 스코프와 클로저
 3.1 전역 스코프 = 80
 3.2 어휘 스코프 = 81
 3.3 동적 스코프 = 82
  3.3.1 자바스크립트의 동적 스코프 = 86
 3.4 함수 스코프 = 88
 3.5 클로저 = 90
  3.5.1 클로저 시뮬레이션 = 91
  3.5.2 클로저 사용하기 = 96
  3.5.3 추상화 도구 클로저 = 99
 3.6 요약 = 100
CHAPTER 4 고차원 함수
 4.1 다른 함수를 인자로 취하는 함수 = 103
  4.1.1 함수 전달에 대한 고찰: max, finder, best = 104
  4.1.2 함수를 다른 인자로 전달하는 상황에 대한 더 깊은 고찰: repeat, repeatedly, iterateUntil = 106
 4.2 다른 함수를 반환하는 함수 = 110
  4.2.1 고차원 함수로 인자 캡처하기 = 112
  4.2.2 변수를 캡처하는 이유 = 112
  4.2.3 값이 존재하지 않는 상황을 지켜 주는 함수: fnull = 116
 4.3 지금까지 배운 내용을 모두 활용: 객체 검증자 = 118
CHAPTER 5 함수로 함수 만들기
 5.1 함수 조립의 핵심 = 123
  5.1.1 변이는 저수준 동작이다 = 128
 5.2 커링 = 129
  5.2.1 우향 커리, 좌향 커리 = 131
  5.2.2 자동 커링 파라미터 = 132
  5.2.3 커링을 이용한 플루언트 API = 137
  5.2.4 자바스크립트에서 커링의 단점 = 138
 5.3 부분 적용 = 138
  5.3.1 한두 개의 알려진 인지를 부분 적용 = 140
  5.3.2 임의의 수의 인자를 부분 적용 = 141
  5.3.3 부분 적용 사례: 선행 조건 = 142
 5.4 함수의 끝을 서로 연결하는 함수 조립 방법 = 147
  5.4.1 조립을 이용해서 선행조건과 후행조건 만들기 = 148
CHAPTER 6 재귀
 6.1 자신을 호출하는 함수 = 151
  6.1.1 재귀를 이용한 그래프 탐색 = 157
  6.1.2 메모리에서 깊이 우선 재귀 탐색하기 = 158
  6.1.3 재귀 함수와 합성 함수: Conjoin, Disjoin = 161
 6.2 상호 재귀 함수(서로를 호출하는 함수) = 163
  6.2.1 재귀를 이용한 깊은 복제 = 165
  6.2.2 중첩된 배열 탐색 = 166
 6.3 너무 깊은 재귀! = 169
  6.3.1 발생기 = 172
  6.3.2 트램펄린 원칙과 콜백 = 176
 6.4 재귀는 저수준 동작이다 = 178
 6.5 요약 = 179
CHAPTER 7 순수성, 불변성, 변경 정책
 7.1 순수성 = 181
  7.1.1 순수성과 테스트의 관계 = 182
  7.1.2 순수성과 비순수성 구별하기 = 184
  7.1.3 비순수한 함수의 프로퍼티 테스트 = 186
  7.1.4 순수성 = 187
  7.1.5 순수성과 멱등의 관계 = 189
 7.2 불변성 = 190
  7.2.1 숲에서 나무가 쓰러질 때 소리가 나는가? = 193
  7.2.2 불변성과 재귀의 관계 = 194
  7.2.3 방어적인 얼리기와 복제 = 195
  7.2.4 함수 수준에서 불변성 유지하기 = 198
  7.2.5 객체의 불변성 관찰 = 199
  7.2.6 객체 대체로 저수준 동작이다 = 203
 7.3 변화 제어 정책 = 205
 7.4 요약 = 208
CHAPTER 8 흐름 기반 프로그래밍
 8.1 체이닝 = 209
  8.1.1 게으른 체인 = 213
  8.1.2 프로미스 = 218
 8.2 파이프라이닝 = 221
 8.3 데이터 흐름과 제어 흐름 = 226
  8.3.1 공통 모양 찾기 = 229
  8.3.2 단순하게 액션을 만들게 하는 함수 = 233
 8.4 요약 = 235
CHAPTER 9 클래스를 이용하지 않는 프로그래밍
 9.1 데이터 지향 = 237
  9.1.1 함수를 이용하는 프로그래밍 = 241
 9.2 믹스인 = 245
  9.2.1 코어 프로토타입 개조 = 247
  9.2.2 클래스 계층 = 248
  9.2.3 계층 구조 바꾸기 = 252
  9.2.4 믹스인으로 계층 구조를 수평화하기 = 253
  9.2.5 믹스인 확장을 이용해서 새 기능 추가 = 260
  9.2.6 믹스인 믹싱을 이용한 새로운 형식 = 261
  9.2.7 메서드는 저수준 동작이다 = 263
 9.3 }}.call("Finis"); = 266
부록
 Appendix A 실생활의 함수형 자바스크립트 = 267
 Appendix B 참고문헌 = 279
찾아보기 = 286

New Arrivals Books in Related Fields

Ramamurthy, Bina (2021)