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

소득공제
Professional iPhone and iPad Database Application Programming 한국어판
SQLite, 코어 데이터, 웹 서비스를 이용한 iOS 데이터베이스 프로그래밍
베스트
모바일 프로그래밍 top100 2주
가격
30,000
10 27,000
YES포인트?
1,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

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

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

에이콘- 모바일 프로그래밍 시리즈

책소개

목차

1부 아이폰과 아이패드의 데이터 처리와 표시

1장 데이터 기반 애플리케이션 소개
___간단한 데이터 기반 애플리케이션 만들기
______프로젝트 생성
______UITableView 추가
_________MVC 아키텍처
_________프로그램 방식으로 테이블 뷰 추가
______데이터 조회
______데이터 모델 클래스 구현
______데이터 표시
_________프로토콜
_________UITableViewDataSource 프로토콜 구현
_________델리게이트
_________마무리
______심화탐구
_________디자인 패턴
_________텍스트 파일 읽기
______정리

2장 아이폰과 아이패드 데이터베이스: SQLite
___SQLite란 무엇인가?
______SQLite 라이브러리
______SQLite와 코어 데이터
___간단한 데이터베이스 구성
______데이터베이스 설계
______데이터베이스 생성
______데이터베이스 채우기
_________INSERT 명령을 이용한 레코드 생성
_________SELECT 명령을 이용한 행 조회
______SQLite 데이터베이스 시각화 도구
___데이터베이스 연결
______프로젝트 시작
_________UINavigationController
_________UITableViewController
______모델 클래스
______DBAccess 클래스
______파라미터 쿼리
______데이터베이스에 작성
______카탈로그 표시
______상품의 상세정보 보기
___정리

3장 데이터 표시: UITableView
___테이블 뷰 커스터마이즈
______테이블 뷰 셀 스타일
______contentView에 서브뷰 추가
______UITableViewCell 서브클래스
_________시작
_________drawRect: 구현
_________마무리
___섹션과 인덱스 구현
___검색 구현
___테이블 뷰 성능 최적화
______기존 셀 재사용
______불투명 서브뷰
______drawRect와 커스텀 그리기 셀
______액세서리 뷰에 대한 UI 규약
___정리

4장 아이패드 인터페이스 요소
___UISplitViewController를 이용한 마스터-디테일 데이터 표시
______UISplitViewController 소개
______UISplitViewControllerDelegate 프로토콜
______스플릿 뷰 예제 애플리케이션 시작
______디테일 인터페이스 구성
______마스터-디테일 뷰와 저장 구현
_________DetailViewController 설정
_________RootViewController 변경
_________테이블 뷰 메소드 수정
_________서베이 데이터 추가
___팝오버에 데이터 표시
______InfoViewController 구성
______UIPopoverController 표시
___제스처 레코그나이저
______UIGestureRecognizer 클래스
______제스처 레코그나이저 활용
___파일 공유 지원
______예제 애플리케이션의 파일 공유 활성화
______서베이 데이터 배열 직렬화
______역직렬화와 서베이 데이터 배열 로딩
______데이터 공유
___정리

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 생성 예제
___정리

11장 웹 서비스와 통합
___네트워크 애플리케이션 아키텍처
______2-계층 아키텍처
______3-계층 아키텍처(n-계층)
______애플리케이션 통신
___웹 서비스 소개
______SOAP 메시징
______REST 프로토콜
___예제 1: 위치 기반 검색
______시작
______인터페이스 구성
______코어 로케이션
_________코어 로케이션 프레임워크
_________코어 로케이션 활용
______지역 검색 API
______검색 바 사용
______웹 서비스 응답 처리
_________NSURLConnection 델리게이트 메소드
_________Result 클래스 정의
_________응답 XML 파싱
_________맵킷
_________마무리
___예제 2: 용어 추출
______시작
______사용자 인터페이스 구성
______POST 호출 구현
______XML 응답 수신
______XML 응답 파싱
______마무리
___정리

부록 A 애플리케이션 트러블슈팅용 도구
___인스트루먼츠
______인스트루먼츠 시작
______트레이스 도큐먼트
______오브젝티브C 메모리 관리
______메모리 누수 애플리케이션 예제
______인스트루먼츠에서 메모리 누수 분석
___정적 분석기

부록 B 엑스코드 4와 코어 데이터 참조문서

저자 소개

저자 : 패트릭 알레시 Patrick Alessi
패트릭 알레시는 1980년 터미널 화면에서 그의 이름이 번쩍임을 본 이후로 컴퓨터 프로그램 개발에 매료됐다. 그 이후로 공학을 전공하는 동안에 VAX 시스템에서 포트란(Fortran)을 잠깐 경험했던 고통스러운 순간 등 손에 잡히는 모든 언어와 하드웨어 플랫폼을 이용해 소프트웨어를 개발했다. 패트릭은 러트거스 대학(Rutgers University)에서 토목공학 전공으로 학사학위를 받았으며, 스티븐스 공대(Stevens Institute of Technology)에서 컴퓨터 과학으로 석사학위를 받았다.
패트릭은 미공군에서 소규모 비즈니스 데이터베이스부터 대용량 시스템까지 다양한 분야의 사용자를 위한 데이터 기반 애플리케이션을 전문적으로 개발한다. 현재는 모바일에 초점을 맞춰 아이폰과 아이패드 같은 모바일 기기와 연결되는 애플리케이션 개발에 주력 중이다.
컴퓨터에서 떠나 있을 때는 사진, 여행, 가족과 함께하는 시간을 즐긴다. 그의 트위터 계정은 @pwaless이며 블로그 주소는 iphonedevsphere.blogspot.com이다.
역자 : 홍영표
전자전기공학을 전공하다 컴퓨터 프로그램에 빠져 이 길을 평생 업으로 삼게 됐다. LG CNS에서 개발자와 아키텍트로 다양한 프로젝트와 경험을 통해 IT에 눈을 뜨게 됐다. 현재는 금융회사 정보시스템부에 근무하며, 모바일 시스템 구축을 비롯해 신기술 연구개발(R&D)을 담당하고 있다. 차세대시스템 구축 시에는 애플리케이션 아키텍트로 시스템 성능과 튜닝을 담당했다. 애플의 철학과 스티브 잡스의 카리스마를 좋아하고 엔지니어를 넘어 아티스트가 되기 위해 고군분투 중이다. 에이콘출판사의 『아이폰&아이패드 인 액션』(2011)을 번역했다.

품목정보

발행일
2012년 01월 31일
쪽수, 무게, 크기
472쪽 | 962g | 188*250*30mm
ISBN13
9788960772717

책 속으로

아이폰 출시와 함께 애플은 모바일 시장의 일대 혁신을 일으켰다. 아이폰은 휴대전화를 그저 전화 통화, 이메일 확인, 영화 시간 등을 검색하는 기기에서 벗어나, 생각할 수 있는 거의 모든 종류의 애플리케이션을 실행할 수 있는 컴퓨터로 변화시켰다. 2007년 아이폰 출시 이후 수십만 가지의 아이폰용 앱이 개발됐다. '앱'은 게임, 유틸리티, 소셜 네트워킹, 문헌, 내비게이션, 비즈니스 등 다양한 카테고리에서 접할 수 있다.

컴퓨터 분야의 트렌드는 데스크톱 기반의 환경에서 벗어나 이동성과 아이폰 같은 모바일 플랫폼으로 빠르게 변화한다. 특히 비즈니스와 기업 환경에서 의사결정권자들은 언제라도 해당 데이터에 쉽게 접근하기를 원한다. 아이폰은 휴대폰이라는 작은 형태, 방대한 라이브러리와 API 집합, 스마트폰으로서의 인기로 인해 모바일 컴퓨팅에 있어 가장 이상적인 플랫폼으로 자리잡았다.

시중에 아이폰 소프트웨어 개발에 관한 훌륭한 서적이 많이 나와 있지만 비즈니스 애플리케이션이나 기업용 데이터를 모바일에 적용해야 하는 기업체 개발자에게 알맞은 책을 찾지는 못했다. 이 책의 원래 목적은 이러한 개발자에게 기간계 서버에서 기업용 데이터를 가져와 모바일 기기에서 데이터를 보여주고 처리한 다음 다시 해당 시스템에 알맞은 정보를 제공하는 방법을 알려주는 데 있다.

하지만 책을 집필하는 동안 이 책에서 다루는 도구나 기술이 처음 생각했던 기업용뿐만 아니라 다양한 분야의 애플리케이션에도 적용할 수 있다는 사실을 깨닫게 되었다. 데이터를 아이폰에 저장해야 하는 애플리케이션을 개발하는 개발자는 분명히 코어 데이터 API의 방대한 내용에 관심을 갖게 되며, 페이스북이나 트위터 같은 외부 웹 서비스와 데이터를 주고받아야 하는 애플리케이션을 개발하는 개발자는 이 책에서 다루는 XML과 웹 서비스에 관한 내용이 도움이 될 것이다. 대부분 애플리케이션은 테이블을 이용해 데이터를 표시하므로 이에 해당하는 내용도 이 책에서 상세히 다뤘다. 이러한 모든 내용은 기업체 개발자를 넘어 모든 유형의 애플리케이션 개발자에게 유용하리라 믿는다.---저자 서문 중에서

데이터가 없는 애플리케이션은 없다. 데이터는 애플리케이션의 심장이자 중심이다. 특히 애플리케이션의 기능이 추가되고 복잡해질수록 그 필요성은 더해진다. 따라서 애플리케이션 데이터의 효과적인 관리와 처리가 애플리케이션의 성패와 직결된다고 해도 과언은 아니다. 이 책은 바로 그 중요한 데이터를 아이폰과 아이패드용 애플리케이션을 만들 때 어떻게 관리하고 처리해야 하는지에 대한 진지한 고민에서 시작됐다.

이 책은 총 3부로 구성돼 있다. 1부는 아이폰과 아이패드에서의 데이터 처리와 표시, 2부는 코어 데이터를 이용한 데이터 관리, 3부는 웹 서비스를 이용한 애플리케이션 통합이다.

1부에서는 데이터 기반의 애플리케이션을 만들기 위해 알아야 하는 기본 개념을 시작으로 SQLite에 대해 자세히 알아본다. 또한 UITableView를 커스터마이즈하여 데이터를 효과적으로 표현하는 방법도 알아보며, 특히 아이패드에 특화된 UI 요소와 사용법을 자세히 살펴본다. 이는 아이패드의 넓은 화면과 기능이 데이터를 표현하기에 더 효과적이고 유용하기 때문이다.

2부에서는 코어 데이터를 집중적으로 다룬다. 코어 데이터 소개를 시작으로 엑스코드에서의 데이터 모델링 방법과 코어 데이터 애플리케이션의 개발 방법을 실용적인 예제와 함께 알아본다. 또한 코어 데이터와 관련 있는 코코아 기능을 알아보고, 코어 데이터 마이그레이션과 성능에 대한 고찰을 통해 향후 변경에 대비하고 최상의 성능을 갖춘 애플리케이션으로 진화하기 위한 방법에 대해서도 알아본다. 사실 2부의 내용만 별도의 코어 데이터 관련 책으로 구성해도 코어 데이터의 내용을 이해하는 데 부족함이 없다.

3부는 아이폰과 아이패드에서 XML을 다루는 방법을 시작으로 웹 서비스를 애플리케이션과 통합하는 방법을 알아본다. 3부의 내용은 언뜻 데이터베이스와 관련 없어 보인다. 하지만 아이폰에서 데이터를 다루려면 XML은 반드시 알아야 하며, 웹 서비스도 결국 '원격'에 있는 데이터베이스라고 볼 수 있다. 다시 말해, 3부는 데이터에 인터넷이라는 날개를 달아주는 부분이다.

마지막으로 부록 A에서는 인스트루먼츠의 사용 방법을 자세히 알아보고 애플리케이션을 모니터링하고 성능을 향상시키는 방법을 살펴본다.

이 책의 장점을 한 마디로 말하라고 하면 바로 '균형과 깊이'라고 할 수 있다. 아이폰과 아이패드에서 데이터베이스 기반의 애플리케이션을 개발할 때 알아야 하는 모든 주제의 내용을 어느 한 곳에 치우치지 않고 균형 있게 상세히 다룬다. 따라서 앱스토어에 등록할 아이폰과 아이패드용 앱 개발을 진지하게 고민한다면 반드시 이 책을 통해 데이터 관리와 처리 방법, 성능 모니터링과 트러블슈팅, 버전관리와 웹 서비스와의 연계 등에 대한 지식을 갖추길 바란다. 분명히 향후 큰 밑거름이 되어 돌아올 것이다.

이제 출발할 시간이다. 새로운 세계로의 여행은 늘 설레지만 두렵기도 하다. 하지만 그 두려움은 이 책이 멘토가 되어 줄 테니 염려하지 않아도 된다. 이제 필요한 건 열정과 즐거움뿐이다.

그러면 이제, 아이폰과 아이패드 애플리케이션에 데이터라는 생명을 불어넣어보자!

---옮긴이의 말 중에서

출판사 리뷰

아이폰과 아이패드용 데이터 기반 애플리케이션 개발서

아이폰과 아이패드의 인기가 더해감에 따라 데이터에 초점을 맞춘 애플리케이션에 대한 요구도 증가하고 있다. 개발자는 iOS를 탑재한 이 기기들에서 데이터를 가져오고, 처리하고, 생성하는 방법뿐만 아니라 외부 서비스와 통신하는 방법을 알아야 한다. 이 책은 이러한 요구를 만족시킨다. 어워드 수상 개발자인 패트릭 알레시는 엔터프라이즈 애플리케이션에서 데이터의 흐름을 해결하는 방법을 알려준다. 데이터의 표시와 처리, 코어 데이터를 이용한 데이터의 생성과 관리, 웹 서비스를 이용한 애플리케이션 통합에 관한 깊고 폭넓은 이해는 아이폰과 아이패드용 데이터 기반 애플리케이션을 구현하는 방법을 제공한다.

★ 이 책에서 다루는 내용 ★

■ SQLite를 이용한 데이터 처리와 표시
■ 코어 데이터를 이용한 데이터 관리
■ 웹 서비스와 애플리케이션 통합
■ 엑스코드와 인터페이스 빌더를 이용한 테이블 뷰 기반 UI 구성
■ 인스트루먼츠를 이용한 성능 관리와 트러블슈팅

★ 이 책의 대상 독자 ★

이 책은 기업용 데이터를 모바일에 적용하고 모바일 기기에서 해당 데이터를 다루고 표시하는 애플리케이션을 만드는 기업체 개발자를 위해 쓰여졌다. 이 책을 집필하는 동안 이 책에서 다루는 도구와 API와 개발 기법이 비즈니스 영역 이외에 많은 애플리케이션 개발 분야에도 가치가 있다고 확신하게 됐다. 다양한 방식으로 데이터를 처리하는 애플리케이션을 제작하는 모든 개발자에게 유용한 책이다.

이 책이 아이폰 애플리케이션 개발에 관한 첫 번째 책은 아니다. 따라서 'Hello World' 같은 아이폰 애플리케이션은 다루지 않는다. 이런 내용은 기본적인 아이폰 애플리케이션 개발을 다루는 많은 훌륭한 책을 참고하기 바란다. 이 책은 오브젝티브C의 기본 지식을 충분히 갖추고 인터페이스 빌더를 사용해 UI를 구성하고 디자인하는 방법과 아이폰 애플리케이션 개발에 대한 기본적인 지식을 갖춘 개발자를 대상으로 쓰여졌다. 그렇다고 해서 초보 개발자에게 아무 소용없다는 얘기는 아니다. 단지 아이폰 애플리케이션의 기본 아키텍처를 이해하고 엑스코드 도구를 사용하는 방법을 이미 알고 있는 독자를 대상으로 작성했다는 의미다.

★ 이 책의 구성 ★

이 책은 애플리케이션에서 데이터 흐름과 관련 있는 내용으로 총 3부로 구성했으며, 각 부의 내용은 거의 독립적이다. 1부는 오라클, MySQL, SQL서버 등의 대용량 데이터베이스에서 데이터를 기기로 가져오고 표시하는 방법을 다룬다. 2부는 기기에서의 데이터 생성과 코어 데이터 API를 다룬다. 마지막 3부에서는 기기 밖에서 데이터를 가져오고 웹 서비스와 통신하는 방법에 대한 내용을 다룬다. 각 장은 논리적인 순서로 구성돼 있지만 반드시 순서대로 읽을 필요는 없다. 만일 테이블 뷰 기반의 애플리케이션에서 테이블의 모양과 느낌을 커스터마이즈하는 방법을 알고자 한다면 바로 3장으로 건너뛰어도 무방하다. 아이패드용 앱을 개발해야 한다면 4장을 읽고, 코어 데이터를 구현해야 한다면 2부부터 읽어도 상관없다. 또한 웹 서비스와 통합해야 한다면 10장과 11장을 읽으면 된다.

리뷰/한줄평0

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

첫번째 한줄평을 남겨주세요.