SCMとデバッグ

多くのデバッグに関する本や記事には、デバッガ等のツールを活用した効率的なデバッグ方法について触れられています。デバッグする上でデバッガは絶対に必要なのですが、今の時代SCMほどデバッグのコストとストレスを軽減できるシステムはないはずなのに、あまりそれについて触れられている記事がなかったり、問題が起きた時にSCMを活用できていない方をたまに見ます。
ごく当たり前な話なのですが、特にSCMを使い始めたばかりの学生の方とかに知ってもらいたいので、記事にしました。 “SCMとデバッグ” の続きを読む

Cent OSにnode.jsをインストール

開発用にMacにnode.js、npmをインストールする際はbrewとshコマンド程度でサクッとインストールできたのですが、どうやらCent OS等にインストールする場合は現時点ではソースコードからビルドする必要があるようです。以下、なんの変哲もない備忘録的インストール手順です。 “Cent OSにnode.jsをインストール” の続きを読む

Objective-C用のドキュメント作成ツールappledoc

Objective-Cライブラリのドキュメント作成は今までDoxygenを使っていたのですが、もうすこしObjective-C用に適したドキュメント作成ツールがないか調べていたらappledocを見つけました。 “Objective-C用のドキュメント作成ツールappledoc” の続きを読む

テスト用にアドレス帳にダミーデータを登録する

アドレス帳が関係するアプリケーションを開発する際、数百件単位でアドレス帳にデータが欲しい時があります。
そんな時、数百件分手作業でデータを登録するのは厄介なので、プログラムで一気にテストデータを登録するコードを書いたので、共有しておきます。
ただし、消すコードはないので実機ではやらないほうがよいかも(・ω・)

ABAddressBookRef addressBook = ABAddressBookCreate();
for (int i = 0; i < 150; i++) {
    ABRecordRef person = ABPersonCreate();
    ABMutableMultiValueRef email =
    ABMultiValueCreateMutable(kABMultiStringPropertyType);
    ABMultiValueAddValueAndLabel(email,
        [NSString stringWithFormat:@"test%d@example.com", i], 
        CFSTR("email"), NULL);
    ABRecordSetValue(person, kABPersonEmailProperty, email, nil);
    CFRelease(email);
    ABAddressBookAddRecord(addressBook, person, nil);
    ABAddressBookSave(addressBook, nil);
    CFRelease(person);
}

ちなみに上記のコードはiOS3 or 4でしか動きません。