iphone - 해당되는 글 14건

 

 

 

iOS와 맥 OS X 개발을 위한

 

              오브젝티브-C (2판)

 

 

저자: 마크 달림플, 스콧 내스터, 와카르 말릭

역자: 이종웅, 김기훈

출간예정일: 2013222()

정가: 28,000

페이지: 486

판형: 175 x 230

ISBN: 978-89-94774-30-5 (93560)

 

원서정보: Learn Objective-C on the Mac For OS X and iOS SECOND EDITION

1판 정보: 아이폰과 맥 OS X 개발을 위한 오브젝티브-C 2.0 (978-89-96276-500)

 

관련분류

-개발/OS/DB > 개발/OS/DB 기타

-프로그래밍 언어 > 프로그래밍 언어 기타

-모바일 프로그래밍 > 아이폰

 

소스코드 다운로드

http://www.bjpublic.co.kr -> 도서자료 -> 소스코드 다운로드

 

샘플 챕터(2장) 다운로드

오브젝티브-C 2판 샘플 2장.pdf

 

 

책 소개

 

프로들이 만든 프로들을 위한 책

 

이 책으로 최근 가장 인기 있는 아이폰, 아이패드, 매킨토시용 앱을 만들어보자. 이 책은 iOS OS X 인터페이스를 만드는 데 쓰이는 AppKit UIKit을 사용하는 방법을 알려준다.

 

매킨토시 전문가인 스콧 내스터와 와카르 말릭은 애플의 최신 Xcode 툴을 사용해 오브젝티브-C 기초를 완벽하게 설명하고 있으며, 오브젝티브-C뿐만 아니라 애플의 코코아 툴킷에 대해서도 알려준다. 이 책으로 오브젝티브-C를 배우고 나면, 실제 코코아 프로젝트에 참여할 준비가 끝나게 될 것이다.

 

 

이 책을 통해 배울 내용:

 

l  변수를 이해하고 자료구조를 설계하는 방법을 배운다.

l  오브젝티브-C에 새로 추가된 블록, ARC, 클래스 확장 등을 배운다.

l  새로운 툴인 Clang 정적 분석기와 GCD를 배운다

l  UIKit를 사용해서 쉽게 모바일 인터페이스를 만들 수 있다.

 

이 책은 상속, 컴포지션, 객체 초기화, 카테고리, 프로토콜, 메모리 관리, 소스파일 관리 등의 개발에 필요한 기본적인 내용을 다양하게 다루고 있다.

 

C에 능숙하거나 다른 객체지향 언어인 C++, JAVA에 능숙한 경우라도, 이 책을 통해 오브젝티브-C의 특징을 앱 개발에 바르게 적용할 수 있게 된다.

 

 

소스코드 다운로드

 

http://www.apress.com/9781430241881

 

 

독자대상

 

초중급

 

 

 

저자소개

 

 

마크 달림플(Mark Dalrymple)은 오랫동안 매킨토시와 UNIX 프로그래머로 일해왔으며 크로스플랫폼 툴킷, 인터넷 출판 툴, 고성능 웹 서버, 일반 사용자용 프로그램 등을 만들어왔다. 아울러 『Advanced Mac OS X Programming(Addison-Wesley, 2005)의 저자이기도 하다. 남는 시간에는 주로 트롬본과 바순을 연주하고 풍선으로 동물도 만든다.

 

스콧 내스터(Scott Knaster)는 애플의 암흑기(애플에 스티브잡스가 다시 들어오기 전, 거의 쓰러지기 직전)에 근무했다. 스콧은 애플에서 코코아가 선보인 초기에 매킨토시용 소프트웨어를 개발하는 개발자 지원 역할을 했다. 스콧은 현재 구글에서 개발자 지원팀에 있으며 구글 맥 블로그(Google Mac Blog)를 운영한다. 컴퓨터를 좋아하는 친구들과 실리콘 밸리에 살고 있다.

 

와카르 말릭(Waqar Malik)은 오랫동안 UNIX 전문가로 활동했다. Mac OS X가 처음 나왔을 때 애플에서 코코아와 UNIX를 개발하는 개발자 지원 역할을 했다. 현재는 샌디에고에 있는 MeLLmo사에서 근무하고 있고 iOS용 소프트웨어를 만들고 있다.

 

 

 

역자소개

 

 

이종웅

 

10여년 동안 CPU설계 회사에서부터 게임회사까지 IT분야의 전 부분을 경험한 현직 프로그래머. 하드웨어(회로설계), 운영체제, 컴파일러, 멀티미디어, 게임에 관심이 많고, 현재는 에어플러그사에서 네트워크 관련 소프트웨어를 개발하고 있다. 사람들과 개발관련 정보 공유를 좋아하며, osxdev.org에서 오프라인 강좌를 하기도 한다.

 

김기훈

 

멀티미디어 분야에서 개발자로 일을 시작해서, 지금은 복잡한 서울을 떠나 시골에서 iOS용 앱을 개발하고 있다. 멀티미디어 관련 앱 출시를 시작으로, 사용자들의 시선을 빼앗는 프로그램을 만들어보겠다는 다짐으로 오늘도 맑은 공기를 마시면서 코드를 만들고 있다.

 

 

 

목차

 

 

Chapter 01. Hello Objective-C

 

시작하기 전에

과거 없는 미래는 없다

앞으로 배울 것들

준비

요약

 

Chapter 02. C의 확장

 

가장 간단한 오브젝티브-C 프로그램

Hello Objective-C 빌드

Hello Objective-C 분해하기

낯선 #import

프레임워크 소개

NSLog() @"문자열"

접두사 NS: 이름 충돌에 대한 처방

NSString @

불리언 타입

실전에 강한 BOOL

첫 번째 함수

두 번째 함수

자기 자신의 비교

요약

 

Chapter 03. 객체 지향 프로그래밍 소개

 

모든 길은 인다이렉션으로 통한다.

변수와 인다이렉션

파일 이름을 통한 인다이렉션

객체 지향 프로그래밍에서 인다이렉션 사용하기

절차적 프로그래밍

도형 그리기

도형을 그리는 코드

객체 지향으로 구현하기

용어 살펴보기

오브젝티브-C에서의 OOP

@interface 섹션

@implementaion 섹션

객체의 인스턴스 만들기

Shapes-Object 확장하기

요약

 

Chapter 04. 상속

 

상속은 왜 사용할까?

상속 문법

용어 살펴보기

상속은 어떻게 동작하는가?

메소드 디스패치

인스턴스 변수

메소드 오버라이딩

수퍼클래스의 메소드 사용

요약

 

Chapter 05. 컴포지션

 

컴포지션이란 무엇인가?

자동차 이야기

NSLog() 수정

접근자 메소드

엔진 세팅

타이어 세팅

자동차의 변경사항 추적

CarParts 확장

컴포지션이냐 상속이냐

요약

 

Chapter 06. 소스 파일 구성

 

인터페이스와 구현 분리하기

Xcode에서 새 파일 만들기

자동차 분해하기

크로스 파일 의존성 사용하기

()컴파일의 기본 상식

Car 동작시키기

포함과 상속

요약

 

Chapter 07. Xcode에 대하여

 

메인 윈도우

회사 이름 바꾸기

에디터 관련 팁

Xcode의 도움을 받아 코드 작성하기

코드를 보기 좋게 만드는 들여쓰기

코드 자동 완성(코드 센스)

괄호 매칭

편집 기능

소스코드 탐험하기

맥과 Emacs

파일 열기

소스코드에 집중하자

내비게이션 바

정보 얻기

도와주세요!

원하는 문서 찾기

디버깅

원시인 디버깅

Xcode의 디버거

심볼 추가

디버깅을 해보자!

데이터 살펴보기

단축키 모음

요약

 

Chapter 08. Foundation Kit 소개

 

튼튼한 기초

프로젝트가 자동으로 생성하는 코드

유용한 타입

범위를 나타내는 구조체

기하학 관련 타입

문자열을 처리하는 클래스

문자열 만들기

클래스 메소드

크기 문제

비교 정책

대소문자의 구별

문자열 안에 원하는 문자 찾기

문자열 변경

컬렉션

NSArray

뮤터블 배열

이너머레이터

빠른 이너머레이션

NSDictionary

사용하되 확장은 금물

여러 가지 값

NSNumber

NSValue

NSNull

예제: 파일 찾기

더 빠른 방법(레퍼드용)

요약

 

Chapter 09. 메모리 관리

 

객체의 일생

참조횟수

객체 소유권

접근자의 참조횟수 관리

오토릴리즈

오토릴리즈 풀

정리의 화신

실제 풀 사용하기

코코아 메모리 관리 규칙

전이 객체

객체 보관하기

정말 쉬운 방법은 없는 것일까?

ARC(Automatic Reference Counting)

때로는 약한 것이 좋다

새롭게 바꿔보자!

소유권이 갖는 특권

예외

예외 관련 키워드

다른 예외 타입 잡아내기

예외 발생시키기

예외도 메모리 관리가 필요하다.

예외와 오토릴리즈 풀

요약

 

Chapter 10. 객체 초기화

 

객체 할당

객체 초기화

초기화 메소드 작성하기

초기화할 때 해야 할 일

사용하기 편리한가?

부분별 개선 작업

Tire를 위한 init 메소드

main() 함수 업데이트

Car 클래스 메모리 정리

가비지 컬렉션과 ARC 스타일로 Car 정리하기

편리한 이니셜라이저 만들기

지정된 이니셜라이저

서브클래싱 문제

Tire의 초기화 메소드 수정

AllWeatherRadial 초기화 메소드 추가

초기화 메소드 규칙

요약

 

Chapter 11. 프로퍼티

 

프로퍼티 값 축소하기

인터페이스 축소하기

구현 축소하기

(.)

객체 프로퍼티 사용하기

이름 바꾸기

읽기 전용으로 설정하기

컴파일러에 맡기지 말자.

메소드 이름이 마음에 들지 않는다면

프로퍼티도 만능이 아니다

요약

 

Chapter 12. 카테고리

 

카테고리 만들기

카테고리를 만들어보자

interface

@implementation

나쁜 카테고리

좋은 카테고리

특별한 카테고리

카테고리로 구현 분리하기

프로젝트에서 카테고리 사용하기

카테고리로 전방 참조 만들기

긴급 출동 카테고리 구조대

비공식 프로토콜과 델리게이션 카테고리

ITunesFinder 프로젝트

델리게이트와 카테고리

셀렉터에 응답하기

셀렉터의 다른 사용 용도

요약

 

Chapter 13. 프로토콜

 

공식 프로토콜

프로토콜 선언하기

프로토콜 채택하기

프로토콜 구현하기

사본 만들기

엔진 복사하기

타이어 복사하기

자동차 복사하기

프로토콜과 데이터 타입

오브젝티브-C 2.0의 장점

델리게이트 사용하기

요약

 

Chapter 14. 블록과 동시실행

 

블록(block)을 가지고 놀아보자!

블록과 함수 포인터

블록 사용하기

블록을 직접 사용하기

typedef 사용

블록과 변수

지역 변수

전역 변수

파라미터 변수

__block 변수

블록 지역 변수

오브젝티브-C 객체

동시실행

동기화

성능을 선택하는 경우

디스패치 큐(Dispatch Queue)

큐의 메모리 관리

큐 컨텍스트

디스패치로 프로그래밍하기

오퍼레이션 큐

Invocation Operation 생성하기

요약

 

Chapter 15. UIKit 소개

 

뷰 컨트롤러

Nib 파일에 아이템 추가하기

요약

 

Chapter 16. AppKit 소개

 

프로젝트 만들기

델리게이트 @interface 만들기

인터페이스 빌더

유저 인터페이스 배치하기

연결하기

아웃렛 연결하기

액션 연결하기

AppDelegate 구현

요약

 

Chapter 17. 파일 불러오기와 저장하기

 

프로퍼티 리스트

NSDate

NSData

프로퍼티 리스트 기록하고 읽기

객체 수정하기

객체 인코딩

요약

 

Chapter 18. -밸류 코딩

 

시작 프로젝트

KVC 소개

경로! 경로!

전방위 공격

잠시 쉬어가기

부드러운 연산자

인생은 한방

Nil은 살아있다

처리되지 않은 것 처리하기

요약

 

Chapter 19. 정적 분석기 사용하기

 

정적 분석기

분석하기

사용하지 않는 객체

코드 흐름 검사

메모리 누수 감지

프로그래머가 빠뜨린 부분 찾아주기

분석기 더 잘 사용하기

사용하고 있는 객체를 반환하는 경우

참조되지 않은 객체 반환하는 경우

아무것도 반환하지 않는 경우

좀더 알아보자.

비교 문 오류 문제

메모리 누수 문제

중복 해제 문제

동기화와 nil 문제

좋은 친구 정적 분석기

요약

 

Chapter 20. NSPredicate

 

프레디킷 만들기

프레디킷 평가하기

연료 필터

형식 지정자

안녕하세요 연산자님, 9번 부탁합니다

비트 및 논리 연산

배열 연산자

SELF, 혼자서도 잘해요

문자열 연산

Like, 대충 비슷한 거 주세요

책을 마치며

 

부록: 다른 언어에서 오브젝티브-C

 

 

 

이 책의 구성

 

 

l  2 C의 확장은 오브젝티브-C를 소개하는 기본 내용에 중점을 두고 있다.

 

l  3장 객체 지향 프로그래밍의 소개는 객체 지향 프로그래밍의 기본적인 내용을 설명한다.

 

l  4장 상속은 부모 클래스의 특징을 가지고 있는 클래스를 만드는 방법에 대해 설명한다.

 

l  5장 컴포지션은 객체들이 결합돼서 함께 동작할 수 있도록 하는 방법을 알아본다.

 

l  6장 소스 파일 구성에서는 프로그램 소스를 만들기 위한 실제 전략을 알아본다.

 

l  7 Xcode에 대하여에서는 여러분이 프로그래밍할 때 도움이 되는 몇 가지 팁과 Xcode에 능숙해지기 위한 방법을 보여준다.

 

l  8 Foundation Kit 소개는 코코아의 주요 프레임워크 중 하나인 Foundation Kit을 사용해 코코아의 특징을 알아본다.

 

l  9장 메모리 관리와 ARC에서는 코코아 애플리케이션을 만들 때 많은 시간을 보내게 되는 메모리 관리를 설명한다.

 

l  10장 객체 초기화에서는 객체가 만들어질 때 어떠한 일이 일어나는지를 살펴본다.

 

l  11장 프로퍼티에서는 오브젝티브-C에서 사용하는 점(.) 표기법의 비밀을 알아보고 객체 접근자를 쉽게 만드는 방법을 살펴본다.

 

l  12장 카테고리에서는 이미 존재하고 있는 클래스(여러분이 작성하지 않은 클래스일지라도)에 새로운 메소드를 추가할 수 있는 오브젝티브-C의 특별한 능력을 설명한다.

 

l  13장 프로토콜에서는 클래스를 구현하는 데 필요한 내용을 알려주도록 하는 오브젝티브-C에서 사용하는 상속의 한 형태에 대해 설명한다.

 

l  14장 블록과 동시성에서는 데이터와 코드로 구성되는 블록으로 함수의 기능을 향상시키는 새로운 오브젝티브-C 기능을 알아본다.

 

l  15 UIKit 소개에서는 iOS의 핵심 프레임워크인 UIKit을 사용해 멋진 애플리케이션을 개발하는 방법을 알아본다.

 

l  16 AppKit소개에서는 OS X 애플리케이션을 위한 기본 프레임워크를 소개한다는 것을 제외하고 15장과 비슷하다.

 

l  17장 파일 불러오기와 저장하기에서는 데이터를 저장하고 가져오는 방법을 알아본다.

 

l  18장 키-밸류 코딩은 데이터를 간접적으로 다루는 방법을 알아본다.

 

l  19장 정적 분석기에서는 프로그래머들의 실수를 찾아내는 강력한 Xcode의 툴인 정적 분석기를 사용하는 방법을 살펴본다.

 

l  20 NSPredicate에서는 데이터를 어떻게 자르는지 알아본다.

 

 

 

출판사 리뷰

 

 

오브젝티브-C C언어의 수퍼셋(superset)으로 맥 OS X iOS가 사용하는 룩앤필(Look & Feel, 겉모양)을 갖는 다양한 애플리케이션에 사용되는 언어다.

 

이 책은 오브젝티브-C 언어의 기본기를 다지기 위한 책으로, 오브젝티브-C뿐만 아니라 애플의 코코아(OS X)와 코코아 터치(iOS) 툴킷(Cocoa& Cocoa Touch Toolkits)에 대해 알려준다. 코코아와 코코아 터치는 오브젝티브-C로 만들어졌고 OS X iOS 사용자 인터페이스에 대한 모든 요소를 포함하고 있다. 일단 오브젝티브-C를 배우고 나면 이제 코코아로 구성된 프로젝트를 만들 수 있는 준비가 됐다고 볼 수 있다.

 

C가 아닌 다른 언어에 대한 경험을 가지고 있는 경우라도, 이 책을 통해 무리 없이 오브젝티브-C를 배울 수는 있을 것이다. 그러나 C언어의 경험이 없다면 이 책의 부록다른 언어에서 오브젝티브-C부분을 살펴보거나 C언어 기초 도서를 읽어보는 것도 이 책을 학습하는 데 도움이 될 것이다.

신고
Trackback 1 | Comments 2

 

 

 

고급 개발자를 위한 iOS 프로그래밍

 

: 그 한계를 넘어서

 

저자: 롭 네이피어, 무건스 쿠마

역자: 황반석

출판사: 비제이퍼블릭

출간일: 2012827()

정가: 30,000

페이지: 517p

판형: 190 x 245

ISBN: 978-89-94774-19-0 (93560)

원서정보: iOS 5 Programming: Pushing the Limits

관련분류:

- 컴퓨터와 인터넷 > IT 전문서 > 모바일 프로그래밍 > 아이폰

- 컴퓨터와 인터넷 > IT 전문서 > 모바일 프로그래밍 > 모바일 게임

- 컴퓨터/IT > 네트워크/보안 > 모바일프로그래밍

 

 

책 소개

 

아이폰, 아이패드, 아이팟 터치을 위한, 한계를 넘어서는 고급 애플리케

 

이션 개발

 

이 책은 아이패드, 아이폰 그리고 아이팟 터치를 위한 고급 앱 개발에 대한 종합적인 안내서다. 이 책의 저자이자 베테랑 모바일 개발자인 롭 네이피어와 무건스 쿠마르는 다른 iOS 개발서에서 다루지 않는 고급 주제들을 이 책에서 다루고 있다. 코어 파운데이션 API에 대한 상세 내용부터 Grand Central Dispatch를 이용한 속도와 성능을 최대화하는 것과 UI 흐름을 스토리보드로 구성하는 것까지, 여러분이 재미있고 완벽한 기능을 가진 고성능의 애플리케이션들을 만드는 데 필요한 모든 사항들을 하나씩 단계적으로 안내한다.

 

그저 그런 앱에 안주하지 말고, 이 책을 통해 특별하고 훌륭한, 한계를 넘어서는 모바일 앱을 개발해보자!

 

이 책에서 다루는 내용

 

l  오브젝티브-C 런타임과 상호작용하기

l  코어 텍스트를 이용한 고급 텍스트 레이아웃 이용하기

l  런타임 시 객체에 대해 살펴보고 클래스를 수정하기

l  재사용할 수 있는 복잡한 테이블 뷰 레이아웃 생성하기

l  멀티태스킹 제어하기

l  함수형 프로그래밍을 구현하기 위해 블록 사용하기

l  멀티 플랫폼에서 실행하기

l  모든 RESTful 웹 서비스들에 대해 최고의 성능을 내는 앱 만들기

l  보안 서비스 최적화하기

l  네트워크 연결이 불규칙한 지역을 위한 초고속 캐싱 구현하기

l  놀랄만한 애니메이션 만들기

l  In-App Purchases 최적화하기

 

소스 코드

예제를 따라 책을 읽으면 모든 코드를 직접 입력하는 방법과 제공하는 소스 코드를 이용하는 방법

이 있다. 이 책에서 사용된 모든 소스 코드는 www.wrox.com/go/ptl/ios5programming에서 내려 받을 수 있다(옮긴이의 카페인 cafe.naver.com/petersbook에서도 내려 받을 수 있다).

 

독자대상

중고급

 

 

저자소개

 

롭 네이피어 (Rob Napier)

 

나무 집을 만들기가 취미이며 하이킹을 즐긴다. 그는 2005년부터 맥 관련 개발을 해왔으며, 아이폰 SDK가 처음 나왔을 때부터 아이폰 개발을 했고 더 데일리(The Daily)와 판도라보이(PandoraBoy), 그리고 시스코 모바일(Cisco Mobile) 같은 제품들을 개발하였다. 또한 스택 오버플로우(Stack Overflow)에 많은 기여를 했으며, Cocoaphony라는 블로그(www.cocoaphony.com)를 운영하고 있다.

 

무건스 쿠마 (Mugunth Kumar)

 

싱가포르에 있는 개인 개발자다. 그는 2009년에 대학을 졸업하고, 싱가포르에 있는 난양 기술 대학(Nanyang Technological University)에서 정보 시스템을 전공으로 석사 과정에 있다. 그는 블로그(blog.mugunthkumar.com)에 모바일 개발과 소프트웨어 사용성, 그리고 iOS 관련 튜토리얼을 올리고 있다. iOS 개발을 하기 전에는 윈도우즈와 닷넷 플랫폼에 대한 컨설턴트로 포춘이 선정하는 상위 500대 기업인 GE와 허니웰(Honeywell)에서 일을 했다. 그의 관심 분야는 프로그래밍 방법론(객체 지향 방법과 함수형 방법)과 모바일 개발, 그리고 사용성 공학이다. 만약에 그가 개발자가 되지 않았다면 아마도 이국적인 어느 곳에서 대자연의 멋진 사진을 찍고 있었을지도 모른다.

 

 

역자소개

 

황반석

 

한양대학교에서 컴퓨터 공학을 전공한 후 한결같이 개발자의 길을 걷고 있다. 현재는 ‘트렌디앱’(http://www.trendyapp.co.kr) 회사의 공동창업자이자 COO로 폭넓은 모바일 세계를 개척하고 펼치겠다는 푸른 꿈을 꾸고 있다. 옮긴 책으로는 《핵심만 골라 배우는 오브젝티브-C 2.0(2011, 제이펍), 《렛츠 고! iOS 4 애플리케이션 개발》(2011, 제이펍), 《입문자를 위한 아이폰 게임 개발》(2011, 제이펍), 《맥과 아이폰 개발자를 위한 Xcode(2010, 제이펍)가 있다.

 

 

목차

 

Part 1 새로워진 것들

 

Chapter 1 완전히 새로운 것

iOS의 역사

새로운 것들

요약

참고 자료

 

Chapter 2 Xcode 4와 친해지기

새로운 사용자 인터페이스 배우기

All in One 윈도

내비게이터 살펴보기

보조 편집기의 도움

통합된 인터페이스 빌더

LLVM 컴파일러 3.0: 두뇌의 집합소

Git: 소스 코드의 버전이 있는 곳

스킴

빌드 설정에 주석을 달 수 있어요

Xcode 4 오거나이저

요약

참고 자료

 

Part 2 자주 사용하는 도구 최대한 활용하기

 

Chapter 3 일반적인 오브젝티브-C

명명 규칙

Automatic Reference Counting

프로퍼티

접근자

카테고리와 확장

공식적인 프로토콜과 비공식적인 프로토콜

요약

참고 자료

 

Chapter 4 느슨하게 유지하기: 코코아 디자인 패턴

Model-View-Controller 이해하기

델리게이트와 데이터 소스 이해하기

커맨드 패턴으로 작업하기

옵서버 패턴으로 작업하기

싱글턴 패턴으로 작업하기

요약

참고 자료

 

Chapter 5 테이블 뷰, 바르게 이해하기

UITableView 클래스 계층 구조

테이블 뷰 이해하기

스토리보드

스토리보드 시작하기

UIAppearance 프로토콜을 이용하여 뷰를 커스터마이징 하기

요약

참고 자료

 

Chapter 6 향상된 드로잉

iOS의 수많은 드로잉 시스템

UIKit과 뷰 드로잉 주기

뷰 드로잉 대 뷰 레이아웃

커스텀 뷰 드로잉

UIView 드로잉 최적화하기

CGLayer

요약

참고 자료

 

Chapter 7 양파 같은 레이어: 코어 애니메이션

뷰 애니메이션

사용자 인터랙션 관리하기

레이어를 가지고 그리기

움직이기

3차원으로 가기

레이어 꾸미기

액션으로 자동 애니메이션 하기

커스텀 프로퍼티를 애니메이션 하기

코어 애니메이션과 스레드

요약

참고 자료

 

Chapter 8 짜증나는 에러에 태클 걸기

에러 처리 패턴

어서션

예외

충돌 캐칭과 리포팅

에러와 NSError

로그

요약

참고 자료

 

Part 3 작업에 적합한 도구

 

Chapter 9 멀티태스킹 제어하기

백그라운드 작업을 위한 모범사례: 큰 권한에는 그만큼의 책임이 따른다

런 루프 이해하기

스레드

오퍼레이션 중심의 멀티태스킹 개발하기

Grand Central Dispatch로 멀티태스킹 하기

요약

참고 자료

 

Chapter 10 지친 사람들을 위한 REST

REST 원리

데이터 교환 형식 결정하기

가상의 웹 서비스

기억해야 할 중요한 것들

RESTEngine 아키텍처(iHotelApp 샘플 코드)

요약

참고 자료

 

Chapter 11 보안 서비스로 위기에 대비하기

iOS 샌드박스 이해하기

네트워크 통신 보호하기

파일 보호 도입하기

키체인 이용하기

암호화 사용하기

요약

참고 자료

 

Chapter 12 여러 플랫폼과 기기에서 실행하기

멀티 플랫폼용으로 개발하기

디바이스 기능 감지하기

앱 내 이메일과 문자 메시지

멀티태스킹 확인하기

UIRequiredDeviceCapablities

요약

참고 자료

 

Chapter 13 국제화와 지역화

지역화란 무엇인가?

문자열 지역화하기

지역화되지 않은 문자열 감시하기

숫자와 날짜 형식화하기

Nib 파일 지역화하기

요약

참고 자료

 

Chapter 14 앱 내 결제로 판매하기

시작하기 전에

앱 내 결제 제품

아이튠즈 커넥트에서 앱 설정하기

앱 내 결제 구현하기

MKStoreKit 소개

결제 만들기

여러분의 앱 내 결제 테스트하기

문제 해결

요약

참고 자료

 

Part 4 한계 밀어내기

 

Chapter 15 코코아 최고의 기술: -값 감시

-값 코딩

-값 감시

KVO의 장단점

요약

참고 자료

 

Chapter 16 다르게 생각하기: 블록과 함수형 프로그래밍

블록이 무엇인가?

블록 선언하기

블록 구현하기

블록과 동시성

블록 기반의 코코아 메소드

지원되는 플랫폼

요약

참고 자료

 

Chapter 17 오프라인에서 실행하기

오프라인에서 실행하는 이유

캐싱에 대한 전략

AppCache 아키텍처

캐시 버전관리

인메모리 캐시 만들기

이미지 캐싱 하기

iCloud 사용하기

요약

참고 자료

 

Chapter 18 화려한 텍스트 레이아웃

일반적인 것: 필드, , 레이블

서식 있는 텍스트를 위한 웹 뷰

코어 텍스트

서식 있는 텍스트 비교

서드파티 방법

요약

참고 자료

 

Chapter 19 코어 파운데이션 구축하기

코어 파운데이션 타입

명명법과 메모리 관리

할당자

인트로스펙션

문자열과 데이터

컬렉션

Toll-free Bridging

요약

참고 자료

 

Chapter 20 오브젝티브-C 심화학습

클래스와 객체 이해하기

메소드와 프로퍼티로 작업하기

메시지 전달이 실제로 동작하는 방법

메소드 섞기

ISA 섞기

메소드 섞기 대 ISA 섞기

요약

참고 자료

 

 

출판사 리뷰

 

이 책의 원서는 iOS 5를 기반으로 쓰여졌다. 하지만 번역 작업이 모두 끝나자마자 애플은 iOS 6에 관하여 발표했으며 iOS 6 Beta가 개발자들에게 배포되었다. 이는 출판사나 번역자에게 너무나 당황스럽고 안타까운 일이다. 하지만 다행인 것은 이 책의 내용이 iOS 5 이상부터 적용되는 기술과 내용이며, 버전에 대해 걱정하지 않고도 읽을 수 있다는 점을 분명히 말해둔다.

 

누구를 위한 책인가?

 

이 책은 입문서가 아니다. 오브젝티브-C와 인터페이스 빌더를 가지고 하나하나 가르쳐주는 책은 이미 많이 있다. 이 책은 그런 책이 아니다. 이 책은 여러분이 독학했거나 관련 수업을 받아서 iOS에 관한 경험이 어느 정도 있다고 가정한다. 앱스토어에 앱을 출시하지 않았더라도 최소한 애플리케이션 하나를 만들어 본 경험이 있었으면 좋겠다. 여러분이 기초적인 단계를 넘어 실제적인 연습과 저자들이 실제 애플리케이션을 만들면서 습득한 비밀을 배울 준비가 되었다면 바로 여러분을 위한 책이 될 것이다.

 

또한 어떤 기능을 구현하는 것을 모아둔 책이 아니다. 예제를 충분하게 제시지만, 훌륭한 iOS 앱을 어떻게 설계하고 코딩 하는지, 어떻게 유지 보수하는지를 배우는 데 초점을 둔다. 이 책의 대부분은 단순히 어떻게 하는지보다는 그 이유와 원리에 관한 내용이어서, 코딩과 새로운 프레임워크에 대한 디자인 패턴과 재사용할 수 있는 코드를 작성하는 방법을 많이 배울 것이다. 모든 예제는 Xcode 4를 이용하였다. 여러분이 Xcode 4에 익숙하지 않아도 걱정하지 말자. 2장에서 빠르게 배울 것이다.

 

무엇을 다루나?

 

iOS 플랫폼은 항상 빠르게 변화하고 이 책 또한 그렇다. 대부분의 예제는 iOS 5가 필요하며, 모든 예제는 ARC를 사용한다. 일부를 제외하고는 이전 버전과의 호환성은 다루지 않는다. 여러분이 이전 버전과의 호환성이 필요한 코드를 작성해 봤다면 그 방법을 알 것이다. 이 책은 이용 가능한 최상의 기능을 사용하여 최고의 애플리케이션을 만드는 방법을 이야기한다. 이 책은 아이폰 4와 아이패드 2를 대상으로 한다. 대부분의 주제는 이전 아이패드와 아이팟 터치, 아이폰 3GS, 애플 TV에도 적용된다. 원고를 쓰는 지금 아이폰 5와 아이패드 3는 출시되지 않았지만 여기서 다루는 주제는 거기에도 동일하게 적용된다. 12장에서는 플랫폼 사이의 차이점을 다루는 방법을 다룬다.

 

책의 구성

 

iOSUIKit과 같은 수준 높은 프레임워크부터 코어 텍스트(Core Text)처럼 매우 낮은 수준의 도구까지 풍부한 도구를 가지고 있으며, 어떠한 기능을 구현하는 방법이 여러 가지일 때도 있다. 그렇다면 개발자로서 적합한 도구를 고르는 방법은 무엇일까? 이 책은 여러분이 각각의 문제에서 올바른 해결책을 선택할 수 있게 특별한 목적의 기능과 일반적인 기능을 구분한다. 여러분은 각각의 프레임워크가 존재하는 이유, 프레임워크들이 서로 어떤 관계인지, 언제 다른 프레임워크를 선택해야 하는지를 배우게 된다. 다음에는 유형별 문제를 해결하기 위하여 각각의 프레임워크를 최대한 활용하는 방법을 배운다. 이 책은 가장 일반적인 도구부터 가장 강력한 도구를 다루기 위하여 네 개 파트로 구성했다.

 

파트 I: 새로워진 것들

 

여러분이 iOS 4에 익숙하다면 이 파트에서 iOS 5의 새로운 기능을 간단하게 설명한다.

 

파트 II: 자주 사용하는 도구 최대한 활용하기

 

iOS 개발자인 여러분은 알림(notification)부터 테이블 뷰와 애니메이션 레이어까지 일반적인 도구의 다양한 형태를 접해왔다. 그런데 그러한 도구의 기능을 최대한 활용하고 있는가? 이 파트에서는 노련한 개발자들로부터 코코아 개발의 모범 사례를 배운다.

 

파트 III: 작업에 적합한 도구

 

모든 애플리케이션에는 어떤 도구가 포함되며, 그중에는 자주 필요한 도구도 포함된다. 이 파트에서는 좀 더 전문적인 도구와 기술을 배운다.

 

파트 IV: 한계 밀어내기

 

모든 애플리케이션에는 어떤 도구가 포함되며, 그중에는 자주 필요한 도구도 포함된다. 이 파트에서는 좀 더 전문적인 도구와 기술을 배운다.

 

특정 주제에 관심 있으면 그 내용으로 건너뛰어도 좋다. 코어 파운데이션 데이터 객체(특히 코어 그래픽, 코어 애니메이션, 코어 텍스트)를 필요로 하는 장을 제외하면 각 장의 내용은 독립적이다. 코어 파운데이션 데이터 객체에 관한 정보가 필요하면 19장 ‘코어 파운데이션 구축하기’로 이동하자.

 

 

신고
Trackback 0 | Comment 0



iOS, 날개를 달다
:
아론 힐리가스의 아이폰/아이패드 프로그래밍


저자
아론 힐리가스, 조 콘웨이

역자 최윤선, 백선덕

출간예정일 2012110()

정가 35,000

페이지 640p

판형 190 x 245

ISBN 978-89-94774-08-4 (93560)

원서정보 iOS Programming: The Big Nerd Ranch Guide 2/e


샘플 챕터 1장 다운로드

 

책 소개
아론 힐리가스의 아이폰/아이패드 프로그래밍

 

이 책은 종종 여러분이 이해하기도 전에 코드를 먼저 입력하라고 한다. 아마도 자신이 잘 알지도 못하는 코드를 입력만 하는 잘 훈련된 원숭이가 된 것처럼 느낄 수도 있다. 하지만 코딩을 배우는 가장 좋은 방법은 잘못된 부분을 찾아 고치는 것이다. 이런 기본적인 디버깅 과정에서 복잡한 코드를 제대로 이해하게 된다. 그런 이유로 코드를 직접 입력하기를 권유한다. 단순히 코드를 내려 받을 수도 있지만, 복사해서 붙여 넣는 것은 프로그래밍이 아니다. 우리는 여러분이 이 책을 통해 더 잘 배우길 바란다.

독자 여러분에게 왜 이런 이야기를 하는 걸까? 이런 방식은 신뢰가 필요하기 때문이다. 그리고 우리를 믿고 따르길 바라기 때문이다. 이런 방식에는 인내심도 요구된다.

이 책의 각 장을 진행하면서 어떤 일들이 일어나고 있는지 설명하며 여러분이 편안하게 느끼도록 노력할 것이다. 하지만 때로는 우리를 믿고 따라와야 할 때도 있다. 당장 이해되지 않는 개념이 나왔다고 낙담할 필요는 없다. 일부러 모든 지식을 한 번에 전달하지 않는다는 것을 기억하라. 어떤 개념이 당장 명확하게 이해되지 않더라도 뒷부분에서 필요할 때 자세히 다룰 것이다. 시작할 때는 명확하지 않았던 개념들이 처음으로 구현한 순간 갑자기 이해되는 경험을 하게 될 것이다.

아론 힐리가스, 조 콘웨이

 

iOS, 날개를 달다》는 iOS, Xcode iPad 개발을 아우르는 내용으로 업데이트되고 확장되어 iOS 앱을 개발하기 위한 필수적인 도구와 기법을 안내한다.

 

책은 Big Nerd Ranch에서 저자들의 인기 있는 강의 프로그램인 iOS 부트캠프 코스와 검증된 강의 방법에 기초를 두고 있다. 개념과 코딩을 함께 다루어 유용한 가르침이 될 것이다.

 

책을 마친 후 여러분은 iOS 프로젝트를 다루기 위해 필요한 지식, 경험 그리고 자신감을 갖게 것이다.

 

 

이 책에서 다루는 내용

Xcode 4,
인스트루먼트 디버거

아이폰과 아이패드 모두를 위한 유니버설

멀티-터치, 모션 이벤트 가속센서 데이터 접근하기

툴바, 네비게이션 컨트롤러 스플릿 컨트롤러

코어 로케이션 국제화

레퍼런스 카운팅, 리테인 카운트 메모리 관리

오브젝티브-C 블록 카테고리

음악과 비디오 플레이하기

백그라운드 실행과 멀티 태스킹

데이터 저장하기/불러오기: 아카이빙과 코어 데이터

푸시 노티피케이션

서비스와 통신하기

Bonjour NSStream 사용하는 네트워크 프로그래밍

 

 

iOS 개발자가 되려면 세 가지 기본 문제를 해결해야 한다


■ 오브젝티브
-C 언어를 배워야 한다.
오브젝티브-CC 언어를 약간 확장한 간결한 언어다. 이 책 앞부분의 네 개 장을 본 후에는 오브젝티브-C의 실무 지식을 갖추게 되므로 너무 걱정하지 않아도 된다.

 

■ 몇 가지 중요한 개념을 정확히 이해해야 한다. 메모리 관리 기법, 델리게이트, 데이터 저장, 뷰 컨트롤러의 사용법 등이 이에 해당한다. 이런 중요한 개념들을 이해하는 데는 시간이 좀 걸리지만, 이 책의 중간까지 읽은 후에는 잘 이해할 수 있게 될 것이다.

 

■ 프레임워크를 정복해야 한다. 최종 목표는 iOS의 모든 프레임워크에 있는 모든 클래스와 모든 메소드의 사용법을 아는 것이다. 이는 평생 걸릴 프로젝트다. iOS에는 3000여 개의 메소드와 200여 개의 클래스가 있다. 더욱 어려운 것은 애플이 새로운 iOS 버전마다 새 클래스와 새 메소드를 추가한다는 것이다. 이 책에서는 iOS SDK를 구성하는 각각의 하위 시스템을 배우지만 모든 하위 시스템을 깊이 다루지는 않을 것이다. 우리의 목표는 여러분을 애플의 참고문서를 검색하고 이해할 수 있는 위치까지 이끄는 것이다.

 

이 책의 내용은 Big Nerd RanchiOS 개발 교육을 위한 부트캠프에서 여러 차례 사용되어 왔다. 이 책의 내용은 충분히 검증되었으며, 수백 명 이상이 iOS 앱 개발자가 될 수 있도록 도와주었다. 이 책이 여러분에게도 도움이 되기를 진심으로 바란다.


독자대상

초중급자용  

 

저자소개


아론
힐리가스

NeXT 애플에서 일했으며 Big Nerd Ranch iOS 프로그래밍 클래스를 가르치고 있다. NeXT에서는 OpenStep 대한 코스와 오늘날의 코코아(Cocoa) 도구의 전신을 작성했다. 책은 Big Nerd Ranch 코스에 기초하고 있으며 OpenStep 코코아에 관한 거의 20년간의 작업으로부터 영향을 받았다.

 

콘웨이

Big Nerd Ranch iOS 시니어 강사로 처음부터 iOS 플랫폼에 대한 컨설팅을 해왔다. 위스콘신 대학교를 졸업했고 OS X 이후부터 오브젝티브-C 코코아 코드를 작성해왔다. 조는 아주 인기가 많은 Big Nerd RanchiOS 부트캠프의 교재를 작성했고, 책 또한 그의 교재에 기초하고 있다.

 

역자소개


최윤선

한양대학교 전자계산학과 학사 학위를 받았으며 LG 소프트, 드림라인, 네오위즈를 거쳐서 11년간 줄곧 인터넷분야에서 프로그래머로서 일해왔다. 현재는 iOS 프로그래밍에 몰두하고 있다.

백선덕
한양대학교와 포항공과대학에서 산업공학과 학사와 석사 학위를 받았으며 한국오라클, 호주 오라클을 거쳐서 13년간 소프트웨어 분야에서 일해왔다. 현재는 호주 현지회사에서 소프트웨어 엔지니어로 근무중이다.

 

  

목차

 

Chapter 01 간단한 iOS

Xcode 프로젝트 만들기

인터페이스 만들기

모델--컨트롤러

선언

커넥션 만들기

메소드 구현하기  43

빌드하고 시뮬레이터에서 실행하기

앱 배포하기

앱 아이콘

런치 이미지

 

Chapter 02 오브젝티브-C

객체

인스턴스 사용하기

RandomPossessions 툴 작성하기

오브젝티브-C 클래스의 하위 클래스 만들기

예외와 콘솔 윈도우

고속 열거형

도전 과제

 

Chapter 03 메모리 관리

메모리 관리의 기본

레퍼런스 카운팅

좀 더 흥미 있는 분을 위해: 더 심화된 메모리 관리

 

Chapter 04 델리게이션과 코어 로케이션

프로젝트, 타깃, 프레임워크

코어 로케이션

델리게이션

디버거 사용하기

도전 과제: 헤딩

좀 더 흥미 있는 분을 위해: 빌드 페이스, 컴파일러 에러, 링커 에러

 

Chapter 05 맵킷과 텍스트 입력

객체 다이어그램

맵킷 프레임워크

인터페이스 프로퍼티

MapView 델리게이트 되기

도전 과제: 어노테이션 확장

도전 과제: 역지오코딩(Reverse Geocoding)

 

Chapter 06 UIView 하위 클래스 만들기

커스텀 뷰 만들기

텍스트와 그림자 그리기

UIScrollView 사용하기

확대하기

상태 바 가리기

도전 과제: 색깔

좀 더 흥미 있는 분을 위해: 리테인 사이클

좀 더 흥미 있는 분을 위해: 뷰 다시 그리기

 

Chapter 07 뷰 컨트롤

뷰 컨트롤러와 XIB 파일

뷰 컨트롤러 사용하기

나타났다 사라지는 뷰

뷰 컨트롤러 수명 주기와 로우-메모리 경고

뷰 컨트롤러의 하위 클래스와 템플릿

도전 과제: 맵 탭

 

Chapter 08 가속센서

가속센서 설정하기

가속센서 데이터 구하기

가속도의 위치와 크기

가속센서 데이터 사용하기

가속센서 데이터 다듬기

흔들기 제스처 감지하기

도전 과제: 색 바꾸기

좀 더 흥미 있는 분을 위해: 필터링과 주파수

좀 더 흥미 있는 분을 위해: 레티나 디스플레이

 

Chapter 09 노티피케이션과 회전

노티피케이션 센터

UIDevice 노티피케이션

자동회전

가로 모드 강제설정하기

도전 과제: 근접 노티피케이션

좀 더 흥미 있는 분을 위해: 자동회전을 오버라이드하기

 

Chapter 10 UITableView UITableViewController

Homepwner 앱 시작하기

UITableViewController

UITableView의 데이터 소스

UITableViewCells

코드 스니펫 라이브러리

도전 과제: 섹션

 

Chapter 11 UITableView 편집하기

편집 모드

행 추가하기

행 삭제하기

행 이동하기

 

Chapter 12 UINavigationController

UINavigationController

추가적인 UIViewController

UINavigationController로 내비게이트하기

도전 과제: 숫자 패드

 

Chapter 13 카메라

이미지 보여주기와 UIImageView

도전 과제: 이미지 삭제하기

좀 더 흥미 있는 분을 위해: 비디오 녹화하기

 

Chapter 14 UIPopoverController와 모달 뷰 컨트롤러

Homepwner 유니버설로 만들기

UIPopoverController

모달 뷰 컨트롤러

 

Chapter 15 저장, 읽기, 멀티태스킹

앱 샌드박스

파일 경로 구성하기

아카이빙

앱 상태, 변환, 멀티태스킹

NSData를 파일시스템에 쓰기

로우-메모리 경고에 대해

모델--컨트롤러-스토어 디자인 패턴

도전 과제: Whereami 아카이브하기

좀 더 흥미 있는 분을 위해: 앱 상태 변환

좀 더 흥미 있는 분을 위해: 파일시스템에 읽고 쓰기

좀 더 흥미 있는 분을 위해: 앱 번들

 

Chapter 16 UITableViewCell의 하위 클래스 만들기

HomepwnerItemCell 생성하기

이미지 조작

도전 과제: 액세서리 인디케이터

도전 과제: 메인 이미지 줄이기

 

Chapter 17 코어 데이터

객체-관계 매핑

Homepwner를 코어 데이터로 이동하기

SQL에 대해 좀 더 알아보기

영구적 메커니즘의 장단점

도전 과제: 새로운 Asset 타입

도전 과제: 아이패드에서의 Asset

 

Chapter 18 현지화

NSLocale을 이용해 현지화하기

리소스 현지화하기

NSLocalizedString과 문자열 테이블

도전 과제: 또 다른 현지화

좀 더 흥미 있는 분을 위해: 국제화에서 NSBundle의 역할

 

Chapter 19 설정

Whereami 갱신하기

NSUserDefaults

좀 더 흥미 있는 분을 위해: 설정 앱

 

Chapter 20 터치 이벤트와 UIResponder

터치 이벤트

TouchTracker 앱 만들기

터치를 라인으로 바꾸기

응답자 체인

도전 과제: 저장하기와 로딩하기

도전 과제:

좀 더 흥미 있는 분을 위해: UIControl

 

Chapter 21 인스트루먼트

정적 분석기

인스트루먼트

Xcode 스킴

빌드 세팅

 

Chapter 22 코어 애니메이션 레이어

레이어와 뷰

CALayer 생성하기

레이어 컨텐트

암시적 애니메이션이 가능한 프로퍼티

좀 더 흥미 있는 분을 위해: 프로그램 코드로 컨텐트 만들어내기

좀 더 흥미 있는 분을 위해: 레이어, 비트맵, 컨텍스트

도전 과제: 동적 레이어 컨텐트

 

Chapter 23 CAAnimation으로 애니메이션 제어하기

애니메이션 객체

CABasicAnimation으로 회전하기

CAKeyframeAnimation으로 바운스하기

도전 과제: 추가 애니메이션

좀 더 흥미 있는 분을 위해: 프레젠테이션 레이어와 모델 레이어

 

Chapter 24 블록과 카테고리

TouchDrawView에 색 입히기

블록

카테고리

좀 더 흥미 있는 분을 위해: 메모리 관리와 블록

좀 더 흥미 있는 분을 위해: 콜백 옵션의 장단점

 

Chapter 25 웹 서비스와 UIWebView

웹 서비스

UIWebView

좀 더 흥미 있는 분을 위해: NSXMLParser

좀 더 흥미 있는 분을 위해: The Request Body

좀 더 흥미 있는 분을 위해: Credentials

도전 과제: 좀 더 많은 데이터

도전 과제: UIWebView 더 다루기

 

Chapter 26 UISplitViewController

Nerdfeed 분할하기

마스터-디테일 커뮤니케이션

세로 모드에서 마스터 뷰 컨트롤러 보여주기

Nerdfeed 앱을 유니버설하게 만들기

 

Chapter 27 미디어 재생과 백그라운드 실행

미디어플레이어 앱 만들기

시스템 사운드

시스템 사운드 등록하기

시스템 사운드 재생하기

압축된 오디오 파일

무비 파일 재생하기

백그라운드 프로세스

로우-레벨 API

도전 과제: 오디오 레코딩

 

Chapter 28 봉쥬르와 웹 서버

봉쥬르

HTTP 통신

좀 더 흥미 있는 분을 위해: TXTRecords

 

Chapter 29 푸시 노티피케이션과 네트워킹

푸시 노티피케이션을 위해 클라이언트 준비시키기

푸시 노티피케이션 전달하기

푸시 노티피케이션 보내기

클라이언트에서의 추가적 노티피케이션 처리

프로덕션 서버 및 향후의 할 일

좀 더 흥미 있는 분을 위해: 피드백 서비스

 

Chapter 30 후기

다음으로 할 일

자화자찬

 

 

이 책의 사용법

이 책은 우리가 빅 너드 랜치
(
Big Nerd Ranch: 필자들이 운영하는 교육 프로그램)에서 가르치는 수업에 기본을 두고 있으며 우리의 수업방법에 맞게 만들어졌다.

 

 “난 매일 한 장씩 공부할 거야.”와 같은 실현 가능한 목표를 세워라. 한 장을 공략하려 할 때 적어도 한 시간은 방해 받지 않을 조용한 장소를 찾아가라. 이메일, 트위터 프로그램, 채팅 프로그램을 모두 꺼라. 멀티태스킹보다는 집중이 필요하다.

 

실제로 프로그래밍을 해라. 먼저 한 장을 전부 읽어도 된다. 하지만 직접 코딩을 해야 비로소 진정으로 자기 것이 된다. 프로그램을 작성해봐야, 더 중요하게는 디버깅을 해 봐야 진정으로 개념을 이해할 수 있다.

 

몇몇 연습문제는 보조적인 파일을 필요로 한다. 예를 들어 첫 번째 장에서는 퀴즈 앱을 위한 아이콘이 필요하다. 리소스와 솔루션은 다음 웹 사이트에서 내려받을 수 있다:

 
-  http://www.bignerdranch.com/solutions/iOSProgramming.zip

 

배우는 방법에는 두 가지가 있다. 남북전쟁에 대해 배울 때는 여러분이 이미 이해한 것에 구체적인 사실들만 더해가면 된다. 우리는 이것을 “이지 러닝(Easy Learning)”이라 한다. 그렇다. 남북전쟁에 대해 배우는 것은 시간이 오래 걸릴 수는 있지만 당황할 필요 없이 차근히 하기만 하면 누구나 할 수 있다.

 

그러나 iOS 프로그래밍은 “하드 러닝(Hard Learning)”이다. 아마 처음 며칠은 상당히 혼란스러울 것이다. 이 책을 쓰면서 여러분의 학습곡선을 완만하게 하려고 노력했다. 여러분이 좀 더 쉽게 배울 수 있는 두 가지 방법은 다음과 같다:

 

이미 iOS 애플리케이션을 만드는 방법을 알고 있으며 당신의 질문에 답해 줄 사람을 찾아라. 특히 첫 앱을 디바이스에 올릴 때에는 경험자의 도움이 없다면 절망적인 상황에 빠질 수도 있다.

 

잠을 충분히 잔다. 잠이 모자라면 뭘 배웠는지 기억하지 못한다.

 

 

이 책의 구성


이 책의 각 장은 다음과 같이 구성되어 있다
. 먼저
iOS 개발에 대한 하나 이상의 개념을 가르치고 나서 실제로 프로그래밍을 하게 한다. 연습이 더 필요하다고 생각되면 각 장의 뒷부분에서 도전해볼 만한 주제를 소개한다. 최소한 몇 개는 도전해보길 권장한다. 이 주제들은 각 장에서 배운 개념을 더욱 공고하게 다져주며 iOS 프로그래밍에 자신감을 갖게 해준다. 마지막으로 각 장의 마지막에 나오는 “좀더 흥미 있는 분을 위해” 섹션에서는 앞에서 소개한 개념을 활용할 방법을 설명한다.

 

1에서는 어느 정도 쉬운 앱을 개발하고 디바이스에 설치하면서 iOS 프로그램을 배우게 된다. 프로젝트 및 파일을 생성하는 과정을 겪으면서 XcodeiOS 시뮬레이터를 충분히 경험하게 될 것이다.

 

23에서는 오브젝티브-C와 메모리 관리에 대한 개요를 배운다. iOS 앱을 만들지는 않지만 RandomPossessions라는 툴을 작성하고 디버깅할 것이다. (이 툴은 계속 사용될 것이며 10장에서 소개되는 Homepwner 앱에서는 이와 관련된 클래스를 사용하게 될 것이다.)

 

45에서는 코어 로케이션과 맵 킷 프레임워크를 배우고 Whereami라는 지도 앱을 만들 것이다. 델리게이션 디자인 패턴, 프로토콜, 프레임워크, 객체 다이어그램 및 애플 문서를 사용해 볼 것이다.

 

67에서는 HypnosisterHypnoTime 앱을 통해 iOS 유저 인터페이스에 초점을 맞출 것이다. 스크롤, 확대, 탭 바를 이용한 화면 간 이동과 함께 뷰와 뷰 컨트롤러를 사용해본다.

 

8에서는 가속센서를 다룬다. 흔들기 제스처를 포함한 동작 이벤트를 다루기 위해 가속센서에서 데이터를 가져오고, 필터링하고, 사용하는 법을 배운다. HypnoTime 앱에 새로운 기능을 추가하기

위해 가속센서의 데이터를 사용하게 된다.

 

9에서는 노티피케이션과 회전에 대해 배우면서 HeavyRotation이란 앱을 만든다. 또한 HeavyRotation을 아이패드 화면에도 잘 맞도록 하기 위해 오토리사이징을 사용할 것이다.

 

10에서는 이 책에서 가장 큰 애플케이션인 Homepwner를 소개한다(Homepwner”는 오타가 아니다. pwn”의 의미는 www.urbandictionary.com에서 찾을 수 있다). 이 앱은 화재나 재난에 대비해 여러분의 소지품 목록을 기록하고 보관한다. Homepwner는 총 아홉 개의 장을 통해 구현이 완료된다.

 

10, 11, 16에서 여러분은 정보 목록을 표시한다. 테이블 뷰, 뷰 컨트롤러, 데이터 소스에 관해 배운다. 데이터를 테이블에 표시하는 방법, 사용자가 테이블을 편집할 수 있게 만드는 방법, 인터페이스를 향상시키는 방법을 배운다.

 

12장에서는 7에서 배운 내비게이션에 대해 상세히 다룬다. UINavigationContoller를 사용하는 방법을 배우고 Homepwner에 좀 더 정교한 인터페이스와 네비게이션 바를 추가한다.

 

13에서는 카메라로 사진을 찍는 방법과 이미지를 Homepwner에서 표시하고 저장하는 방법을 배운다. NSDictionaryUIImagePickerController도 배울 것이다.

 

14에서는 아이패드를 위한 UIPopoverController와 모달 뷰 컨트롤러에 대해 배운다. 여기에서는 Homepwner를 아이폰과 아이패드 모두에서 자연스럽게 동작하는 앱으로 만든다.

 

15에서는 데이터를 저장하고 불러오는 방법에 대해 살펴본다. 특히 NSCoding 프로토콜을 사용해 Homepwner 앱에 데이터를 저장할 것이다. 또한 멀티태스킹과 액티브, 백그라운드, 일시 중지와 같이 앱 상태를 변환하는 방법을 보여준다.

 

17은 코어 데이터에 대한 도입부다. NSManagedObjectContext를 사용해 데이터를 저장하고 불러오도록 Homepwner 앱을 변경할 것이다.

 

18에서는 국제화(internationalization) 및 지역화(localization)의 개념과 기법을 소개할 것이다. Homepwner를 지역화하면서 NSLocale, 문자열 테이블, NSBundle에 대해 배울 것이다. 이 장에서 Homepwner 앱이 완성된다.

 

19에서는 사용자 설정을 저장하기 위해 NSUserDefaults를 사용하는 방법을 배운다.

 

20에서는 TouchTracker라는 그림 그리기 앱을 만든다. 멀티터치를 지원하는 방법과 터치 이벤트에 대해 배운다. 또한 최초 응답자와 응답자 체인의 개념을 접하게 될 것이다. NSDictionary도 더 연습하게 될 것이다.

 

21에서는 TouchTracker의 성능과 메모리 문제를 디버깅하면서 인스트루먼트에 대해 배운다. Xcode의 기능과 소스 코드 정적 분석기에 대해 다룰 것이다.

 

2223에서는 HypoTime 앱에 애니메이션을 구현하면서 레이어와 코어 애니메이션 프레임워크를 소개한다. 뷰 객체의 애니메이션 기능과 CABasicAnimation, CAKeyframeAnimation 같은 애니메이션 객체에 대해 배운다.

 

24에서는 오브젝티브-C의 중요한 두 개념인 블록과 카테고리를 다룬다.

 

25에서는 Nerdfeed 앱을 만들면서 웹 서비스의 세계로 나아간다. Nerdfeed 앱은 NSURLConnectionNSXMLParser를 사용해 서버로부터 RSS 피드를 가져와서 해석한다. 또한 UIWebView로 웹 페이지를 표시한다.

 

26에서는 UISplitViewController에 대해 배우고 아이패드의 큰 화면을 이용하기 위해 Nerdfeed 앱에 스플릿 뷰 UI를 추가한다.

 

27에서는 MediaPlayer 앱을 만들면서 오디오와 비디오를 재생하는 방법을 배운다. 또한 오디오 및 비디오 리소스를 저장하는 위치, 스트리밍 한계, 저수준의 오디오 API에 대해 배운다. MediaPlayer가 백그라운드 상태로 음악을 연주할 수 있게 하면서, 백그라운드 실행을 위한 지침에 대해서도 배운다.

 

28에서는 맥(Mac) 데스크톱을 위한 코코아 앱을 만든다. 네트워크에서 데스크톱 앱을 찾기 위해 봉쥬르(Bonjour)를 사용하는 iOS 앱도 만든다. 데스크톱 앱이 검색되면 HTTP를 이용해 통신한다.

 

29에서는 여러분의 iOS 디바이스로 푸시 노티피케이션을 보내도록 데스크톱 앱을 확장할 것이다.




신고
Trackbacks 2 | Comment 0


오늘 블렌더와 SIO2를 이용한 아이폰 3D 프로그래밍: 오픈소스로 3D 앱/게임 개발하기』 도서가 출간이 되서 전국의 대형/인터넷 서점으로 모두 배본이 되었습니다.

처음 아이폰 앱/게임 개발에 입문한 개발자의 입장에서 3D를 이용한 개발은 접근하기가 쉽지 않을 것입니다. 물론 이 책 한권으로 아이폰 3D 개발을 위한 모든 것을 배울 수는 없습니다.

저자는 "이 책을 성공적으로 공부하기 위한 가장 중요한 조건은 특정 시직보다는 배우고자 하는 자세"라고 말하고 있습니다. 이 책은 여러분이 학습방향을 잡도록 도와줄 것이며, 이 책을 따라가는 것이 아이폰 플랫폼에서의 3D 콘텐츠 개발에 필요한 지식들을 배우는 데 가장 빠르고 쉬운 길이라는 것을 깨닫게 될 것이라 믿습니다.


오픈소스 3D 게임엔진 SIO2에 대해서 더 자세히 살펴보려면 다음 링크를 참조하세요.
아이폰, 아이팟터치 그리고 아이패드를 위한 오픈소스 3D 게임 엔진 SIO2

3D 저작툴 블렌더(Blender)에 대해서 더 자세히 살펴보려면 다음 링크를 참조하세요.
3D 콘텐트 제작도구 블렌더(Blender)와 [블렌더 기초]

 




신고
Trackback 0 | Comment 0


 


오늘은 비제이퍼블릭의 7번째 번역서가 될 『블렌더와 ISO2를 이용한 아이폰 3D 프로그래밍: 오픈소스로 3D 앱 개발하기(가제)』를 소개해 드립니다. 이 도서는 오픈소스(즉, 무료) 3D 그래픽 편집 툴로 가장 널리 알려진 블렌더(Blender)와 무료이거나(SIO2interactive의 스플래시 화면 사용시) 또는 가장 저렴하면서도 상용프로그램 못지 않은 기능을 가지고 있으며, 제공되는 튜토리얼로 많은 학습이 가능한 아이폰 3D 게임 엔진인 SIO2를 사용하여 아이폰을 위한 인터랙티브 3D 앱 개발을 위한 방법을 내용으로 다루고 있습니다.

현재 번역서의 출간일은 8월 말 또는 9월 초가 될 것 같고, 앞으로 업데이트가 필요한 정보가 생길 때마다 블로그와 트위터(@bjpub)를 통해 계속 공지해 드리도록 하겠습니다.

일단, 도서의 뒤표지에 표기되어 있는 도서의 대략적인 내용을 옮겨 드립니다.

아이폰과 아이팟터치를 위한 여러분의 디자인/개발 능력을 한 단계 더 끌어올려보자. 여러분이 아이폰 개발자이든 아니면 창의적인 아티스트이든,  혁신적인 가이드는 블렌더, SIO2 게임엔진 그리고 아이폰 SDK를 이용하여 개발자와 아티스트의 세계를 이어주는 최상의 방법을 소개한다. 자신이 원하는 학습 속도에 맞춰 진행할 수 있는 독립적인 튜토리얼들을 통해 움직이는 3D 캐릭터, 게임환경 그리고 물리충돌에 대해 배울 것이다.

여러분은 이 책을 통해 블렌더의 WYSIWYG적 접근방법 및 Xcode 다른 아이폰 SDK 프로그래밍 도구의 유용한 정보를 알 수 있으며, 또한 물리 시뮬레이션과 더불어 강력하고 상호작용할  있는 3D & 게임을 만들기 위한 기술들을 습득할 수 있다.

- 아이폰을 위한 3D 개발과 아이폰 SDK 사용하는 방법을 살펴보자.
- 블렌더로 생성한 작품을 SIO2 게임엔진을 사용하여 상호작용 할 수 있도록 만들어 보자.
- 움직이는 객체에 현실성있는 효과를 주기 위한 조명을 다루는 방법을 알아보자.
- SIO2 땅과 하늘을 모델링하고 몰입형 3D 환경을 만들어보자.
- 2D 이미지를 3D 환경에 적용시키는 실용적인 방법인 빌보드(Billboard) 마스터하자.
- 캐릭터의 움직임을 안내하거나 조작하기 위한 보이지 않는 low-poly 충돌 맵을 만들어 보자.
- 고급 기능을 위한 블렌더의 물리시뮬레이션 라이브러리인 불릿(Bullet)에 대해 살펴보자.
- 블렌더에서 캐릭터를 움직이고 위젯과 함께 버튼, 아이콘을 추가해 보자.
- 이 책에서 사용되는 모든 템플릿에 대한 전체코드를 살펴보자.



원서의 세부 정보는 다음 링크에서 확인하실 수 있으며, 세부 목차는 아래에서 확인하실 수 있습니다.
[원서 세부정보 보기]


Introduction

Chapter 1: Getting Started with 3D Development for the iPhone

Getting Started

Getting the Software

Setting Up Your Development Environment

Chapter 2: Introducing Graphics Programming in SIO2

The SIO2 Template

A Simple OpenGL Demo

Introduction to Interactivity

The Complete Code

Chapter 3: Saying Hello to the Blender/SIO2/iPhone World

The Blender/SIO2/Xcode Workflow

An Overview of SIO2

Hello 3D World! Creating Your World in Blender

Exporting to the SIO2 File Format

Chapter 4: Going Mobile with SIO2

Initializing SIO2 and Loading Assets

Rendering

Touch Screen Interaction

The Complete Code

Chapter 5: Extending Interactive Feedback with Picking and Text

Object Picking

Working with Text and Fonts

Using Multi-touch Functionality

Packaging Your App

The Complete Code

Chapter 6: Creating an Immersive Environment in SIO2

Modeling the Ground and the Sky

Creating an Immersive Environment in SIO2

Exploring the Environment with a Moving Camera

The Complete Code

Chapter 7: Props and Physical Objects

Texture Face Objects and Transparency

Fast Foliage with Billboards

Physics for Interactive Objects

Pseudo-instancing for Efficient Object Handling

Working with Low-Poly Collision Maps

The Complete Code

Chapter 8: Animating a Character

Animating a Character in Blender

Getting Action in SIO2

Taking a Walk

Quick and Dirty Real-Time Shadows

The Complete Code

Chapter 9: Working with Widgets

Making a Splash with Widgets

Creating Active Widgets in SIO2

The Complete Code

Appendix A: Blender Basics

Interface and Navigation

Modeling

Materials and Textures

Animation

Appendix B: Key Concepts for Graphics Programming

Coordinate Systems, Matrices, and Transformations

Transformations by Matrix Multiplication

Matrices and OpenGL

Appendix C: SIO2 Reference

SIO2 Learning Resources

The .sio2 File Format

SIO2 Flag Values

SIO2 Functions





신고
Trackback 0 | Comment 0

비제이퍼블릭의 첫 트위터 이벤트, [RT이벤트]팔로우+RT하고 [아이폰과 맥 OS X 개발을 위한 오브젝티브-C 2.0] 받자![10명 추첨]의 당첨자를 발표해 드립니다. http://bjpublic.tistory.com/70

혹시 이번 기회에 당첨이 되지 못하신 응모자분은 너무 상심하시지 마시고 다음 이벤트를 기대해 주시길 바라겠습니다~^^

당첨자 명단
@Dev_TM
@developer_yoo
@hyunwoo0124
@leedaeyeop
@Lintory
@nekolatte
@noblemetro
@rheehot
@sohnkw
@yarangkr

*당첨자분들은 아래 내용을 DM으로 @bjpub에게  발송 부탁드리겠습니다.
1. 이름
2. 도서 받으실 주소
3. 전화번호(택배 배송시 연락 받을 번호)

모두 진심으로 축하드리며 다른 이벤트로 또 찾아뵙도록 하겠습니다.
많은 성원 감사드립니다~!

신고
Trackback 0 | Comments 4

*이벤트 도서는 Learn Objectvie-C on the Mac의 번역서인 [아이폰과 맥 OS X 개발을 위한 오브젝티브-C 2.0]입니다.

비제이퍼블릭의 첫 트윗 도서 증정 이벤트!

[이벤트 응모 방법]

1. @Bjpub을 팔로우한다.
2. 트위터에서 @Bjpub [RT이벤트]팔로우+RT하고 [아이폰과 맥 OS X 개발을 위한 오브젝티브-C 2.0] 받자![10명 추첨] http://bit.ly/c41OT2 글을 RT한다.
3. 5월 13일 11시 @Bjpub에서 추첨에 당첨된 당첨자 확인을 한다.
4. 당첨자는 @Bjpub에 DM으로 이름, 책을 받을 주소, 전화번호(택배 발송시 필요)를 남긴다.
5. [아이폰과 맥 OS X 개발을 위한 오브젝티브-C 2.0]를 받아서 열심히 공부한다!


[도서 소개]
http://bjpublic.tistory.com/18


[도서 상세 소개]
2009/07/30 - 아이폰과 맥 OS X 개발을 위한 오브젝티브-C(Objective-C) 2.0 [1장, 2장 공개]
2009/08/06 - 부록 공개 [다른언어에서 오브젝티브-C로]
2009/08/19 - 목차 및 전체 내용 [출간]오브젝티브-C 2.0: 아이폰과 맥 OS X 개발을 위한 Objective-C
2009/08/31 - 오브젝티브-C 2.0(아이폰과 맥 OS X를 위한 Objective-C)의 특징 + Xcode 단축키
2009/09/04 - C++에서 Objective-C(오브젝티브-C)로
2009/09/07 - 오브젝티브-C 2.0(Objective-C) 도서의 아마존 리뷰 내용(번역)
2009/09/11 - 오브젝티브-C 2.0(Objective-C) FAQ 모음

신고
Trackback 0 | Comment 0


 

『아이폰과 맥 OS X 개발을 위한 오브젝티브-C 2.0』

서평 쓰고 아이폰(iPhone) 액세서리 선물받자!


비제이퍼블릭 출판사에서 독자 여러분의 성원에 힘입어
아이폰 맥 OS X 개발을 위한 오브젝티브-C 2.0
도서의 서평 이벤트를 진행하게 되었습니다. 아시겠지만 IT 도서의 서평 이벤트라는 것이 그리 참여도가 높지가 않아 당첨 확률이 매우 높은 편이니 많은 참여 부탁드립니다~!  :)



서평을 올리신 분들 중 추첨하여 총 3분께 최고급 품질의 액세서리를 각 1개씩 드립니다.
상품에 대한 자세한 내용은 다음 링크를 클릭하시면 확인 가능합니다.

 

     

1. [SGP] 아이폰 가죽케이스 카본시리즈(색상: 소울 블랙)
2. [KONNET] 아이크래도 스탠드 (iCrado Charge Dock for iPhone)(색상: 블랙)
3. [MiLi] 파워 엔젤 (Power Angel for iPhone)(색상: 블랙)


서평 마감기간은 2월 15일(월)이며 설 연휴가 끝나는 16일(화)에 비제이블로그(http://bjpublic.tistory.com)를 통해 담청자를 발표 예정입니다.


이번 서평 이벤트 참여 방법은 다음과 같습니다.

1.도서를 읽고 서평(리뷰)을 인터넷 서점(예스24, 인터파크 등)에 올린다(구매 후기가 아닌 리뷰에 등록).
2.이 글의(http://bjpublic.tistory.com/62) comment(오른쪽 하단)로 인증 리플(어떤 인터넷 서점에 올렸는지)과 함께 연락 가능한 이메일 주소를 남긴다.

참여 서평 중 얼마나 내용에 충실한 서평인지에 따라 서평 3개를 추첨하여 상품을 발송해 드릴 예정이며, 상품은 선택이 불가능함을 알려드립니다.

독자 여러분의 많은 참여 바랍니다~!!

*도서에 대한 자세한 사항은 다음 링크에서 확인하실 수 있습니다.
http://bjpublic.tistory.com/31

Objective-C 2.0(오브젝티브-C 2.0)
카테고리 대학교재
지은이 마크 달림플 (비제이퍼블릭, 2009년)
상세보기

신고
Trackback 1 | Comments 6

저희 비제이퍼블릭 출판사에서는 지난 8월 『아이폰과 맥 OS X 개발을 위한 오브젝티브-C 2.0』를 출간하였습니다. 그러나 당시 도서의 판매량에 있어서 기대한 만큼의 성과는 없었지만, 다음 기사와 같이 아이폰이 도입된 이후로 도서에 대한 독자분들의 호응이 좋아서 현재 판매량도 급격하게 늘어나고 있는 실정입니다.



다음 링크를 클릭하시면 관련 기사를 보실 수 있습니다.
http://www.ddaily.co.kr/news/news_view.php?uid=57836

다음 링크에서는 『아이폰과 맥 OS X 개발을 위한 오브젝티브-C 2.0』 도서의 특징, 목차, 샘플 챕터 등의 자세한 정보를 한눈에 보실수 있도록 정리해 두었습니다.
http://bjpublic.tistory.com/31


Objective-C 2.0(오브젝티브-C 2.0)
카테고리 컴퓨터/IT
지은이 마크 달림플 (비제이퍼블릭, 2009년)
상세보기

신고
Trackback 0 | Comments 2

오늘 드디어 비제이퍼블릭의 첫 두 도서(프로 ASP.NET MVC 프레임워크 + 오브젝티브-C 2.0)의 광고가 실린 마이크로소프트웨어(이하 '마소')의 10월호가 도착했습니다. 우려했던 것과는 달리 정말 짧은 시간에 만들어낸 것에 비해 만족할만한 상태로 당당히 실려 있었습니다.

 


이 광고를 보고 많은 개발자분들께서 저희 비제이퍼블릭 출판사에 조금이나마 관심을 가지고, 꾸준히 지켜봐주셨으면 하는 바램입니다.

참고로 비제이퍼블릭의 홈페이지에서는 IT/컴퓨터 도서 관련 집필/번역을 원하시는 개발자분들께서 제안을 하실 수 있도록 출간제의를 받고 있습니다. 다음 링크를 통해 정보를 기입해 주시면 확인하는대로 즉시 연락을 드리도록 하겠습니다.

[번역제의] [집필제의]

어느분에게나 활짝! 문이 열려있으니 언제라도 궁금하신 사항이 있으시면 부담없이 편하게 연락주시길 바랍니다.
junepk@bjpublic.co.kr
02-739-0739
김범준 실장

프로 ASP.NET MVC 프레임워크
카테고리 컴퓨터/IT
지은이 스티븐 샌더슨 (비제이퍼블릭, 2009년)
상세보기

Objective-C 2.0(오브젝티브-C 2.0)
카테고리 컴퓨터/IT
지은이 마크 달림플 (비제이퍼블릭, 2009년)
상세보기

신고
Trackback 0 | Comment 0

퍼블릭's Blog is powered by Daum & tistory