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

소득공제
iOS와 OS X의 메모리 관리와 멀티스레딩 기법
ARC, 블록, GCD를 활용한
베스트
IT 모바일 top100 6주
가격
20,000
10 18,000
YES포인트?
200원 (1%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

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

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

책소개

목차

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

저자 소개

저자 : 가즈키 사카모토
사카모토는 게임 프로그래머, 임베디드 소프트웨어 개발자, 모바일 소프트웨어 엔지니어, 웹 엔지니어 등 다양한 경험을 가지고 있는 개발자다. 그는 BeBox에 NetBSD 를 포팅, MacVim 의 유지 보수, 아이폰 애플리케이션 개발 등을 했다. Twitter @splhack
저자 : 도모히코 후루모토
후루모토는 게임 개발과 모바일 폰 애플리케이션 개발 경험이 있는 소프트웨어 엔지니어다. Twitter @munakoiso
역자 : OSXDEV
OSXDEV(osxdev.org)는 2001년도 국내 최초 맥 개발자 커뮤니티로 시작해서 OS X 개발 기술을 스터디하고 기술 문서 한글화 작업 등을 진행해왔다. 최근 iOS 개발자들 이 많아지면서 자연스럽게 국내 최고의 맥/iOS 개발자 커뮤니티로 거듭나고 있다. 매 년 맥 OS X과 iOS 개발 스터디 그룹 활동과 정기 세미나를 개최하고 있으며, 최근 맥/ iOS 콘텐츠를 번역하고 책으로 소개하거나 공동 앱을 만드는 프로젝트도 진행 중이다.

품목정보

발행일
2013년 08월 26일
쪽수, 무게, 크기
268쪽 | 478g | 173*230*20mm
ISBN13
9788993827651

책 속으로

이 책은 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를 시작해보자.

리뷰/한줄평4

리뷰

7.8 리뷰 총점

한줄평

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