쏙쏙 들어오는 함수형 코딩
2022년 06월 23일 출간
국내도서 : 2022년 04월 22일 출간
- eBook 상품 정보
- 파일 정보 pdf (73.49MB)
- ISBN 9791192469010
- 쪽수 599쪽
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)
쿠폰적용가 22,050원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
함수형 프로그래밍은 절차적 프로그래밍, 객체 지향 프로그래밍과는 다른 새로운 방식의 프로그래밍이다. 따라서 함수형 프로그래밍을 배운다는 것은 새로운 방식으로 사고하는 방법을 배우는 것이다. 그렇다면 함수형 개발자는 어떤 방식으로 생각하고 소프트웨어를 만들까.
이 책은 함수형 프로그래밍의 가장 기본이 되는 부수 효과를 다루는 방법으로 시작한다. 먼저 부수 효과가 있는 함수인 액션과 부수 효과가 없는 계산을 구분하는 법을 배우고, 둘을 구분한 후에는 부수 효과가 있는 액션을 어떻게 하면 줄일 수 있을지, 액션을 계산으로 바꾸는 방법에는 어떤 기술이 있는지 이야기한다. 다음으로 일급 함수의 개념을 배우고 고차 함수를 사용하여 반복문을 줄이는 방법에 대해 설명한다. 이를 배우면 함수 단위의 코드를 재사용할 수 있고, 테스트하기 쉬워진다. 이러한 과정을 단계별로 설명하고 있어 이론으로 배운 내용을 어떻게 적용하는지 쉽게 이해하고 따라 할 수 있도록 하였다.
이 책에 사용된 예제 코드는 자바스크립트로 작성되었다. 자바스크립트는 완벽한 함수형 언어는 아니지만, 함수형 언어의 기능이 부족하므로 함수형 사고를 설명하기 좋은 언어다. 부족한 함수형 기능을 직접 만들어 보면서 함수형 개념을 보다 깊이 이해하도록 설명하고 있다.
이 책은 현실에 있을 법한 사례를 만들어 이야기를 이끌어 간다. 마치 회사의 개발팀이 된 것 같은 느낌으로 진행되어 재밌게 빠져들 수 있도록 구성되었다. 개발팀에 합류하여 함수형 개발자는 소프트웨어를 만들기 위해 어떤 사고를 하는지 옆에서 지켜볼 수 있다.
설령 함수형 언어를 사용하지 않거나 함수형 프로그래밍에 관심이 없더라도 함수형 사고를 배워둔다면 새로운 사고방식을 통해 문제해결력을 키울 수 있을 것이다. 함수형 프로그래밍을 배우고 싶은 독자는 물론이고, 프로그래밍을 조금 더 간결하고 깔끔하게 하고 싶은 모든 개발자에게 이 책을 추천한다.
대상 독자
■ 2~5년 정도 소프트웨어 개발 경험이 있는 현업 종사자
■ 간단한 시스템을 만들고 있지만 큰 시스템을 다루는 것에 어려움을 느끼는 개발자
베타리더 후기 xix
추천사 xxi
머리말 xxvi
감사의 글 xxviii
이 책에 대하여 xxx
CHAPTER 1 쏙쏙 들어오는 함수형 코딩에 오신 것을 환영합니다 1
함수형 프로그래밍은 무엇인가요? 2
실용적인 측면에서 함수형 프로그래밍 정의의 문제점 3
함수형 프로그래밍 정의가 혼란스러운 관리자 4
함수형 프로그래밍을 학문적 지식이 아닌 기술과 개념으로 보기 5
액션과 계산, 데이터 구분하기 6
함수형 프로그래머는 부를 때 조심해야 하는 코드를 구분합니다 7
함수형 프로그래머는 실행하는 코드와 그렇지 않은 코드를 구분합니다 8
함수형 프로그래머는 액션과 계산, 데이터를 구분합니다 9
함수형 프로그래밍에서는 코드를 세 가지로 분류합니다 10
액션, 계산, 데이터를 구분하면 어떤 장점이 있나요? 11
다른 함수형 프로그래밍 책과 다른 점 12
함수형 사고가 무엇인가요? 13
이 책을 읽는 기본 규칙 14
결론 16
CHAPTER 2 현실에서의 함수형 사고 17
토니 피자에 오신 것을 환영합니다 18
파트 I: 액션과 계산, 데이터 19
변경 가능성에 따라 코드 나누기 20
파트 II: 일급 추상 21
분산 시스템을 타임라인으로 시각화하기 22
각각의 타임라인은 다른 순서로 실행됩니다 23
어려운 경험을 통해 분산 시스템에 대해 배운 것 24
타임라인 커팅: 로봇이 서로를 기다릴 수 있게 하기 25
좋은 경험을 통해 타임라인에 대해 배운 것 26
결론 27
PART I 액션과 계산, 데이터
CHAPTER 3 액션과 계산, 데이터의 차이를 알기 31
액션과 계산, 데이터 32
액션과 계산, 데이터는 어디에나 적용할 수 있습니다 33
장보기 과정에서 배운 것 36
새로 만드는 코드에 함수형 사고 적용하기 39
쿠폰 보내는 과정을 그려보기 42
쿠폰 보내는 과정 구현하기 47
이미 있는 코드에 함수형 사고 적용하기 54
액션은 코드 전체로 퍼집니다 56
액션은 다양한 형태로 나타납니다 57
결론 59
CHAPTER 4 액션에서 계산 빼내기 61
MegaMart.com에 오신 것을 환영합니다 62
무료 배송비 계산하기 63
세금 계산하기 64
테스트하기 쉽게 만들기 65
재사용하기 쉽게 만들기 66
액션과 계산, 데이터를 구분하기 67
함수에는 입력과 출력이 있습니다 68
테스트와 재사용성은 입출력과 관련 있습니다 69
액션에서 계산 빼내기 70
액션에서 또 다른 계산 빼내기 73
전체 코드를 봅시다 85
결론 86
CHAPTER 5 더 좋은 액션 만들기 87
비즈니스 요구 사항과 설계를 맞추기 88
비즈니스 요구 사항과 함수를 맞추기 89
원칙: 암묵적 입력과 출력은 적을수록 좋습니다 91
암묵적 입력과 출력 줄이기 92
코드 다시 살펴보기 95
계산 분류하기 97
원칙: 설계는 엉켜있는 코드를 푸는 것이다 98
add_item()을 분리해 더 좋은 설계 만들기 99
카피-온-라이트 패턴을 빼내기 100
add_item() 사용하기 101
계산을 분류하기 102
작은 함수와 많은 계산 106
결론 107
CHAPTER 6 변경 가능한 데이터 구조를 가진 언어에서 불변성 유지하기 109
모든 동작을 불변형으로 만들 수 있나요? 110
동작을 읽기, 쓰기 또는 둘 다로 분류하기 111
카피-온-라이트 원칙 세 단계 112
카피-온-라이트로 쓰기를 읽기로 바꾸기 113
원래 버전과 카피-온-라이트 버전의 차이 보기 117
앞에서 만든 카피-온-라이트 동작은 일반적입니다 118
자바스크립트 배열 훑어보기 119
쓰기를 하면서 읽기도 하는 동작은 어떻게 해야 할까요? 122
쓰면서 읽기도 하는 함수를 분리하기 123
값을 두 개 리턴하는 함수로 만들기 124
불변 데이터 구조를 읽는 것은 계산입니다 131
애플리케이션에는 시간에 따라 변하는 상태가 있습니다 132
불변 데이터 구조는 충분히 빠릅니다 133
객체에 대한 카피-온-라이트 134
자바스크립트 객체 훑어보기 135
중첩된 쓰기를 읽기로 바꾸기 140
어떤 복사본이 생겼을까요? 141
얕은 복사와 구조적 공유를 그림으로 알아보기 142
작가정보
저자 : 에릭 노먼드
Eric Normand
경험 많은 함수형 개발자이자 교육자, 발표자이며, 함수형 프로그래밍에 관한 책을 저술했다. 뉴올리언스 출신으로 2000년에 리스프로 프로그래밍을 시작했으며, 클로저 학습 자료를 만들었다. 기업들의 비즈니스 목표 달성을 위해 함수형 프로그래밍을 이용한 컨설팅을 하고 있다. 국제적인 프로그래밍 콘퍼런스에 강연자로 자주 나서며, 저자의 글이나 발표와 컨설팅, 교육 자료들은 ericnormand.me에서 확인할 수 있다.
역자 : 김은민
20년 동안 개발자로 살았지만 아직도 좋은 코드를 만들기 위한 답을 찾아가고 있다. 잠깐 창업도 해보고 스타트업도 다녔지만 대부분의 시간은 다음과 카카오에서 일했다. 한메일, 마이피플, 클라우드, 카카오 게임 등을 만들고 운영했다. 서비스에 실제로 함수형 프로그래밍을 적용하는 데 관심이 많아 카카오에서 주로 클로저를 사용해 일했다. 2021년부터 컨스택츠라는 회사를 운영하며 하스켈로 서비스를 만들고 있다. 평소에는 말이 없지만 개발에 관한 이야기를 할 때는 말이 많다.
번역 김은민
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!
- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.
- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)