장바구니 담기 close

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

커니의 코틀린

커니의 코틀린

  • 김태호
  • |
  • 인사이트
  • |
  • 2017-12-08 출간
  • |
  • 400페이지
  • |
  • 189 X 242 X 24 mm /762g
  • |
  • ISBN 9788966262137
판매가

28,000원

즉시할인가

25,200

배송비

2,300원

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

수량
+ -
총주문금액
25,200

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

목차

1부 코틀린과 친해지기

1장 코틀린이란?
__1.1 코틀린 소개
__1.2 코틀린의 특징
____간결한 문법
____널 안전성
____가변/불변 구분
____람다 표현식 지원
____스트림 API 지원
____완벽한 자바 호환성
__1.3 코틀린의 주요 문법
____값 및 변수 선언
____함수 선언
____클래스 및 인터페이스 선언
____조건문
____반복문

2장 자바와 비교해 보는 코틀린
__2.1 기본 자료형
____숫자
____문자
____논리
____문자열
____배열
__2.2 컬렉션
__2.3 클래스 및 인터페이스
____클래스와 인터페이스의 선언 및 인스턴스 생성
____프로퍼티
____접근 제한자
____생성자
____함수
____상속 및 인터페이스 구현
____this
____정적 필드 및 메서드
____싱글톤
____enum 클래스
____어노테이션 클래스
____중첩 클래스
__2.4 자료/자료형의 확인 및 변환
____자료의 동일성 확인: ==, === 연산자
____자료형 확인: is 연산자
____자료형 변환: as 연산자
____스마트 캐스트
__2.5 흐름 제어
____if-else 문
____when 문
____while 문
____for 문
____범위
__2.6 제네릭
____제네릭 클래스의 인스턴스 생성 및 사용
____제네릭 클래스/인터페이스 정의
____제네릭을 인자로 받는 함수
__2.7 예외
__2.8 널 안전성
____널 허용 여부 표기
____널 값을 대신하는 방법: 엘비스(?:) 연산자
____널 값 확인과 처리를 한번에: 안전한 호출(?.) 연산자
____안전한 자료형 변환: as? 연산자
____널 값이 아님을 명시하기: 비(非) 널 값 보증(!!)
____나중에 초기화되는 변수를 위해: lateinit 키워드
____자바로 작성된 클래스의 널 처리

3장 자바와는 다른 코틀린의 특징
__3.1 클래스
____데이터 클래스
____한정 클래스
____프로퍼티의 사용자 지정 Getter/Setter
__3.2 함수
____명명된 인자
____기본 매개변수
____단일 표현식 표기
____확장 함수
____연산자 오버로딩
____중위 표기법 지원
__3.3 람다 표현식
____자바와 코틀린의 람다 표현식
____코틀린 람다 표현식의 유용한 기능
____인라인 함수
__3.4 코틀린의 여타 특징
____타입 별칭
____분해 선언

4장 코틀린 표준 라이브러리
__4.1 조건 확인 함수
____특정 값의 일치 여부 확인: check, require
____명시적으로 실행 중단하기: error, TODO
__4.2 컬렉션 생성 함수
____배열
____리스트
____맵
____집합
__4.3 스트림 함수
____변환
____필터
____조합 및 합계
____기타
__4.4 범위 지정 함수
____let( ) 함수
____apply( ) 함수
____with( ) 함수
____run( ) 함수

5장 자바와 함께 사용하기
__5.1 코틀린에서 자바 코드 사용하기
____Getter/Setter의 프로퍼티화
____가변 인자를 받는 메서드
____Object 클래스 내 메서드
____SAM 변환
__5.2 자바에서 코틀린 코드 사용하기
____프로퍼티의 Getter/Setter화
____기본 매개변수가 있는 함수
____패키지 단위 함수/변수
____동반 객체 및 싱글톤
____Checked exception

6장 코틀린 개발환경 설정
__6.1 안드로이드 스튜디오 및 코틀린 IDE 플러그인 설정
__6.2 코틀린을 지원하는 프로젝트 구조 설정
____새 프로젝트 생성하기
____기존 프로젝트에 코틀린 지원 추가하기
____자바 코드와 코틀린 코드 분리하기

7장 코틀린 IDE 플러그인 소개
__7.1 자바-코틀린 코드 컨버터
____자바 파일을 코틀린으로 변환하기
____자바로 작성된 코드 블록을 코틀린으로 변환하기
__7.2 코틀린 코드 디컴파일러
__7.3 코틀린 REPL

8장 코틀린 안드로이드 익스텐션
__8.1 코틀린 안드로이드 익스텐션 소개
__8.2 코틀린 안드로이드 익스텐션 설정
__8.3 액티비티에서 사용하기
__8.4 프래그먼트에서 사용하기
__8.5 리사이클러뷰에서 사용하기

9장 Anko
__9.1 Anko 소개
__9.1 Anko Commons
____토스트 표시하기
____다이얼로그 생성 및 표시하기
____인텐트 생성 및 사용하기
____로그 메시지 기록하기
____단위 변환하기
____기타
__9.2 Anko Layouts
____DSL로 화면 구성하기
____액티비티에서 사용하기
____프래그먼트에서 사용하기
____Anko Support Plugin

2부 실무에 바로 적용할 수 있는 안드로이드 앱 개발하기

10장 Simple Github 예제 프로젝트 소개
__10.1 예제 프로젝트의 기능 및 사용하는 라이브러리
__10.2 예제 프로젝트를 실행하기 위한 준비
__10.3 빌드스크립트 및 매니페스트 구성 살펴보기
__10.4 UI 표시부 구성
__10.5 데이터 처리부 구성
__10.6 이어지는 장의 독자 수준별 권장 학습 방법 안내
____11장, 12장
____13장
____14장
____15장

11장 코틀린 변환 1단계: 컨버터로 자바 코드를 코틀린 코드로 변환하기
__11.1 빌드스크립트 수정하기
__11.2 자바-코틀린 코드 컨버터로 UI 코드 변환하기
____SimpleGithubGlideModule 변환
____SignInActivity 변환
____MainActivity 변환
____SearchActivity 변환
____SearchAdapter 변환
____RepositoryActivity 변환
__11.3 자바와 코틀린 코드의 혼용 확인하기

12장 코틀린 변환 2단계: 코틀린다운 코드로 다듬기
__12.1 데이터 처리 코드를 모두 코틀린으로 변환하기
____모델 클래스 변환
____REST API 인터페이스 변환
____GithubApiProvider 변환
____AuthTokenProvider 변환
__12.2 코틀린 안드로이드 익스텐션 적용하기
____액티비티에 적용하기
____리사이클러뷰 뷰홀더에 적용하기
__12.3 자바-코틀린 코드 컨버터로 변환된 코드를 코틀린답게 만들기
____GithubApiProvider 다듬기
____SignInActivity 다듬기
____SearchActivity 다듬기
____SearchAdapter 다듬기
____RepositoryActivity 다듬기
__12.4 Anko Commons 적용하기
____SignInActivity에 적용하기
____MainActivity에 적용하기
____SearchActivity에 적용하기

13장 프로젝트 개선 1단계: RxJava 적용하기
__13.1 RxJava 알아보기
____RxJava 소개
____옵서버블과 옵서버
____연산자
____스케줄러
____디스포저블
__13.2 Retrofit에서 RxJava에 맞게 응답 전달하기
____RxJava와 RxAndroid를 의존성에 추가하기
____데이터 처리부 수정하기
____SignInActivity 변경하기
____SearchActivity 변경하기
____RepositoryActivity 변경하기
____연산자 오버로딩으로 디스포저블을 편리하게 관리하기
__13.3 RxBinding으로 UI 이벤트를 간편하게 처리하기
____RxBinding을 의존성에 추가하기
____SearchView에 RxBinding 적용하기
____RxBinding 코틀린 확장 라이브러리 적용하기

14장 프로젝트 개선 2단계: 안드로이드 아키텍처 컴포넌트 적용하기
__14.1 안드로이드 아키텍처 컴포넌트란?
__14.2 생명주기에 맞는 동작 구현하기: Lifecycle 클래스
____Lifecycle의 구성 요소
____Lifecycle을 의존성에 추가하기
____생명주기에 맞게 디스포저블 관리하기
____액티비티 코드 변경하기
__14.3 SQLite 데이터베이스 쉽게 사용하기: 룸 라이브러리
____룸 라이브러리 소개
____룸 데이터베이스
____데이터 접근 객체
____엔티티
____룸 라이브러리를 의존성에 추가하기
____룸 데이터베이스 구성요소 및 DatabaseProvider 작성하기
____SearchActivity 변경하기
____MainActivity 변경하기
__14.4 생명주기에 맞서 UI 상태 지켜내기: ViewModel 클래스
____ViewModel 소개
____ViewModel을 의존성에 추가하기
____SupportOptional 클래스 작성하기
____SignInActivity에 SignInViewModel 적용하기
____MainActivity에 MainViewModel 적용하기
____SearchActivity에 SearchViewModel 적용하기
____RepositoryActivity에 RepositoryViewModel 적용하기

15장 프로젝트 개선 3단계: 대거 라이브러리로 필요한 객체 제공하기
__15.1 의존성 주입과 대거 라이브러리
____의존성 주입
____대거 라이브러리
____모듈
____컴포넌트
__15.2 데이터 처리 객체 주입하기
____대거 라이브러리를 의존성에 추가하기
____API 호출에 필요한 객체를 제공하는 모듈 작성하기
____로컬 저장소 데이터 접근에 필요한 객체를 제공하는 모듈 작성하기
____액티비티를 객체 그래프에 추가할 수 있도록 설정하기
____애플리케이션 모듈 작성하기
____애플리케이션 컴포넌트로 모듈 묶어주기
____액티비티에서 데이터 처리 객체 주입받기
__15.3 뷰모델 팩토리와 어댑터 객체 주입하기
____SignInModule 작성하기
____MainModule 작성하기
____SearchModule 작성하기
____RepositoryModule 작성하기

교환 및 환불안내

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