장바구니 담기 close

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

코틀린 아카데미 함수형 프로그래밍

코틀린 아카데미 함수형 프로그래밍

  • 마르친 모스카와
  • |
  • 인사이트
  • |
  • 2024-09-04 출간
  • |
  • 268페이지
  • |
  • 172 X 225 X 13mm
  • |
  • ISBN 9788966264445
판매가

25,000원

즉시할인가

22,500

배송비

무료배송

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

수량
+ -
총주문금액
22,500

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

출판사서평

《이펙티브 코틀린》, 《코틀린 코루틴》의 저자 마르친 모스카와에게 배우는 함수형 프로그래밍!

코틀린은 안드로이드와 백엔드 개발에 혁신을 일으킨 강력한 언어로, 뛰어난 함수형 프로그래밍 기능을 제공합니다. 함수형 프로그래밍이라는 마법을 통해 컬렉션을 다루고, DSL 빌더를 만들며, 스코프 함수를 활용하고, 컨텍스트 리시버를 사용하여 개발자들이 더욱 직관적이고 표현력 넘치는 코드를 작성하도록 돕습니다. 또한 코틀린의 뛰어난 확장성은 애로우(Arrow) 같은 라이브러리를 활용해 타입 안전성, 안정성, 성능을 유지하면서 더욱 함수형에 가까운 프로그래밍을 가능하게 합니다. 이러한 기능들 덕분에 코틀린은 함수형 프로그래밍을 열정적으로 적용하고자 하는 개발자들에게 이상적인 언어로 자리 잡았습니다.
이 책은 코틀린을 어느 정도 사용해 본 후, 더 깊은 주제를 배우고자 하는 개발자에게 유용합니다. 이 책을 통해 함수형 프로그래밍의 진정한 매력을 발견하고, 코틀린의 강력한 기능들을 마스터하세요. 당신의 개발 실력을 한 단계 더 끌어올릴 완벽한 기회가 될 것입니다!

이 책에서 다루는 내용
ㆍ 함수 타입
ㆍ 컬렉션 처리 함수
ㆍ 익명 함수
ㆍ 시퀀스
ㆍ 람다 표현식
ㆍ DSL 사용과 생성
ㆍ 함수 참조
ㆍ 스코프 함수
ㆍ 함수 인터페이스
ㆍ 애로우 라이브러리에 관한 필수 지식

이 책의 대상 독자

이 책은 독자 여러분이 코틀린의 기본적인 특징을 이미 알고 있다고 가정합니다. 코틀린을 매일 사용하는 개발자든, 기본 문법만 방금 익혔든 상관없습니다. 데이터 클래스가 무엇인지 알고, val과 var의 차이를 이해하고, 여러 문장(statement)이 어떻게 표현식(expression)으로도 사용되는지 알고 있으면 됩니다.

소스코드 다운로드
본문에 소개된 모든 소스코드는 다음 깃허브 저장소에서 확인할 수 있습니다.
https://github.com/MarcinMoskala/functional_kotlin_sources

목차

1장 코틀린을 사용한 함수형 프로그래밍
왜 함수를 객체로 다뤄야 할까요?

2장 함수 타입
함수 타입 정의
함수 타입 활용
명명된 매개변수
타입 별명
함수 타입은 인터페이스입니다

3장 익명 함수

4장 람다 표현식
까다로운 중괄호
매개변수
후행 람다
결괏값
람다 표현식 예시
단일 매개변수의 암묵적 이름
클로저
람다 표현식과 익명 함수 비교
연습문제: 함수 타입과 리터럴

5장 함수 참조
최상위 함수 참조
메서드 참조
확장 함수 참조
메서드 참조와 제네릭 타입
한정된 함수 참조
생성자 참조
한정된 객체 선언 참조
함수 오버로딩과 참조
프로퍼티 참조
연습문제: 추론된 함수 타입
연습문제: 함수 타입과 리터럴 2

6장 코틀린에서 SAM 인터페이스 지원
코틀린에서 자바 SAM 인터페이스 지원
함수형 인터페이스

7장 인라인 함수
인라인 함수
함수형 매개변수가 있는 인라인 함수
비지역 반환
crossinline과 noinline
구체화된 타입 매개변수
인라인 프로퍼티
inline 제어자의 비용
인라인 함수 사용하기
연습문제: 인라인 함수

8장 컬렉션 처리
forEach와 onEach
filter
map
mapNotNull
flatMap
연습문제: 컬렉션 처리 최적화 80
fold
reduce
sum
withIndex와 인덱스된 변형 함수들
take, takeLast, drop, dropLast, subList
연습문제: 특정 위치에 원소 추가하기
특정 위치의 원소 얻기
원소 찾기
원소 개수 세기
any, all, none
연습문제: 샵 함수 구현(어려움)
partition
groupBy
맵으로 짝지우기
distinct와 distinctBy
연습문제: 프라임 접근 리스트
sorted, sortedBy, sortedWith
가변 컬렉션 정렬하기
최댓값과 최솟값
shuffled와 random
연습문제: 컬렉션 처리 리팩터링
zip과 zipWithNext
윈도잉(windowing)
joinToString
Map, Set, String 처리
컬렉션 처리 함수를 모두 함께 사용하기
연습문제: 합격한 학생 목록
연습문제: 가장 뛰어난 학생 목록(어려움)

9장 시퀀스
시퀀스란 무엇인가?
순서가 중요하다
시퀀스는 연산을 최소한으로 수행한다
시퀀스는 무한할 수 있다
시퀀스는 각 처리 단계마다 컬렉션을 생성하지 않는다
시퀀스가 더 빠르지 않은 상황은?
자바 스트림은 어떨까?
코틀린 시퀀스 디버깅
요약
연습문제: 시퀀스 이해

10장 타입에 안전한 DSL 빌더
리시버가 있는 함수 타입
간단한 DSL 빌더
apply 사용
멀티레벨 DSL
DSL 마커(DslMarker)
더 복잡한 예
DSL은 언제 사용해야 할까?
요약
연습문제: HTML 테이블 DSL
연습문제: 사용자 테이블 행 생성하기

11장 스코프 함수
let
also
takeIf와 takeUnless
apply
부주의하게 리시버를 오버로딩할 때의 위험성
with
run
스코프 함수 사용하기
연습문제: 스코프 함수 사용하기
연습문제: orThrow

12장 컨텍스트 리시버
확장 함수의 문제점
컨텍스트 리시버 소개
사용 예
컨텍스트 리시버가 있는 클래스
주의점
요약
연습문제: 로거

13장 애로우 개요
함수와 애로우 코어(Arrows Core)
고차 함수 테스트
에러 처리
애로우 옵틱스로 데이터 불변성 유지하기

마치며
연습문제 해답
찾아보기

교환 및 환불안내

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