장바구니 담기 close

장바구니에 상품을 담았습니다.

함수형 코틀린

함수형 코틀린

  • 마리오아리아스
  • |
  • 에이콘출판
  • |
  • 2019-01-31 출간
  • |
  • 416페이지
  • |
  • 188 X 235 mm
  • |
  • ISBN 9791161752631
판매가

30,000원

즉시할인가

27,000

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
27,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 이 책에서 다루는 내용 ★

■ 코틀린으로 함수형 프로그래밍 컨셉 배우기
■ 코틀린 코루틴 다루기
■ 애로우 라이브러리 사용하기
■ 모나드, 펑터, 어플리커티브에 대해 배우기
■ 함수형 프로그래밍을 OOP와 리액티브 프로그래밍과 결합하기
■ 애로우와 함께 모나드 사용하기
■ 스트림 처리하기

★ 이 책의 대상 독자 ★

이 책은 코틀린의 기본을 알고 있으면서 함수형 프로그래밍 이면의 기본 아이디어를 이해하고 실용적으로 사용하는 방법을 알고 싶은 코틀린 유저(프로그래머, 엔지니어, 라이브러리 작성자, 아키텍트)를 위한 것이다. 부록에서 코틀린 언어를 빠르게 시작하는 방법을 제공한다. 코틀린을 처음 접하는 독자라면 부록 먼저 보기를 권한다.

★ 이 책의 구성 ★

1장, "코틀린: 데이터 타입, 오브젝트, 클래스"에서는 코틀린의 객체지향 프로그래밍에 대해 소개한다. 코틀린은 기본적으로 객체지향 프로그래밍이며, 함수형 프로그래밍 스타일을 소개하기 위해 이러한 기능을 사용한다.
2장, "함수형 프로그래밍 시작"에서는 코틀린의 객체지향 프로그래밍 기능을 사용해 함수형 프로그래밍의 기본 원칙을 다룬다.
3장, "불변성: 중요’에서는 불변성을 함수형 프로그래밍의 가장 중요한 개념 중 하나라고 강조한다. 그리고 불변성에 대해 심층적으로 이해할 수 있게 돕는다.
4장, "함수, 함수 타입, 부수 효과"에서는 함수, 순수 함수에 대한 컨셉과 다양한 함수 타입 및 부수 효과에 대한 기본적인 함수형 프로그래밍 컨셉을 소개한다.
5장, "함수 심화 학습"에서는 확장 함수, 연산자 오버로딩, DSL, 코리커젼 같은 함수형 프로그래밍을 위한 코틀린의 기능을 다룬다.
6장, "코틀린의 델리게이트"에서는 델리게이트를 위해 코틀린이 언어 레벨에서 지원하는 방법을 다룬다. 델리게이트는 객체지향 프로그래밍 컨셉이지만 코드를 모듈화하는데 도움이 될 수 있다.
7장, "코루틴을 사용한 비동기 프로그래밍"에서는 코틀린에서의 비동기 프로그래밍을 소개하고, 코루틴과 다른 스타일을 비교한다.
8장, "코틀린의 컬렉션과 데이터 작업"에서는 코틀린의 향상된 컬렉션 API와 코틀린의 컬렉션 프레임워크가 제공하는 함수형 인터페이스에 대해 다룬다.
9장, "함수형 프로그래밍과 리액티브 프로그래밍"에서는 최대한의 이득을 얻기 위해 함수형 프로그래밍이 다른 프로그래밍 패러타임과 결합하는 방법을 보여준다. 또한 함수형 프로그래밍과 객체지향 프로그래밍 및 리액티브 프로그래밍의 결합 방법을 알아 본다.
10장, "펑터, 어플리커티브, 모나드"에서는 타입을 가진 함수형 프로그래밍과 그 기본 컨셉을 소개한다. 또한 코틀린에서 구현하는 방법을 설명한다.
11장, "코틀린에서 스트림 작업"에서는 코틀린의 스트림 API을 소개한다.
12장, "애로우 시작"에서는 애로우 사용법과 함수형 프로그래밍을 위한 확장, 함수 합성, 커링, 부분 애플리케이션, 메모이제이션, 옵틱스를 다룬다.
13장, "애로우 타입"에서는 Option, Either, Try 같은 애로우 데이터 타입과 State 및 타입 클래스, 펑터, 모나드를 이해하게 돕는다.
부록, "코틀린 퀵 스타트"에서는 코틀린 코드 작성을 시작하는 데 필요한 도구, 기본 구문 등과 코틀린 여행을 진행하는 데 도움이 되는 다른 리소스를 제공한다.

★ 옮긴이의 말 ★

코틀린 개발에 관심 있으신 독자 여러분, 관심을 갖고 이 책을 봐주셔서 대단히 감사합니다.
저는 안드로이드 개발을 통해 코틀린을 접하게 됐지만, 안드로이드와는 관계없이 코틀린을 알게 되는 과정이 참 재미있었습니다. 새로운 언어를 배우는 것이 약간 힘들기도 하지만 그만큼 재미도 있습니다. 다른 분들도 저와 같은 마음이라면 좋겠습니다.
이 책은 코틀린에 대해 많은 내용을 다루고 있습니다. 기존에 안드로이드 개발을 하시던 분이라면 한 번쯤 코틀린으로 도전하는 것도 좋을 것 같습니다. 호환도 되고 코드를 만드는 재미도 있습니다. 후회하지 않을 겁니다. 저도 간단하게 코틀린으로 앱 하나를 만들어 봤는데, 괜찮았습니다.
여러분처럼 코틀린을 배우고 싶은 분들에게 도움되고자 이 책을 번역하게 됐습니다. 부디 도움이 됐으면 좋겠습니다. 책을 읽다가 이상한 부분, 이해가 안 되는 부분이 있으면 주저 없이 이메일로 의견 보내주시기를 바랍니다.


목차


1장. 코틀린: 데이터 타입, 오브젝트, 클래스
__클래스
____속성
____메소드
__상속
__추상 클래스
__인터페이스
__오브젝트
____오브젝트 선언
____컴패니언 오브젝트
__제네릭
__타입 앨리어스
__Nullable 타입
____null 확인
____null이 아닌 타입 확인
____안전 호출
____엘비스(?:) 연산자
____(!!) 연산자
__코틀린의 타입 시스템
____Any 타입
____최소 공통 타입
____Unit 타입
____Nothing 타입
__기타 타입
____데이터 클래스
____주석
____열거형
__정리

2장. 함수형 프로그래밍 시작
__함수형 프로그래밍이란?
__기본 개념
____일급 함수 및 고차 함수
____순수 함수
____재귀 함수
____느긋한 계산법
__함수적 컬렉션
__함수형 리스트 구현
__정리

3장. 불변성: 중요
__불변성이란?
____코틀린에서 불변성 구현
____var와 val의 차이
____컴파일 타임 상수
____불변성의 종류
__불변 컬렉션
__불변성의 장점
____스레드 안전성
____낮은 커플링
____참조 투명성
____실패 원자성
____캐싱
____컴파일러 최적화
____순수 함수
__불변성의 단점
__정리

4장. 함수, 함수 타입, 부수 효과
__코틀린의 함수
____함수에서 두 개의 값 반환
____확장 함수
____기본 인수
____중첩 함수
__함수형 프로그래밍에서의 함수 타입
__람다
____속성으로서의 함수
__고차 함수
__순수 함수와 부수 효과
____부수 효과
____순수 함수
__정리

5장. 함수 심화 학습
__단일 표현 함수
__파라미터
____수정자 vararg
____람다
____명명된 파라미터
____기본 파라미터
__확장 함수
____확장 함수와 상속
____충돌하는 이름을 가진 확장 함수
____오브젝트용 확장 함수
__중위 함수
__연산자 오버로딩
____바이너리 연산자
____Invoke
____인덱싱된 접근
____Unary 연산자
__타입 안전 빌더
____DSL 생성
__인라인 함수
____인라인 제한
__재귀 및 코리커젼
__정리

6장. 코틀린의 델리게이트
__위임 소개
____위임의 이해
__코틀린의 델리게이트
__속성 위임(표준 델리게이트)
____Delegates.notNull 함수와 lateinit
____느긋한 함수
____Delegates.Observable를 사용해 속성 값 변경 관찰
____거부의 힘: Delegates.vetoable
__위임된 맵
__커스텀 위임
__로컬 델리게이트
__클래스 위임
__정리

7장. 코틀린을 사용한 비동기 프로그래밍
__코루틴 소개
____JVM 스레드 이해
____Hell, coroutine world!
__실제 코루틴 사용
____동기 구현
____콜백
____자바 퓨처
____코버넌트를 통한 프로미스
____코루틴
____코루틴 컨텍스트
__채널
____채널 파이프라인
__변경 가능한 상태 관리
____컨텍스트 전환
____스레드 안전 구조체
____뮤텍스
____액터
__정리

8장. 코틀린의 컬렉션과 데이터 작업
__컬렉션 소개
____컬렉션 프레임워크의 장점
__List와 MutableList
__Set과 MutableSet
__Map과 MutableMap
__컬렉션의 데이터 작업
____map 함수
____filter 함수
____flatMap 함수
____drop 함수
____take 함수
____zip 함수
__컬렉션 그룹화
__정리

9장. 함수형 프로그래밍과 리액티브 프로그래밍
__FP와 OOP 결합
__함수형 리액티브 프로그래밍
____리액티브 매니페스토
____코틀린의 함수형 리액티브 프레임워크
__RxKotlin 시작
____RxKotlin 다운로드 및 설정
____RxJava 푸시 메커니즘과 풀 메커니즘 비교
__Observables
____Observable의 작동 방식
__Observable.create 메소드
__Observable.from 메소드
__Iterator.toObservable
__Subscriber: Observer 인터페이스
__구독 및 폐기
__정리

10장. 펑터, 어플리커티브, 모나드
__펑터
__모나드
__어플리커티브
__정리

11장. 코틀린에서 스트림 작업
__스트림 소개
__컬렉션과 스트림
__스트림 작업
__프리미티브 스트림
__스트림 팩토리 메소드
____스트림 빌더
____빈 스트림 생성: Stream.empty()
____요소를 전달해 스트림 만들기: Stream.of()
____스트림 생성: Stream.generate()
__컬렉터와 Stream.collect: 스트림 수집
____Collectors.toList(), Collectors.toSet(), Collectors.toCollection()
____맵에 수집: Collectors.toMap()
____문자열 스트림의 결합: Collectors.joining()
____스트림 요소 그룹화: Collectors.groupingBy()
__정리

12장. 애로우 시작
__함수 합성
__부분 애플리케이션
____바인딩
__리버스
__파이프
__커링
____커링과 부분 애플리케이션의 차이점
__논리 부정
__메모이제이션
__부분 함수
__항등과 상수
__옵틱스
____애로우 코드 생성 설정
____렌즈 생성
__정리

13장. 애로우 타입
__Option
__애로우의 타입 계층
__Either
__모나드 트랜스포머
__Try
__State
____State가 있는 코리커젼
__정리

부록. 코틀린 퀵 스타트
__코틀린 작성 및 실행
____코틀린 온라인
____콘솔에서 하기
____그래들 사용
____IntelliJ IDEA나 안드로이드 스튜디오 사용
__기본 코틀린 구문
____일반 기능
____제어 구조
__코틀린 Koans

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 : 070-4821-5101
교환/반품주소
  • 부산광역시 부산진구 중앙대로 856 303호 / (주)스터디채널 / 전화 : 070-4821-5101
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.