이미 소장하고 있다면 판매해 보세요.
|
CHAPTER 1 ARC(자동 레퍼런스 카운팅) 이전의 삶
레퍼런스를 계산하는 메모리 관리 방식의 개요 메모리 관리에 대한 좀 더 깊이 있는 탐구 생성하는 모든 객체에 대해 소유권을 갖는다 “retain”을 이용하여 객체의 소유권을 획득할 수 있다 더 이상 필요하지 않으면 소유하고 있는 객체의 소유권을 내주어야 한다 alloc, retain, release, dealloc의 구현 alloc 메서드 retain 메서드 release 메서드 dealloc 메서드 alloc, retain, release, dealloc의 Apple에서의 구현 Autorelease 자동 변수(Autumatic Variables) autorelease 구현하기 애플의 autorelease 구현 요약 CHAPTER 2 ARC 규칙 개요 레퍼런스 카운팅 기법의 바뀐 점 소유권 수식어 __strong 소유권 수식어 __strong 소유권 속성을 갖는 변수에 대입하기 강한 참조가 동작하는 방식 __weak 소유권 수식어 순환 참조 자기 참조 약한 참조는 사라진다 __unsafe_unretained 소유권 수식어 __autoreleasing 소유권 수식어 컴파일러가 알아서 __autoreleasing을 처리해준다 결과를 인자로 반환하기 __strong과 __weak 규칙 retain, release, retainCount, autorelease는 잊어라 NSAllocateObject와 NSDeallocateObject는 잊어라 객체 생성에 관련된 메서드 작명 규칙을 따르라 dealloc의 명시적 호출을 잊어라 NSAutoreleasePool 대신 @autoreleasepool을 사용하라 Zone(NSZone)을 잊어라 객체 형의 변수들은 C 언어의 구조체 또는 공용체의 멤버가 될 수 없다 프로퍼티 Array 요약 CHAPTER 3 ARC 구현 __strong 소유권 수식어 array 메서드 호출 __weak 소유권 수식어 객체가 폐기될 때 밑단 살펴보기 새로 생성된 객체를 할당하기 즉각적인 객체의 폐기 오토릴리스 풀에 자동으로 추가하기 __autoreleasing 소유권 수식어 __unsafe_unretained 소유권 수식어 레퍼런스 카운트 요약 CHAPTER 4 블록 시작하기 블록 입문서 익명 함수(Anonymous functions) 변수 블록으로 해결 블록 리터럴 문법 블록 타입 변수 자동 변수 캡처 __block 지시어 캡처된 자동 변수 요약 CHAPTER 5 블록 구현 블록의 내부 소스코드 변환하기 C++에서 this와 Objective-C에서 self _ _cself 선언하기 _ _main_block_impl_0 구조체의 생성자 _ _main_block_impl_0 인스턴스 초기화하기 _NSConcreteStackBlock 살펴보기 자동 변수 캡처하기 익명 함수 쓰기 가능한 변수들 정적 변수나 전역 변수 __block 지시어 블록에서 메모리 세그먼트 NSConcreteGlobalBlock 클래스 객체 형태의 블록 힙으로 블록 복사하기 자동으로 블록 복사하기 수동으로 블록 복사하기 블록 여러 번 복사하기 __block 변수의 메모리 세그먼트 __forwarding 객체 캡처하기 언제 copy 메서드를 호출해야만 할까. __block 변수와 객체 블록 순환 참조 Copy/Release 요약 CHAPTER 6 GCD GCD 살펴보기 멀티 스레드 프로그래밍 CPU가 응용프로그램을 실행하는 방식 멀티 스레드 프로그래밍의 장점과 단점 요약 CHAPTER 7 GCD 기본 디스패치 큐(Dispatch Queues) 두 가지 타입의 디스패치 큐 시리얼 디스패치 큐 콘커런트 디스패치 큐 디스패치 큐 얻기 dispatch_queue_create 메인 디스패치 큐/글로벌 디스패치 큐 디스패치 큐 제어하기 dispatch_set_target_queue dispatch_after 디스패치 그룹 dispatch_barrier_async dispatch_sync dispatch_apply dispatch_suspend/dispatch_resume Dispatch Semaphore dispatch_once Dispatch I/O 요약 CHAPTER 8 GCD 구현방식 디스패치 큐 커널 수준의 구현 GCD 구조 글로벌 디스패치 큐와 pthread_workqueue 블록 실행하기 디스패치 소스 디스패치 소스 사용하기 예제 요약 APPENDIX A ARC와 블록 그리고 GCD 예제 APPENDIX B References |
|
이 책은 iOS와 OS X에 포함된 ARC, 블록, GCD(Grand Central Dispatch)에 관한
것으로 다른 책들과는 다르다. 간단히 말해서 이 책은 다음과 같은 깊이 있는 내용을 담고 있다. - ARC는 iOS 5와 OS X 라이언에서 새롭게 소개된 메모리 관리 기법이다. - 블록과 GCD는 주로 멀티스레드 기반 앱을 작성하는 데 사용하며, iOS 4와 OS X 스노레퍼드에서 소개되었다. 이런 새로운 기술들은 iOS 5와 OS X 라이언 개발 환경에서는 필수 사항이다. 얼핏 이해하기 쉬운 것 같아 보이지만, 실제로는 확실하게 자신의 것으로 만들지 못하면 여러 난관에 부딪칠 것이다. 이 책에서는 단지 애플의 레퍼런스 문서를 읽기만 하는 것보다 쉽게 이해할 수 있도록 애플의 소스코드를 기준으로 설명하고 있다. 누구에게 필요한 책인가 - C/C++를 이해하고 있지만 Objective-C가 낯선 개발자 - Objective-C 소스코드가 어떻게 동작하는지 알고 싶은 개발자 - iOS 또는 맥 앱을 개발하면서 좀 더 상위 수준으로 발전하고 싶은 개발자 ---「서문」 |
|
iOS 개발자라면 늘 힘겨운 싸움이었던 메모리 관리의 복잡함을 풀어주는 ARC(자동 레퍼런스 카운팅).
멀티스레딩 프로그래밍의 어려움을 해결해주는 블록과 GCD(Grand Central Dispatch). 이제 ARC, 블록과 GCD는 선택이 아닌 꼭 알아야하는 애플 기술의 핵심이다. 이 책의 내용 - ARC 기본 개념부터 작성 규칙, 세부 구현 내용까지 체계적인 설명 - 블록(Block)의 문법과 종류, 내부 구현방식을 포함하는 효과적인 블록 사용법 - GCD 기술을 이용한 멀티스레딩 프로그래밍 기법과 디스패치 큐, 디스패치 소스 활용법 더 이상 주저하지 말고 이 책과 함께 ARC와 블록, GCD를 시작해보자. |