길벗에서 나온 '코틀린 완벽 가이드' 책이 나왔다. 안드로이드 개발하면서 코틀린을 사용하고 있지만 깊이있게 이해하고 사용하고 싶어서 코틀린 관련 서적에 관심이 있는 상태에서 운이 좋게 리뷰어에 선정되어서 책을 받아 읽게 되었다.
책의 목차만 보아도 코틀린의 기본 문법부터 활용까지 참고하기 좋아보였다. 또한 장마다 장의 목표와 배우는 내용에 대해 명시가 되어있어서 필요한 내용을 빨리 찾아서 살펴보기도 좋았다.
1장 강력하고 실용적인 코틀린
2장 코틀린 언어 기초
3장 함수 정의하기
4장 클래스와 객체 다루기
5장 고급 함수와 함수형 프로그래밍 활용하기
6장 특별한 클래스 사용하기
7장 컬렉션과 I/O 자세히 알아보기
8장 클래스 계층 이해하기
9장 제네릭스
10장 애너테이션과 리플렉션
11장 도메인 특화 언어
12장 자바 상호 운용성
13장 동시성
14장 코틀린 테스팅
15장 안드로이드 애플리케이션
16장 Ktor를 활용한 웹 개발
17장 마이크로서비스 구축
나는 그 중에서도 13장 동시성(코루틴)에 관심을 가지고 읽어보았다. 요즘 실무에서 코루틴을 잘 사용하는 법에 대해 고민하던 도중이라 관심이 더 생겼는데 잘 정리되어 있어서 도움이 되었다.
13장에서 다루는 내용을 장 시작부분에서 아래와 같이 설명하는데 장을 요약해서 설명해주는 듯 했다.
- 코틀린을 뒷받침하는 일시 중단 가능한 함수(suspending function)와 구조적인 복잡성을 살펴보고 동시성 흐름 제어, 코루틴의 생명 주기에 따른 상태 변화, 코루틴 취소나 코루틴의 예외 처리, 동시성 작업이 스레드를 할당받는 방법 등에 대해서 살펴본다.
- 동시성 작업 사이에 통신을 구현하거나 스레드 안전한(thread-safe)방식으로 변경 가능한 상태를 공유하고 싶을 때 사용할 수 있는 채널이나 액터에 대해서도 살펴본다.
- 스레드 생성, 동기화(synchronization)와 락(lock) 사용 등 자바 동시성 API를 코틀린에서 사용할 때 도움이 되는 유틸리티들을 살펴본다.
코루틴의 장은 아래의 항목으로 이루워져있었고, 500p~546p 까지 꽤 많은 분량에 거쳐 설명되어 있었다.
13. 1 코루틴
13. 1. 1 코루틴과 일시 중단 함수
13. 1. 2 코루틴 빌더
13. 1. 3 코루틴 영역과 구조적 동시성
13. 1. 4 코루틴 문맥
13. 2 코루틴 흐름 제어와 잡 생명 주기
13. 2. 1 취소
13. 2. 2. 타임아웃
13. 2. 3 코루틴 디스패치하기
13. 2. 4 예외처리
13. 3 동시성 통신
13. 3. 1 채널
13. 3. 2 생산자
13. 3. 3 티커
13. 3. 4 액터
13. 4 자바 동시성 사용하기
13. 4. 1 스레드 시작하기
13. 4. 2 동기화와 락
13. 5 결론
13. 6 정리 질문
코루틴의 전반적인 동작과 사용법에 대해서 살펴볼 수 있었으며, 특히 좋았던 것은 스레드 생성이나 동기화 등과 관련한 작업을 코틀린 표준 라이브러리를 통해서 좀 더 편하게 사용하는 방법을 같이 짚어줘서 좋았다.
책 중간 중간 '자바vs코틀린' 이라는 이름으로 팁이 설명되어 있는데 자바를 먼저 접했던 사람으로서 이해하는데 더 도움이 되고 좋았다.
또한 자바 상호운용성 장에는 Java코드와 코틀린 코드를 함께 사용할 때 참고할 만한 내용이 있어서 기존에 java 개발환경에서 코틀린을 도입하는 환경이라면 더욱 활용도가 높아보였다.
개인적으로 앞으로 한동안 곁에두고 막히거나 할 때 열어 볼 것 같은 책이다.
책의 코드 영역이 글과 조금 구분이 되었으면 가독성이 좀 더 좋지 않았을까 하는 아쉬움도 조금 남는다.
'리뷰 > 영화,책' 카테고리의 다른 글
[독서] '김훈 - 하얼빈' 을 읽고 나서 (0) | 2024.12.02 |
---|---|
EBS 다큐프라임 _ 강자의 조건 _ 굴림할 것인가 매혹 할 것 인가 (0) | 2022.11.23 |
[서평단활동] Do it! 깡샘의 안드로이두 앱 프로그래밍 with 코틀린 (개정판) (0) | 2022.03.07 |
[책 / 밀리의 서재] '악의 마음을 읽는 자들' 을 읽고 나서... (0) | 2022.02.28 |
[만화 경제학 강의 - 조립식, 조윤형] 쉽게 읽을 수 있는 경제학 만화 (0) | 2021.06.24 |
댓글