15 10 / 2011

『エキスパートObjective-Cプログラミング ― iOS/OS Xのメモリ管理とマルチスレッド』

iOS/OS Xアプリケーション開発者向けに、かなりマニアックな本を書きました。

エキスパートObjective-Cプログラミング ― iOS/OS Xのメモリ管理とマルチスレッド

というタイトルで、ARC、Blocks、Grand Central Dispatchを事細かに説明している本です。

達人出版会さんにて絶賛販売中です! (http://tatsu-zine.com/books/objc)

自分で絶賛とか言ってますが、どのくらい絶賛かと言いますと、

ARCに関する記述を読んだ。めっちゃ詳しい。詳しすぎるくらいだ。Objective-CというかCocoaのメモリ管理について知りたければこれ!!

「エキスパートObjective-Cプログラミング ― iOS/OS Xのメモリ管理とマルチスレッド - 達人出版会」買った。すごい内容!NSAutoreleasePoolをautoreleaseしたらどうなるか、とか面白い話山盛り。

参照カウントによるメモリ管理の説明部分なんかは、初心者でもわかりやすい(はず)。私が今まで見た中で、最もわかりやすくretain,releaseについて説明してあります。(中略)また、ブロック構文の説明やGrandCentralDispatchの説明も、今まで見た資料よりも断然わかりやすいです。(中略)この本に書いてある説明は、孫引きの説明ではなく、著者が深いところまで調べ上げ、理解したうえで書いています。こういう本こそ手元に持っておきたいと私は思います。

「エキスパートObjective-Cプログラミング ― iOS/OS Xのメモリ管理とマルチスレッド」を読んでますが、これはほんと全開発者必須だと思う。初心者でもまず最初のリファレンスカウンタの仕組みくらいは必読かと

『エキスパートObjective-Cプログラミング ― iOS/OS Xのメモリ管理とマルチスレッド』私も読んでます。 ADCのドキュメントより役に立つ読み物は貴重

達人出版会の [エキスパート Objective-C プログラミング ― iOS/OS X のメモリ管理とマルチスレット] が親切過ぎる。ARCの話抜きでもメモリ管理の説明とか分り易すぎ。Obj-Cこれからの未経験者も読むといいよ

このように、大変ありがたい言葉を頂いております! ありがとうございます!

また、現在の販売形態は電子書籍ですが、紙でも出版されます! (『エキスパートObjective-Cプログラミング ― iOS/OS Xのメモリ管理とマルチスレッド』β版を公開しましたいつ出版されるのか、残念ながらまだ言えません!

Amazonで予約開始されました! http://amzn.to/ngnnU1

そのかわり、詳細な目次を公開させていただきます。購入の参考にしてみてくださいませ!

■Automatic Reference Counting

        ■Automatic Reference Countingとは何か?

        ■メモリ管理 / 参照カウント

                ■概要

                ■メモリ管理の考え方

                        ■自分が生成したオブジェクトの所有者は、自分である

                        ■自分が生成していないオブジェクトも、所有することができる

                        ■自分が所有しているオブジェクトが必要なくなったら、解放する

                        ■自分が所有してないオブジェクトを解放してはならない

                ■alloc/retain/release/deallocの実装

                ■Appleによる実装

                ■autorelease

                ■autoreleaseの実装

                ■Appleによる実装

        ■ARCのルール

                ■概要

                ■メモリ管理の考え方

                ■所有修飾子

                        ■__strong修飾子

                        ■__weak修飾子

                        ■__unsafe_unretained修飾子

                        ■__autoreleasing修飾子

                ■ルール

                        ■retain/release/retainCount/autoreleaseは使用できない

                        ■NSAllocateObject/NSDeallocateObjectは使用できない

                        ■メモリ管理に関するメソッド命名規則を守る

                        ■明示的にdeallocを呼び出せない

                        ■NSAutoreleasePoolのかわりに@autoreleasepoolブロックを使用する

                        ■ゾーン(NSZone)は使用できない

                        ■オブジェクト型変数は、C言語の構造体(struct/union)のメンバになれない

                        ■「id」と「void *」は明示的にキャストする

                ■プロパティ

                ■配列

        ■ARCの実装

                ■__strong修飾子

                ■__weak修飾子

                ■__autoreleasing修飾子

                ■参照カウント

■Blocks

        ■Blocks概要

                ■Blocksとは何か?

        ■Blocksの仕様

                ■Block構文

                ■Block型変数

                ■自動変数値のキャプチャ

                ■__block指定子

                ■キャプチャした自動変数

        ■Blocksの実装

                ■Blockの実態

                ■自動変数値のキャプチャ

                ■__block指定子

                ■Blockの記憶域

                ■__block変数の記憶域

                ■オブジェクトのキャプチャ

                ■__block変数とオブジェクト

                ■Blockによる循環参照

                ■copy/release

■Grand Central Dispatch

        ■Grand Central Dispatch概要

                ■Grand Central Dispatchとは何か?

                ■マルチスレッドプログラミング

        ■Grand Central DispatchのAPI

                ■Dispatch Queue

                ■dispatch_queue_create

                ■Main Dispatch Queue / Global Dispatch Queue

                ■dispatch_set_target_queue

                ■dispatch_after

                ■Dispatch Group

                ■dispatch_barrier_async

                ■dispatch_sync

                ■dispatch_apply

                ■dispatch_suspend / dispatch_resume

                ■Dispatch Semaphore

                ■dispatch_once

                ■Dispatch I/O

        ■Grand Central Dispatchの実装

                ■Dispatch Queue

                ■Dispatch Source

■コラム: ゾーン

■コラム: Objective-C メソッド呼び出しの高速化

■コラム: NSAutoreleasePoolオブジェクトをautorelease

■コラム: __strong修飾子/__weak修飾子

■コラム: Objective-Cのオブジェクトと、Core Foundationオブジェクト

■コラム: オブジェクトの即時解放

■コラム: allowsWeakReference/retainWeakReferenceメソッド

■コラム: C++のthis、Objective-Cのself

Permalink 10 notes