서브메뉴

본문

코틀린 프로그래밍 쿡북
코틀린 프로그래밍 쿡북
저자 : 아난드 셰카르 로이|라시 카란푸리아
출판사 : 터닝포인트
출판년 : 2018
ISBN : 9791161340364

책소개

코틀린 프로그래밍을 처음 접하는 이들에게 최적의 솔루션 제공

이 책은 개발자들이 처음 코틀린을 사용해 개발할 때 흔히 겪는 문제에 대한 완벽한 해법을 제시해주고 있다. 또한 코딩하는 데에 필요한 트릭과 컨셉들을 배우는데 최고의 솔루션을 제공한다. 그동안 몰랐던 코틀린의 놀라운 잠재력을 발견할 수 있을 것이다.

코틀린 개요부터 시작해서 코틀린이 제공하는 몇 가지 간단한 개념과 기능들을 다루는데 여기에서는 객체지향 프로그래밍의 기초와 간단한 안드로이드 애플리케이션을 만든다. 다음으로는 네트워킹, 데이터베이스, 파일 입출력, 테스팅 등의 조금 더 복잡한 개념에 대해 살펴본다. 또한 복잡한 안드로이드 개발을 매우 단순하고 쉬운 것으로 바꾸어주는 Anko라는 코틀린 라이브러리에 대해 살펴볼 것이다. 마지막으로는 개발자가 수시로 필요로 하는 잡다하고 유용한 내용들을 다룬다.

이 책의 대상 독자
이 책은 코틀린을 처음 접하는 독자들을 위해 구성되었다. 안드로이드와 자바 개발에 경험을 가지고 있으면 더 쉽게 책 내용을 이해할 수 있을 것이며 기존 안드로이드 개발 프로세스를 보다 효율적이고 재미있게 만들기 위해 코틀린을 배우기 원한다면 이 책은 최고의 선택이 될 것이다. 또한 코틀린을 이용해 개발하는 동안 겪을 수 있는 문제를 해결하는데 최적의 방법을 알려주고 있다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

코틀린 프로그래밍을 처음 접하는 이들에게 최적의 솔루션 제공

이 책은 개발자들이 처음 코틀린을 사용해 개발할 때 흔히 겪는 문제에 대한 완벽한 해법을 제시해주고 있다. 또한 코딩하는 데에 필요한 트릭과 컨셉들을 배우는데 최고의 솔루션을 제공한다. 그동안 몰랐던 코틀린의 놀라운 잠재력을 발견할 수 있을 것이다.



코틀린 개요부터 시작해서 코틀린이 제공하는 몇 가지 간단한 개념과 기능들을 다루는데 여기에서는 객체지향 프로그래밍의 기초와 간단한 안드로이드 애플리케이션을 만든다. 다음으로는 네트워킹, 데이터베이스, 파일 입출력, 테스팅 등의 조금 더 복잡한 개념에 대해 살펴본다. 또한 복잡한 안드로이드 개발을 매우 단순하고 쉬운 것으로 바꾸어주는 Anko라는 코틀린 라이브러리에 대해 살펴볼 것이다. 마지막으로는 개발자가 수시로 필요로 하는 잡다하고 유용한 내용들을 다룬다.



이 책의 대상 독자

이 책은 코틀린을 처음 접하는 독자들을 위해 구성되었다. 안드로이드와 자바 개발에 경험을 가지고 있으면 더 쉽게 책 내용을 이해할 수 있을 것이며 기존 안드로이드 개발 프로세스를 보다 효율적이고 재미있게 만들기 위해 코틀린을 배우기 원한다면 이 책은 최고의 선택이 될 것이다. 또한 코틀린을 이용해 개발하는 동안 겪을 수 있는 문제를 해결하는데 최적의 방법을 알려주고 있다.



이 책에서 다루는 내용들

1장에서는 코틀린 프로젝트를 시작하는 방법에 대해 다룬다. 그레이들 빌드 시스템에 대해 살펴보고 이를 이용한 개발 환경을 구성하는 것에 집중한다.



2장에서는 코틀린의 제어 흐름에 대해 다룬다. 코틀린은 기존의 낡은 제어 흐름을 넘어서 이들을 표현식으로서 이용할 수 있도록 해준다. 코틀린은 자바의 switch 문의 확장에 해당하는 강력한 when 문을 제공한다.



3장에서는 객체지향 프로그래밍에서 빠질 수 없는 클래스와 객체 개념에 대해 다룬다. 이 장에서는 개발자가 직면하는 실세계 문제들에 대한 예와 코틀린이 이를 해결하는 방법에 대해 살펴본다. 여기에서 다루는 내용들은 코틀린에서의 객체지향 프로그래밍(5장)에 대한 기초가 될 것이다.



4장에서는 객체지향 프로그래밍에서 빠질 수 없는 함수 개념에 대해 다룬다. 이 장은 개발자들이 직면하는 실세계 문제들에 대한 예와 코틀린이 이를 해결하는 방법에 대해 살펴본다.



5장에서는 3장과 4장을 기반으로 객체지향 프로그래밍에 대한 소개와 도움을 담았다.



6장에서는 코틀린의 컬렉션 프레임워크에 대한 모든 용법을 살펴볼 수 있는 예제를 다룬다.



7장에서는 기본적인 파일 입출력에 대해 다룬다.



8장에서는 코틀린 라이브러리인 Anko를 이용해 쉽고 빠르게 안드로이드 애플리케이션을 개발하는 것에 대해 다룬다.



9장에서는 Anko Layout을 이용해 코틀린 DSL로 쉽고 빠르게 안드로이드 UI를 작성하는 방법에 대해 다룬다.



10장에서는 코틀린을 이용해 안드로이드의 SQLite 데이터베이스를 사용하는 방법에 대해 다룬다.



11장에서는 네트워크 요청과 응답을 처리하는 방법에 대해 다룬다.



12장에서는 코틀린의 가장 멋진 요소이며 어려운 부분이기도 한 람다와 딜리게이트에 대해 살펴본다. 이 장은 개발자가 람다와 딜리게이트를 처음으로 사용할 때 도움이 되는 내용들을 담았다.



13장에서는 코틀린을 이용해 단위 테스트, 통합 테스트, 인수 테스트를 작성하고 수행하는 방법에 대해 다룬다.



14장에서는 코틀린을 이용해 기본적인RESTful 웹 서비스를 만드는 방법에 대해 다룬다.
[알라딘에서 제공한 정보입니다.]

목차정보

들어가며

1장: 설치 및 환경 구성

코틀린 안드로이드 프로젝트 생성

코틀린 코드 실행을 위해 Gradle(그레이들) 이용하기

컴파일된 코틀린 클래스 실행하기

그레이들과 코틀린으로 실행가능한 JAR 파일 만들기

콘솔에서 입력 받기

자바- 코틀린 간 코드 변환

코틀린으로 logger 만들기

자바 코드에서 코틀린 키워드로 취급되는 식별자 피하기

as 키워드로 한 파일 안에서 중복되는 클래스 이름 및 함수명 해결하기

코틀린에서의 비트 연산

문자열을Long, Double, Int로 파싱하기

문자열 템플릿 이용하기



2장. 제어 흐름

if 키워드를 활용한 값 할당

when과 함께 범위 사용

사용자 정의 오브젝트와 when

표현식으로서의 try-catch

also 함수를 이용한 swap 함수 만들기

사용자 정의 예외

다중 조건 반복문



3장. 클래스와 오브젝트

생성자 초기화

데이터 타입 변환

객체의 타입 체크

추상클래스

클래스 속성 순회

인라인 속성

중첩클래스

클래스 참조얻기

위임 속성 사용

열거형 사용



4장. 함수

함수에서 기본값 지정



함수에서 명명된 인수 사용

Kotlin에서 RecyclerView 어댑터 만들기

Kotlin에서 getter setter 만들기

변수인수를 함수에 전달

함수를 매개 변수로 전달

정적 함수 선언

Kotlin에서 use 키워드 사용

Kotlin의 클로저 작업

리시버가 있는 함수 리터럴

익명 함수로 작업하기



5장. 객체지향 프로그래밍

코틀린의 인터페이스

코틀린에서 다중 오버라이드된 메소드로 복잡한 인터페이스를 구현하는 방법

코틀린에서 클래스 확장하기(상속 및 확장 함수)

코틀린에서 제네릭을 사용하는 방법

코틀린에서 다형성을 구현하는 방법

클래스 계층 구조 제한



6장. 컬렉션 프레임워크

두 개의 컬렉션을 병합하는 방법

원본 컬렉션을 컬렉션쌍으로 분할

지정된 비교자로 리스트 정렬

내림차순으로 정렬

Gson을 사용하여 JSON 응답구문 분석하기

람다식을 사용하여 필터링 및 매핑하는 방법

객체 목록을 정렬하고 끝에 null 객체를 유지하는 방법

코틀린에서 lazy 리스트를 구현하는 방법

코틀린에서 문자열을 채우는 법

다차원 배열이나 맵을 1차원으로 바꾸는 방법

코틀린에서 여러 필드로 컬렉션을 정렬하는 방법

코틀린 리스트에서 limit 사용 방법

코틀린에서 2차원 배열을 만드는 방법

코틀린에서 처음 N 개의 항목을 건너 뛰는 방법



7장. 파일 핸들링

InputReader를 이용해 파일 읽기

InputReader를 이용해 파일의 모든 데이터 읽기

InputReader를 이용해 파일로부터 한 줄씩 읽기

BufferedReader를 이용해 파일 읽기

BufferedReader를 이용해 파일의 모든 데이터 읽기



BufferedReader를 이용해 파일로부터 한 줄씩 읽기

네트워크로부터 문자열과 JSON 데이터 읽기



8장. Anko Commons와 확장 함수

Gradle 프로젝트에서 Anko 사용 설정

확장 함수로 안드로이드 프레임워크 확장하기

확장 기능을 속성으로 사용하기

Anko에서 intent 사용하기

Anko를 이용해 전화 걸기

Anko를 이용해 문자메시지 보내기

Anko를 이용해 웹페이지 띄우기

Anko를 이용해 텍스트 공유하기

Anko를 이용해 이메일 보내기

Anko를 이용해 다이얼로그 만들기

텍스트 목록이 있는 다이얼로그 만들기

뷰에서 Anko 사용

Anko를 이용해 로그 남기기

Anko를 이용한 디스플레이 단위 사용

안드로이드 버전 체크하기



9장. Anko Layouts

Anko Layout을 위해 그레이들에 Anko 라이브러리 설정하기

코틀린 코드로 유저 인터페이스 만들기

이미 작성된 XML 레이아웃 이용하기

AnkoComponent 인터페이스 이용하기

Anko에서 안드로이드 테마 설정

Anko 뷰의 레이아웃 매개변수 설정

Anko 뷰에 이벤트 리스너 추가하기

DSL에서 XML 레이아웃 삽입하기

XML 파일을 DSL로 변환하기

스낵바 띄우기

토스트 띄우기

합성 속성을 이용해 뷰에 접근하기

확장 함수를 이용해 뷰그룹 안의 뷰에 접근하기



10장. 데이터베이스와 의존성 주입

코틀린에서 SQLite 사용하기

데이터베이스 테이블 생성

코틀린에서의 의존성 주입

데이터베이스로부터 데이터 읽기

데이터베이스 커서를 객체 리스트로 변환하기

널일 수 있는 객체를 위한 parseOpt

데이터베이스에 데이터 쓰기

싱글톤 객체 생성

코틀린에서 Dagger2 사용하기

코틀린에서 Butterknife 사용하기



11장. 네트워킹과 동시성

네트워크로부터 데이터 가져오기

데이터 클래스를 생성하기

데이터 클래스를 수정하면서 복제하기

JSON 파싱

파일 다운로드

RxJava와 함께 Retrofit 사용하기

RecyclerView를 이용해 무한 스크롤되는 리스트 만들기

안드로이드에서 백그라운드 작업을 위해 Anko 사용하기

코루틴을 이용한 멀티스레딩 구현



12장. 람다와 딜리게이트

람다를 이용한 클릭 리스너

지연 위임 속성

Delegates.observable

Delegates.vetoable

사용자 정의 Delegate

lateinit 사용

SharedPreferences 사용

전역변수 만들기



13장. 테스팅

코틀린 코드에 대해 단위 테스트 수행

Mockito를 이용한 단위 테스트

통합 테스트

코틀린에서 JUnit Rule 작성(@Rule)

Espresso를 이용한 인수 테스트

코틀린으로 assertEquals 작성



14장. 코틀린으로 웹서비스 만들기

톰캣에서 애플리케이션 실행하기

RESTful 서비스를 위한 의존성 설정

REST 컨트롤러 생성

스프링 부트를 위한 애플리케이션 클래스 생성
[알라딘에서 제공한 정보입니다.]

QuickMenu