Professional iPhone and iPad Database Application Programming 한국어판 [SQLite, 코어 데이터, 웹 서비스를 이용한 iOS 데이터베이스 프로그래밍]
- 원서명Professional iPhone and iPad Database Application Programming (ISBN 9780470636176)
- 지은이패트릭 알레시
- 옮긴이홍영표
- ISBN : 9788960772717
- 30,000원
- 2012년 01월 31일 펴냄 (절판)
- 페이퍼백 | 476쪽 | 188*250mm
- 시리즈 : 모바일 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
이 책은 SQLite, 코어 데이터, 웹 서비스를 이용한 애플리케이션 개발에 필요한 모든 내용을 집중적으로 다룬다. 한 마디로 말하면 데이터를 다루는 애플리케이션 개발을 위한 실전 지침서다. SQLite와 코어 데이터를 모두 심도 있게 다루며, 테이블 뷰 기반의 효과적인 화면 구성과 아이패드에 특화된 화면 처리, 성능과 트러블슈팅에 대한 내용을 자세히 살펴본다. 또한 웹 서비스 연계를 통해 로컬뿐만 아니라 인터넷으로 연결된 데이터베이스 애플리케이션 개발에 유용한 정보도 제공한다. 이 책은 아이폰과 아이패드용 애플리케이션의 데이터 처리에 관한 모든 내용을 통합적인 관점에서 집중적으로, 균형 있게 다룬 유일한 책이다. 데이터 처리부터 화면 구성까지 데이터 관련 애플리케이션 개발에 필요한 모든 내용을 한눈에 파악하고 싶은 이들에게 이 책을 추천한다.
[ 소개 ]
아이폰과 아이패드용 데이터 기반 애플리케이션 개발서
아이폰과 아이패드의 인기가 더해감에 따라 데이터에 초점을 맞춘 애플리케이션에 대한 요구도 증가하고 있다. 개발자는 iOS를 탑재한 이 기기들에서 데이터를 가져오고, 처리하고, 생성하는 방법뿐만 아니라 외부 서비스와 통신하는 방법을 알아야 한다. 이 책은 이러한 요구를 만족시킨다. 어워드 수상 개발자인 패트릭 알레시는 엔터프라이즈 애플리케이션에서 데이터의 흐름을 해결하는 방법을 알려준다. 데이터의 표시와 처리, 코어 데이터를 이용한 데이터의 생성과 관리, 웹 서비스를 이용한 애플리케이션 통합에 관한 깊고 폭넓은 이해는 아이폰과 아이패드용 데이터 기반 애플리케이션을 구현하는 방법을 제공한다.
[ 이 책에서 다루는 내용 ]
■ SQLite를 이용한 데이터 처리와 표시
■ 코어 데이터를 이용한 데이터 관리
■ 웹 서비스와 애플리케이션 통합
■ 엑스코드와 인터페이스 빌더를 이용한 테이블 뷰 기반 UI 구성
■ 인스트루먼트를 이용한 성능 관리와 트러블슈팅
[ 이 책의 대상 독자 ]
이 책은 기업용 데이터를 모바일에 적용하고 모바일 기기에서 해당 데이터를 다루고 표시하는 애플리케이션을 만드는 기업체 개발자를 위해 쓰여졌다. 이 책을 집필하는 동안 이 책에서 다루는 도구와 API와 개발 기법이 비즈니스 영역 이외에 많은 애플리케이션 개발 분야에도 가치가 있다고 확신하게 됐다. 다양한 방식으로 데이터를 처리하는 애플리케이션을 제작하는 모든 개발자에게 유용한 책이다.
이 책이 아이폰 애플리케이션 개발에 관한 첫 번째 책은 아니다. 따라서 ‘Hello World’ 같은 아이폰 애플리케이션은 다루지 않는다. 이런 내용은 기본적인 아이폰 애플리케이션 개발을 다루는 많은 훌륭한 책을 참고하기 바란다. 이 책은 오브젝티브C의 기본 지식을 충분히 갖추고 인터페이스 빌더를 사용해 UI를 구성하고 디자인하는 방법과 아이폰 애플리케이션 개발에 대한 기본적인 지식을 갖춘 개발자를 대상으로 쓰여졌다. 그렇다고 해서 초보 개발자에게 아무 소용없다는 얘기는 아니다. 단지 아이폰 애플리케이션의 기본 아키텍처를 이해하고 엑스코드 도구를 사용하는 방법을 이미 알고 있는 독자를 대상으로 작성했다는 의미다.
[ 이 책의 구성 ]
이 책은 애플리케이션에서 데이터 흐름과 관련 있는 내용으로 총 3부로 구성했으며, 각 부의 내용은 거의 독립적이다. 1부는 오라클, MySQL, SQL서버 등의 대용량 데이터베이스에서 데이터를 기기로 가져오고 표시하는 방법을 다룬다. 2부는 기기에서의 데이터 생성과 코어 데이터 API를 다룬다. 마지막 3부에서는 기기 밖에서 데이터를 가져오고 웹 서비스와 통신하는 방법에 대한 내용을 다룬다. 각 장은 논리적인 순서로 구성돼 있지만 반드시 순서대로 읽을 필요는 없다. 만일 테이블 뷰 기반의 애플리케이션에서 테이블의 모양과 느낌을 커스터마이즈하는 방법을 알고자 한다면 바로 3장으로 건너뛰어도 무방하다. 아이패드용 앱을 개발해야 한다면 4장을 읽고, 코어 데이터를 구현해야 한다면 2부부터 읽어도 상관없다. 또한 웹 서비스와 통합해야 한다면 10장과 11장을 읽으면 된다.
[ 소개 ]
아이폰과 아이패드용 데이터 기반 애플리케이션 개발서
아이폰과 아이패드의 인기가 더해감에 따라 데이터에 초점을 맞춘 애플리케이션에 대한 요구도 증가하고 있다. 개발자는 iOS를 탑재한 이 기기들에서 데이터를 가져오고, 처리하고, 생성하는 방법뿐만 아니라 외부 서비스와 통신하는 방법을 알아야 한다. 이 책은 이러한 요구를 만족시킨다. 어워드 수상 개발자인 패트릭 알레시는 엔터프라이즈 애플리케이션에서 데이터의 흐름을 해결하는 방법을 알려준다. 데이터의 표시와 처리, 코어 데이터를 이용한 데이터의 생성과 관리, 웹 서비스를 이용한 애플리케이션 통합에 관한 깊고 폭넓은 이해는 아이폰과 아이패드용 데이터 기반 애플리케이션을 구현하는 방법을 제공한다.
[ 이 책에서 다루는 내용 ]
■ SQLite를 이용한 데이터 처리와 표시
■ 코어 데이터를 이용한 데이터 관리
■ 웹 서비스와 애플리케이션 통합
■ 엑스코드와 인터페이스 빌더를 이용한 테이블 뷰 기반 UI 구성
■ 인스트루먼트를 이용한 성능 관리와 트러블슈팅
[ 이 책의 대상 독자 ]
이 책은 기업용 데이터를 모바일에 적용하고 모바일 기기에서 해당 데이터를 다루고 표시하는 애플리케이션을 만드는 기업체 개발자를 위해 쓰여졌다. 이 책을 집필하는 동안 이 책에서 다루는 도구와 API와 개발 기법이 비즈니스 영역 이외에 많은 애플리케이션 개발 분야에도 가치가 있다고 확신하게 됐다. 다양한 방식으로 데이터를 처리하는 애플리케이션을 제작하는 모든 개발자에게 유용한 책이다.
이 책이 아이폰 애플리케이션 개발에 관한 첫 번째 책은 아니다. 따라서 ‘Hello World’ 같은 아이폰 애플리케이션은 다루지 않는다. 이런 내용은 기본적인 아이폰 애플리케이션 개발을 다루는 많은 훌륭한 책을 참고하기 바란다. 이 책은 오브젝티브C의 기본 지식을 충분히 갖추고 인터페이스 빌더를 사용해 UI를 구성하고 디자인하는 방법과 아이폰 애플리케이션 개발에 대한 기본적인 지식을 갖춘 개발자를 대상으로 쓰여졌다. 그렇다고 해서 초보 개발자에게 아무 소용없다는 얘기는 아니다. 단지 아이폰 애플리케이션의 기본 아키텍처를 이해하고 엑스코드 도구를 사용하는 방법을 이미 알고 있는 독자를 대상으로 작성했다는 의미다.
[ 이 책의 구성 ]
이 책은 애플리케이션에서 데이터 흐름과 관련 있는 내용으로 총 3부로 구성했으며, 각 부의 내용은 거의 독립적이다. 1부는 오라클, MySQL, SQL서버 등의 대용량 데이터베이스에서 데이터를 기기로 가져오고 표시하는 방법을 다룬다. 2부는 기기에서의 데이터 생성과 코어 데이터 API를 다룬다. 마지막 3부에서는 기기 밖에서 데이터를 가져오고 웹 서비스와 통신하는 방법에 대한 내용을 다룬다. 각 장은 논리적인 순서로 구성돼 있지만 반드시 순서대로 읽을 필요는 없다. 만일 테이블 뷰 기반의 애플리케이션에서 테이블의 모양과 느낌을 커스터마이즈하는 방법을 알고자 한다면 바로 3장으로 건너뛰어도 무방하다. 아이패드용 앱을 개발해야 한다면 4장을 읽고, 코어 데이터를 구현해야 한다면 2부부터 읽어도 상관없다. 또한 웹 서비스와 통합해야 한다면 10장과 11장을 읽으면 된다.
목차
목차
- 1부 아이폰과 아이패드의 데이터 처리와 표시
- 1장 데이터 기반 애플리케이션 소개
- 간단한 데이터 기반 애플리케이션 만들기
- 프로젝트 생성
- UITableView 추가
- MVC 아키텍처
- 프로그램 방식으로 테이블 뷰 추가
- 데이터 조회
- 데이터 모델 클래스 구현
- 데이터 표시
- 프로토콜
- UITableViewDataSource 프로토콜 구현
- 델리게이트
- 마무리
- 심화탐구
- 디자인 패턴
- 텍스트 파일 읽기
- 정리
- 간단한 데이터 기반 애플리케이션 만들기
- 2장 아이폰과 아이패드 데이터베이스: SQLite
- SQLite란 무엇인가?
- SQLite 라이브러리
- SQLite와 코어 데이터
- 간단한 데이터베이스 구성
- 데이터베이스 설계
- 데이터베이스 생성
- 데이터베이스 채우기
- INSERT 명령을 이용한 레코드 생성
- SELECT 명령을 이용한 행 조회
- SQLite 데이터베이스 시각화 도구
- 데이터베이스 연결
- 프로젝트 시작
- UINavigationController
- UITableViewController
- 모델 클래스
- DBAccess 클래스
- 파라미터 쿼리
- 데이터베이스에 작성
- 카탈로그 표시
- 상품의 상세정보 보기
- 프로젝트 시작
- 정리
- SQLite란 무엇인가?
- 3장 데이터 표시: UITableView
- 테이블 뷰 커스터마이즈
- 테이블 뷰 셀 스타일
- contentView에 서브뷰 추가
- UITableViewCell 서브클래스
- 시작
- drawRect: 구현
- 마무리
- 섹션과 인덱스 구현
- 검색 구현
- 테이블 뷰 성능 최적화
- 기존 셀 재사용
- 불투명 서브뷰
- drawRect와 커스텀 그리기 셀
- 액세서리 뷰에 대한 UI 규약
- 정리
- 테이블 뷰 커스터마이즈
- 4장 아이패드 인터페이스 요소
- UISplitViewController를 이용한 마스터-디테일 데이터 표시
- UISplitViewController 소개
- UISplitViewControllerDelegate 프로토콜
- 스플릿 뷰 예제 애플리케이션 시작
- 디테일 인터페이스 구성
- 마스터-디테일 뷰와 저장 구현
- DetailViewController 설정
- RootViewController 변경
- 테이블 뷰 메소드 수정
- 서베이 데이터 추가
- 팝오버에 데이터 표시
- InfoViewController 구성
- UIPopoverController 표시
- 제스처 레코그나이저
- UIGestureRecognizer 클래스
- 제스처 레코그나이저 활용
- 파일 공유 지원
- 예제 애플리케이션의 파일 공유 활성화
- 서베이 데이터 배열 직렬화
- 역직렬화와 서베이 데이터 배열 로딩
- 데이터 공유
- 정리
- UISplitViewController를 이용한 마스터-디테일 데이터 표시
- 2부 코어 데이터와 데이터 관리
- 5장 코어 데이터 소개
- 코어 데이터의 기초
- 코어 데이터 아키텍처
- 코어 데이터 스택
- 데이터 저장소
- 영구 저장소 코디네이터
- 관리 객체 모델
- 관리 객체 컨텍스트
- SQLite와 코어 데이터
- 코어 데이터 스택
- 코어 데이터 사용: 간단한 태스크 매니저
- 프로젝트 생성
- 템플릿 코드 검토
- TasksAppDelegate
- 데이터 모델
- RootViewController
- 템플릿 코드 수정
- 정리
- 6장 엑스코드에서의 데이터 모델링
- 데이터 모델링
- 엔티티와 속성 정의
- 엔티티 상세정보
- 속성 추가
- 엔티티 사이의 관계 추가
- 페치드 프로퍼티 생성과 페치 요청 템플릿
- 페치드 프로퍼티
- 페치 요청 템플릿
- 엔티티와 속성 정의
- 커스텀 NSManagedObject 서브클래스 생성
- 유효성 검증 규칙 구현
- 기본값 구현
- 태스크 모델 생성
- 정리
- 데이터 모델링
- 7장 코어 데이터 애플리케이션 개발
- 태스크 애플리케이션 아키텍처
- 데이터 모델
- 클래스 모델
- 사용자 인터페이스
- 애플리케이션 코딩
- RootViewController와 기본 UI
- 관리 객체 서브클래스 생성
- 추가와 태스크 보기
- ViewTaskController 만들기
- RootViewController 변경
- 편집 컨트롤러 만들기
- EditTextController를 이용한 텍스트 편집
- EditPriorityController로 우선순위 설정
- EditLocationController로 위치 추가와 편집
- EditDateController로 날짜 수정
- 편집 컨트롤러 마무리
- RootViewController에 결과 표시
- NSSortDescriptor를 이용한 결과 정렬
- NSPredicate를 이용한 결과 필터링
- NSFetchedResultsController를 이용한 그룹 테이블 생성
- 커스텀 관리 객체 구현
- 동적 프로퍼티 작성
- 실행 중 데이터 기본값 생성
- 단일 필드 유효성 검증
- 복수 필드 유효성 검증
- 정리
- 태스크 애플리케이션 아키텍처
- 8장 코어 데이터 관련 코코아 기능
- 키-값 코딩
- 키와 키패스
- 키를 이용한 값 설정
- 집합 연산자
- KVC 사용 시 고려할 사항
- 키-값 감시
- 객체에 대한 변경 감시
- KVO의 자동과 수동 구현
- KVO 예제
- 사용자 인터페이스 만들기
- Counter 데이터 객체
- KVO 구현
- KVC를 이용한 값 업데이트
- NSPredicate
- 프리디케이트 생성
- 프리디케이트
- 정렬 디스크립터
- 정리
- 키-값 코딩
- 9장 코어 데이터 마이그레이션과 성능
- 모델 버전 관리와 스키마 마이그레이션
- 모델 버전 관리
- 경량 마이그레이션
- 매핑 모델 생성
- 코어 데이터를 이용한 안전한 스레드 처리
- 스레드 처리를 위한 설계
- 스레드 처리와 코어 데이터
- NSOperation을 이용한 스레드 처리
- 코어 데이터 스레드 처리 예제
- 메인 스레드 블로킹
- 블로킹 호출 이동
- 코어 데이터 성능
- 폴팅
- 데이터 저장소 타입
- 바이너리 데이터 저장
- 엔티티 상속
- 실행 성능
- NSFetchedResultsController를 이용한 변경사항 관리
- 인스트루먼트를 이용한 성능 분석
- 인스트루먼트 시작
- 인스트루먼트 인터페이스
- 코어 데이터 인스트루먼트
- 정리
- 모델 버전 관리와 스키마 마이그레이션
- 3부 웹 서비스를 이용한 애플리케이션 통합
- 10장 아이폰에서의 XML 작업
- iOS SDK와 웹
- 웹 애플리케이션 아키텍처
- 동기식 데이터 조회
- URL 로딩 시스템
- 웹 접근 예제
- 애플리케이션 시작
- 인터페이스 구성
- 서버에 데이터 요청
- 요청 생성
- NSURLConnection 델리게이트 메소드
- 마무리
- XML과 iOS SDK
- XML의 개요
- NSXML 파서를 이용한 XML 파싱
- 예제 확장, XML 파싱
- 시작
- 파싱 설정
- 인터페이스 수정
- 파서 델리게이트 매소드 구현
- libxml을 이용한 XML 생성
- XML 생성 예제
- 정리
- iOS SDK와 웹
- 11장 웹 서비스와 통합
- 네트워크 애플리케이션 아키텍처
- 2-계층 아키텍처
- 3-계층 아키텍처(n-계층)
- 애플리케이션 통신
- 웹 서비스 소개
- SOAP 메시징
- REST 프로토콜
- 예제 1: 위치 기반 검색
- 시작
- 인터페이스 구성
- 코어 로케이션
- 코어 로케이션 프레임워크
- 코어 로케이션 활용
- 지역 검색 API
- 검색 바 사용
- 웹 서비스 응답 처리
- NSURLConnection 델리게이트 메소드
- Result 클래스 정의
- 응답 XML 파싱
- 맵킷
- 마무리
- 예제 2: 용어 추출
- 시작
- 사용자 인터페이스 구성
- POST 호출 구현
- XML 응답 수신
- XML 응답 파싱
- 마무리
- 정리
- 네트워크 애플리케이션 아키텍처
- 부록 A 애플리케이션 트러블슈팅용 도구
- 인스트루먼트
- 인스트루먼트 시작
- 트레이스 도큐먼트
- 오브젝티브C 메모리 관리
- 메모리 누수 애플리케이션 예제
- 인스트루먼트에서 메모리 누수 분석
- 정적 분석기
- 인스트루먼트