2012-01-17

xcode4のcoredataでone-to-manyを設定する方法

relationshipのinspectorがどこででてくるか全くわからなかったので
メモ。

1. add new fileでデータモデルを選んで、Hogehoge.xcdatamodeldを追加
2. xcdatamodeldを選択すると、Core Data Model Editorが右ペインに表示される
3. Entityを追加する。CategoryはSubCategoryを複数持ち、SubCategoryは1つのCategoryを持つとする
3-1 EntityにCategoryを追加。
3-2 EntityにSubCategoryを追加。

3-3 CategoryのEntityに、relationshipでsubcategoriesを追加
このとき、
View→Utilities→Show Data Model Inspectorを選べば、
one-to-manyが選べるペインが右に表示される
Name:subcategories
Destination : SubCategory
OptionalとTo-Many Relationshipにチェックをつける
(Inverseはそのまま)

3-4 SubCategoryにrelationshipでcategoryを追加
同様にrelationshipを選んだ状態で、Data Model Inspectorを表示。
Name : category
Destination : Category
Inverse : subcategories

チャート図でみたときに
CategoryとSubCategoryが1つの線で結ばれ、
Category <------->> SubCategory
と SubCategory側に>>がついていれば正しい状態

2012-01-06

nginxのdebパッケージをカスタマイズする

ubuntu 11.10 serverでnginxのtcp_proxy_moduleを使用したかったのでdebファイルを生成するための記録

1 create working directory
$ mkdir -p src/deb
$ cd src/deb

2 install source packages
$ apt-get source nginx-full

3 install build packages and other dependency packages
$ sudo apt-get install devscripts
$ sudo apt-get build-dep nginx-full

4 download tcp_proxy_module
$ cd nginx-1.0.5/debian/modules
$ git clone https://github.com/yaoweibin/nginx_tcp_proxy_module.git

5 apply patch tcp.patch
$ cd ../../
$ pwd
/home/ry/src/deb/nginx-1.0.5
$ patch -p1 < debian/modules/nginx_tcp_proxy_module/tcp.patch

6 edit changelog
$ cd ../../
$ debchange -i
(add your change log)

7 edit debian/rules
$ vi debian/rules
--add-module=$(MODULESDIR)/nginx_tcp_proxy_module \

8 build package!
$ pwd
/home/ry/src/deb/nginx-1.0.5
$ debuild -us -uc

wait

9 install new deb
$ cd ../
$ ls nginx*.deb
nginx_1.0.5-1ry_all.deb (and other packages)
$ sudo dpkg -i nginx_1.0.5-1ry_all.deb