함수형 반응형 프로그래밍
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 스티븐 블랙히스
저자 스티븐 블랙히스(Stephen Blackheath)는 뉴질랜드의 파머스턴 노스 근처에 산다. 다수의 이벤트 기반 상업 프로그램을 만들었으며 2007년경 함수형 프로그래밍에 입문해서 오픈소스 소듐(Sodium) FRP 시스템을 만들었다. 바둑을 좋아한다.
저자(글) 앤서니 존스
저자 앤서니 존스(Anthony Jones)는 뉴질랜드 오클랜드에 산다. 자바 기반의 설정 GUI를 FRP 기반의 프레임워크로 리팩터링하면서 5년여를 보내왔으며 소듐 FRP 시스템을 만드는 데 기여했다. 자전거 타기를 즐긴다.
역자 오현석은 KAIST에서 전산학 학사와 석사 학위(프로그래밍 언어 연구실)를 취득했다. 삼성메디슨, 비트앤펄스 등에서 UI 개발자와 개발 팀장을 지냈고, 호주에서 C++/풀스택 개발자로 일하고 있다. 웹과 모바일 등의 분야에서 값 중심 프로그래밍을 통해 오류 발생 가능성이 더 작으면서 유지보수가 편한 프로그램을 작성하는 방법과 이를 지원하는 여러 도구를 만드는 일에 관심이 많다. 최근에는 스칼라와 파이썬을 사용한 대규모 병렬 처리나 액터를 활용한 분산 처리 등을 공부하는 중이다.
『고성능 파이썬』, 『프로그래밍 스칼라』(이상 한빛미디어), 『Programming in Scala(3판)』, 『함수형 파이썬 프로그래밍』, 『스칼라와 기계 학습』, 『파이썬 로보틱스』, 『스칼라 동시성 프로그래밍』(이상 에이콘), 『시스템 성능 분석과 최적화』, 『파이썬 인 프랙티스』(이상 위키북스) 등을 번역했다.
목차
- 1장. 듣기를 멈추자!
1.1 프로젝트, 복잡도의 벽에 부딪치다
1.2 함수형 반응형 프로그래밍이란?
1.3 FRP가 적합한 분야와 현재 상황
1.4 대화형 애플리케이션: 이벤트가 뭐야?
1.5 상태 기계 분석의 어려움
1.6 버그 없는 대화형 애플리케이션
1.7 리스너는 이벤트 처리의 기둥. 하지만...
1.8 리스너의 여섯 가지 재앙 퇴치하기
1.9 그냥 리스너만 고쳐서 사용하지 않는 이유
1.10 “재시작해봤어?” 또는 상태가 문제가 되는 이유
1.11 FRP의 장점: 복잡도 다루기
1.12 FRP는 어떻게 작동하는가?
1.13 패러다임 전환
1.14 의존성 관점에서 생각하기
1.15 선언적으로 생각하기: 이 프로그램은 무엇인가?
1.16 FRP, 개념적 이해 vs. 조작적 이해
1.17 함수형 프로그래밍을 이벤트 기반 코드에 적용하기
1.18 요약
2장. FRP의 핵심
2.1 스트림 타입: 이벤트의 흐름
2.2 맵 기본 요소: 값 변환하기
2.3 FRP 시스템의 구성요소
2.4 참조 투명성이 필요하다
2.5 Cell 타입: 시간에 따라 변하는 값
2.6 merge 기본 연산: 스트림 합치기
2.7 hold 기본 연산: 셀의 상태 유지하기
2.8 snapshot 기본 연산: 셀의 값 캡처하기
2.9 hold와 snapshot으로 루프를 만들어서 누적기 구현하기
2.10 filter 기본 연산: 원하는 경우에만 이벤트 전달하기
2.11 lift 기본 연산: 셀 조합하기
2.12 never 기본 연산: 결코 발사되지 않는 스트림
2.13 참조 투명성 관련 권장 사항
2.14 FRP 커닝 페이퍼
2.15 요약
3장. 자주 쓰는 위젯 만들기
3.1 독립 SWidget인 스피너
3.2 폼 입력 검증
3.3 요약
4장. 실제 애플리케이션 작성하기
4.1 주유 펌프 예제
4.2 주유 펌프 예제 실행하기
4.3 코드, 세상을 만나다
4.4 주유 흐름의 생애 주기
4.5 이렇게 하는 것이 실제로 더 좋은가?
4.6 주유한 연료량 계산하기
4.7 주유한 연료의 가격 표시하기
4.8 POS 시스템과 통신하기
4.9 모듈성을 보여주는 예: 키패드 모듈
4.10 모듈성에 대한 노트
4.11 현재 주유 금액 추가하기
4.12 이번 장에서 배운 내용
4.13 요약
5장. 새로운 개념
5.1 전설의 폰 노이만 기계를 찾아서
5.2 합성성
5.3 합성성 부족을 보여주는 예
5.4 합성성: 모든 종류의 버그 없애기
5.5 믿는 도끼에 발등 찍히지 않기: 불변 값 사용
5.6 의도의 명확성
5.7 저렴한 추상화의 결과
5.8 요약
6장. 웹에서의 FRP
6.1 RxJS
6.2 Observable
6.3 RxJS, Kefir.js, Flapjax에서 상태 유지하기
6.4 combineLatest로 두 Observable의 마지막 상태 얻기
6.5 뜨거운 Observable 만들기
6.6 예제: FRP 방식으로 자동 완성 기능 만들기
6.7 RxJS/소듐 치트 시트
6.8 정적 타입 지정을 선호함
6.9 요약
7장. 스위치 연산
7.1 sample 기본 연산: 셀의 값 얻기
7.2 switch
7.3 switch의 용례 1: 좀비즈
7.4 switch로 게임 캐릭터 변환하기
7.5 switch의 용례 2: 게임 캐릭터 생성과 제거
7.6 큰 merge의 효율
7.7 게임 캐릭터와 RxJS의 효율
7.8 switch의 용례 3: 잘못된 상태 제거하기
7.9 switch의 용례 4: 장면 전환
7.10 요약
8장. 조작적인 기본 연산
8.1 FRP 코드와 프로그램의 나머지 부분 연결하기
8.2 지연 연산으로 루프 문제 해결하기
8.3 트랜잭션
8.4 셀에서 update나 value를 사용해 스트림 얻기
8.5 split 기본 연산으로 새로운 트랜잭션 컨텍스트 만들기
8.6 규모 확장 가능한 대상 지정
8.7 요약
9장. 연속적인 시간
9.1 시간을 래스터화하기
9.2 시간 함수로 위치 표현하기
9.3 애니메이션 루프
9.4 시간 측정하기
9.5 요약
10장. 패러다임 간의 전투
10.1 전통적인 상태 기계 vs. FRP vs. 액터 모델
10.2 시프트 키를 눌러서 축을 고정하는 특징 추가하기
10.3 개선: 시프트 키로 문서 갱신하기
10.4 요약
11장. 실전 프로그래밍
11.1 I/O 다루기
11.2 프라미스/퓨처
11.3 분산 처리
11.4 단위 테스트
11.5 요약
12장. 도우미와 패턴
12.1 조용히 시키기: 중복 값 제거
12.2 게임 일시 정지하기
12.3 정션 또는 클라이언트 레지스트리
12.4 변경할 수 있는 원격 값
12.5 영속성
12.6 고유 ID 생성하기
12.7 FRP 기반의 GUI 시스템
12.8 요약
13장. 리팩터링
13.1 리팩터링을 할까, 하지 말까?
13.2 드래그 앤 드롭 예제
13.3 특징 추가하기: 드래깅 대상 원소 그리기
13.4 버그 수정하기: 클릭이 드래그로 취급됨
13.5 FRP: 봄바람 같은 리팩터링
13.6 요약
14장. 기존 프로젝트에 FRP 추가하기
14.1 FRP가 도움되는 분야는 어디인가?
14.2 불변 데이터 구조로 바꾸기
14.3 콜백을 대체하는 스트림
14.4 큰 트랜잭션 안에서 프로그램 초기화하기
14.5 정션/클라이언트 레지스트리 사용으로 확장성 모듈 만들기
14.6 셀이 변경 가능한 변수를 대치할 수 있다
14.7 요약
15장. 앞으로의 방향
15.1 성능
15.2 성능 개선과 임베디드 시스템을 위한 FRP 사전 컴파일
15.3 병렬성
15.4 문법 개선
15.5 표준화와 코드 재사용
15.6 FRP 데이터베이스 애플리케이션
15.7 시각화와 디버깅 도구
15.8 시각적 프로그래밍
15.9 리팩터링 도구
15.10 요약
부록 A. 소듐 API
부록 B. 이벤트 처리의 여섯 가지 재앙
부록 C. FRP 시스템 간의 비교
부록 D. 관리자를 위한 조언
부록 E. 소듐의 표시적 의미
출판사 서평
함수형? 반응형? 그 개념부터 활용까지
이 책은 FRP의 개념과 실제 사용법을 차근차근 설명해주는 훌륭한 책이다. FRP의 근본이 되는 프로그래밍 개념은 사실 어렵지 않다. 이 책은 유머를 곁들여 그런 개념을 흥미진진하게 설명하면서, 실무 경험에서 우러난 조언과 다양한 예제를 통해 독자가 FRP 방법론에 익숙해지도록 도와준다. FRP에 관심이 많은 독자라면 이 책을 꼭 읽어야 한다.
- ‘옮긴이의 말’ 중에서
★ 주요 내용
● 데이터와 이벤트를 바라보는 새로운 시각
● 자바와 자바스크립트에서의 FRP 기법
● 한 번에 하나씩, 관찰자에서 리스너 제거하기
● 소듐, RxJS, Kefir.js 등의 FRP 라이브러리 맛보기
추천사
“이 책은 함수형 반응형 프로그래밍에 관한 최초의 종합 안내서라 할 수 있다. 두 저자는 엄청난 열정으로 FRP의 기본 개념과 다양한 예제, 그리고 실전에서 자주 사용하는 여러 패턴을 친절하게 알려준다.”
하인리히 아펠무스, 리액티브-바나나 FRP 라이브러리 창시자
“이론과 실습을 적절히 조합한 제대로 된 튜토리얼이다.”
장-프랑수아 모랭, 라발 대학교
“함수형 프로그래밍과 반응형 프로그래밍을 조합해 모던한 소프트웨어를 개발하도록 안내하는 훌륭한 지침서다.”
윌리엄 E. 휠러, 웨스트 코퍼레이션
기본정보
ISBN | 9788968488665 | ||
---|---|---|---|
발행(출시)일자 | 2017년 08월 01일 | ||
쪽수 | 492쪽 | ||
크기 |
183 * 236
* 21
mm
/ 865 g
|
||
총권수 | 1권 | ||
원서명/저자명 | Functional Reactive Programming/Stephen Blackheath |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립