간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (28,220원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (20,790원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (23,760원)
(최대할인 4만원 / 2만원 이상 결제)
Close

함수형 반응형 프로그래밍 : FRP 입문자를 위한 종합 안내서

원제 : Functional Reactive Programming
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 22
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

33,000원

  • 29,700 (10%할인)

    1,650P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 3/28(화) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 상품권

AD

책소개

함수형 반응형 프로그래밍에 관한 최초의 종합 안내서

프로그램은 ‘어떻게’가 아니라 ‘무엇’을 기술하는 선언적인 문서여야 한다는 주장을 받아들이는 사람이 점점 늘고 있다. 이런 흐름은 함수형 언어의 부흥으로 이어졌다. 함수형 언어로는 프로그램을 더 선언적인 방식으로 작성할 수 있고, 이를 이벤트 처리에 결합한 것이 함수형 반응형 프로그래밍(FRP)이다. 지난 수십 년 동안 이벤트 처리 인프라를 책임진 관찰자 패턴은, 한편으로는 버그의 온상이 되기도 했다. FRP는 관찰자 패턴의 잠재적 버그 원인을 근본적으로 차단하여 더 복잡한 시스템으로 쉽게 확장할 수 있도록 해준다. 이 책의 저자는 FRP 프레임워크인 소듐(Sodium)의 창시자로서, FRP의 기초부터 기존 프로젝트를 점진적으로 FRP 시스템으로 탈바꿈시키는 방법까지 친절히 안내한다.

출판사 서평

함수형? 반응형? 그 개념부터 활용까지
이 책은 FRP의 개념과 실제 사용법을 차근차근 설명해주는 훌륭한 책이다. FRP의 근본이 되는 프로그래밍 개념은 사실 어렵지 않다. 이 책은 유머를 곁들여 그런 개념을 흥미진진하게 설명하면서, 실무 경험에서 우러난 조언과 다양한 예제를 통해 독자가 FRP 방법론에 익숙해지도록 도와준다. FRP에 관심이 많은 독자라면 이 책을 꼭 읽어야 한다.
- ‘옮긴이의 말’ 중에서

★ 주요 내용
● 데이터와 이벤트를 바라보는 새로운 시각
● 자바와 자바스크립트에서의 FRP 기법
● 한 번에 하나씩, 관찰자에서 리스너 제거하기
● 소듐, RxJS, Kefir.js 등의 FRP 라이브러리 맛보기

추천사
“이 책은 함수형 반응형 프로그래밍에 관한 최초의 종합 안내서라 할 수 있다. 두 저자는 엄청난 열정으로 FRP의 기본 개념과 다양한 예제, 그리고 실전에서 자주 사용하는 여러 패턴을 친절하게 알려준다.”
하인리히 아펠무스, 리액티브-바나나 FRP 라이브러리 창시자

“이론과 실습을 적절히 조합한 제대로 된 튜토리얼이다.”
장-프랑수아 모랭, 라발 대학교

“함수형 프로그래밍과 반응형 프로그래밍을 조합해 모던한 소프트웨어를 개발하도록 안내하는 훌륭한 지침서다.”
윌리엄 E. 휠러, 웨스트 코퍼레이션

목차

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. 소듐의 표시적 의미

저자소개

스티븐 블랙히스 [저] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

오현석 [역] 신작알림 SMS신청
생년월일 -

저자 오현석은 비사이드소프트(BSIDESOFT) 이사로 일하면서 매일매일 고객의 요청에 따라 코드를 만들어내고 있는 현업 개발자다. 어릴 때 처음 컴퓨터를 접하고 매혹된 후 경기과학고, KAIST 전산학과(프로그래밍 언어 전공 석사)를 거치면서 계속 컴퓨터를 사용해왔다. 직장에서는 주로 코틀린이나 자바를 사용한 서버 프로그래밍을 하고, 주말이나 빈 시간에는 번역을 하거나 공부를 하면서 즐거움을 찾는다. 시간이 아주 많이 남을 때는 시뮬레이션 게임을 하면서 머리를 식히고 놀고, 어떻게 하면 막내자식을 프로그래밍의 세계로 끌어들일 수 있을까 고민 중인 아

펼쳐보기

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    100자평

    작성시 유의사항

    평점
    0/100자
    등록하기

    100자평

    10.0
    (총 0건)

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크커머스 안전결제시스템 (에스크로) 안내

    (주)인터파크커머스의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시 15,000원 이상 무료배송, 15,000원 미만 2,500원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용