확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제
코어 데이터

코어 데이터

: 맥 OS X과 아이폰 개발자를 위한

에이콘- 모바일 프로그래밍 시리즈-14이동
첫번째 리뷰어가 되어주세요
베스트
IT 모바일 top100 1주
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청

품목정보

품목정보
발행일 2010년 10월 29일
쪽수, 무게, 크기 320쪽 | 758g | 185*235*30mm
ISBN13 9788960771581
ISBN10 8960771589

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

1장 들어가며
1.1 코어 데이터란 무엇인가?
1.2 이 책에서 다루는 내용
1.3 감사의 글

2장 코어 데이터의 시작
2.1 예제 애플리케이션
2.2 예제 애플리케이션 디자인
2.3 숙련된 독자
2.4 엑스코드 프로젝트 시작
2.5 데이터 모델 만들기
2.6 컨트롤러 계층 작성
2.7 사용자 인터페이스 만들기
2.8 약간의 코드 추가

3장 코어 데이터와 바인딩
3.1 키 밸류 코딩
3.2 키 밸류 옵저빙
3.3 코코아 바인딩과 코어 데이터
3.4 KVC, KVO와 코어 데이터를 사용하는 기타 UI 요소

4장 코어 데이터의 내부
4.1 NSManagedObject
4.2 NSFetchRequest
4.3 NSSortDescriptor
4.4 NSManagedObjectContext
4.5 NSManagedObjectModel
4.6 NSPersistentStoreCoordinator
4.7 조회 요청 프로퍼티
4.8 정리

5장 버전 관리와 마이그레이션
5.1 마이그레이션 작업 전 코드 정비
5.2 간단한 마이그레이션
5.3 코어 데이터 버전 관리의 기초
5.4 더 복잡한 마이그레이션
5.5 자동 데이터 마이그레이션
5.6 수동 데이터 마이그레이션
5.7 점진적 데이터 마이그레이션
5.8 팁과 트릭

6장 성능 관리
6.1 영구 저장 공간의 형태
6.2 데이터 모델 최적화
6.3 가져오기
6.4 폴트 상태
6.5 접근 방식

7장 스포트라이트, 퀵 룩, 코어 데이터
7.1 스포트라이트 통합
7.2 퀵 룩과 통합
7.3 한군데 모으기
7.4 심화 학습

8장 동기화 서비스와 코어 데이터
8.1 동기화 서비스의 기초
8.2 데이터 모델 업데이트
8.3 동기화 스키마 만들기
8.4 클라이언트 설명 파일 작성
8.5 NSPersistentStoreCoordinator 수정
8.6 동기화 도우미 작성
8.7 싱크로스펙터
8.8 정리

9장 코어 데이터와 멀티스레딩
9.1 코어 데이터가 멀티스레드 환경에 안전하지 않은 이유
9.2 여러 개의 컨텍스트 만들기
9.3 레시피 내보내기
9.4 레시피 가져오기
9.5 재귀 복사
9.6 정리

10장 코어 데이터와 아이폰
10.1 비슷한 점과 다른 점
10.2 메모리 관리
10.3 데이터 변경 통지
10.4 아이폰용 레시피 애플리케이션
10.5 정리

11장 분산 코어 데이터 비법
11.1 서버 작성
11.2 클라이언트 작성
11.3 네트워크 관련 코드 테스트
11.4 정리

12장 동적 파라미터 비법
12.1 엑스코드 예제 프로젝트 만들기
12.2 DocumentPreferences 객체
12.3 되돌아보기

저자 소개 (1명)

저자 소개 관련자료 보이기/감추기

저자 : 마커스 자라 Marcus S. Zarra
자라 스튜디오를 운영하고 있으며 seSales와 iWeb Buddy를 만들었다. 코코아 개발 전반을 다루는 유명 블로그 Cocoa is My Girlfriend의 공동 저자이기도 하다.

책 속으로 책속으로 보이기/감추기

9개월 동안의 작업을 마치고 이 책을 출간하게 되다니 믿어지지 않는다. 솔직히 말하자면 집필을 시작할 당시만 해도 두려움이 앞섰다. 코어 데이터라는 주제로 책 한 권을 모두 채우기란 불가능해 보였다. 하지만 지금에 와서 되돌아보면 크게 잘못된 생각이었다. 코어 데이터는 따로 떼어놓고 보면 꽤 작은 주제이지만, 크기가 작다는 것은 분명 코어 데이터의 장점이기도 하다. 그렇지만 OS X 전체를 놓고 보면 코어 데이터는 책 몇 권은 족히 쓸 수 있는 큰 주제다.

코어 데이터가 처음 소개됐을 때 나는 나중에 Simple Elegant Sales로 알려진 데스크탑 애플리케이션을 설계하고 있었다. 이 판매관리용 소프트웨어는 원래 사진작가인 아내의 사업을 위해 만들었다. 나는 아내가 여러 곳을 돌아다닐 때에도 노트북으로 쉽게 회계 업무를 처리하기를 바랐다. 그 소프트웨어를 처음 작성할 당시만 해도 오브젝티브C보다 자바에 훨씬 경험이 많았지만 OS X 애플리케이션의 완성도를 더욱 높이려면 사용자 인터페이스는 오브젝티브C와 코코아로 만들어야 한다는 사실을 깨달았다. 자바 UI로는 이런 완성도를 달성할 수 없었으나, 하이버네이트가 지닌 강력한 데이터베이스 기능과 관계 매핑 능력을 이용하기 위해 애플리케이션의 뒷단은 자바로 작성하기로 했다.

프로젝트를 반쯤 마쳤을 때 Atomic Bird(http://www.atomicbird.com)의 톰 해링턴을 만났다. 그는 애플리케이션의 백엔드에는 코어 데이터가 자바보다 적합할 수도 있다며 코어 데이터를 살펴보길 권했다. 당시에는 OS X의 타이거 버전이 나오지 않은 상태였고 코어 데이터는 여전히 개발자만 사용할 수 있었다. 난 딱 하루 사용해보고 바로 계획 단계로 되돌아가 전체 프로젝트를 다시 시작했다. 코어 데이터는 이전에 작업하던 것보다 훨씬 진보된 것이었다.

그날 이후 코어 데이터에 매료돼 많은 것을 빠르게 배워나갔다. 이 책은 바로 나의 모든 경험의 부산물인 셈이다.---저자 서문 중에서

각종 맥 장비와 iOS 기기가 세상에 남긴 흔적을 일일이 설명하기에는 때늦은 감이 있습니다. 애플을 생소해하던 이들도 이제 모이면 애플에 대해 이야기합니다. 언제부터인가 개발자에게 "아이폰/안드로이드의 세계에 뛰어들어야 하는가?"라는 질문이 흔한 고민이 됐습니다.

애플의 성공만큼이나 유례없이 많은 맥/아이폰 서적이 출간됐습니다. 하지만 입문 이후의 단계를 다루는 서적은 더 풍성해야 하지 않을까 욕심을 부려 봅니다. 그런 의미에서 맥/아이폰 프로그래밍 분야에서 좀 더 심도 깊고 새로운 코어 데이터 관련 서적이 세상의 빛을 보게 되어 기쁩니다.

코어 데이터는 독립 애플리케이션이 영구 저장소에 정보를 저장하는 작업을 고수준에서 간단 명료하게 처리할 수 있도록 도와줍니다. 구체적으로 말하면 데이터 모델의 속성과 연관을 내용으로 하는 객체 그래프를 XML이나 SQLite 저장소에 쉽게 저장하게 해줍니다. 코어 데이터가 제시하는 기능을 사용하다 보면 간단하면서 세련된 기능에 빠져들게 됩니다. 이 책은 코어 데이터의 기본적인 내용은 물론, 경험을 통해서만 알 수 있는 내용까지도 풍성하게 다루고 있습니다.

하지만 코어 데이터는 맥 개발 입문자를 대상으로 하는 서적은 아닙니다. 코어 데이터를 중점적으로 다루기에 엑스코드를 이용한 OS X 애플리케이션 개발에 익숙하다고 가정하고 진행되며, 작성해야 할 코드를 내용만 설명하고 넘어가기도 합니다. 물론 제공되는 예제 소스를 이용하면 해당 내용을 확인할 수 있지만, 어느 정도 기본적인 지식은 있어야 수월하게 진행할 수 있습니다.

2장을 중심으로 큰 그림을 그리기 위한 실습이 진행되는데, 책 전체에 영향을 미치는 초반 도입부인만큼 초반에는 설명이 빠진 부분을 보충해 어느 정도 책을 따라하면 예제가 완성될 정도로 구성했습니다. 하지만 저자가 아닌 역자로서 모든 장에 원서에 없는 내용을 추가하기에는 한계가 있었습니다. 나머지 부분에서는 원서의 내용을 살려 쉽게 전달하는 쪽으로 초점을 맞추었습니다.

출간 즈음이 되니 아쉬움이 많이 남습니다. 역자로서 적지 않은 시간 노력을 했습니다만, 충분한지 확신이 서지 않습니다. 부족함과 한계가 또 하나의 흔적이 되어 곳곳에 남아 있을지도 모르겠으나, 코어 데이터 분야의 첫 서적으로서 맥과 아이폰 프로그래밍을 공부하고 현업에서 다양한 애플리케이션을 만드는 개발자들에게 작으나마 가이드가 되길 바랍니다.
---옮긴이의 말 중에서

출판사 리뷰 출판사 리뷰 보이기/감추기

맥 OS X과 아이폰 개발자를 위한 국내 첫 코어 데이터 서적. 데이터를 다루는 맥 OS 및 iOS 애플리케이션을 만드는 개발자라면 꼭 읽어야 할 필독서.

이 책에서 다루는 큰 그림부터 세부적인 고급 기술까지 모두 읽고 나면, 자신도 모르게 코어 데이터 문외한에서 전문가로 도약할 수 있을 것이다.
- 스티브 스콧 (Scotty), 맥 디벨로퍼 네트워크

맥 OS X이나 아이폰을 대상으로 하는 코코아 애플리케이션에서 정보를 영구적으로 저장하려면 코어 데이터가 필요하다. 물론 코어데이터를 사용하지 않고 SQLite만으로 어렵사리 진행하거나, XML을 직접 생성하거나, 고유한 이진 형식을 만들어도 무방하다. 하지만 코어 데이터 API를 이용하면 시간과 에너지를 절약할 수 있다.

이 책에는 코어 데이터 기초부터 전문적인 설정에 이르는 다양한 내용을 담았다. 책을 따라 읽으며 맥 OS X이 제공하는 코어 데이터 API에 기반한 완전한 애플리케이션을 작성할 수 있다.

코어 데이터는 객체 그래프를 만들고, 데이터를 저장하는 작업을 쉽게 만들어 준다. 하지만 주의해야 할 수많은 함정 또한 도사리고 있다. 이 책은 버전 관리는 물론 퀵룩, 동기화 서비스, 스포트라이트와 통합하는 내용까지 많은 것을 보여준다. 성능을 어떻게 개선할지, 멀티스레드 환경에서는 어떻게 동작하는 지도 보게 될 것이다. 또한 데스크탑과 아이폰 모두에서 코어 데이터를 사용하는 방법도 알아본다.

이 책을 마칠 때쯤이면 제대로 동작하는 애플리케이션을 완성하고, 습득한 코어 데이터에 대한 전반적인 지식을 활용해 OS X과 어떻게 통합할지 결정할 수 있을 것이다.

또한 일상적이지 않은 상황에서 유용하게 사용할 수 있는 다양한 비법과, 예전에는 코어 데이터 API를 사용할 생각조차 하지 못했을 부분들도 알려준다. 아마 또 다른 필수 도구들로 자리매김 할 것이다.

이 책에서는 코어 데이터를 활용하는 애플리케이션을 하나 만들어 보며, 코어 데이터를 구석구석 살펴본다. 애플리케이션 작성 초반에는 엄밀히 말해 코어 데이터에는 속하지 않지만 코어 데이터를 동작하게 하는 기술들도 몇 개 다룰 것이다. 이후에 코어 데이터를 심도 있게 살펴보면서 어떻게 코어 데이터가 OS X의 다른 기술과 상호작용하고 그 기술들에 적용되는지 알아본다.

이 책의 구성

1장 '들어가며'에서는 이 책에서 다루는 내용과 코어 데이터에 대한 개요를 전반적으로 살펴본다.

2장 '코어 데이터의 시작'에서는 데모 프로그램을 작성하면서 애플리케이션을 제대로 동작하게 하기 위해 거치는 모든 단계를 아주 간략하게 훑어본다.

3장 '코어 데이터와 바인딩'에서는 코어 데이터를 강력한 프레임워크로 만드는 핵심인 키 밸류 옵저빙(KVO, Key Value Observing)과 키 밸류 코딩(KVC, Key Value Coding)을 알아본다.

4장 '코어 데이터의 내부'에서는 코어 데이터의 주요 구성 요소들을 살펴본다.

5장 '버전 관리와 마이그레이션'에서는 애플리케이션을 사용자들에게 배포한 이후 내부의 데이터 모델을 바꾸는 방법을 알아본다.

6장 '성능 관리'에서는 4장에서 배운 주요 구성 요소들을 가지고 최대한 빠른 속도로 수행하는 방법을 알아본다.

7장 '스포트라이트, 퀵 룩, 코어 데이터'에서는 코어 데이터를 이용한 애플리케이션을 운영체제의 다른 부분과 통합하는 방법을 배운다.

8장 '동기화 서비스와 코어 데이터'에서는 여러 인스턴스로 동작하는 애플리케이션 내에서 데이터를 동기화하는 방법을 알아본다.

9장 '코어 데이터와 멀티스레딩'에서는 주어진 컴퓨팅 능력을 극대화하는 방법을 배운다.

10장 '코어 데이터와 아이폰'에서는 잠시 눈을 돌려 좀 더 쉽게 아이폰 개발을 위해 코어 데이터의 강력함과 유연함을 활용하는 방법을 알아본다.

11장 '분산 코어 데이터 비법'에서는 코어 데이터를 분산 환경에서 사용하기 위한 솔루션을 살펴본다.

12장 '동적 파라미터 비법'에서는 Simply Elegant Sales와 그 이전 초기 설계에서 몇 번 사용했던 비밀을 하나 공유한다. 이 비법을 이용해 NSUserDefault와 유사한 도큐먼트 레벨 프로퍼티 저장 시스템을 설계한다.

추천평 추천평 보이기/감추기

코어 데이터에 대한 학습을 미뤄오다 최근 마커스의 책을 알게 됐다. 책을 사서 읽으며 코어데이터를 차근차근 익혔다. 이 책은 스포트라이트와의 통합, 버전 마이그레이션, 동기화, 그리고 내게 특히 중요했던 멀티스레드와 같은, 애써 찾기 힘든 내용을 잘 정리해 담았다.
브렌트 시몬스 (넷뉴스와이어 개발자)
작성 중인 애플리케이션에서 데이터를 다룬다면, 코어 데이터를 반드시 활용해 한다. 이 책은 코어 데이터가 필요한 이들이 반드시 읽어야 할 필독서다.
마이크 리 (유나이티드 리머 엔지니어)
드디어 사람들에게 끝내주는 개발 기술을 안내해줄 책이 출간됐다. 이 책에서 다루는 큰 그림부터 세부적인 고급 기술까지 모두 읽고 나면, 자신도 모르게 코어 데이터 문외한에서 전문가로 도약할 수 있을 것이다.
스티브 스콧 (맥 디벨로퍼 네트워크)
코어 데이터의 높은 학습 장벽을 낮춰주는 역할을 톡톡히 하는 책이다. 코어 데이터에 경험이 있는 개발자들도 새로운 내용을 익힐 수 있다.
존 트레이너 (아우터 레벨 사장)
코어 데이터가 나온 초창기부터 사용했지만 이 책에서 내가 모르던 새로운 기술을 배울 수 있었다.
루이 데 라 로사 (해피 앱스 창립자)
  •  쿠폰은 결제 시 적용해 주세요.
1   27,000
뒤로 앞으로 맨위로 공유하기