책 소개
한국어판 특별 부록 수록!
아이폰 개발에 꼭 필요한 오브젝티브 C 기초와 메모리 관리
화려하고도 심플한 외관과 그래픽, 사용 경험을 극대화함으로써 이젠 하나의 모바일 기기를 넘어서 사용자 경험의 총체로 자리잡은 아이폰과 아이팟 터치. 복잡하고 불필요한 원리 파악은 잠시 뒤로 미루고, 예제를 중심으로 애플리케이션에 특화된 문제 해결에 집중함으로써 실전 아이폰 애플리케이션 개발 프로젝트에서 필요한 핵심만을 담아 낸 책이다.
[ 소개 ]
아이폰은 매우 특별한 개발 플랫폼이다. 아이폰은 혁신적인 멀티터치 화면, 위치 정보, 내장된 가속도계 등이 어우러져 OS X에 기반을 둔 모바일 컴퓨팅 환경을 제공한다. 애플이 2008년 3월 초, 아이폰 코코아 터치 SDK 베타버전을 공개했을 때 개발자들은 엄청난 SDK의 다운로드로 그들의 관심이 얼마나 열렬한지 보여줬다. 고작 일주일도 안 되는 기간 동안 다운로드 횟수가 십만 건을 넘어섰다. 『예제로 시작하는 아이폰 개발』은 아이폰 개발을 시작하는 개발자들에게 정보를 제공하기 위해 출간됐다.
[ 이 책의 구성 ]
이 책에서는 새로운 시장에 진입하게 되는 대부분 아이폰 개발자들이 직면하는 일반적인 문제들에 대한 해법을 구현한 예제를 제공한다. 인터페이스 요소 배열, 사용자 인터랙션에 대한 응답, 로컬 데이터 소스 접근, 인터넷 연결 등 아이폰 개발자들이 실제로 흔히 접하는 문제들을 찾을 수 있다. 『예제로 시작하는 아이폰 개발』은 실전에서 손쉽게 사용할 수 있는 해답을 제시한다. 개발자들은 자신의 프로젝트에 예제코드를 쉽게 추가하고 필요에 따라 쉽게 수정할 수 있다. 각 장은 관련된 문제들끼리 묶여 있어 개발자들은 문제해결을 위해 어떤 클래스나 프레임워크가 필요한지 완벽히 이해하지 않아도 손쉽게 원하는 답을 찾을 수 있다.
[ 이 책에서 다루는 내용 ]
1장은 아이폰 SDK를 소개하고 아이폰의 플랫폼에서 제공하는 것과 제한되는 것들을 살펴본다. 기본 아이폰 애플리케이션을 자세히 살펴보고, 첫 아이폰 애플리케이션으로 Hello World 스타일의 애플리케이션을 구현해본다.
2장에서는 아이폰 화면 상에 보이는 오브젝트인 뷰를 소개한다. 아이폰 애플리케이션의 골격을 만들기 위해 어떻게 뷰를 생성하고 나열하는지 알아보고, 사용자와 뷰가 터치를 통해 상호작용을 하는 방법과 뷰의 계층구조, 외형, 애니메이션 등을 구현하는 방법을 다룬다.
아이폰의 패러다임을 한 문장으로 정리한다면 ‘작은 화면, 큰 가상 세계’일 것이다. 3장에서는 다양한 UIViewController 클래스를 사용하여 사용자와 상호작용할 가상공간을 확대하고 정렬하는 방법을 알아본다. 또 아이폰 애플리케이션 화면 간 이동에서, 이 강력한 객체가 모든 어려운 일을 처리하는 방법을 살펴본다.
아이폰은 팝업 대화창, 진행바부터 오디오 경고음, 상태바 업데이트까지 다양한 방법으로 사용자의 주의를 환기시킨다. 4장에서는 어떻게 애플리케이션에 이러한 표시기를 구현하고 확장하는지 알아본다.
작고 비좁은 화면에서 매우 효율적으로 작동하는 사용자 인터페이스를 제공하는 테이블. 전부는 아니지만 설정, 유튜브, 증권, 날씨 같은 아이폰과 아이팟 터치의 기본 애플리케이션 대부분이 테이블을 중심으로 구현돼 있다. 5장은 아이폰 테이블이 어떻게 작동하는지, 어떤 테이블들이 개발자에게 제공되는지 그리고 애플리케이션에서 테이블 기능을 어떻게 사용하는지 살펴본다.
아이폰 테이블은 단순한 스크롤 리스트만을 제공하는 것이 아니다. 타이틀이 있는 섹션으로 구성된 테이블을 구현할 수도 있고 복수의 열을 스크롤하는 테이블을 구현할 수도 있다. 또 스위치 같은 컨트롤을 셀에 추가할 수도 있고 셀에 투명한 배경을 사용할 수도 있고 커스텀 폰트를 사용할 수도 있다. 6장은 5장에서 다룬 테이블을 바탕으로 아이폰 애플리케이션 개발에 꼭 필요한 고급 테이블 예제를 소개한다.
아이폰은 다양한 형식의 미디어를 읽고 보여줄 수 있다. 음악이나 영화를 재생할 수 있으며 이미지와 웹 페이지를 처리할 수 있다. PDF 문서도 읽고 사진 앨범을 사용할 수 있다. 7장은 미디어를 애플리케이션에 넣거나 다운로드하고 그 데이터를 아이폰의 멀티터치 인터페이스를 통해 재생하는 방법을 알아본다.
UIControl 클래스는 버튼, 텍스트 필드, 슬라이더, 스위치 등 아이폰의 많은 상호작용 요소들에 기반을 제공한다. 8장은 이와 같은 컨트롤을 살펴보고 컨트롤에 대해 SDK에서 제공하는 사용법과 비공식적인 사용법을 모두 알아본다.
기본 UI 컨트롤과 미디어 컴포넌트들과 함께 아이폰 SDK는 아이폰과 아이폰 터치에 특화된 솔루션을 제공한다. 9장에서는 그 중 가장 유용한 주소록(사람), 코어 로케이션(장소), 센서(사물)에 대해 알아본다.
인터넷에 연결된 디바이스로서 아이폰은 웹 기반 서비스에 매우 적합하다. 애플은 모든 종류의 네트워크 컴퓨팅 서비스와 관련 기술을 지원하는 플랫폼을 제공했다. 아이폰 SDK를 이용해 소켓, 비밀번호 키체인, SQL 접근, XML 프로세싱 등을 구현할 수 있다. 10장은 여기에 필요한 기본 기술들을 알아보고 해결방법을 담은 예제를 다룬다.
커버플로우는 아이폰 SDK에 공식적으로 포함되어 있지는 않지만 아이폰의 사용경험에서 가장 멋지고 아름다운 기능을 제공한다. 커버플로우는 기본 스크롤 리스트와는 비교도 안 될 우아하고 강한 시각적 경험을 제공할 수 있다. 11장은 커버플로우를 소개하고 애플리케이션에서 어떻게 사용하는지 알아본다.
[ 이 책의 대상 ]
이 책은 새롭고도 생소한 SDK를 내려받고 나서 실제 프로젝트를 진행해야 하는 아이폰 개발자를 위한 책이다. 개발자들의 목표와 경험치는 각기 저마다 다르지만 개발 과정에서 풀어야 하는 문제들은 거의 유사하다. “어떻게 테이블을 만들지?”, “어떻게 보안 키체인 엔트리를 생성하지?”, “어떻게 주소록을 검색하지?”, “어떻게 뷰를 바꾸지?”, “어떻게 코어 로케이션을 사용하지?”
『예제로 시작하는 아이폰 개발』은 이렇듯 아이폰 개발을 시작하려는 사람을 겨냥한 책이다. 명확하고 완벽하게 문서화된 예제들을 익힘으로써 개발 속도를 높이고 생산적인 작업이 가능하다. 이미 테스트를 거친 예제들을 통해 독자는 바로 사용 가능한 해결법을 얻을 수 있다. 따라서 누구나 예상할 수 있는 뻔한 답이 아닌 애플리케이션 자체에 특화된 문제해결에 집중할 수 있다.
아이폰 개발에 꼭 필요한 오브젝티브 C 기초와 메모리 관리
화려하고도 심플한 외관과 그래픽, 사용 경험을 극대화함으로써 이젠 하나의 모바일 기기를 넘어서 사용자 경험의 총체로 자리잡은 아이폰과 아이팟 터치. 복잡하고 불필요한 원리 파악은 잠시 뒤로 미루고, 예제를 중심으로 애플리케이션에 특화된 문제 해결에 집중함으로써 실전 아이폰 애플리케이션 개발 프로젝트에서 필요한 핵심만을 담아 낸 책이다.
[ 소개 ]
아이폰은 매우 특별한 개발 플랫폼이다. 아이폰은 혁신적인 멀티터치 화면, 위치 정보, 내장된 가속도계 등이 어우러져 OS X에 기반을 둔 모바일 컴퓨팅 환경을 제공한다. 애플이 2008년 3월 초, 아이폰 코코아 터치 SDK 베타버전을 공개했을 때 개발자들은 엄청난 SDK의 다운로드로 그들의 관심이 얼마나 열렬한지 보여줬다. 고작 일주일도 안 되는 기간 동안 다운로드 횟수가 십만 건을 넘어섰다. 『예제로 시작하는 아이폰 개발』은 아이폰 개발을 시작하는 개발자들에게 정보를 제공하기 위해 출간됐다.
[ 이 책의 구성 ]
이 책에서는 새로운 시장에 진입하게 되는 대부분 아이폰 개발자들이 직면하는 일반적인 문제들에 대한 해법을 구현한 예제를 제공한다. 인터페이스 요소 배열, 사용자 인터랙션에 대한 응답, 로컬 데이터 소스 접근, 인터넷 연결 등 아이폰 개발자들이 실제로 흔히 접하는 문제들을 찾을 수 있다. 『예제로 시작하는 아이폰 개발』은 실전에서 손쉽게 사용할 수 있는 해답을 제시한다. 개발자들은 자신의 프로젝트에 예제코드를 쉽게 추가하고 필요에 따라 쉽게 수정할 수 있다. 각 장은 관련된 문제들끼리 묶여 있어 개발자들은 문제해결을 위해 어떤 클래스나 프레임워크가 필요한지 완벽히 이해하지 않아도 손쉽게 원하는 답을 찾을 수 있다.
[ 이 책에서 다루는 내용 ]
1장은 아이폰 SDK를 소개하고 아이폰의 플랫폼에서 제공하는 것과 제한되는 것들을 살펴본다. 기본 아이폰 애플리케이션을 자세히 살펴보고, 첫 아이폰 애플리케이션으로 Hello World 스타일의 애플리케이션을 구현해본다.
2장에서는 아이폰 화면 상에 보이는 오브젝트인 뷰를 소개한다. 아이폰 애플리케이션의 골격을 만들기 위해 어떻게 뷰를 생성하고 나열하는지 알아보고, 사용자와 뷰가 터치를 통해 상호작용을 하는 방법과 뷰의 계층구조, 외형, 애니메이션 등을 구현하는 방법을 다룬다.
아이폰의 패러다임을 한 문장으로 정리한다면 ‘작은 화면, 큰 가상 세계’일 것이다. 3장에서는 다양한 UIViewController 클래스를 사용하여 사용자와 상호작용할 가상공간을 확대하고 정렬하는 방법을 알아본다. 또 아이폰 애플리케이션 화면 간 이동에서, 이 강력한 객체가 모든 어려운 일을 처리하는 방법을 살펴본다.
아이폰은 팝업 대화창, 진행바부터 오디오 경고음, 상태바 업데이트까지 다양한 방법으로 사용자의 주의를 환기시킨다. 4장에서는 어떻게 애플리케이션에 이러한 표시기를 구현하고 확장하는지 알아본다.
작고 비좁은 화면에서 매우 효율적으로 작동하는 사용자 인터페이스를 제공하는 테이블. 전부는 아니지만 설정, 유튜브, 증권, 날씨 같은 아이폰과 아이팟 터치의 기본 애플리케이션 대부분이 테이블을 중심으로 구현돼 있다. 5장은 아이폰 테이블이 어떻게 작동하는지, 어떤 테이블들이 개발자에게 제공되는지 그리고 애플리케이션에서 테이블 기능을 어떻게 사용하는지 살펴본다.
아이폰 테이블은 단순한 스크롤 리스트만을 제공하는 것이 아니다. 타이틀이 있는 섹션으로 구성된 테이블을 구현할 수도 있고 복수의 열을 스크롤하는 테이블을 구현할 수도 있다. 또 스위치 같은 컨트롤을 셀에 추가할 수도 있고 셀에 투명한 배경을 사용할 수도 있고 커스텀 폰트를 사용할 수도 있다. 6장은 5장에서 다룬 테이블을 바탕으로 아이폰 애플리케이션 개발에 꼭 필요한 고급 테이블 예제를 소개한다.
아이폰은 다양한 형식의 미디어를 읽고 보여줄 수 있다. 음악이나 영화를 재생할 수 있으며 이미지와 웹 페이지를 처리할 수 있다. PDF 문서도 읽고 사진 앨범을 사용할 수 있다. 7장은 미디어를 애플리케이션에 넣거나 다운로드하고 그 데이터를 아이폰의 멀티터치 인터페이스를 통해 재생하는 방법을 알아본다.
UIControl 클래스는 버튼, 텍스트 필드, 슬라이더, 스위치 등 아이폰의 많은 상호작용 요소들에 기반을 제공한다. 8장은 이와 같은 컨트롤을 살펴보고 컨트롤에 대해 SDK에서 제공하는 사용법과 비공식적인 사용법을 모두 알아본다.
기본 UI 컨트롤과 미디어 컴포넌트들과 함께 아이폰 SDK는 아이폰과 아이폰 터치에 특화된 솔루션을 제공한다. 9장에서는 그 중 가장 유용한 주소록(사람), 코어 로케이션(장소), 센서(사물)에 대해 알아본다.
인터넷에 연결된 디바이스로서 아이폰은 웹 기반 서비스에 매우 적합하다. 애플은 모든 종류의 네트워크 컴퓨팅 서비스와 관련 기술을 지원하는 플랫폼을 제공했다. 아이폰 SDK를 이용해 소켓, 비밀번호 키체인, SQL 접근, XML 프로세싱 등을 구현할 수 있다. 10장은 여기에 필요한 기본 기술들을 알아보고 해결방법을 담은 예제를 다룬다.
커버플로우는 아이폰 SDK에 공식적으로 포함되어 있지는 않지만 아이폰의 사용경험에서 가장 멋지고 아름다운 기능을 제공한다. 커버플로우는 기본 스크롤 리스트와는 비교도 안 될 우아하고 강한 시각적 경험을 제공할 수 있다. 11장은 커버플로우를 소개하고 애플리케이션에서 어떻게 사용하는지 알아본다.
[ 이 책의 대상 ]
이 책은 새롭고도 생소한 SDK를 내려받고 나서 실제 프로젝트를 진행해야 하는 아이폰 개발자를 위한 책이다. 개발자들의 목표와 경험치는 각기 저마다 다르지만 개발 과정에서 풀어야 하는 문제들은 거의 유사하다. “어떻게 테이블을 만들지?”, “어떻게 보안 키체인 엔트리를 생성하지?”, “어떻게 주소록을 검색하지?”, “어떻게 뷰를 바꾸지?”, “어떻게 코어 로케이션을 사용하지?”
『예제로 시작하는 아이폰 개발』은 이렇듯 아이폰 개발을 시작하려는 사람을 겨냥한 책이다. 명확하고 완벽하게 문서화된 예제들을 익힘으로써 개발 속도를 높이고 생산적인 작업이 가능하다. 이미 테스트를 거친 예제들을 통해 독자는 바로 사용 가능한 해결법을 얻을 수 있다. 따라서 누구나 예상할 수 있는 뻔한 답이 아닌 애플리케이션 자체에 특화된 문제해결에 집중할 수 있다.
목차
목차
- 01장 아이폰 SDK 소개 ● 31
- 애플 아이폰 SDK ● 31
- 아이폰 프로젝트 ● 33
- 아이폰 애플리케이션 컴포넌트 ● 35
- 애플리케이션 폴더 구조 ● 35
- 실행파일 ● 35
- Info.plist 파일 ● 36
- 아이콘과 기본 이미지 ● 38
- XIB 파일 ● 39
- 애플리케이션 번들에 포함되지 않은 파일 ● 39
- 샌드박스 ● 39
- 플랫폼의 제약사항 ● 40
- 저장공간 ● 41
- 데이터 접근 ● 41
- 메모리 ● 41
- 상호작용 ● 42
- 배터리 ● 43
- 애플리케이션 ● 43
- 사용자 행동 ● 44
- SDK의 제약사항 ● 44
- 프로그래밍 패러다임 ● 45
- 객체 지향 프로그래밍 ● 45
- 모델-뷰-컨트롤러 ● 46
- 아이폰 애플리케이션 골격 만들기 ● 56
- Hello World 애플리케이션 ● 57
- 클래스 ● 57
- 코드 ● 59
- 예제 코드와 메모리 관리에 대한 주의점 ● 60
- Hello World 만들기 ● 62
- 아이폰 프로젝트 생성 ● 63
- 골격만 실행해보기 ● 64
- 아이폰 프로젝트 커스터마이즈 ● 65
- 식별자 정보 수정 ● 66
- 디버거 사용 ● 67
- 애플 아이폰 개발자 프로그램 ● 69
- 개발용 폰 ● 70
- 애플리케이션 식별자 ● 71
- 엑스코드에서 아이폰으로: 오거나이저 인터페이스 ● 72
- 프로젝트와 소스 리스트 ● 73
- 디바이스 리스트 ● 73
- 써머리 탭 ● 74
- 콘솔 탭 ● 74
- 크래쉬 로그 탭 ● 75
- 스크린샷 탭 ● 75
- 케이블 연결 ● 75
- 아이폰상에서 애플리케이션 테스트하기 ● 76
- 배포용 컴파일 ● 77
- 문서에 없는 API 호출 사용하기 ● 79
- 애드혹 배포 ● 80
- 정리 ● 81
- 02장 뷰 ● 83
- UIView와 UIWindow ● 83
- 계층구조 ● 84
- 형태와 특성 ● 86
- 제스처 ● 90
- 예제: 단계적 하위뷰 붙이기 ● 90
- 방향전환 ● 92
- 예제: 뷰 드래깅 ● 94
- UITouch ● 95
- 지속성 추가 ● 98
- 예제: 뷰 오려내기 ● 103
- 잘라내기와 터치 맞추기 ● 104
- 픽셀단위 값에 접근하기 ● 105
- 예제: 멀티터치 감지 ● 108
- UIView 애니메이션 ● 111
- UIView 애니메이션 블록 만들기 ● 112
- 예제: 뷰를 페이드 인/아웃하기 ● 113
- 예제: 뷰 간 전환하기 ● 115
- 예제: 뷰 뒤집기 ● 118
- 예제: CATransition을 레이어에 적용하기 ● 120
- 문서에 나오지 않는 애니메이션 타입 ● 121
- 일반 코어 애니메이션 호출 ● 123
- 예제: 뷰 스와이프하기 ● 124
- 예제: 뷰 변형하기 ● 128
- 가로보기 뷰를 가운데로 맞추기 ● 131
- 정리 ● 132
- UIView와 UIWindow ● 83
- 03장 뷰 컨트롤러 ● 135
- 뷰 관리 ● 135
- 코어 클래스 ● 136
- 스페셜 클래스 ● 136
- UIViewController 만들기 ● 138
- 인터페이스 빌더를 사용한 뷰 만들기 ● 140
- 온도 변환기 예제 ● 140
- 직접 XIB 파일을 로딩하기 ● 152
- 내비게이션 컨트롤러 ● 152
- 내비게이션 컨트롤러 설정 ● 153
- 뷰 컨트롤러를 스택에 넣고 꺼내기 ● 154
- 내비게이션 아이템 클래스 ● 155
- 예제: 아이템 둘 있는 메뉴 만들기 ● 156
- 예제: 세그먼트 컨트롤 추가하기 ● 158
- 예제: 내비게이션바에 UIToolbar 추가하기 ● 160
- 예제: 뷰 컨트롤러 간의 내비게이션 ● 164
- 루트로 바로 가기 ● 166
- 뷰 컨트롤러 배열 읽어들이기 ● 166
- 탭바 ● 167
- 정리 ● 171
- 뷰 관리 ● 135
- 04장 알림 ● 173
- 알림창을 통해 사용자에게 직접 알리기 ● 173
- 결과 로깅 ● 174
- 알림창 만들기 ● 175
- 화면에 알림창 띄우기 ● 177
- 예제: 여러 줄짜리 버튼 만들기 ● 177
- 예제: 버튼 없는 알림창 ● 180
- 예제: 사용자에게 텍스트 입력 요청하기 ● 181
- 예제: 간단한 메뉴 ● 184
- ‘대기 중’: 사용자에게 진행 상황 보여주기 ● 186
- 예제: 문서화되지 않은 UIProgressHUD 사용 ● 187
- 예제: UIActivityIndicatorView 사용 ● 189
- 예제: UIProgressView 만들기 ● 191
- 예제: 선택 가능한 커스텀 오버레이 만들기 ● 194
- 예제: 스크롤다운 알림창 만들기 ● 199
- 예제: 상태바에 이미지 추가하기 ● 203
- 애플리케이션 뱃지 달기 ● 204
- 예제: 간단한 소리 알림 ● 207
- 진동 ● 209
- 정리 ● 210
- 알림창을 통해 사용자에게 직접 알리기 ● 173
- 05장 기본 테이블 ● 211
- UITableView와 UITableViewController 소개 ● 211
- 테이블 만들기 ● 212
- UITableViewController가 하는 일 ● 214
- 예제: 단순 리스트 테이블 만들기 ● 215
- 데이터 소스 메소드 ● 215
- 셀의 재사용 ● 216
- 폰트 테이블 예제 ● 216
- 예제: 테이블 기반 선택 시트 만들기 ● 219
- 예제: 테이블 셀에 이미지 추가하기 ● 224
- 예제: 셀의 텍스트 속성 ● 226
- 셀 선택 제거 ● 228
- 예제: 복잡한 셀 만들기 ● 229
- 예제: 셀 선택 표시 만들기 ● 232
- 예제: 셀 삭제 ● 233
- 삭제 컨트롤 추가 ● 234
- 삭제 컨트롤 제거 ● 235
- 삭제 요청 처리 ● 235
- 스와이핑 셀 ● 236
- 셀 추가 ● 236
- 예제: 셀 순서 변경하기 ● 239
- 예제: 디스클로저의 사용 ● 240
- 정리 ● 243
- UITableView와 UITableViewController 소개 ● 211
- 06장 고급 테이블 ● 245
- 예제: 테이블 섹션 그룹화 ● 245
- 섹션을 지원하는 데이터 소스 ● 247
- 섹션 헤더 추가하기 ● 251
- 예제: 인덱스 섹션 테이블 ● 253
- 예제: 셀 배경색 바꾸기 ● 254
- 테이블 뷰 꾸미기 ● 258
- 예제: 두 배경색이 반복되는 셀 ● 260
- 예제: 프레임을 사용한 테이블 ● 262
- 예제: 셀에 컨트롤 추가하기 ● 264
- 예제: 멀티 휠 테이블 ● 266
- UIPickerView 생성 ● 268
- 예제: UIDatePicker 사용하기 ● 271
- 날짜 피커 만들기 ● 271
- 예제: 풀 커스터마이징된 그룹 테이블 만들기 ● 274
- 설정 테이블 만들기 ● 274
- 정리 ● 281
- 예제: 테이블 섹션 그룹화 ● 245
- 07장 미디어 ● 283
- 예제: 파일 형식에 따라 문서 폴더의 내용 보기 ● 283
- 문서의 위치 찾기 ● 285
- 이미지를 읽고 보여주기 ● 287
- 예제: 작은 이미지 보여주기 ● 288
- 예제: UIWebView를 사용해 이미지 보여주기 ● 291
- UIWebView를 이용해 웹 페이지 보여주기 ● 293
- 예제: 이미지 라이브러리 브라우징 ● 294
- 예제: 카메라 롤에서 이미지를 선택하고 커스터마이징 ● 298
- 예제: 아이폰 카메라로 사진 찍기 ● 302
- 아이폰 오디오 다루기 ● 305
- 예제: 셀레스티얼을 이용한 오디오 재생 ● 306
- 예제: 미디어 플레이어를 이용한 오디오와 비디오 재생 ● 309
- 예제: 오디오 녹음 ● 311
- 텍스트 데이터 읽기 ● 319
- 속성 리스트 출력하기 ● 320
- 백업 파일에서 미디어 복원하기 ● 321
- 정리 ● 323
- 예제: 파일 형식에 따라 문서 폴더의 내용 보기 ● 283
- 08장 컨트롤 ● 325
- 예제: 간단한 버튼 ● 325
- UIButton 클래스 ● 326
- 커스텀 버튼 ● 328
- 글래스 버튼 ● 331
- 예제: 애니메이션 요소로 버튼 꾸미기 ● 332
- 예제: 버튼에 애니메이션 추가하기 ● 333
- 예제: 스위치 커스터마이징 ● 335
- UIAlertView 버튼 꾸미기 ● 339
- 예제: 커스텀 슬라이더 썸 이미지 추가 ● 340
- 슬라이더에 텍스트 추가 ● 344
- 예제: UITextField 키보드 사라지게 하기 ● 345
- 예제: UITextView 키보드 사라지게 하기 ● 347
- 예제: 텍스트 뷰에 취소 버튼 추가 ● 349
- 예제: 텍스트 기반 HTML 편집기 ● 352
- 예제: 검색바 ● 356
- 예제: 콜아웃뷰 추가 ● 358
- 페이지 표시 컨트롤 추가 ● 361
- 예제: 툴바 커스터마이징 ● 365
- 툴바 팁 ● 369
- 정리 ● 370
- 예제: 간단한 버튼 ● 325
- 09장 사람, 위치, 변화 ● 371
- 연락처 프레임워크 종류 ● 371
- 연락처 UI 프레임워크 ● 372
- 연락처 프레임워크 ● 372
- 예제: 연락처 이미지 데이터 접근 ● 374
- 예제: 개인 연락처 정보 보이기 ● 377
- 예제: 연락처 브라우징 ● 378
- 이메일 주소만 브라우징하기 ● 381
- 연락처 추가 ● 381
- 코어 로케이션 ● 382
- 코어 로케이션 동작 원리 ● 383
- 예제: 코어 로케이션 ● 385
- 예제: 위치 정보를 주소로 변환 ● 390
- 예제: 코어 로케이션 데이터를 사용한 지도 찾기 ● 393
- 예제: 코어 디바이스 정보 접근 ● 396
- 예제: 근접 센서 켜고 끄기 ● 397
- 예제: 가속도를 사용해 위아래 구별 ● 398
- 예제: 가속도 센서를 이용해 화면 상 오브젝트 움직이기 ● 400
- 정리 ● 404
- 연락처 프레임워크 종류 ● 371
- 10장 서비스 연결 ● 405
- 예제: 애플리케이션 설정 추가 ● 405
- 애플리케이션 설정 ● 406
- 예제: 커스텀 URL 스킴 등록 ● 411
- 예제: 네트워크 상태 확인 ● 414
- 네트워크 연결 상태 확인 ● 414
- 아이폰 로컬 IP 주소 조회 ● 415
- 사이트 IP 주소 조회 ● 417
- 사이트 사용 가능 여부 확인 ● 417
- 예제: 아이폰 데이터베이스 사용 ● 419
- 예제: XML을 트리 데이터 구조로 변환 ● 422
- 예제: 키체인 아이템 저장과 조회 ● 425
- 키체인에 여러 값 저장 ● 431
- 키체인 지속성 ● 433
- 파일 전송과 수신 ● 433
- 예제: 간단한 웹 서버 만들기 ● 435
- 푸시 알림 서비스 ● 440
- 정리 ● 441
- 예제: 애플리케이션 설정 추가 ● 405
- 11장 커버플로우 만들기 ● 443
- UICoverFlowLayer 클래스 ● 443
- 커버플로우 뷰 만들기 ● 445
- 커버플로우 뷰 컨트롤러 만들기 ● 448
- 커버플로우 데이터소스 메소드 ● 450
- 커버플로우 델리게이트 메소드 ● 450
- 정리 ● 455
관련 블로그 글
[예·시 아이폰 개발] 인터넷서점 YES24 컴·인부문 1위!
30대 직장인 만든 게임 앱스토어서 대박 "청년 재벌 탄생"
30대가 쓴 게임 성공 신화
토종게임 '헤비 매크' 세계 평정
앱스토어에서 대박난 개발자들
5위라는 성적도 놀랍지만 평점이 별4개반이나 되네요. 축하합니다!
아이폰/아이팟터치 애플리케이션 개발의 진두에 나선 드림위즈 이찬진 사장님의 블로그 글을 필두로 어제 오늘 청년개발자의 성공기를 전하는 보도기사들로 IT관련 뉴스계가 후끈 달아올랐습니다.
이처럼 "Heavy Mach"를 만든 변해준님의 성공 스토리나, 9살난 아이가 아이폰용 애플리케이션을 만들었다는 이야기 등 국적과 나이를 불문한 소식들이 쏟아져 나오면서 개발자분들의 관심도 집중하고 있습니다.
그래서였던가요. 어제 3월 4일 드디어, 감사하게도 인사이트 출판사에서도 축하해주시고, 역자 김동현님도 소식을 전하셨듯이 저희 책 『예제로 시작하는 아이폰 개발』이 YES24 컴퓨터인터넷 부문 1위를 차지 했습니다.
아이폰 개발서 컨셉에 맞춰 아이팟 터치 사파리에서 캡춰했습니다. 사실 컴퓨터 분야 베스트셀러 페이지를 들어가려면 몇번을 클릭해서 들어가야 하죠. 아니면 그 긴 URL 링크를 입력(http://www.yes24.com/2.0/Category/CategoryMore.aspx?CategoryNumber=001001003&ElemNo=54&ElemSeq=1)하는 건 웬만한 공력이 아니고선 후덜덜한 일입니다. -0-; 그래서 이 링크를 만드는 데 드리밍님 팀에서 만드신 새로운 서비스 durl.kr을 사용해봤습니다. 사파리의 주소 입력창에 넣은 URL은 간단히 durl.kr/bt5! 와, 정말 모바일에서 사용하기 정말 좋네요! ^^
다시 본론으로 돌아와, 사실 "조엘 온 소프트웨어", "게임회사 이야기", "프리젠테이션 젠" 등 1위에 오른 책도 있었지만, 인사이트에서도 말씀해주셨듯이 기술서로는 흔치 않은 일이기에 독자분들의 성원이 너무나 감사했었습니다. (저희 책으로는 예제로 시작하는 Adobe 플렉스 2 책이 오른 적은 있었습니다.)
1위에 오르자마자 모두와 기쁨을 나누고 싶었지만, 주위에서 많이 축하해주신 덕분에 조용히 지나가려다가... 오늘도 1위를 했고, 내일도 1위를 하지 않을까 하는 자만한 마음에 살짝 글을 올립니다. ^^*
다만 한 가지 걱정되는 것은 환율이 너무 올라 필수 요소인 맥도 비싸져서 지금 맥을 갖고 계신 분들이 책을 다 사시고 나면 살짝 베스트셀러 행진이 멈칫하지 않을까 하는 우려도 들지만 말이죠. ^^; 여하튼 앱스토어로 가는 험난한 여정. 물론 책이나 별다른 레퍼런스 없이도 뚝딱뚝딱 잘 만들어내시는 분들도 계시지만, 작은 길잡이가 필요한 분들을 위해 정말 "열심히 & 빨리" 만들어낸 책이니 만큼 많은 분께 도움이 되어 드렸으면 하는 바람입니다.
원서에는 없는 이런 부록도 넣어가면서 만들었으니 말이죠!
게다가 이렇게 개발자 여러분들의 작품을 목마르게 기다리는 수많은 아이폰/아이팟터치 친구들이 있으니까요. 그리고요~~~~~ 아이폰 출시를 기다리는 우리를 위해 책의 인기몰이와 여기저기서 터지는 즐거운 기사들이 폭주하면 분명 이동통신사에 계신 임원분들이 계산기를 다시 한번 두드리게 하는 요인이 되지 않을까 싶네요. (그러니 책 많이 팔아달라는. ㅎㅎ)
사실 "실용예제로 배우는 웹표준"을 필두로 한 웹표준 서적 출간이나, 우리나라 개발자들의 의식 전환을 꾀한 "조엘 온 소프트웨어", RIA와 플렉스 열풍을 몰고온 "예제로 배우는 플렉스"책도 그랬고. 어떤 분야의 서적이 출간된다는 것은 그 분야 기술 확산에 큰 의미를 갖는다고 생각합니다. 저희같은 출판사는 단 5권밖에 팔지 못했어도 책을 읽으시는 분은 50명이 될 수도 있구요.(빌려읽으시는 걸까요? 전 여기에 감춰진 허수의 진실이 궁금하다는.. ^^;) 그로 인해 분야의 기술자는 500명으로 늘어날 수도 있는 일입니다. 시장은 더욱 커질 거구요. 이처럼 아이폰 성공개발자 탄생과 함께 아이폰 개발서도 출간됐다는 이야기들도 화제가 된다면 더욱 좋겠다는 말씀이지요. :)
물론 여러분이 우려하셨듯이, 화젯거리를 생산해야 하는 보도 특성상 일면 과장되거나 어느 한쪽에만 초점을 집중한 면은 적지 않을 것입니다. 하지만 "청년재벌"보다 더욱 중요한 것은, 이찬진사장님도 밝혔듯이 도전하는 "청년정신"이 아니었나 싶습니다.
사실 30대중반이라는 나이가 기나긴 인생 행로에 비춰본다면, 가장 불타오를 청년기는 맞을 겁니다. 하지만 어느 한편 개발자로서 혹은 어떤 일에 종사하더라도 30대 중반이라는 나이는 뭔가 여태까지 이뤄놓은 자신을 성찰하고 앞으로의 인생을 도모하기 위한 또다른 계획에 나서기에는 겁도 나는 모호한 나이이기도 하죠.
오늘 윤석찬님이 블로그에 "새출발"을 선언하고 나서신 것처럼 뭔가 새로운 꿈을 꾸기에 오히려 가장 적절한 때가 아닌가 싶기도 하구요. (이 자리를 빌려 DOM 스크립트 책으로 역자의 연을 맺은 석찬님의 희망찬 새출발에 저도 함께 축하와 격려의 박수를 보냅니다!) :)
구르는 돌에는 이끼가 끼지 않습니다.
어제 이찬진님이 블로그 댓글에서도 말씀하셨듯이 바다로 떠나지 않는 배는 늘 안전합니다. 그러나 배는 항구에 정박하기 위해 만들어진 건 아니죠. 또한 골대를 두드리는 공은 언젠간 골인되는 기쁨을 누리게 됩니다.
"쏘지 않는 슛은 100% 노골입니다."
대박을 못 내면 어떻습니까. 별다른 제약이 없는 자유로운 플랫폼 아래서 내가 만든 프로그램을 누군가 내려받고 즐겁게 사용한다는 사실만으로도 기쁜 일일 테니까요. 대박을 노릴 수도 있구요. 주판알을 굴려 손익계산을 해본 후 고! 스톱!을 결정하시는 건 여러분의 자유니까요.
16년간 XXX 개발을 해온 XXX의 달인, 아이폰(책) 만나 청년재벌 되다!
저희 에이콘은 앞으로도 아이폰/아이팟 애플리케이션 개발과 관련해 정선된 책을 선보일 예정입니다. 총알 장전 해주세요~ ^^/
크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
『예제로 시작하는 아이폰 개발』, 이 책이 좋은 이유?
『예제로 시작하는 아이폰 개발』
에리카 세든 지음 | 김동현 오형내 옮김 | 484쪽
30,000원 | 2009년 2월 28일 출간 예정 | 에이콘 모바일 프로그래밍 시리즈 2
특별부록: 아이폰 개발에 꼭 필요한 오브젝티브 C 기초와 메모리 관리
에리카 세든 지음 | 김동현 오형내 옮김 | 484쪽
30,000원 | 2009년 2월 28일 출간 예정 | 에이콘 모바일 프로그래밍 시리즈 2
특별부록: 아이폰 개발에 꼭 필요한 오브젝티브 C 기초와 메모리 관리
드디어 나옵니다!
The iPhone Developer's Cookbook이라는 원서 제목으로 개발자들의 아이폰 요리 열풍을 몰고 올 것이라 예상했던 그 책이 『예제로 시작하는 아이폰 개발』이라는 제목을 달고 새롭게 태어납니다.
쿡북이라는 제목을 버렸냐구요. 쿡북은 보통 한 가지 음식을 내놓고 그 음식을 요리하는 조리법(recipe)를 알려줍니다. 수십가지 음식에 걍 recipe... 그런데 이책은 살짝 궤를 달리합니다. 오히려 우리 책 예제로 배우는 Adobe 플렉스 같은 책이죠. 중간 중간 개념 설명도 들어가고 내용을 보충하는 또다른 소스코드 리스팅도 보여줍니다.
한마디로 "묻지도 않고 따지지도 않고 조리법을 알려드립니다"라는 책과는 약간 다르죠. 예를 들어 포토샵 책에는 두 가지 타입이 있습니다. 메뉴를 하나 하나 따져 설명해서 사용법을 알려주는 책과, 예제로 들어가서 하나씩 만들어보면서 내용을 익히는 책. 어느 책이 독자분에게 맞는가는 사람들마다 다르지만 우리 『예제로 시작하는 아이폰 개발』은 후자에 가깝습니다. 그래서 아주 초보이거나 하시는 분들은 살짝 시작하시기 어려울지도 모릅니다. 그런데 여러분, 잘 아시지 않으세요? 학교 다닐 때 공부를 할 때도 너무 쉬운 것부터 시작하면 전혀 발전이 없습니다. 좀 도전적인 예제를 통해서 난점을 익히고 헤쳐나가면 어느 틈에 도약하고 있는 실력을 확인하게 되죠.
이 책이 바로 그런 책입니다. 일단 SDK를 내려받고 나서 실제 프로젝트를 진행해야 하는 아이폰 개발자에게 실전내공을 높여드릴 수 있는 가이드죠.
어떻게 테이블을 만들지?그래서 이 책의 특징은 영어 알파벳의 A, B, C를 알려주는 책이 아니라, 바로 "How are you doing?"이라는 살아있는 영어부터 시작하게 해주는 책이라고 할 수 있습니다. 아주 초보께는 조금은 친절하지 않을지라도 하나씩 따라하다보면 쉽게 실전의 감을 익힐 수 있는 책이죠. 사실 미국과는 조금 상황이 다를 것이, 워낙 고수가 많은 우리나라 개발자 분들에게 오히려 더욱 잘 맞는 형태가 아닐까 싶습니다.
어떻게 보안 키체인 엔트리를 생성하지?
어떻게 주소록을 검색하지?
어떻게 뷰를 바꾸지?
어떻게 코어 로케이션을 사용하지?
두 번째 이 책의 특징이라면, 역자 드리밍님이 말씀하셨듯 "정파(正派)"보다는 "사파(邪派)"에 가깝다는 점이죠. 그렇다고 해서 이 책이 순전히 아류나 꼼수만으로 뒤덮힌 책은 아닙니다. 이 책은 철저히 SDK에 근거한 예제코드를 설명합니다. 다 아시겠지만, 애플에서는 앱스토어에 올라가는 아이폰 애플리케이션에 대해 SDK에 근거하고 문서화되어있는 내용을 바탕으로 만들어졌는지 까다로운 기준을 적용해 철저히 검증합니다.
공식 SDK와 함께 꼭 읽어야 하는 것으로서 애플 문서가 있습니다. 오브젝티브C 문서와 사용자 인터페이스(UI) 가이드 말입니다. 따라서 이 내용이 "SDK에 있는 내용인지, 문서화되어 있는 내용인지" 등이 매우 중요한 요소로 작용합니다.
이번 tv팟 애플리케이션을 개발한 후에 접한 책이라 실 프로젝트에는 큰 도움이 되진 못했습니다. 그렇지만 번역하면서 알던 것들은 정리가 되었고 모르던 것도 알게 되었습니다. 더욱 중요한 것은 여기서 보여준 조금의 객기 그러니깐 약간 애플에 대항하는 듯한 어프로치는 새로운 기능에 대한 힌트를 주더군요. 바로 얼마전 번역을 하다 "어 이거... 이렇게 하면 앱스토어 규정도 지키면서 차별화 요인이 되겠는데" 그런 경험을 했습니다.드리밍님이 책을 소개하는 블로그 글에서 위와 같이 말씀하신 것처럼 이 책에서는 이렇듯 실전 프로젝트에서 접하는 수많은 경우의 수를 이야기해줍니다.
이 책에서는 수많은 애플리케이션을 만들어 본 저자의 경험과 식견을 바탕으로 SDK에 있는 건지, 없지만 꼼수로 사용할 수 있는 건지 등을 팁으로 세세하게 알려줍니다. 팁은 직접 발을 담가보지 않은 분이라면 모를 만큼 그 자체 팁으로서 아주 큰 가치를 지니죠.
솔직히 제가 생각하기에도, 이미 어느나라 개발자들에 못지 않게 실력이 뛰어난 여러분들에게 꼭 필요한 책은 이런 책이 아닐까 하는 생각이 듭니다. (아부 아니거든요~^^)
그리고 세 번째, 우리나라에서 활용가능한 한글 예제를 만들어볼 수 있게 됐죠. 바로 이렇게 말입니다.
게다가 이 책에서는 그 사이에 바뀐 환경과 SDK 버전 엑스코드(Xcode) 3.1.2와 아이폰 SDK 2.2.1을 반영해 지금 현재 활용가능한 최신 내용으로 역자분들이 최대한 업데이트를 해주셨습니다.
물론 언젠가는 좀 낡은 이야기도 될 수도 있겠지만, 지금으로서는 최선이라는 점이죠!
(아시잖아요~ 저희 에이콘은 번역서라도 철저한 기획에 따라 책을 내려고 "노력"하고 있다는 점)
그리고 마지막으로 기대하셨던 "한국어판 특별부록"에 대한 이야기입니다.
아이폰 개발을 하시려면 꼭 필요한 게 무엇인지 아시나요?
일단 맥이 있어야 합니다. (1) 레오파드 이상 OS X이 설치된 인텔 기반 맥 말입니다. (2) 아이폰이나 아이팟 터치, 실물기기가 있어야겠죠. 성공한 다음 하나 사야지~라는 분은 아무도 없을 것으로... ^^; (3) 애플 아이폰 SDK를 내려받아야 합니다. 그리고 무료 아이폰 개발 프로그램에 가입하셔도 되구요. (4) 그냥 애플리케이션을 하나 만들어 보려는 거면 몰라도 실제 테스트를 위해서라면 애플리케이션 인증, 설치, 테스트, 디버깅까지 모두 가능한 아이폰 개발자 라이센스를 구매해야 합니다. 그러고는 소소한 USB2.0 포트, 인터넷 연결.... 그리고 가장 난맥인 오브젝티브C가 있죠...
오브젝티브C는 객체지향 프로그래밍을 지원하도록 표준 C를 확장한 것으로서, 객체지향 프로그래밍이나 C에 대한 선수지식이 있다면 별다른 문제 없이 따라할 수 있다고는 합니다. 이 책도 오브젝티브C에 대한 경험이 없는 분들을 독자 대상으로 집필되었지만, 때로는 모르는 게 약일 수도 있겠으나, 아는 것이 힘인 경우가 더 많지요.
그래서 역자 드리밍님이 막판 괴력을 발휘하셔서 독자들이 아이폰 개발을 시작하기에 앞서 꼭 알고 넘어가면 좋을 오브젝티브C 기초에 대한 부록을 써주셨습니다. 그리고 이 책에서 자세히 다루지 않은 메모리 관리에 대해서도 이 부록에서 다룹니다.
한국어판 특별부록 수록!
아이폰 개발에 꼭 필요한 오브젝티브 C 기초와 메모리 관리
이 정도면 정말 한 권으로 손쉽게 시작하는 아이폰 애플리케이션 개발서로서 우리나라 개발자분이 좋아할 만한 수준으로 가장 가려운 곳을 긁어드릴 수 있는 책이 되지 않을까요?
그동안 드리밍님과 함께 회사에서도 가장 든든한 조력자이자 파트너로서 일하시며, 공역자로서도 조용히 맡은 바에 대해 역량을 충분히 발휘하며 도와주신 타조알 오형내님께도 정말 진심으로 감사드려요. 늘 저는 성공하는 기업이나 개인들을 보면서 파트너쉽이라는 것에 대해 많은 생각을 하게 되는데요. 두분도 서로 부족한 점을 채워주고 서로의 장점을 부각시켜주는 좋은 파트너라는 생각이 들었거든요.
이 책『예제로 시작하는 아이폰 개발』을 받으시고 뒷표지 쪽 날개를 펴보시면 아마 이 두분이 다음 작업하실 책의 윤곽이 드러날 것입니다. 출간을 즈음해서 아마 드리밍님께서 발표를 해주실 거라 믿어요. (마이크는 드리밍님께로... ^^) 이미 "6월 출간예정"으로 인쇄해서 책을 찍어버림으로써 서로 족쇄를 채워버렸다는.. ^^;;;
사실 저 사진에 제 얼굴도 어딘가 등장하는데, 작아서 안 보이네요. ㅋㅋ
앞으로 펴낼 에이콘 모바일 프로그래밍 시리즈 에디터로서 활약해주실 김동현님과 또 함께 번역해주실 오형내님의 작품을 기대해봅니다. ^^
지난 번에도 광고해드린 바대로 뜨거운 반응속에 YES24, 교보문고, 강컴, 알라딘, 인터파크에서 예약판매중입니다. 지금 사신 분들은 빠르면 이번 주 금요일 27일에는 받아보실 수 있다는 거죠. 늦어도 다음 주 월요일이면!! :)
크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
『예제로 시작하는 아이폰 개발』마감 소회
어제 출력소에서 필름 교정 보고 찍은 기념 인증샷입니다. 뿌듯~
드디어 『예제로 시작하는 아이폰 개발』 마감을 했습니다. 지난 주말을 쉬면서 "휴, 다음 주엔 전쟁이겠다" 싶어 마음 한켠이 묵직한 돌덩어리를 얹어놓은 듯했는데, 용감히 싸우고 돌아와 이번 주에는 짐을 하나 덜고 푹 충전을 해볼 수 있을 것 같습니다.
물론 승전보는 책이 출간되고 며칠 후 독자분들의 반응을 봐야 확실히 울릴 수 있겠지만요. 아직까지는 여러 인터넷 서점에서 들려오는 반응은 나쁘지 않은 것 같네요. 예약판매 서점에서 미리 전해받는 (YES24) 베스트셀러 순위도 굿~뉴스이구요. 날마다 쭉쭉 올라가는 순위 보는 기분, 이거 책 만들어 보지 않으신 분은 모르실 겁니다. 호호호. 교보문고 인터넷서점에서는 국내서 메인 화면에도 올랐어요. 스크롤을 살짝 내리시면 사전 예약판매라는 링크가 보일 거구요. 지금 아마 독자분들 지갑의 부담을 덜어드리는 쿠폰 소식도 있으니 혹시 사시려는 분들은 이 기회를 놓치지 마세요. :)
자세한 책 이야기는 다음 주 월요일에 들려드릴게요. 오늘은 그냥 지난 소회만 잠깐 밝히려고 블로그 창을 열었습니다.
멋진 배우 브래드 피트의 존재감만으로도 빛을 발하는 벤자민 버튼의 시간은 거꾸로 간다라는 영화를 보면 중간에 매력적인 이야기가 하나 나와요. 여주인공 데이지 풀러(케이트 블란쳇)에게 일어나는 어떤 사건을 보여주는데, 전혀 뚱딴지 같은 몇 가지 사건을 이야기하며, 그 일이 일어날 수밖에 없었던 필연을 밝혀주죠. 마치 제가 지금 들려드릴 이야기처럼요.
숙명론을 이야기하는 건 아니구요. 누구에게나 일어날 수 있는 아닌가 싶습니다. 어떤 인연 같은 거 말이죠. 제가 그 분의 블로그를 본 건 지난 4월이었네요. 아마 드리밍님도 모르셨을 거에요. 이렇게 시작된 건. ^^
! 재미있는 사진을 올리시네?
블로그 구독을 시작했죠.
헛. 그러고보니 우리가 계약한 몇 권의 책에 대해 원서를 벌써 읽으시고 리뷰 글을 올려두셨더라구요. 그때 번역중이던 Presentation Zen이야기도 있었구요.
! 책도 많이 읽으시나 보다.
그런데 어느날 WWDC08 컨퍼런스 후기도 올라오더라구요.
! 어랏, 개발자신가?
그래서 스토킹에 들어갑니다.
다음에 다니시는 것 같은데, 그래서 다음에 다니시는 우리 역자분께 메신저를 날리고 여쭤봤죠. 이분 아세요? 네, 저희 동영상 개발 팀장이세요.
그래서 일단 메일을 한 통 써서 들이대고(?) 인사를 드렸습니다.
그러고 한참 후 막 출간된 "프리젠테이션 젠" 책을 보내드렸죠.
엄청 칭찬을 많이 받았더랬습니다. :)
그러던 중... "아이폰 책을 한번 내보면 어떨까."라는 생각이 들었고,
용기있게 첫 아이폰 책의 판권을 잡은 후에,
그런데... 가장 중요한 역자를 못찾아 헤매던 그 어느날...
드리밍님의 블로그에 이런 글이 하나 또 올라옵니다.
드리밍의 모바일비젼 2008 발표 - 요약 그리고 하고 싶었던 이야기들...
!!아핫. 이분 아이폰 개발 하시나보다.
그래서 당장 연락을 드리고 홍대로 가서 만나가 뵈었습니다. 사실 번역을 하실지는 긴가민가 대답을 해주셨기에, 초면에 그냥 잠깐 얘기나 하자고 갔더랬죠.
성과는 좋았습니다. ^^
그냥 그자리에서 서로 "OK? OK!!" 했는데, 바로 글이 또 올라오더군요.
번역시작! 아이폰 개발자를 위한 요리책
지금은 기억나지 않는데,
어딘가에서 제가 드리밍님이 사진을 모아 올린 그 블로그 링크를 보지 않았다면,
드리밍님의 블로그를 주시하지 않았다면,
우리가 프리젠테이션 젠을 출간하지 않았다면,
정순욱박사님이 프리젠테이션 젠을 대강 번역하셔서 이렇게 훌륭한 책을 만들지 못했다면...
드리밍님을 대뜸 찾아간 날 서로 살펴본 책이야기로 분위기를 업!하지 못했다면,
그랬다면 이 두분 역자 드리밍님(김동현님)과 타조알님(오형내님)이 한밤중에 사무실에서 이렇게 빨간 펜 들고 작업하는 일은 없었겠죠! ^^
다만 이 두분들에게 국한된 이야기는 아니죠. 역저자분들과도 이런 사연들은 글로 쓰면 주리줄줄 쏟아져나올 거에요. 우리가 일로, 사적인 만남에서, 나를 둘러싸 벌어지고 있는 수많은 필연은 단지 숙명이라기보다는, 늘 살피고 노력하고 서로 마음이 맞도록 분주하게 움직이기 때문에 가능한 게 아니었을까 싶거든요.
모든 건 그만큼의 필연과 인연과 운명과 노력이 있었기에 얻을 수 있었다는 생각이 들거든요. "절대로 그냥 일어나는 일은 없으니까요"
잠깐의 만남이거나, 그 인연을 유지하는 건 저절로 얻어지는 건 없는 것 같습니다. 바란다면, 뭐든지 얼마만큼을 기다리더라도 이룰 수 있다는 믿음과 "꿈"이 중요한 듯합니다.
꿈을 잃지 마세요! 모두 행복하고 즐거운 주말 보내시길.
"마감 소회"라고 했는데, 좀 뚱딴지스러운 글이죠? ^^;;
정말 본격적인『예제로 시작하는 아이폰 개발』에 대한 자세한 이야기는 다음 주 월요일에 다시 알려드릴게요. 이 책의 특징은 뭔지, 어떤 내용이 담겨있는지. 아마 기대해도 좋으실 거에요! 마지막으로 광고는 하고 넘어가야죠~
이 책은 지금 정말 여러분의 뜨거운 반응속에 YES24, 교보문고, 강컴, 알라딘, 인터파크에서 예약판매중입니다. 지금 구매하시는 분들은 다음 주 금요일 27일, 늦어도 그 다음 주 월요일인 3월 2일에는 받아 보실 수 있을 겁니다. :)
크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
도서 오류 신고
정오표
1쇄 오류/오탈자
[ p54 5행 ]
같이 호출헤 → 같이 호출해
[ p86 아래에서 9행 ]
CGREctMake( → CGRectMake(
[ p88 '뷰의 다른 특성' 절 마지막 행 ]
[myView setBackgoundColor:[UIColor redColor]]
→ [myView setBackgroundColor:[UIColor redColor]]
[ p184 8행 ]
showInView → showInView:
[ p226 아래에서 2행 ]
보여려고 → 보이려고
2쇄 오류/오탈자
[ p218 아래에서 4행 ]
#pr agma mark → #pragma mark
3쇄 오류/오탈자
[ p51 '노티피케이션' 절 제목 스타일 ]
명조, 이탤릭체로 수정 ('컨트롤러' 절 하위 절입니다.)
[ p54 5행 ]
같이 호출헤 → 같이 호출해
[ p86 아래에서 9행 ]
CGREctMake( → CGRectMake(
[ p88 '뷰의 다른 특성' 절 마지막 행 ]
[myView setBackgoundColor:[UIColor redColor]]
→ [myView setBackgroundColor:[UIColor redColor]]
[ p184 8행 ]
showInView → showInView:
[ p226 아래에서 2행 ]
보여려고 → 보이려고
2쇄 오류/오탈자
[ p218 아래에서 4행 ]
#pr agma mark → #pragma mark
3쇄 오류/오탈자
[ p51 '노티피케이션' 절 제목 스타일 ]
명조, 이탤릭체로 수정 ('컨트롤러' 절 하위 절입니다.)