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

$28.35
SKU
9788966264445
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Mon 01/6 - Fri 01/10 (주문일로부 10-14 영업일)

Express Shipping estimated by Wed 01/1 - Fri 01/3 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2024/09/04
Pages/Weight/Size 172*225*13mm
ISBN 9788966264445
Categories IT 모바일 > 모바일 프로그래밍
Description
더 쉽게 함수형 프로그래밍을 배우는 방법!

이 책은 코틀린의 함수형 프로그래밍 특징을 심도 있게 탐구하는 완벽한 가이드이다. 기본 개념을 차근차근 설명하며, 컬렉션 처리, 함수 참조, 스코프 함수, 도메인 특화 언어(DSL) 사용 및 생성, 컨텍스트 리시버와 같은 고급 주제를 포괄적으로 다룬다. 각 장의 끝에는 학습한 내용을 바로 적용해 볼 수 있는 연습문제가 수록되어 있어 실전에서의 활용도를 높여 준다.
Contents
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)
고차 함수 테스트
에러 처리
애로우 옵틱스로 데이터 불변성 유지하기

마치며
연습문제 해답
찾아보기
Author
마르친 모스카와,신성열
경험 많은 개발자이자 코틀린 강사이다. 2015년부터 코틀린을 전문적으로 사용하였고, 2016년부터 코틀린에 관한 글을 썼으며, 2018년부터 코틀린을 가르치고 있다. 코틀린 분야의 GDE(Google Developer Expert)이며, 젯브레인(JetBrains)과 코틀린 교육에 대한 공식적인 파트너십을 체결하고 있는 코틀린 아카데미(Kt. Academy)의 창립자이다. 저술한 책으로는 『코틀린을 이용한 안드로이드 개발』, 『이펙티브 코틀린』, 『코틀린 코루틴』, 『코틀린 아카데미: 함수형 프로그래밍』 등이 있다.
경험 많은 개발자이자 코틀린 강사이다. 2015년부터 코틀린을 전문적으로 사용하였고, 2016년부터 코틀린에 관한 글을 썼으며, 2018년부터 코틀린을 가르치고 있다. 코틀린 분야의 GDE(Google Developer Expert)이며, 젯브레인(JetBrains)과 코틀린 교육에 대한 공식적인 파트너십을 체결하고 있는 코틀린 아카데미(Kt. Academy)의 창립자이다. 저술한 책으로는 『코틀린을 이용한 안드로이드 개발』, 『이펙티브 코틀린』, 『코틀린 코루틴』, 『코틀린 아카데미: 함수형 프로그래밍』 등이 있다.