이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 청년패스
자바 API 디자인
자바 프레임워크 아키텍트가 알려주는 API 설계 이론과 실제
베스트
IT 모바일 top100 4주
가격
35,000
10 31,500
YES포인트?
1,750원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

위키북스 IT Leaders 시리즈

이 상품의 태그

책소개

목차

[1부] 이론과 정당성

1장: 현대 소프트웨어 구축의 예술
합리주의, 경험주의, 무지
지금까지의 소프트웨어의 진화
거대한 기반 요소
아름다움, 진리, 우아함
더 무지해져라!

2장: API를 만드는 이유
분산 개발
애플리케이션 모듈화
비선형적인 버전 관리
중요한 것은 의사소통이다
경험적 프로그래밍
첫 번째 버전은 늘 쉽다

3장: 훌륭한 API를 결정하는 요소
메서드와 필드 시그너처
파일과 파일의 내용
환경변수와 명령줄 옵션
API로서의 텍스트 메시지
프로토콜
동작 방식
I18N 지원과 L10N 메시지
넓은 의미의 API
API의 품질을 검사하는 법

4장: 시시각각 변하는 표적
첫 번째 버전은 결코 완벽하지 않다
하위 호환성
유스 케이스 지향의 중요성
API 리뷰
API의 생명주기
점진적 향상

[2부] 실제 설계

5장: 필요 이상으로 노출하지 마라
메서드가 필드보다 낫다
생성자보다 팩터리가 낫다
모든 것을 final로 만들어라
어울리지 않는 곳에 설정자 메서드를 넣지 마라
프렌드 코드에서만 접근하는 것을 허용하라
객체를 만든 이에게 더 많은 권한을 부여하라
깊은 계층구조를 노출하지 마라

6장: 구현이 아닌 인터페이스를 대상으로 코드를 작성하라
메서드나 필드 제거하기
클래스나 인터페이스를 제거하거나 추가하기
기존 계층구조에 인터페이스나 클래스 집어넣기
메서드나 필드 추가하기
자바 인터페이스와 클래스 비교
외유내강
메서드를 추가하길 좋아하는 사람들의 천국
추상 클래스는 유용한가?
매개변수 증가를 위한 대비
인터페이스 대 클래스

7장: 모듈화 아키텍처를 사용하라
모듈화 설계의 유형
상호컴포넌트 룩업과 통신
확장점 작성하기
순환 의존성의 필요성
Lookup은 어디에나 있다
Lookup의 남용

8장: 클라이언트와 제공자를 위한 API를 분리하라
C와 자바로 API/SPI 표현하기
API 진화는 SPI 진화와 다르다
Writer의 자바 1.4와 자바 1.5 사이의 진화
API를 적절히 나눠라

9장: 테스트 용이성을 염두에 둬라
API와 테스트
명세의 쇠퇴
좋은 도구는 API를 더 사용하기 쉽게 만든다
테스트 호환성 도구

10장: 다른 API와 협동하기
다른 API를 사용하는 것을 조심하라
추상화 누출
API의 일관성 강제하기
위임과 합성
API를 잘못 사용하지 않게 하라
자바빈 리스너 패턴을 남용하지 마라

11장: API의 런타임 측면
고치기 여정
신뢰성과 무지
동기화와 교착상태
재진입성 호출 대비
메모리 관리

12장: 선언형 프로그래밍
객체를 불변적으로 만들어라
불변적인 동작 방식
문서의 호환성

[3부] 일상 생활

13장: 해로운 것으로 여겨지는 극단적인 조언
API는 아름다워야 한다
API는 정확해야 한다
API는 단순해야 한다
API는 성능이 좋아야 한다
API는 100퍼센트 호환성을 갖춰야만 한다
API는 대칭적이어야 한다

14장: API 설계의 역설
API 이중 사고
보이지 않는 일
안정적인 API를 약속하는 두려움 극복하기
유지보수 비용 최소화하기

15장: API 우주의 진화
망가진 라이브러리 되살리기
의식적 업그레이드 대 무의식적 업그레이드
대체 동작 방식
비슷한 API의 연계와 공존

16장: 협동 작업
코드를 커밋하기 전에 검토 절차 밟기
개발자들이 API를 문서화하도록 설득하기
빅 브라더는 잠들지 않는다
API 패치 수락하기

17장: 게임을 활용한 API 설계 실력 향상
개요
1일차
2일차
3일차: 평가의 날
여러분도 해보시길!

18장: 확장 가능한 비지터 패턴 사례 연구
추상 클래스
진화 준비
기본 탐색
명확한 버전 정의
비단조적 진화
인터페이스를 사용하는 자료구조
클라이언트 비지터와 제공자 비지터
삼중 디스패치
비지터를 위한 행복한 결말
편의성 문법

19장: 시한부 절차
명세 버전의 중요성
모듈 의존성의 중요성
제거된 부분을 영원히 놔둬야 하는가?
모놀리식 API 나누기

저자 소개

저자 : 야로슬라프 툴라흐 (Jaroslav Tulach)
야로슬라프 툴라흐는 나중에 썬에 인수된 넷빈즈의 설립자이자 초기 아키텍트다. 넷빈즈의 기반이 되는 기술을 만든 사람으로서 지금도 넷빈즈 오픈소스 프로젝트의 성공에 기여하는 모든 프로그래머들의 설계 실력을 향상시키는 방법을 모색하는 프로젝트를 진행하고 있다.
역자 : 이대엽
책 만드는 일을 하고 있으며, 이따금 IT 관련 서적을 번역하기도 한다. 옮긴 책으로 『풀스택 자바스크립트 개발』 『테스트 주도 개발로 배우는 객체 지향 설계와 실천』 『자바스크립트 개론』 『모듈라 자바』 『시작하세요! 맥 OS X 라이언』 『도메인 주도 설계』 『하이버네이트 완벽 가이드』 『개념을 잡아주는 프로그래밍 정석』 등이 있다.

관련 분류

품목정보

발행일
2015년 05월 12일
쪽수, 무게, 크기
536쪽 | 1018g | 188*240*24mm
ISBN13
9788998139964

출판사 리뷰

★ 이 책에서 다루는 내용 ★

API란 무엇인가?
API를 제작하는 이유와 시점
훌륭한 API를 설계하기 위한 기초 이론
모든 프로그래밍 언어(특히 객체 지향 언어)에 적용 가능한 API 설계 패턴
API 최적화와 테스트

독자분들께,

서점에서 이 책을 손에 들고 “이 책을 사야 할까?”라고 자문하고 계신다면 저는 이렇게 답하겠습니다. 만약 여러분이 작성한 코드가 다른 사람들이 작성한 코드를 컴파일하는 데 필요하다면 여러분은 API의 세계에 들어갈 준비가 된 것입니다. 그리고 이 책은 여러분이 API의 세계를 탐험하도록 도와줄 것입니다.

하지만 이 책은 “5번의 손쉬운 강의로 API 설계를 가르쳐 드리지” 않습니다. 이 책은 “단 3일만에” 읽을 수 있는 책이 아닙니다! 빠르게 읽을 수 있는 지침서를 찾고 계신다면 아마 이 책은 아닐 것입니다. 한편으로 API 설계에 관한 깊이 있는 지식, 즉 API 설계에 대한 “어떻게”뿐만 아니라 “왜”에도 관심이 있다면 이 책을 책장에 다시 내려놓으시기 전에 저를 잠깐 소개해 드리겠습니다.

제 이름은 야로슬라프 툴라흐이고 잘 알려진 IDE이자 자바 언어로 작성된 최초의 모듈화 데스크톱 애플리케이션 프레임워크이기도 한 넷빈즈 플랫폼 프로젝트의 설립자이자 초기 아키텍트입니다. 이 책은 지난 10년간 넷빈즈 API의 설계와 유지보수, 그리고 이러한 지식을 다른 나머지 개발자들에게 전달하는 동안 수집해온 노트를 토대로 합니다.

이 책은 넷빈즈 연구소의 핵심부에서 나온 연구일지로서 각종 문제 및 그러한 문제에 대해 저희가 이해한 내용, 저희가 선택한 해법, 그리고 그러한 해법을 적용한 이후에 내린 결론을 기술하고 있습니다. 저희의 지식이 넷빈즈를 대상으로 일할 때 수집된 것들이긴 하지만 대부분의 소프트웨어 프로젝트에 유용할 정도로 일반적입니다.

적절한 API 설계 지식은 21세기 소프트웨어를 성공적으로 제작하는 데 필수입니다. 드넓은 API 설계의 세계를 탐험하는 동안 이 책이 여러분의 안내서가 되길 바랍니다.
- 야로슬라프 툴라흐 드림

리뷰/한줄평5

리뷰

8.0 리뷰 총점

한줄평

9.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정
31,500
1 31,500