아이폰 - 해당되는 글 27건

 

 

가장 쉬운 Swift 입문 책

 

시리즈 가장 쉬운 책 시리즈-006

저자 웨이멍 리

역자 이종우

 

출간 2015527()

정가 25,000

페이지 336

판형 173*230

ISBN 978-89-94774-97-8 (93000)

원서정보 Beginning Swift Programming

 

 

책 소개

 

Swift를 마스터하여, 빠르고 재미있으며 인터랙티브한 iOS OS X 앱을 만들어보자!

 

이 책을 통해 iOS OS X 개발을 위한 애플의 새 프로그래밍 언어 Swift를 마스터하여 앱을 만들어 본다. 베테랑 개발자이자 기술 강사인 웨이멍 리는 이 단계별 입문서를 통해 맥과 아이폰 앱을 만드는 데 필요한 내용과 실질적인 예제들을 제공한다. 또한 Swift의 잘 알려지지 않은 기능과 앱의 속도 및 안정성을 높이는 방법 등 Swift의 장점들을 소개한다. 이 책에서 제공하는 실습 교육을 통해 독자들은 프로그램을 바로 작동할 수 있게 될 것이며 앱의 질을 높이는 프로그래밍 스타일과 방법을 배우게 될 것이다.

 

이 책의 핵심 요약

 

• Swift를 사용하여 맥과 아이폰 앱을 만들기 위한 실질적이고 전문적인 교육을 제공한다.

• Swift의 빠르고, 안전하고, 유연한 내장 기능들을 이용하는데 도움을 주는 내용을 담고 있다.

상세한 예제 코드를 제공한다.

자료형, 문자열, 문자, 연산자와 함수, 배열, 딕셔너리 등 전반적인 설명을 제공한다.

제어 흐름과 반복, 클래스와 객체, 클래스 상속, 프로토콜과 델리게이트, 제네릭, 클로저 등을 살펴본다.

• Swift로 앱을 만드는 이점을 소개한다.

 

 

이 책에서 다루는 내용

 

애플은 2014년 애플 세계 개발자 콘퍼런스(WWDC) 에서 새로운 프로그래밍 언어, Swift를 소개하여 많은 개발자들을 놀라게 했다. 마침내 7년 만에 Objective-C를 대체할 수 있는 새로운 언어를 발표한 것이다. 이 책을 통해 알게 되겠지만 Swift는 읽기 쉬운 문법과 타입 안정성에 엄격한 현대적 프로그래밍 언어이다.

 

이 책은 업무에 바쁜 개발자들을 염두에 두고 쓰여졌다. 모든 기술 전문 용어를 배제하고 언어에 직접 접근하는 것을 목표로 한다. 새로운 언어를 배우는 최선의 방법은 당연히 예제 코드를 보는 것이고, 이 책은 필요한 코드들을 충분히 가지고 있다. 그러므로 이 책 내용을 최대한 활용하기 위해서는 각 장을 읽으면서 예제 코드 작성을 마치는 것을 강력히 추천한다.

 

독자대상

초급

 

 

저자 소개

 

웨이멍 리 WEI-MENG LEE

 

공학자이자 최신 모바일 기술에 대한 실습 교육 전문 회사인 Developer Learning Solutions (www.learn2develop.net)의 설립자이다. 다년간의 교육 경험을 토대로 한 그의 교육 과정은 행동에 의한 학습 방식을 중점으로 두고 있다. 프로그래밍 학습을 위한 이러한 실습 방식은 책이나 튜토리얼, 그 밖의 문서를 읽는 것보다 주제를 더 이해하기 쉽게 해준다. 그는 『Beginning iOS 5 Application Development(Wrox, 2010), Beginning Android 4 Application Development(Wrox, 2011) .NET, XML, 모바일 기술에 관한 여러 책의 저자로 활동하고 있으며 국제 콘퍼런스에서 정기적으로 강연도 하고 있다. 그와 연락하려면 weimenglee@learn2develop.net으로 메일을 보내면 된다.

 

 

역자 소개

 

이종우

 

상명대학교에서 소프트웨어학을 전공하였으며 한글과컴퓨터와 SK컴즈에서 맥과 리눅스용 응용프로그램을 개발하였다. 『가장 쉬운 리눅스 시스템 관리 책』과 『리눅스 커맨드라인 완벽 입문서』를 번역하였다. 현재는 안랩에서 맥용 보안 프로그램을 개발하고 있다.

 

 

목차

 

1. Swift 소개

- Swift

- Swift가 중요한 이유

- 개발 환경 구성하기

- Swift 문법

- 요약

 

2. 자료형

- 기본 자료형

- 튜플

- 옵셔널 타입

- 열거형

- 요약

 

3. 문자열과 문자

- 문자열

- 문자열 함수

- NSSTRING과 상호 연동

- 요약

 

4. 기본 연산자

- 대입 연산자

- 산술 연산자

- 비교 연산자

- 범위 연산자

- 논리 연산자

- 요약

 

5. 함수

- 함수 호출과 정의

- 함수 타입

- 중첩 함수

- 요약

 

6. 컬렉션

- 배열

- 딕셔너리

- 배열과 딕셔너리의 복사

- 요약

 

7. 제어 흐름과 반복문

- 제어 흐름

- 반복문

- 요약

 

8. 구조체와 클래스

- 구조체

- 클래스

- 요약

 

9. 상속

- 상속의 이해

- 이니셜라이저의 종류

- 확장

- 접근 제어

- 요약

 

10. 클로저

- 클로저 이해하기

- Arrry의 세 가지 클로저 함수 사용하기

- 함수 안에서 클로저 사용하기

- 요약

 

11. 프로토콜과 델리게이트

- 프로토콜 이해하기

- 델리게이트 이해하기

- 요약

 

12. 제네릭

- 제네릭 이해하기

- 제네릭 타입

- 요약

 

부록

 

 

이 책의 구성

 

1. Swift 소개

Swift의 기본 문법과 작성한 Swift코드를 테스트할 수 있도록 개발 환경을 구성하는 법을 다룬다.

 

2. 자료형

 Swift에서 제공하는 기본 자료형을 가지고 일반적인 연산을 수행하는 법을 다룬다. 또한 Swift에 새로 도입된 튜플과 옵셔널 타입을 다룬다.

 

3. 문자열과 문자

Swift에서 문자열과 문자들을  어떻게  관리하는지에  대해  논의한다.  특히 Swift string형이 Objective-C NSString과 어떻게 하위 호환성을 유지하는지에 대해 중점을 둔다. 또한 유니코드 문자열을 처리할 때 알아야 할 것들에 대해서도 다룬다.

 

4. 기본 연산자

Swift에서 제공하는 (일반적으로 사용되는) 모든 연산자를 다룬다. 추가로 Swift에 도입된 새로운 범위 연산자들도 함께 다룬다.

 

5. 함수

Swift에서 함수를 정의하는 법과 함수가 호출되었을 때 내/외부 인자명의 사용에 대해 설명한다.

 

6. 컬렉션

Swift에서 제공하는 컬렉션 타입인 배열과 딕셔너리에 대해서 다룬다.

 

7. 제어 흐름과 반복문

Swift에서 조건을 판단하는 방법과 Swift코드를 반복적으로 실행하기 위해서 반복문을 사용하는 법을 다룬다.

 

8. 구조체와 클래스

이들 프로그래밍 기본 구성 요소를 다룬다. 또한 클래스와 구조체에서 프로퍼티와 메소드를 정의하는 법을 보여준다.

 

9. 상속

Swift에서 하위 클래스를 만드는 법과 접근 제어 규칙이 멤버의 접근성에 어떻게 작용하는지에 대해 다룬다. 또한 확장 기능을 사용하여 클래스를 확장하는 법에 대해서도 다룬다.

 

10. 클로저

이 기능성 블록을 사용하기 위해 필요한 모든 것들을 다루고 어떻게 다양한 코드를 작성하도록 도움을 주는지 보여준다.

 

11. 프로토콜과 델리게이트

Swift의 디자인 패턴에서 매우 중요한 부분에 대해 논의한다. 프로토콜과 델리게이트 모델은 iOS Mac OS프로그래밍의 기본이 되는 대다수 API의 근간이다.

 

12. 제네릭

코드의 재사용성과 공유성을 높여주는 제네릭을 Swift에서 어떻게 사용하는지에 대해 다룬다.

 

부록

각 장의 마지막에 있는 연습문제에 대한 정답을 제공한다.

 

 

출판사 리뷰

 

Swift는 애플에서 다년간 연구 개발하여 세상에 내놓은 새로운 프로그래밍 언어이다. 지금까지 Mac OS iOS에서 사용하던 Objective-C의 부족한 점을 보완하고 클로저, 제네릭, 타입 추론 등의 최신 언어 기법을 도입하여 좀 더 현대적인 프로그래밍 언어를 만든 것이다.

 

이 책은 이러한 Swift를 처음 접하는 이들을 대상으로 하고 있다. 물론 기존에 Objective-C

에 익숙한 개발자들도 또한 이 책의 독자 대상이다. 이 책은 Swift의 기본 개념을 바탕으로 예제 코

드를 작성하는 실습 위주의 방식을 택하고 있다. 또한 각 장의 끝 부분에는 해당 주제에 관한 연습 문제를 포함하고 있다. 따라서 학습 효과를 높이려면 저자의 의도대로 모든 코드를 타이핑해보는 것이 좋을 것이다. 연습 문제의 해답을 부록으로 제공하고 있어 자신이 작성한 코드를 점거해볼 수 있다.

 

이 책의 대상 독자

 

이 책은 초보 iOS개발자와 Objective-C 경험이 있는 개발자 모두를 대상으로 하고 있다. 프로그래밍 기초와 이 책을 최대한 활용하기 위해서 필요한 객체지향 프로그래밍 (OOP) 개념을 이해해야 한다.

 

 

신고
Trackback 0 | Comment 0

 

제대로 배우는 스위프트 프로그래밍

 

저자 오기하라 타케시

역자 김완섭

 

출간 2015429()

정가 28,000

페이지 456

 

판형 188 x 245

ISBN 978-89-94774-96-1 (93000)

원서정보 詳細 Swift

 

 

책 소개

 

상세한 설명으로 스위프트 언어의 본질을 배우는 완벽 해설서!

 

프로그래밍 언어가 아무리 훌륭하다고 해도 사용자에게는 애플리케이션이라는 형태로 전달된다. 프로그래밍 언어는 마법의 주문이 아니라 컴퓨터 내부에 01이라는 실행 코드를 만들기 위한 구조에 불과하다. 하지만 가슴을 두근거리게 만드는 신기술은 사람들을 놀라게 할 위대한 발명이나 디자인을 탄생시킨다. 이 책을 통해 여러분들이 이런 위대한 탄생에 기여할 수 있었으면 하는 바램이다.”

 

- 오기하라 타케시

 

이 책은 스위프트를 이용한 기본적인 프로그래밍 기법뿐만 아니라, 새롭게 소개된 기능이나 오브젝티브-C, C와의 연계 방법 등 굉장히 방대한 범위를 다루고 있다. 특히 기존 오브젝티브-CC와의 대응 관계 및 변경 사항을 상세하게 설명하고 있는 것이 특징이다. 따라서 새롭게 아이폰 앱이나 OSX 앱 개발을 생각하고 있는 독자들뿐만 아니라, 기존 오브젝티브-C를 이용해서 개발했던 독자들에게도 많은 도움이 되리라 생각한다.

 

이 책의 저자인 오키하라 교수는 일본의 오브젝티브-C 일인자로 불리고 있다. 오키하라 교수는 컴퓨터 공학과 교수답게 풍부한 지식과 독자를 고려한 상세한 예제를 바탕으로 이해하기 쉽게 이 책을 구성하고 있다. 다양한 예제를 하나씩 따라가다 보면 어느새 스위프트 전문가가 되어있는 자신의 모습을 발견하게 될 것이다.

 

독자대상

 초중급 (C 및 오브젝티브-C 언어에 어느 정도 경험이 필요하다.)

 

소스코드 다운로드

 www.bjpublic.co.kr -> [도서자료] -> [다운로드]

 

 

저자 소개

 

오기하라 타케시

 

오사카대학 대학원 기반공학 연구과정 수료. 공학 박사. 오사카대학 정보처리교육 센터에서 NeXT 컴퓨터를 이용한 수학용 계산 시스템 도입 관련 업무를 진행했다. 이후 나라첨단대학, 고베대학, 고치공과대학, 오사카대학을 거쳐서 2008년부터 교토산업대학 컴퓨터공학부 교수로 재직 중이며, 소프트웨어 개발 기법에 관한 연구, 심층 암호에 관한 연구 등을 하고 있다. 또한 ToyViwer, Typist 등 국제적으로 정평이 나있는 Mac OS X 용 소프트웨어 개발자이기도 하다.

 

역자 소개

 

김완섭

 

네덜란드 ITC에서 GIS(지리정보시스템) 연계 재난재해 관리학(석사)을 전공했고, 9년간 한국 및 일본 대기업에서 다양한 IT 분야 업무를 담당했다. 일본에서는 시스템 엔지니어로 5년간 근무했으며, 일본 대기업 세콤(SECOM) 계열사인 파스코에서 외무성, 국토지리정보원 등 일본 정부 기관을 대상으로 한 시스템 통합(SI) 업무를 담당했다. 이후 야후재팬으로 직장을 옮겨 야후맵 개발 담당 시니어 엔지니어로 근무한 경험이 있고, 2010년 귀국하여 SK에서 내비게이션 데이터 담당 매니저로 근무했다. 저서로는 《나는 도쿄 롯폰기로 출근한다》가 있으며, 역서로는 《빅 데이터 시대의 하둡 완벽 입문》, 《웹 서비스 개발 철저 공략》, 《코딩을 지탱하는 기술》, 《따라하며 배우는 서버 부하분산 입문》, SQL 더 쉽게 더 깊게》, 《성공으로 이끄는 팀 개발 실천 기술》, 《부트스트랩 사이트 디자인》, 《클린 코드를 위한 테스트 주도 개발》, 《퍼펙트 루비》 등이 있다.

 

목차

 

1. 스위프트(Swift) 프로그래밍

 

1.1 데이터형과 변수

1.2 제어 구문

1.3 간단한 실행 방법

 

2. 함수

 

2.1 함수 정의의 기본

2.2 오버로드(Overload)

 

3. 구조체

 

3.1 구조체 정의

3.2 메소드

3.3 속성

3.4 첨자 지정

 

4. 옵셔널(Optional)

 

4.1 옵셔널형과 nil

4.2 암묵적 언랩 옵셔널형

4.3 실패 가능한 생성자

 

5. 기본적인 데이터형

 

5.1 수치를 표현하는 데이터형

5.2 문자열과 문자

5.3 배열(Array)

5.4 딕셔너리(Dictionary)

 

6. 패턴

 

6.1 튜플

6.2 열거형

6.3 패턴 매칭

 

7. 연산자

 

7.1 스위프트의 연산자

7.2 연산자 정의

 

8. 클래스와 상속

 

8.1 클래스 정의

8.2 생성자

8.3 해제 처리

8.4 연장 저장형 속성

8.5 접근 제어

 

9. 메모리 관리

 

9.1 참조형 데이터와 ARC

9.2 강한 참조 순환

9.3 옵셔널 체인

 

10. 프로토콜

 

10.1 프로토콜 선언

10.2 프로토콜과

10.3 오브젝티브-C 프로토콜

10.4 프로토콜과 부속형

10.5 프로토콜에 적합한 정의 방법

 

11. 확장

 

11.1 확장 선언

11.2 확장 정의와 프로토콜 적합

 

12. 클로저

 

12.1 클로저 선언

12.2 변수 캡처

12.3 클로저 사용법과 기법

12.4 클로저와 강한 참조 순환

 

13. 제네릭스

 

13.1 제네릭스 개요

13.2 제네릭 함수의 정의

13.3 제네릭스에 의한 정의

 

14. C/오브젝티브-C와의 데이터 교환

 

14.1 데이터형의 호환성

14.2 대응 데이터형

14.3 기타 데이터형과 매크로

 

15. 오브젝티브-C와 연계

 

15.1 스위프트와 오브젝티브-C 빌드

15.2 오브젝티브-C 객체 사용

15.3 스위프트 클래스를 오브젝티브-C에서 사용

15.4 문서화 주석

 

부록 A. 스위프트 표준 라이브러리

 

A.1 프로토콜

A.2

A.3 제네릭형

A.4 포인터형

A.5 함수

A.6 변수

A.7 특성

 

부록 B. 스위프트 구문 도표

B.1 식별자로 사용할 있는 문자

B.2 구문 도표

 

상세목차 보기

 

출판사 리뷰

 

오브젝티브-C가 기존 C 언어를 좀 더 이해하기 쉬운 형태로 바꿨다고는 하지만, ‘C’가 의미하듯이 C의 그늘에서 벗어날 순 없었다. 따라서 새롭게 아이폰 개발이나 OSX 개발을 시작하려면 C의 벽을 넘어야 하는 것이 개발자의 숙명이었다.

 

하지만 20146월에 애플이 공개한 스위프트(Swift)는 그 명칭이 보여주듯이, C를 대신하는 언어가 아닌 전혀 새로운 언어로 이 세상에 태어났다. 스위프트는 언어학습 장벽을 최대한 낮추려고 노력했으며, C 언어가 가지고 있던 어려운 개념이나 기능을 철저히 배제하고 있다. C 언어의 가장 큰 장벽이었던 포인터도 스위프트에는 없다(독자들의 기뻐하는 함성이 들리는 듯하다).

 

스위프트는 프로그래밍 언어로서는 기존 언어들이 가진 장점을 모두 반영하고 있다는 긍정적인 평가를 받고 있다. 뿐만 아니라, 오브젝티브-C와의 상호 운용성, ARC에 의한 메모리 관리를 실현하고 있는 점은 매우 높은 평가를 받고 있다. 언어 사양상 아직 부족함 점이 여러 가지 있는 것도 사실이지만, 애플리케이션 개발 언어어로서는 이제 막 사용되기 시작한 언어이기에 아직 초기 단계에 있다고 할 수 있다. 하지만 이후 스위프트를 이용한 애플리케이션 개발이 급속도로 증가할 것으로 예상된다.

 

 

이 책의 독자 대상

 

이 책은 C 언어 및 오브젝티브-C로 어느 정도 프로그래밍 경험이 있는 독자를 대상으로 하고 있으며, 스위프트 개념 파악부터 제네릭 프로그래밍 도입까지를 목표로 하고 있다. 따라서 포인터가 무엇인지, 객체 지향이 무엇인지 같은 기초적인 개념에 대해선 다루지 않는다. 또한 Xcode 사용법이나 아이폰 인터페이스 작성법에 대해서도 설명하지 않는다. 대신, 오브젝티브-C가 가진 특유의 개념에 대해서 가능한 설명을 보완했고, ‘오브젝티브-C 개발자라면 이런 점을 알고 싶어할 것이다라는 것을 의식하면서 집필되었다.

 

 

신고
Trackback 0 | Comments 2

 

 

아론 힐리가스의 iOS 프로그래밍, 4

 

저자 아론 힐리가스, 조 콘웨이, 크리스찬 쿠어

역자 이종우

출판사 비제이퍼블릭

출간 20141117()

 

정가 35,000

페이지 670

판형 188 x 245

ISBN 978-89-94774-82-4 (93000)

원서정보 iOS Programming: Big Nerd Ranch Guide, 4/e


도서 예약구매 http://www.yes24.com/24/goods/15047748



책 소개

 

아마존닷컴 iOS & 앱 개발 부문, 베스트셀러 1!


아마존 도서소개 보기

아마존 베스트셀러 보기


《아론 힐리가스의 iOS 프로그래밍, 4판》은 iOS 앱 개발을 위한 필수적인 개념과 도구, 기법 등을 안내한다. 이 책을 읽고 나면 iOS 프로젝트를 다루기 위한 노하우와 자신감을 갖게 될 것이다.

 

이 책은 Big Nerd Ranch의 인기 있는 강좌인 iOS 부트캠프의 검증된 내용과 방법을 기반으로, iOS 개념과 코딩을 함께 다루고 있어 유용한 가르침이 될 것이다. 또한 iOS 플랫폼에서 무엇이 중요한지를 설명하고 더 큰 맥락을 꿰뚫어보는 능력을 전수하고, iOS의 개발 방법과 가용한 많은 기능들을 이해하여 어떤 경우에도 적용할 수 있게 해준다.

 

이 책에서 다루는 내용

 

- Xcode 5, 인스트루먼트, 스토리보드

- 사용자 인터페이스 구성

- ARC strong, weak 레퍼런스

- 터치 이벤트와 제스쳐 처리

- 툴바와 내비게이션 컨트롤러, 스플릿 뷰 컨트롤러

- 오토 레이아웃을 이용한 사용자 인터페이스 조절

- 유동 글자를 이용한 폰트 조절

- 테이블 뷰

- 지역화와 국제화

- 블록 문법과 사용

- 아카이빙과 코어 데이터

- 디버깅

- 애니메이션

- JSON을 이용한 웹 서비스와 통신

- 상태 복원

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

 

시스템 사양


 이 책은 Xcode 5.0.2, iOS 7 버전 기준으로 쓰였으며이후 버전에서는 조금 달라 보일 수 있지만 적용하는 데 크게 문제될 것은 없다하위 버전의 Xcode는 기존 앱스토어 계정을 사용하거나 개발자 등록(무료후 https://developer.apple.com/downloads/에서 다운로드 가능하다.


 

독자대상

 

초중급

 

소스코드 다운로드

 

http://www.bignerdranch.com/solutions/iOSProgramming4ed.zip

 

 

저자 소개

 

아론 힐리가스

 

Big Nerd Ranch의 설립자로 NeXT와 애플에서 일했으며 20여년 가까운 프로그래밍 경험을 가지고 있고 Objective-C, 코코아, iOS를 가르치고 있다. 아론은 《코코아 프로그래밍》과 《오브젝티브-C 프로그래밍》의 공동 저자다.

 

조 콘웨이

 

iOS 부트캠프의 강의 자료를 공동으로 작성했다. 조는 최근 stable/kernel이라는 모바일 개발 회사를 시작했다. 이 회사는 Big Nerd Ranch의 방식을 근간으로 만든 고품질 소프트웨어를 전달하는 데 집중하고 있다.

 

크리스찬 쿠어

 

Big Nerd Ranch에서 상급 강사와 소프트웨어 엔지니어로 일하고 있다. 많은 찬사를 받고 있는 iOS 부트캠프의 강의 자료를 작성했으며, 이는 이 책의 근간이 되었다. 크리스찬은 조지아 공대에서 컴퓨터 과학을 전공했으며, 아틀란타 주위의 맴돌며 별을 바라보거나 책을 읽는 취미를 가지고 있다.

 

 

역자 소개

 

이종우

 

상명대학교에서 소프트웨어학을 전공했으며 한글과컴퓨터와 SK컴즈에서 맥과 리눅스용 제품을 개발했다. 《가장 쉬운 리눅스 시스템 관리 책》과 《리눅스 커맨드라인 완벽 입문서》를 번역했으며, 현재는 안랩에서 맥용 보안 프로그램을 개발하고 있다.

 

 

목차

 

1. 간단한 iOS 앱 만들기

 

- Xcode 프로젝트 만들기

- 모델--컨트롤러

- Quiz 앱 설계하기

- 뷰 컨트롤러 만들기

- 인터페이스 구성하기

- 모델 객체 만들기

- 통합하기

- 시뮬레이터에서 실행하기

- 앱 배포하기

- 앱 아이콘

- 시작 이미지

 

2. Objective-C

 

- 객체

- 인스턴스 사용하기

- RandomItems 커맨드라인 프로그램

- Objective-C 클래스의 하위 클래스 만들기

- NSArray NSMutableArray

- 예외와 인식할 수 없는 셀렉터

- 도전 과제

- 동메달 과제: 버그 찾기

- 은메달 과제: 다른 초기화 메소드 만들기

- 금메달 과제: 하위 클래스 만들기

- 호기심이 많은 사람들을 위해

- 심화 학습: 클래스 이름

- 심화 학습: #import @import

 

3. ARC를 통한 메모리 관리

 

- 스택

-

- 포인터 변수와 객체 소유권

- 강한 참조와 약한 참조

- 프로퍼티

- 심화 학습: 프로퍼티 합성

- 심화 학습: 오토릴리즈 풀과 ARC 역사

 

4. 뷰와 뷰 계층구조

 

- 뷰 기본 지식

- 뷰 계층구조

- UIView 하위 클래스 만들기

- drawRect: 메소드에서 그리기

- 추가 개발자 문서

- 동메달 과제: 이미지 그리기

- 심화 학습: 코어 그래픽스

- 금메달 과제: 그림자와 그라디언트

 

5. 뷰 다시 그리기와 UIScrollView

 

- 런 루프와 뷰 다시 그리기

- 클래스 확장

- UIScrollView 사용하기

 

6. 뷰 컨트롤러

 

- UIViewController 하위 클래스 만들기

- 두 번째 UIViewController

- UITabBarController

- UIViewController 초기화 메소드

- 로컬 노티피케이션 추가하기

- 뷰 로드하기와 나타내기

- 뷰 컨트롤러와 뷰 간의 상호작용

- 동메달 과제: 세 번째 탭

- 은메달 과제: 세그먼트 컨트롤

- 심화 학습: -값 코딩

- 심화 학습: 레티나 디스플레이

 

7. 델리게이션과 텍스트 입력

 

- 텍스트 필드

- 델리게이션

- 프로토콜

- 화면에 라벨 추가하기

- 모션 효과

- 디버거 사용하기

- 심화 학습: main() UIApplication

- 은메달 과제: 핀치 투 줌

 

8. UITableView UITableViewController

 

- Homepwner 앱 만들기

- UITableViewController

- UITableView 데이터 소스

- UITableViewCell

- 코드 스니핏 라이브러리

- 동메달 과제: 멀티 섹션

- 은메달 과제: 고정 행

- 금메달 과제: 테이블 커스터마이징

 

9. UITableView 편집

 

- 편집 모드

- 행 추가하기

- 행 삭제하기

- 행 이동하기

- 동메달 과제: Delete 버튼 이름 변경하기

- 은메달 과제: 재정렬 막기

- 금메달 과제: 재정렬 완전히 막기

 

10. UINavigationController

 

- UINavigationController

- 추가적인 UIViewController

- UINavigationController로 내비게이션하기

- UINavigationBar

- 동메달 과제: 숫자 패드 표시하기

- 은메달 과제: 숫자 패드 사라지게 하기

- 금메달 과제: 더 많은 뷰 컨트롤러 푸시하기

 

11. 카메라

 

- 이미지 표시하기와 UIImageView

- 사진 찍기와 UIImagePickerController

- BNRImageStore 만들기

- NSDictionary

- 키 만들고 사용하기

- BNRImageStore 마무리하기

- 키보드 닫기

- 동메달 과제: 이미지 편집하기

- 은메달 과제: 이미지 제거하기

- 금메달 과제: 카메라 오버레이

- 심화 학습: 구현 파일 내비게이션

- 심화 학습: 비디오 녹화

 

12. 터치 이벤트와 UIResponder

 

- 터치 이벤트

- TouchTracker 앱 만들기

- BNRDrawView에 그리기

- 터치를 선으로 변환하기

- 동메달 과제: 저장하기와 로드하기

- 은메달 과제: 색상

- 금메달 과제:

- 심화 학습: 리스폰더 체인

- 심화 학습: UIControl

 

13. UIGestureRecognizer UIMenuController

 

- UIGestureRecognizer 하위 클래스

- UITapGestureRecognizer로 탭 인식하기

- 멀티 제스처 인식기

- UIMenuController

- UILongPressGestureRecognizer

- UIPanGestureRecognizer와 동시에 인식하기

- 심화 학습: UIMenuController UIResponderStandardEditActions

- 심화 학습: UIGestureRecognizer의 세부사항

- 은메달 과제: 미스터리한 선들

- 금메달 과제: 속도와 크기

- 대형 금메달 과제: 색상

 

14. 디버그 도구

 

- 디버그 측정기

- 인스트루먼트

- 정적 분석기

- 프로젝트, 타깃, 빌드 세팅

 

15. 오토 레이아웃 소개

 

- Homepwner를 유니버설 앱으로 만들기

- 오토 레이아웃 시스템

- 인터페이스 빌더로 제약조건 추가하기

- 제약조건 디버깅

- 동메달 과제: 예제 보완하기

- 은메달 과제: Quiz를 유니버설 앱으로 만들기

- 심화 학습: 오토 레이아웃 트레이스를 이용한 디버깅

- 심화 학습: 복수의 XIB 파일

 

16. 오토 레이아웃: 프로그래밍으로 제약조건 만들기

 

- 비주얼 포맷 언어

- 제약조건 만들기

- 제약조건 추가하기

- 고유 콘텐츠 크기

- 제약조건을 만드는 다른 방법

- 심화 학습: NSAutoresizingMaskLayoutConstraint

 

17. 자동 회전, 팝오버 컨트롤러, 모달 뷰 컨트롤러

 

- 자동 회전

- 회전 노티피케이션

- UIPopoverController

- 모달 뷰 컨트롤러에 대해 좀 더 알아보기

- 스레드에 안전한 싱글톤

- 동메달 과제: 또 다른 스레드에 안전한 싱글톤

- 금메달 과제: 팝오버 모습

- 심화 학습: 비트마스크

- 심화 학습: 뷰 컨트롤러 관계

 

18. 저장, 읽기, 앱 상태

 

- 아카이빙

- 앱 샌드박스

- NSKeyedArchiver NSKeyedUnarchiver

- 앱 상태와 전이

- NSData를 파일시스템에 쓰기

- NSNotificationCenter와 로우 메모리 경고

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

- 동메달 과제: PNG

- 심화 학습: 앱 상태 전이

- 심화 학습: 파일시스템에서 읽고 쓰기

- 심화 학습: 앱 번들

 

19. UITableViewCell 하위 클래스 만들기

 

- BNRItemCell 만들기

- 이미지 조작

- UITableViewCell에서 액션 전달하기

- 변수 캡처하기

- 동메달 과제: 색상 코딩

- 금메달 과제:

- 심화 학습: UICollectionView

 

20. 유동 글자

 

- 선호 폰트 사용하기

- 사용자의 변경에 응답하기

- 오토 레이아웃 갱신하기

- 사용자 선호 텍스트 크기 정하기

 

21. 웹 서비스와 UIWebView

 

- 웹 서비스

- UIWebView

- 자격 증명

- 은메달 과제: UIWebView 추가 내용

- 금메달 과제: 예정 강좌

- 심화 학습: HTTP 요청 보디

 

22. UISplitViewController

 

- Nerdfeed 분할하기

- 세로 모드에서 마스터 뷰 컨트롤러 표시하기

- Nerdfeed 유니버설 앱

 

23. 코어 데이터

 

- 객체-관계형 매핑

- Homepwner를 코어 데이터로 옮기기

- SQL에 대해 좀 더 알아보기

- 폴트

- 영구 저장 기법의 장단점

- 동메달 과제: 아이패드에서 품목 종류 나타내기

- 은메달 과제: 새로운 품목 종류 추가하기

- 금메달 과제: 품목 보여주기

 

24. 상태 복원

 

- 차례 상태 복원 방법

- 상태 복원 활성화하기

- 복원 식별자와 복원 클래스

- 상태 복원 주기

- 뷰 컨트롤러 복원하기

- 관련 데이터 인코딩하기

- 뷰 상태 저장하기

- 은메달 과제: 다른 프로그램

- 심화 학습: 스냅샷 제어하기

 

25. 지역화

 

- NSNumberFormat을 사용한 국제화

- 리소스 지역화하기

- NSLocalizedString()과 문자열 테이블

- 동메달 과제: 다른 언어로 지역화

- 심화 학습: 국제화에서 NSBundle의 역할

- 심화 학습: Base 국제화 없이 XIB 파일 지역화하기

 

26. NSUserDefaults

 

- NSUserDefaults

- 설정 번들

 

27. 애니메이션 제어

 

- 기본 애니메이션

- 키프레임 애니메이션

- 애니메이션 완료

- 스프링 애니메이션

- 은메달 과제: Quiz 앱 개선

 

28. UIStoryboard

 

- 스토리보드 만들기

- 스토리보드 내의 UITableViewController

- 세그웨이

- 색상 변경하기

- 데이터 전달하기

- 스토리보드에 대해 좀 더 알아보기

- 심화 학습: 상태 복원

 

29. 후기

 

 

이 책의 구성

 

이 책의 각 장은 iOS 개발에 대한 하나 이상의 개념을 설명하고 실습을 하도록 구성됐다. 코딩 실습이 더 필요한 경우를 위해 도전 과제를 포함해두었다. 최소한 몇 가지는 도전해보길 바란다. 이 과제들은 각 장에서 배운 개념을 더 견고하게 해주며 iOS 프로그래머로서 자신감을 북돋아준다. 마지막으로 각 장에 포함된심화 학습절은 이전에 소개한 개념의 활용 방법을 설명한다.

 

1에서는 작고 간단한 프로그램을 만들고 배포하면서 iOS 프로그래밍을 소개한다. 프로젝트와 파일을 생성하는 과정을 통해 Xcode iOS 시뮬레이터를 사용하게 될 것이다. 이 장에서는 모델--컨트롤러와 iOS 개발의 연관성도 살펴볼 것이다.

 

23에서는 Objective-C와 메모리 관리에 대해 개괄한다. 이 장에서는 iOS 앱을 만들지는 않지만 개념을 이해하기 위해 RandomItems라는 도구를 만들고 디버깅할 것이다.

 

45에서는 Hypnosister라는 프로그램을 만들고 뷰와 뷰의 계층구조에 대해 배우면서 iOS 사용자 인터페이스에 초점을 맞출 것이다.

 

67에서는 HypnoNerd 앱을 통해 사용자 인터페이스를 관리하는 뷰 컨트롤러를 소개한다. 탭 바를 이용한 화면 간 이동과 함께 뷰와 뷰 컨트롤러를 사용해볼 것이다. 또한 프로토콜을 이용한 델리게이션 디자인 패턴을 접해보고 디버거, 로컬 노티피케이션을 설정하는 법을 배울 것이다.

 

8에서는 이 책에서 가장 큰 프로그램인 Homepwner를 소개한다(“Homepwner”는 오타가 아니며 “pwn”의 의미는 www.urbandictionary.com에서 찾을 수 있다). 이 프로그램은 화재나 재난에 대비해 소지품 목록을 기록한다. Homepwner는 자그마치 14개의 장을 통해 완성된다.

 

8, 9, 19에서는 테이블을 만들어본다. 테이블 뷰, 뷰 컨트롤러, 데이터 소스에 대해 배울 것이다. 테이블에 데이터를 표시하는 방법과 사용자가 테이블을 편집할 수 있게 허용하는 방법, 인터페이스를 향상시키는 방법을 배울 것이다.

 

10에서는 6장에서 배운 내용을 토대로 내비게이션을 완성한다. UINavigation Controller의 사용법을 배우고 Homepwner에 드릴 다운(drill-down) 인터페이스와 내비게이션바를 추가할 것이다.

 

11에서는 카메라로 사진을 찍는 방법과 Homepwner에 이미지를 저장하고 표시하는 방법을 살펴본다. 이때 NSDictionary UIImagePickerController를 사용할 것이다.

 

1213에서는 잠시 Homepwner에서 벗어나 터치 이벤트를 배우기 위해 드로잉 프로그램인 TouchTracker를 만들어본다. 그리고 멀티 터치를 지원하는 법과 UIGestureRecognizer를 사용하여 특정 제스처를 인식하는 법을 배울 것이다. 또한 퍼스트 리스폰더(first responder)와 리스폰더 체인(responder chain)의 개념에 대해 알아보고 NSDictionary의 활용에 대해 배울 것이다.

 

14에서는 디버그 가우즈(debug gauges)와 인스트루먼트(Instruments), 정적 분석기를 사용하여 TouchTracker의 성능을 최적화하는 법을 배울 것이다.

 

15 16에서는 Homepwner를 유니버설(universal) 앱으로 만들어본다. 유니버설 앱은 아이폰과 아이패드 모두에서 사용 가능한 앱을 말한다. 또한 화면 크기에 따라 알맞게 표시되는 오토 레이아웃(Auto Layout) 기능을 지원하는 인터페이스를 만들어볼 것이다.

 

17에서는 화면 회전을 제어하는 법과 아이패드에서 UIPopoverController를 사용하는 법, 모달 뷰 컨트롤러에 대해 배울 것이다.

 

18에서는 데이터를 저장하고 불러오는 법을 살펴본다. 그리고 Homepwner 프로그램에 데이터를 저장해볼 것이다.

 

20에서는 사용자가 원하는 다양한 폰트 크기를 지원하도록 유동 글자를 사용하여 Homepwner를 개선할 것이다.

 

21에서는 다시 Homepwner에서 벗어나 웹 서비스를 소개하기 위해 Nerdfeed 앱을 만들어본다. Nerdfeed NSURLConnection NSXMLParser를 사용하여 서버에서 RSS 피드를 가져와서 해석한다. 그리고 UIWebView를 이용하여 웹 페이지를 표시한다.

 

22에서는 UISplitViewController에 대해 배우고 Nerdfeed 앱에 스플릿 뷰 인터페이스를 추가해 아이패드의 큰 화면을 활용해볼 것이다.

 

23에서는 Homepwner 앱으로 돌아와서 코어 데이터에 대해 설명한다. NSManaged ObjectContext를 사용해 데이터를 저장하고 불러오도록 Homepwner를 수정할 것이다.

 

24에서는 사용자가 앱으로 돌아왔을 때 마지막 상태로 돌아가도록 하는 상태 복원 기능을 Homepwner 앱에 추가할 것이다.

 

25에서는 국제화(internationalization)와 지역화(localization)의 개념과 사용법에 대해 소개한다. Homepwner를 지역화하면서 NSLocale, 문자열 테이블, NSBundle에 대해 배울 것이다.

 

26에서는 사용자 설정을 저장하기 위해 NSUserDefaults를 사용해본다. 이 장에서 드디어 Homepwner 프로그램을 완성할 것이다.

 

27에서는 HypnoNerd 앱에 애니메이션을 구현하면서 코어 애니메이션 프레임워크를 소개한다.

 

28에서는 스토리보드를 이용하여 앱을 만드는 법을 소개한다. UIStoryboard를 사용하여 앱을 만들어보고 스토리보드 사용의 장단점을 배울 것이다.

 

 

출판사 리뷰

 

이 책을 읽으면서 그 내용이 당장은 이해가 되지 않는다고 낙담할 필요는 없다. 때로는 인내심을 가지고 이 책을 믿고 따라야 할 때도 있을 것이다.

 

한꺼번에 모든 지식을 전달하지 않기에, 어떤 개념이 명확하게 제시되지 않았다면 그것은 뒷부분에서 필요할 때 더 자세히 설명하기 위해 의도된 것이다. 처음 접할 때 명확하지 않던 개념이 한 순간 이해되는 경험을 하게 될 것이다.

 

신고
Trackback 0 | Comments 2

 

 

 

 

 

하루 한 시간, HTML5 모바일 앱 프로그래밍

 

 

저자: 제니퍼 커닌

역자: 김경균 ,최지훈

 

출간예정일: 20121221()

정가: 32,000

페이지: 564

판형: 190 x 245

ISBN: 978-89-94774-27-5

 

원서정보: Sams Teach yourself, HTML5 Mobile Application Development

 

관련분류

-모바일 프로그래밍/안드로이드

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

 

 

 

책 소개

 

웹은 매우 빠르게 변화되고 있다. 새로운 브라우저의 버전이 몇 년 아니라 몇 달에 한 번씩 릴리스되며 새로운 장치들이 언제나 출시되고 있다. 웹 개발자에게는 최신 동향과 기술 이해가 중요할 텐데, 현재 유행하는 기술은 HTML5.

 

이 책에서는 하루 한 시간이면 학습할 수 있는 24개의 장을 통해, 스마트폰, 태블릿 그리고 그 외의 다른 장치들에서 사용자와 상호작용하는 강력한 모바일 애플리케이션을 만드는 새로운 방법을 배울 수 있다.

 

여러분은 이 책의 특징인 직관적이고 단계별 접근 방법을 통해 아이패드/아이폰 혹은 안드로이드 장치를 위한 실용적인 기술을 익힐 수 있다. 이 책은 빠른 속도로 새로운 모바일 애플리케이션을 만드는 방법, 이전의 애플리케이션을 업그레이드하는 방법, 최신의 미디어 콘텐츠를 제공하는 방법, 지오로케이션에서부터 시맨틱 웹에 달하는 고급 기능을 활용하는 방법, 그리고 심지어 복잡한 백엔드 개발을 단순화하는 방법에 대해서도 다루고 있다. 또한 각 장마다 배운 내용을 토대로 실습을 할 수 있고, 이를 통해 현실에서 바로 사용 가능한 실용적인 기초를 배울 수 있다.

 

이 책에서는 각 장마다 다음과 같은 섹션을 제공하여 여러분의 학습에 도움을 주고 있다:

 

따라하기 가장 일반적인 HTML5 모바일 개발에 기초를 두고 차근차근 진행된다.

퀴즈실습 각 장의 마지막에 위치하며, 여러분이 그 장에서 배운 지식을 테스트하는 데 도움을 준다.

참고 각 장의 주제와 관련된 흥미 있는 정보를 제공한다.

알아두기 작업을 수행하는 데 있어서 충고할 점이나 작업을 수행하기 위한 가장 쉬운 방법을 제공한다.

주의사항 발생 가능한 문제들에 대한 경고 및 그러한 문제들을 피하기 위한 방법을 제공한다.

 

 

이 책에서 여러분은 다음과 같은 내용을 배울 수 있다:

 

n  모바일 개발에 유용한 새로운 HTML5 태그 사용하기

n  기존의 브라우저에서 이미 지원되고 있는 HTML5 기능을 사용하여 빠르게 시작하기

n  모바일 장치와 HTML5 지원 여부를 감지하고 사이트 업그레이드하기

n  좀더 효과적이고 유용한 모바일 앱을 위해 스타일을 적용하고 생성하기

n  jQuery 모바일을 사용하여 모바일 앱을 빠르게 생성하기

n  HTML5에서 향상된 그리기와 타이포그래피 기능 활용하기

n  여러분의 앱에 미디어 콘텐츠를 효과적으로 통합시키기

n  HTML5의 섹셔닝 요소들과 시맨틱 요소들을 사용하여 의미 부여하기

n  이전보다 쉽게 드래그앤드롭 기능 구현하기

n  로컬 저장소를 사용하는 오프라인 앱 만들기

n  지오로케이션 API를 통해 위치 데이터를 감지하고 사용하기

n  컴퓨터에 친화적인 웹 페이지를 만들기 위해 마이크로포맷과 마이크로데이터 사용하기

n  웹 소켓, 웹 워커 그리고 파일 API를 사용하여 강력한 백엔드 기능 추가하기

n  히스토리 API를 사용하여 사용자 탐색정보 향상시키기

 

 

웹 페이지는 컴퓨터에서만 사용되는 것이 아니다

 

HTML은 주로 컴퓨터의 웹 브라우저를 위해 사용되었었지만, 스마트폰과 태블릿 컴퓨터 같은 장치의 등장으로 말미암아 지금은 좀 더 많은 사람들이 모바일 장치를 통해 웹 페이지에 접속하고 있다.

 

이 책의 모든 장에서는 해당하는 장의 내용을 웹 브라우저와 모바일 장치에서도 적용되게 하는 방법에 관한 예제를 제공하며, 모바일 장치에서 좀 더 훌륭하게 보이게 애플리케이션을 수정하는 기술도 설명한다.

 

이 책으로 여러분은 안드로이드와 iOS(아이폰, 아이패드, 아이팟 터치 장치들) 같은 대다수의 인기 있는 모바일 스마트폰과 태블릿에서 동작하는 애플리케이션을 만드는 방법을 배운다. 그리고 안드로이드와 iOS 장치에서 실행되는 화면의 스크린숏뿐만 아니라 이들 장치에서 실행되는 경우에 발생하는 차이점에 관한 팁과 주의사항도 볼 수 있다.

 

 

독자대상

초급

 

 

 

저자소개

 

제니퍼 커닌 (Jennifer Kyrnin)

1997년부터 지금까지 온라인에서 HTML, XML, 웹 디자인을 강의하고 있다. 그녀는 다양한 고객을 위해 단일 페이지로 구성된 규모가 작은 팸플릿 사이트부터 수천 페이지로 구성된 큰 사이트까지 모든 종류의 웹 사이트를 만들고 유지/보수한 경험이 있다. 현재 워싱턴 주의 자그마한 농장에서 남편과 아들 그리고 동물 여러 마리와 함께 살고 있다.

 

 

 

역자소개

 

김경균

, 윈도우 기반 프레임워크 및 응용프로그램 개발자로 일하고 있다. 2007년부터 3년간 마이크로소프트 MVP(ASP.NET)로 활동했으며 Taeyo.NET의 운영진으로 활동하고 있다. 《실전 jQuery 쿡북》, 《이제 시작이야! jQuery 모바일》을 번역하기도 했으며, 앞으로도 훌륭한 기술 서적들을 번역할 계획을 가지고 있다. 개인 블로그는 http://blog.dayofdays.net이다.

 

최지훈

지오시스 지마켓에서 결제담당 개발자로 일하고 있다. 현재 태오닷넷(Taeyo.net) 운영진으로 활동 중이며, 한때 마이크로소프트 MVP(ASP.NET)로도 활동했다. jQuery jQuery 모바일 그리고 HTML5 Windows Phone 개발에 관심이 있으며, 기회가 된다면 jQuery 모바일이나 Windows Phone 8 관련된 책을 집필할 예정이다. 최근 관심사는 스타트업 분야이며, 조만간 가지 아이디어를 HTML5 이용하여 (모바일 ) 애플리케이션으로 구체화할 생각이다. 아직 밤샘을 해도 끄떡없는 체력을 가지고 있다고 자신하며 개발에 매진하고 있다. 개인 블로그는 http://www.neostyx.net이다.

 

 

 

 

목차

 

 

PART I 공개 웹 표준을 사용하여 웹 페이지와 웹 애플리케이션 만들기

 

HOUR 1 HTML5를 사용한 모바일 웹 애플리케이션 개선

 

HTML 버전 5까지의 과정 이해하기

HTML5와의 차이점

웹 애플리케이션 정의하기

공개 웹 표준 사용하기

IOS와 안드로이드 장치를 이용하여 HTML5 사용하기

모바일 웹 사이트 작성하기

요약, 질문과 답변, 워크숍

 

HOUR 2 모바일 개발을 위한 HTML5의 새로운 태그와 속성

 

새로운 HTML5 태그

새로운 HTML5 속성

HTML 4 태그와 속성에서 변경된 사항

HTML5에서 변경된 HTML 문법

HTML5 태그와 속성의 모바일 지원

모바일 웹 개발을 위한 HTML5의 장점

요약, 질문과 답변, 워크숍

 

HOUR 3 CSS3를 사용하여 모바일 페이지에 스타일 적용하기

 

CSS의 간략한 소개

CSS3에 추가된 스타일

모바일 장치에서 CSS3 사용하기

요약, 질문과 답변, 워크숍

 

HOUR 4 모바일 장치 및 HTML5 지원 여부 확인

 

어떤 HTML5 요소를 사용할지 선택하기

안드로이드와 iOS HTML5 지원

HTML5 기능 감지

단계적 후퇴

CSS3 미디어 쿼리(Media Query)를 사용하여 모바일 브라우저

감지

애플리케이션 테스트

요약, 질문과 답변, 워크숍

 

HOUR 5 자바스크립트와 HTML5 웹 애플리케이션

 

자바스크립트란 무엇인가?

jQuery란 무엇인가?

jQuery 모바일 사용하기

요약, 질문과 답변, 워크숍

 

HOUR 6 모바일 웹 애플리케이션 개발

 

모든 장치에서 동작하는 사이트 개발하기

어떤 유형의 애플리케이션을 원하는지 결정하기

HTML을 사용하여 애플리케이션 개발하기

HTML을 보기 좋게 만들기 위해 CSS 사용하기

더욱 효율적인 HTML5 페이지를 위해 모바일 메타 태그 추가하기

모바일을 위한 사이트 최적화

요약, 질문과 답변, 워크숍

 

 

HOUR 7 사이트를 HTML5로 업그레이드

 

HTML 4에서 언제, 어떻게 업그레이드할지 결정하기

현재 동작하는 HTML5의 기능

HTML5 브라우저 지원 상태

사이트에 여분의 HTML5 기능 추가하기

모바일 애플리케이션에서 사이트를 실행시킬 HTML5 기술

요약, 질문과 답변, 워크숍

 

HOUR 8 웹 앱을 모바일 앱으로 변환하기

 

웹 에디터 선택

애플리케이션 테스트

콘텐츠 평가

모바일을 위한 시각 디자인 변경

HTML5 CSS3 검사

다양한 장치 지원하기

완성된 애플리케이션을 다른 장치에서 평가하기

구형 브라우저에서 동작하는 애플리케이션 개발

요약, 질문과 답변, 워크숍

 

 

PART II HTML5의 주요 기능 배우기

 

 

HOUR 9 HTML5의 섹셔닝 요소와 시맨틱 요소로 의미 부여하기

 

섹셔닝 요소란 무엇인가?

새로운 섹셔닝 요소 사용하기

시맨틱하게 HTML 표기하기

요약, 질문과 답변, 워크숍

 

HOUR 10 HTML5 캔버스 요소를 사용하여 그림 그리기

 

캔버스 요소 사용하기

<canvas> 요소에 도형 그리기

캔버스에 폰트와 텍스트 작성하기

이미지 표시하기

캔버스는 SVG나 플래시와 어떻게 다른가?

요약, 질문과 답변, 워크숍

 

HOUR 11 HTML5의 폰트와 타이포그래피

 

타이포그래피의 요소 정의하기

적절한 타이포그래피적 엔티티 사용하기

웹 공개 폰트 형태 이해하기

요약, 질문과 답변, 워크숍

 

HOUR 12 HTML5의 오디와 비디오

 

오디오와 비디오를 위해 왜 HTML5나 플래시를 사용하는가?

최고의 호환성을 위한 비디오 포맷 선택

다양한 지원을 위한 오디오 코덱 선택하기

새로운 HTML5 미디어 요소

미디어 확장을 위한 유용한 속성

인터넷 익스플로러를 위한 대체 옵션 만들기

API 메소드를 사용하여 사용자 정의 컨트롤 만들기

요약, 질문과 답변, 워크숍

 

HOUR 13 HTML5

 

HTML5 폼의 새로운 유용한 기능

HTML5 input 형식

그 외의 새로운 폼 요소

폼 유효성 검사

요약, 질문과 답변, 워크숍

 

HOUR 14 HTML5를 사용한 콘텐츠 편집 및 사용자 인터랙션

 

새로운 contenteditable 속성

execCommand 메소드

웹 페이지에 맞춤법 검사 기능 추가하기

브라우저의 UI와 편집 기능 지원

요약, 질문과 답변, 워크숍

 

HOUR 15 마이크로포맷과 마이크로데이터

 

마이크로포맷(Microformat) 사용하기

마이크로데이터(Microdata) 사용하기

RDFa 사용하기

어떤 형식을 사용할지 결정하기

모바일과 마이크로포맷

요약, 질문과 답변, 워크숍

 

HOUR 16 HTML5에서 드래그앤드롭 기능 사용하기

 

드래그앤드롭 구현

드래그앤드롭 이벤트

드래그앤드롭 속성

유용한 CSS 확장

드래그앤드롭 인터페이스 개발

iOS에서 드래그앤드롭 사용하기

요약, 질문과 답변, 워크숍

 

HOUR 17 HTML5 링크

 

HTML5에서 링크가 어떻게 변경되었는가?

링크 형식과 관계

새로운 링크 형식 사용하기

요약, 질문과 답변, 워크숍

 

 

PART III 모바일과 웹 애플리케이션을 위한 HTML5

 

 

HOUR 18 웹 애플리케이션 API와 데이터세트

웹 애플리케이션 만들기

데이터세트와 data-* 속성

요약, 질문과 답변, 워크숍

 

HOUR 19 웹 소켓, 웹 워커, 파일

 

웹 소켓을 사용하는 양방향 통신

웹 워커를 사용하여 백그라운드에서 스크립트 실행하기

파일 API를 사용하여 클라이언트 측 파일 제어하기

요약, 질문과 답변, 워크숍

 

HOUR 20 오프라인 웹 애플리케이션

 

오프라인 애플리케이션 개발 및 오프라인에서 동작하는 애플리케이션으로 전환하기

캐시 매니페스트(Cache Manifest)

오프라인 애플리케이션을 위해 DOM 이벤트와 속성 사용하기

애플리케이션 캐시 디버깅

요약, 질문과 답변, 워크숍

 

HOUR 21 HTML5의 웹 저장소

 

웹 저장소란 무엇인가?

SQL Indexed DB

요약, 질문과 답변, 워크숍

 

 

PART III 모바일과 웹 애플리케이션을 위한 HTML5

 

 

HOUR 22 히스토리 API를 사용한 브라우저 히스토리 제어

왜 브라우저 히스토리를 제어하는가?

히스토리 API 메소드

히스토리 API 사용하기

히스토리 API의 위험과 불편함

요약, 질문과 답변, 워크숍

 

HOUR 23 지오로케이션을 사용한 위치 감지기능 추가

 

지오로케이션이란 무엇인가?

개인 정보 및 위치 정보

모바일 지오로케이션 애플리케이션 생성하기

요약, 질문과 답변, 워크숍

 

HOUR 24 HTML5 애플리케이션을 네이티브 애플리케이션으로 변환하기

 

네이티브 애플리케이션과 HTML5 애플리케이션의 차이점 비교

네이티브 앱으로 변환하기

애플리케이션 아이콘 만들기

애플리케이션 테스트

앱스토어에서 애플리케이션 판매

네이티브로의 변환 이외의 옵션

요약, 질문과 답변, 워크숍

 

부록 A. 퀴즈에 대한 답변

부록 B. HTML 요소와 속성

부록 C. HTML5와 모바일 애플리케이션 리소스

 

 

 

이 책의 구성

 

 

이 책은 3개 섹션으로 나뉜다.

 

PART I. 첫 번째 섹션인 ‘공개 웹 표준을 사용하여 웹 페이지와 웹 애플리케이션 만들기’에서는 HTMLCSS, 자바스크립트의 기본 원리를 가르치며, 모바일 장치와 비모바일 장치를 위한 기본적인 웹 애플리케이션을 만드는 방법도 가르친다. 이 섹션을 읽은 뒤에는 HTML, CSS, 자바스크립트를 사용하여 기본적인 웹 사이트를 만드는 방법을 알게 된다.

 

PART II. 두 번째 섹션인 ‘HTML5의 주요 기능 배우기’에서는 HTML5의 새로운 중요 기능을 좀 더 다룬다. 여기서는 더 나은 애플리케이션을 만드는 데 도움을 줄 새로운 HTML5 요소를 배운다.

 

PART III. 세 번째 섹션인 ‘모바일과 웹 애플리케이션을 위한 HTML5’에서는 모바일 애플리케이션을 개발할 때 유용한 API와 도구를 언급하며, 모바일 애플리케이션을 만드는 방법을 세부적으로 설명한다.

 

신고
Trackback 0 | Comment 0

 

 

 

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 프로젝트 만들기