코틀린 아카데미: 이펙티브 코틀린 (반양장)

코틀린 아카데미: 이펙티브 코틀린 (반양장)

$33.00
Description
코틀린 개발자들의 필독서 《이펙티브 코틀린》의 최신 개정판
모범 사례를 통해 코틀린의 60가지 품질 향상 전략을 알려 준다!
코틀린의 장점을 제대로 활용하려면 기능과 표준 라이브러리를 아는 것만으로는 충분하지 않습니다. 코틀린을 올바르게 사용하는 방법을 알아야 합니다. 《코틀린 아카데미: 이펙티브 코틀린》은 코틀린의 60가지 효과적인 활용법을 알려 주는 실용적인 안내서입니다. 이 책은 단순히 언어의 기능을 아는 것을 넘어, 언제 어떻게 사용해야 하는지에 대한 깊이 있는 통찰을 제공합니다. 다양한 코틀린 기능을 사용하여 안전성, 가독성, 유지보수성, 효율성 면에서 더 나은 코드를 만드는 방법을 제시하고, 인라인 함수와 클래스, 도메인 특화 언어(DSL), 플랫폼 타입과 같은 고급 주제도 다룹니다. 독자들은 이 책을 통해 실제 개발 현장에서 마주칠 수 있는 다양한 문제들에 대한 해결책을 얻을 수 있습니다.
저자

마르친모스카와

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

역자:강진혁
'레진코믹스'와'카카오이모티콘'의백엔드를개발하였고,지금은㈜비랩트에서작가응원커뮤니티'숄더'와이미지일러스트SNS'숄더픽'의백엔드및인프라와관련된전반적인부분을담당하고있다.

역자:김보경
코틀린으로개발경력을시작했으며,현재는㈜비랩트에서코틀린을사용하며실무개발에집중하고있다.

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

목차

1부좋은코드

1장안전성
아이템1가변성을제한하라
아이템2임계영역을제거하라
아이템3가능한한빨리플랫폼타입을제거하라
아이템4변수의스코프를최소화하라
아이템5인수와상태에대한기대치를명시하라
아이템6사용자정의오류보다표준오류를선호하라
아이템7결과가없을가능성이있는경우널가능또는Result반환타입을선호하라
아이템8use를사용하여리소스를닫아라
아이템9단위테스트를작성하라

2장가독성
아이템10가독성을목표로설계하라
아이템11연산자의의미는함수의이름과일치해야한다
아이템12가독성을높이려면연산자를사용하라
아이템13타입명시를고려하라
아이템14리시버를명시적으로참조하라
아이템15프로퍼티는동작이아닌상태를나타내야한다
아이템16Unit을반환이나연산에사용하지말라
아이템17이름있는인수사용을고려하라
아이템18코딩컨벤션을준수하라

2부코드설계

3장재사용성
아이템19knowledge를반복하지말라
아이템20일반적인알고리즘을반복하지말라
아이템21일반적인알고리즘을구현할때제네릭을사용하라
아이템22타입매개변수의섀도잉을피하라
아이템23제네릭타입에대한변성한정자사용을고려하라
아이템24공통모듈을추출해서여러플랫폼에서재사용하라

4장추상화설계
아이템25각각의함수는하나의추상화수준으로작성하라
아이템26변경으로부터코드를보호하려면추상화를사용하라
아이템27API안정성을명시하라
아이템28외부API를래핑하는것을고려하라
아이템29가시성을최소화하라
아이템30문서로규약을정의하라
아이템31추상화규약을준수하라

5장객체생성
아이템32보조생성자대신팩토리함수를고려하라
아이템33이름있는선택적인수를갖는기본생성자사용을고려하라
아이템34복잡한객체생성을위해DSL정의를고려하라
아이템35의존성주입을고려하라

6장클래스설계
아이템36상속보다합성을선호하라
아이템37데이터묶음을표현할때data한정자를사용하라
아이템38연산과행동을전달하려면함수타입이나함수형인터페이스를사용하라
아이템39제한된계층구조를표현하기위해sealed클래스와sealed인터페이스를사용하라
아이템40태그클래스대신클래스계층구조를선호하라
아이템41열거형클래스를사용해서값목록을나타내라
아이템42equals의규약을준수하라
아이템43hashCode의규약을준수하라
아이템44compareTo의규약을준수하라
아이템45API의필수적이지않은부분을확장으로추출하는것을고려하라
아이템46멤버확장함수를피하라

3부효율성

7장비용줄이기
아이템47불필요한객체생성을피하라
아이템48객체선언사용을고려하라
아이템49가능하면캐싱을사용하라
아이템50재사용가능한객체를추출하라
아이템51함수형타입매개변수를갖는함수에inline한정자를사용하라
아이템52인라인값클래스사용을고려하라
아이템53더이상사용하지않는객체참조를삭제하라

8장효율적인컬렉션처리
아이템54처리단계가둘이상인대규모컬렉션의경우시퀀스를선호하라
아이템55요소들을맵으로묶는것을고려하라
아이템56groupBy대신groupingBy사용을고려하라
아이템57연산횟수를제한하라
아이템58성능이중요한작업에서는원시형배열의사용을고려하라
아이템59가변컬렉션사용을고려하라
아이템60적절한컬렉션타입을사용하라

용어

출판사 서평

새로추가된아이템
아이템2:임계영역을제거하라
아이템35:의존성주입을고려하라
아이템48:객체선언사용을고려하라
아이템49:가능하면캐싱을사용하라
아이템50:재사용가능한객체를추출하라
아이템55:요소들을맵으로묶는것을고려하라
아이템56:groupBy대신groupingBy사용을고려하라
아이템60:적절한컬렉션타입을사용하라

대상독자
이책은코틀린으로개발하는데필요한충분한지식과기술을갖추고있는코틀린개발자를대상으로합니다.다만숙련된개발자라도일부기능은모를수있다고가정하고프로퍼티,플랫폼타입,이름있는인수,도메인특화언어(Domain-SpecificLanguage,)생성,인라인클래스와인라인함수등은설명합니다.

소스코드다운로드
본문에소개된모든소스코드는다음깃허브저장소에서볼수있습니다.
github.com/MarcinMoskala/effectivekotlin_sources

저자의말

코틀린의장점을제대로살리려면코틀린을올바르게사용해야합니다.기능과표준라이브러리(stdlib)를아는것만으로는충분하지않습니다.이책의주요목표는다양한코틀린기능을사용하여안전하고,가독성높으면서,확장가능하고효율적인코드를작성하는방법을설명하는것입니다.이책은개발자의코드개선을돕기위해작성되었으므로,프로그래머를위한많은일반적인규칙도다루고있습니다.또한이책은《클린코드》,《이펙티브자바》,《컴퓨터프로그램의구조와해석》,《CODECOMPLETE》등과같은고전적인프로그래밍책의영향을받았으며,영향력있는연사들의발표와코틀린포럼의제안에도영향을받았습니다.이처럼출처에구애받지않고코틀린모범사례를최대한많이제공하려고노력하였습니다.