itok's Lab

昔の開発ネタを記録として残してます

2007-03-01から1ヶ月間の記事一覧

subversion メモ:バックアップとリストア

subversion メモ。リポジトリのバックアップとリストアについて。 バックアップ # svnadmin dump /path/to/rep > svn.dump リストア # svnadmin create /path/to/rep # svnadmin load /path/to/rep svn.dump

subversion メモ:OSX クライアント

svnX というのがあるそうです。普段のコミット作業なんかは XCode かコマンドラインでやってますけれど、リポジトリ操作とはこれの方がわかりやすいかも。

アプリ更新フレームワーク:Sparkle 使用メモ

なんだか、当サイトで一番アクセスの多そうな Sparkle のお話ですが、実際に自作アプリに導入してみてのメモ。 アプリ更新フレームワーク:Sparkle SUUpdater のインスタンスは一つで 当たり前っていえばそうですが、複数の nib にまたがって「更新」メソッ…

QuickTime 対応拡張子を取得

QuickTime は基本的に拡張子でファイルの種別を識別しています(つまり拡張子がおかしかったら中身が正しくでも読み込んでくれない)。で、QuickTime が対応している拡張子のリストを取得するメソッド。 // QTMovie +(NSArray*) movieFileTypes:(QTMovieType…

2つのファイルを比較する

2つのファイルの中身を比較、まあコマンドで言うところの diff 的なメソッド。 // NSFileManager -(BOOL) contentsEqualAtPath:(NSString*)path1 andPath:(NSString*)path2; 比較といっても、一致しているかどうかだけを返します。まずはファイルサイズを比…

WebViewで表示できるかどうかをチェック

あるファイルを WebView で表示できるかどうかを確認する方法。ご存知のように、ブラウザはそのプラグインの仕組みによって、いろんなファイルを表示することができます。そのせいもあって、環境によっては表示できたりできなかったりしますよね。そのへんを…

アプリ名からアプリアイコンを取得

アプリケーション名からアプリケーションアイコンを取得します。まず、アイコンを取得するには NSWorkspace のこのメソッド。 //NSWorkspace -(NSImage*) iconForFile:(NSString*)fullPath これにアプリケーションのフルパスを渡してあげれば大丈夫。じゃあ…

任意の領域にToolTipを指定

NSView 上の任意の領域に ToolTip を指定する場合、例えば、NSTableHeaderView 上でカラムごとに ToolTip を表示する時なんかは、これを使います。 // NSView -(NSToolTipTag) addToolTipRect:(NSRect)aRect owner:(id)anObject userData:(void*)userData; …

HTTPヘッダを確認して不要なダウンロードを避ける

同じURLに何度もアクセスに行くような場合、変更がないのにDLするのはMac側の無駄というだけでなく、サーバへの負担を考えてもあまりいいことではありません。NSURLDownloadでは実際のDL処理がはじまる前にヘッダを取得できた時にdelegateが呼び出されるので…

指定URLをバックグラウンドで開く

URLを指定して別のアプリで開く場合、普通はそのアプリが前面にきてしまいますよね。で、それを抑制する方法。NSWorkspace のメソッドの引数として NSWorkspaceLaunchWithoutActivation を使います。 // NSWorkspace [[NSWorkspace sharedWorkspace] openURL…

TracにWebAdminをインストール

先日導入した Trac ですが、次期バージョンを待っているのも面倒くさくなったので WebAdmin のプラグインをインストールしてみました。 まずプラグインインストールに必要なツールsetuptoolsを持ってきます。で、こいつをまずインストール。 # python ez_set…

ranlib エラー

オープンソースのスタティックライブラリをコンパイルして、自分のアプリに組み込むとかそういう時に、こんなエラーがでることがあります。 xxx.a is out of date; rerun ranlib(1) (can't load from it) /usr/bin/ld: なんやらよくわからんけれど、ranlib …

CoreDataメモ(メモリ関連)

CoreDataメモ。メモリ関連。 NSManagedObjectContext と NSManagedObject は互いに参照を持ちあうが、retain はしていない。 2つのアプリが同じデータストアにアクセスしたり、1つのアプリで複数のデータストアを取り扱う場合、まあ、想像がつくようにオブジ…

CFRunLoopとCFRunLoopSourceの簡単サンプル

RunLoop のドキュメントを見ても、載っているサンプルは CFRunLoopTimer なので、CFRunLoopSource を使った簡単サンプルでも。 CFRunLoopSourceRef src; CFRunLoopRef loop; // (1) void thread() { CFRunLoopSourceContext context = {0}; context.perform …

ドメイン変更

特に意味があったわけではないのですが、ふとドメインをとってしまったので、Labをサブドメインから独立させることにしました。新しいアドレスは http://110k.net/ です。転送設定もしてあるので旧アドレスでも使えますけれど、よかったら新しいほうをどうぞ…

Trac を導入してみる

最近気になっていたプロジェクト管理システム(というとちょっと大げさかもしれませんが)Trac を導入してみました。参考にしたのはこのあたり。 Trac をインストールしてみたよ Sandbox Trac-0.10 無事に導入できて、さあ Ensemble2 の開発ロードマップをこ…