이미 소장하고 있다면 판매해 보세요.
1부 코틀린의 고급 기능
1장 제네릭 변성 제어자 리스트의 변성 소비자의 변성 함수 타입 공변 Nothing 객체 공변 Nothing 클래스 변성 제어자의 제한 @UnsafeVariance 애너테이션 변성 제어자의 위치 스타 프로젝션(*) 요약 연습문제: 제네릭 타입 사용 연습문제: 제네릭 응답 연습문제: 제네릭 컨슈머 2장 인터페이스 위임 위임 패턴 위임과 상속 코틀린의 인터페이스 위임 지원 래퍼 클래스 데코레이터 패턴 인터섹션 타입 한계 부모 사이의 요소 충돌 요약 연습문제: ApplicationScope 3장 프로퍼티 위임 프로퍼티 위임의 원리 getValue와 setValue의 다른 매개변수들 커스텀 프로퍼티 위임자 구현 위임자 제공하기 코틀린 표준 라이브러리의 프로퍼티 위임자 notNull 위임자 연습문제: Lateinit 위임자 구현 lazy 위임자 연습문제: 블로그 포스트 프로퍼티 observable 위임자 vetoable 위임자 위임자로 맵 사용하기 변수가 동작하는 방식 복습하기 요약 연습문제: 뮤터블 lazy 위임자 4장 코틀린 컨트랙트 컨트랙트의 의미 인수로 받은 함수를 몇 번 호출할까? 함수가 값을 반환한다는 사실을 암시하기 컨트랙트 실제로 사용하기 요약 연습문제: 코루틴 시간 측정 2부 다양한 플랫폼에서의 코틀린 5장 자바 상호운용성 널 가능한 타입 코틀린 타입 매핑 JVM 원시 타입 컬렉션 타입 애너테이션 대상 정적 요소 @JvmField 코틀린에서 자바 접근자 사용하기 @JvmName @JvmMultifileClass @JvmOverloads Unit 함수 타입과 함수 인터페이스 편법적인 이름 @Throws @JvmRecord 요약 연습문제: 코틀린 코드를 자바에서 이용할 수 있도록 다듬기 6장 코틀린 멀티플랫폼 사용하기 멀티플랫폼 모듈 설정 expect와 actual 요소 가능성 멀티플랫폼 라이브러리 멀티플랫폼 모바일 애플리케이션 요약 연습문제: 멀티플랫폼에서의 LocalDateTime 7장 자바스크립트 상호운용성 프로젝트 설정하기 코틀린/JS를 지원하는 라이브러리 사용하기 코틀린/JS 사용하기 패키지 빌딩과 링킹 npm에 패키지 배포하기 객체 노출하기 플로우와 상태플로우 노출하기 npm 의존성 추가하기 코틀린/JS용 프레임워크와 라이브러리 자바스크립트와 코틀린/JS의 한계 요약 연습문제: 코틀린/JVM 프로젝트를 KMP로 이전하기 3부 메타프로그래밍 8장 리플렉션 클래스 계층구조 함수 참조 매개변수 참조 프로퍼티 참조 클래스 참조 직렬화 예시 타입 참조하기 타입 리플렉션 예시: 랜덤 값 코틀린 리플렉션과 자바 리플렉션 캡슐화 깨뜨리기 요약 연습문제: 함수 호출자 연습문제: 객체를 JSON으로 직렬화 연습문제: 객체를 XML로 직렬화 연습문제: DSL에 기초한 의존성 주입 라이브러리 9장 애너테이션 처리 처음 만드는 애너테이션 처리기 생성된 클래스 숨기기 요약 연습문제: 애너테이션 처리로 실행 시간 측정 래퍼 만들기 10장 코틀린 심벌 처리 처음 만드는 KSP 처리기 KSP 테스트하기 의존성과 점진적 처리 다중 라운드 처리 멀티플랫폼 프로젝트에서 KSP 사용하기 요약 연습문제: KSP로 처리 시간 측정 래퍼 만들기 11장 코틀린 컴파일러 플러그인 컴파일러 프런트엔드와 백엔드 컴파일러 확장 유명한 컴파일러 플러그인들 모든 클래스를 open으로 설정하기 타입 변경하기 함수 래퍼 생성하기 플러그인 구현 예제 요약 12장 정적 분석 도구 정적 분석 도구란? 분석 도구 종류 코틀린 코드 분석 도구 디텍트 설정하기 첫 번째 디텍트 규칙 작성하기 요약 마치며 연습문제 해답 찾아보기 |
Marcin Moskała
마르친 모스카와의 다른 상품
신성열 의 다른 상품
이 책에서 다루는 주제를 이해하지 못하더라도 개발자가 될 수 있습니다. 심지어 실력 있는 개발자가 될 수도 있습니다. 하지만 때로는 고급 기술이 필요한 경우가 있을 것입니다. 여러분은 이 책에 나오는 기능으로 만들어진 도구를 매일 같이 사용하고 있을 겁니다. 예를 들어, 애너테이션 처리나 컴파일러 플러그인을 활용한 라이브러리, 변성 제어자를 사용하는 클래스, 컨트랙트가 있는 함수, 프로퍼티 위임 등이 있습니다. 그런데 여러분은 이 기능을 이해하고 있나요? 직접 비슷한 도구를 구현할 수 있나요? 이 기능을 분석하고 디버깅할 수 있나요? 이 책을 읽고 나면 이 모든 것이 가능해집니다. 이 책은 시니어 개발자들도 잘 이해하지 못하는 코틀린의 고급 기능을 다룹니다. 여러분이 필요한 기술을 갖추게 하며, 이전에는 상상할 수 없던 것을 가능하게 합니다. 제가 이 책을 쓰며 느낀 즐거움을 여러분도 느꼈으면 합니다.
--- 「지은이의 글」 중에서 이 책은 코틀린 개발에 어느 정도 경험이 있는 개발자들이 읽기에 적합한 책입니다. 자바에는 없는 제네릭 변성 제어자를 사용하여 타입 안정성을 더할 수도 있고, 위임을 통해 클래스의 역할을 다른 클래스에 위임할 수도 있습니다. 코틀린을 자바 또는 자바스크립트와 상호운용해야 하는 분들에게도 이 책은 많은 도움이 될 것입니다. 라이브러리 제작자들은 코틀린이 제공하는 다양한 리플렉션 기능을 통해 라이브러리를 쉽게 구현할 수 있습니다. 더 나아가 애너테이션 처리기, KSP, 컴파일러 플러그인 등 다양한 고급 기능을 익히면 기존에는 생각지도 못했던 기능을 추가할 수 있을 것입니다. --- 「옮긴이의 글」 중에서 |
이 책에서 다루는 내용
ㆍ 제네릭 변성 제어자 ㆍ 인터페이스 위임과 프로퍼티 위임 ㆍ 코틀린 컨트랙트 ㆍ 코틀린과 자바 상호운용성 ㆍ 코틀린/JS 사용하기 ㆍ 코틀린 리플렉션 ㆍ 애너테이션 처리기 ㆍ 코틀린 심벌 처리기 ㆍ 코틀린 컴파일러 플러그인 ㆍ 커스텀 규칙을 사용한 정적 분석 이 책의 대상 독자 이 책은 경험 많은 코틀린 개발자를 대상으로 합니다. 독자들이 함수 타입과 람다 표현식, 컬렉션 처리, DSL의 생성과 사용법, Any?와 Nothing 같은 필수 코틀린 타입을 알고 있다고 가정합니다. 소스코드 다운로드 본문에 소개된 모든 소스코드는 다음 깃허브 저장소에서 볼 수 있습니다. https://github.com/MarcinMoskala/advanced_kotlin_sources |