본문 바로가기

추천 검색어

실시간 인기 검색어

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

프로그래밍인사이트
인사이트

2024년 09월 12일 출간

국내도서 : 2024년 09월 04일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 PDF (4.20MB)
ISBN 9788966264513
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 불가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

PDF 필기가능 (Android, iOS)
소득공제
소장
정가 : 20,000원

쿠폰적용가 18,000

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 200원

작품소개

이 상품이 속한 분야

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

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

이 책은 코틀린이 객체 지향 프로그래밍 언어가 가지고 있는 특징 외에 함수형 프로그래밍의 특징도 갖추고 있다는 사실을 기초로 하는 책입니다. 객체 지향적 언어로 탄생한 자바도 8 버전부터 함수형 프로그램을 도입할 정도로, 함수형 언어의 특징은 개발자라면 반드시 공부하고 자유자재로 사용할 수 있어야 하는 기본적인 소양이 되었습니다. 특히 컬렉션 처리, 스코프 함수와 같은 기능은 거의 모든 코틀린 프로젝트에서 사용하고 있을 정도입니다. 이 책을 읽고 나면 두 가지 중요한 기능 외에도 함수를 객체로 다루는 법, 인라인 함수로 성능을 향상시키는 법, DSL을 설계해 깔끔한 코드를 만드는 법 등을 배울 수 있습니다.
--- ‘옮긴이의 글’ 중에서

이 책에서는 제가 생각하는 함수형 프로그래밍의 본질인 ‘함수를 객체로 사용하는 법’에 초점을 맞추고자 합니다. 따라서 함수 타입, 익명 함수, 람다 표현식, 함수 참조와 같은 특징을 배울 것입니다. 그런 다음 함수를 객체로 사용하는 가장 중요하고 실용적인 예인 ‘컬렉션을 함수형 스타일로 다루는 법’을 설명합니다. 이어서 타입에 안전한 DSL 빌더와 스코프 함수의 사용법을 살펴봅니다. 저는 이 책에서 소개하는 주제들이 코틀린이 함수형 프로그래밍을 지원하고 적용하는 가장 중요한 면이라고 생각합니다.
--- ‘본문’ 중에서

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

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

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

이 책의 대상 독자

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

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

작가정보

경험 많은 개발자이자 코틀린 강사이다. 2015년부터 코틀린을 전문적으로 사용하였고, 2016년부터 코틀린에 관한 글을 썼으며, 2018년부터 코틀린을 가르치고 있다. 코틀린 분야의 GDE(Google Developer Expert)이며, 젯브레인(JetBrains)과 코틀린 교육에 대한 공식적인 파트너십을 체결하고 있는 코틀린 아카데미(Kt. Academy)의 창립자이다. 저술한 책으로는 《코틀린을 이용한 안드로이드 개발》, 《이펙티브 코틀린》, 《코틀린 코루틴》, 《코틀린 아카데미: 핵심편》이 있다.

시스템 프로그래밍으로 개발을 시작했으며, 현재는 카카오에서 서버 개발자로 일하고 있다. C++부터 시작해 자바로, 그리고 현재는 코틀린까지 언어 영역을 넓히고 있으며, 현업에서는 코틀린의 다양한 기능을 배우고 적용하고 있다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    코틀린 아카데미: 함수형 프로그래밍 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    코틀린 아카데미: 함수형 프로그래밍 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    코틀린 아카데미: 함수형 프로그래밍
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글바이액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)