at_yasu's blog

ロード的なことを

2010-01-01から1年間の記事一覧

CoreDataとMultiThreadのメモ書き(不完全)

いまいち分かってないけどメモ書き*2010/12/14 追加、基本ルールにすこし追記 *2010/12/17 追加、ごにょごにょと。Stackoverflowに書いている事ではこんな感じ。基本ルール NSPersistentStoreCoordinator は唯一にすること 同様に、NSManagedObjectModelも…

NSArray + Map + Block

MacOSX 10.6 以上ないしは、iOS4.0 以上(3.0以上?)でしかできないけど、NSArray に map関数の実装。 NSArrayのドキュメント見ても意外となかったので、即興で書いてみた。テストあんまりしてないから自信ない。 NSArray+Map.h // // NSArray+Map.h // kis…

Dynamic Property

Pythonばっかいじってたせいで、dir(obj) とかやってしまいそうになりますが、ObjCではうまくいきません(当たりまえですが)。でも、CoreData の Entity は上手く動いてます。そんなわけでできるはずなので探した結果、下記のようなコードになりましたとさ…

Detected manual index.yaml, will not update

以前からこんなメッセージが出ててなんでだろうと思ってたので少し調べました。どうもGAEは、改行コードが「\r\n」は読まないみたいで、「\n」の時だけみたいです。置換して、dev_appserver.py を再起動すると確かにアップデートしました。 参考: http://nor…

Gitをインストールして一番初めにしたこと

うちの Mac に Git を何となくインストールしたのでメモ書き。 主にXcodeをメインで使いますので、XCodeのユーザ依存のファイルは初めから無視するファイルにして、リポジトリに入れない方針です。 無視するファイルを設定 [yasui@MacMini: ~][11:37] $ cat <…

頭の体操

例えば、「メールアドレス,名前」が一行ずつ入ったファイルがあったとする。 [yasui@MacMini: ~/python/maptest][21:07] $ head random.cvs bsui9kbW@pdx.ne.jp,7lupVA5K5xdK OKQESJFx@docomo.ne.jp,CN2eBnufqLeC x748QoWF@ezweb.ne.jp,Bjc59Fc00xf4 nThpcgO…

忘備録

はてな技術勉強会再開のお知らせ「iPhoneアプリ開発入門編」「位置情報の取説」 - Hatena Developer Blogに行ってきました。ちなみ、前から二列目?の壁側にいた、髪の長い人でコーラを飲んでた人です。その時取ったノートのまとめ。所々間違えてるかも。 長…

起動時、iPad/iPhoneの回転方向と起動画面に対応

以前書いた記事「2010-06-20 - at_yasuの日記もといメモ書き 」に似たような事を書いてますが、これ微妙に間違ってましたごめんなさい。 起動時、iPad/iPhoneの回転方向に対応する プロジェクトに含む、Info.plist にプロパティを追加しなければいけません。…

ちょっと叫んでみる

はてなロゴTシャツ&ステッカー欲しい! ええ、それだけですはい。

メモリ管理と通知

retain、assign、copy、nonatomicについての簡潔な説明 - 強火で進め >retain、assignの違いなどについてまだイマイチ分かってない人はこの資料できちんと理解しておきましょう。 > >何か良く分からないけど何故かアプリが落ちるなんてバグの原因の一つがこ…

起動時に横倒し

横倒しのまま起動した時、それを検知する方法。起動時に、UIDeviceが回転状態を「UIDeviceOrientationDidChangeNotification」で飛ばすみたいだから、それを取得して現在情報を見たらいいみたい。 例 - (void) orientationChanged:(NSNotification *)notific…

Bazzar の Push と Merge

良いスレ(【bzr】Bazaarでバージョン管理 Rev 2)があって、pushとMergeの解りやすい説明があったからコピペ。 180 :デフォルトの名無しさん:2010/05/12(水) 01:40:55 コミットログとpullの動作で質問 共有リポジトリにtrunkブランチをinitして、 そのtrunk…

insert text for NSTextView from none main thread.

スレッドを作ってそこから、NSTextView にずらずら表示させたいのだけど、どうも一癖あるらしい。 - (void) printmessage:(NSString*)txt { @synchronized(text) { [text performSelector:@selector(insertText:) onThread:[NSThread mainThread] withObject…

Array merge

AとBという二つの配列があったとする。 A B id ... id ... 1 ... 1 .. 2 ... 2 .. 3 ... 3 .. 4 ... 5 .. 6 ... 6 .. この二つの配列を同期させたい A を中心にしたとき、B は A と同じになる。(Bから、5が消え、4が増える) B を中心にしたとき、A は B と…

Random String Generator

モノッそい簡単です def randomstr(length): stri = 'abcdefghijklmnopqrsuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' return ''.join([random.choice(stri) for x in xrange(length)]) 参考と言うか、出所:Bright-Green.com: Generating a random string

Hellow world と書かずに、Hellow worldと表示

「プログラム内にHellow world を書かずに、Hellow world を表示させる」という息抜きをしました。 今回は、引数ではなく、配列に数値を溜め込んで、ascii 文字にして表示させるという方法。配列内の数値操作には、+-{}[] を使います。 + カウンターを1上げ…

post mail

commit した時に、メールを投げる設定。まず、bzr-email プラグインを突っ込みます。 $ bzr co https://launchpad.net/bzr-email ~/.bazaar/plugins/email 次に、locations.conf ないしは、bazaar.conf にメールの設定 [/some/as/prj/dir] post_commit = bzr…

NSDate の compare: に関するメモ書き

NSDate の時間を比較する時、compare: を使いますが、NSOrderedSame を返さない気配。 検証プログラム void fn (NSString* sel,NSDate* olddate,NSDate* fndate) { SEL slt = NSSelectorFromString(sel); NSDate* ch = [olddate performSelector:slt withObj…

Animation の開始と終了を受け取る方法

UIView の beginAnimation:context: を見ていると、どうもAnimationの開始と終了を受け取る事が出来るようで、それを試したメモ書き*1まず、開始と終了時、メッセージを受け取るメソッド - (void) setBeginAnimation:(id)sender { DLog(@"%s sender:%@", __F…

Fault cannot be fulfilled

今イチ理解してないけど。「NSObjectInaccessibleException Fault cannot be fulfilled 〜」とエラーが出されて何のこっちゃと思ってたら、どうも、NSManagedObject を作成中にクラッシュなどして、commitされずに放置されたエンティティにアクセスした時に…

UIScrollView と delegate のメソッド呼び出しの順番メモ

UIViewController を継承してカスタマイズしたクラスを作り、内部ではUIScrollViewのdelegate(UIScrollViewDelegate)も兼ねている。delegate の通知と、UIViewControllerのメソッドの呼び出し順番のメモ。 == 起動 == 2010-05-14 02:24:52.788 SVCTest[9154:…

Model.dbの事(ほぼ愚痴)

GoogleAppEngine(以下GAE)は、Djangoのモデルではないので、Djangoはそのままじゃ使えない。てなわけで、Django HelperやAppEnginePatchがあるのはわかる。 でもそれぞれ使う理由が無い気がしたので、素のままのDjangoを使ってみた。「Error was: type objec…

UIButton と setTitle:forState:

UIButtonですが、何か挙動不審なのでメモ。 forState: の引数、UIControlState ですが、それぞれ(なぜか)論理演算できるようにシフトしているんです。 enum { UIControlStateNormal = 0, UIControlStateHighlighted = 1 << 0, UIControlStateDisabled = 1 <…

いろいろメモ書き。

未検証事項。 iPhone で URL を Safariで開く。 UIApplication を使う [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://goo.gl/"]]; via http://freeek.jp/blog/iphone/115/ Message UI でメール送信 MessageUI.Framework をリン…

UIViewControllerの回転検知とsetViewControllers:animated:

まず回転検知から、 - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation の「UIInterfaceOrientation」がわからなかったので、NSLogで表示させて地道な解析結果。 以下は、シミュレータを正常位の状態から回転さ…

アクセス解析から見たちょっと面白い事

Google Analystics をこのブログにも突っ込んでいるのですが、あれってかなり細かい所まで情報を取ってくるんですよね。アクセス元から、何回見たか、ユーザのアクセス元の国から、PCの環境まで取ってきます。 それでこの写真はアクセスして下さった人の、上…

ブラウザの強制リロードと DNS Cache Release

ドメイン設定変更とかする時、DNSキャッシュをされると困る事が多々あります。ブラウザをリロードしても、DNSを変更してサーバごとHPを入れ替えたのに、更新されない等など。 上記の例だとまずする事。 ブラウザで、Shift押しながら更新→キャッシュを読み込…

CoreData Migration ~ Lightweight Migration を使った方法

「CoreData Migration - xcmappingmodel 編」と「CocoaBindingを使って画像管理ソフトを作成」の合わせ技です。なお、「CoreData Migration - xcmappingmodel 編」はサンプルコードすらない旧聞の状態なので、新しいのでも問題ないという人はこちら推奨。ち…

CocoaBindingを使って画像管理ソフトを作成

ちと必要になったのと、復習がてらCoreData + CocoaBindingを使って、画像管理ソフトを作りましたのでそのメモ。 ざっくりしたいこと まんまですが、本タイトルを入力し、既存のファイルをドラッグアンドドロップすると画像が登録されるというシンプルな物で…

削除ルール

CoreDataで、例えばテーブルAとテーブルBを関連(AはRelate, BはRelates、AとBは1対多)付けた時、A側のデータ(Relate)を消したとする。その時に設定されている削除ルールをもとに、出来る事出来ない事のメモ書き。 Deny(拒否) Aを消そうとしても、Bがある場…