きりかノート 3冊め

おあそびプログラミング

2006-10-01から1ヶ月間の記事一覧

RubyCocoa - retain 漏れの探索 (その2)プレースホルダなんてあったね

RubyTypingTutor がクラッシュする件。[rubycocoa-devel:428]ocm_retain_result_if_necessary() での alloc 時の振る舞いを変更すればクラッシュしなくなるってことは、Ruby 側からの alloc 呼び出しに関連した部分なんだろう。BigLetterView.rb での alloc …

Keynote.app についての豆知識 - スムーズに見せるために

スライド内容じゃなくって、アプリの操作の話な。MOSA Software Meeting 2006 のセッションで、スライド操作でいくつかもたもたしてしまった。最近は Rabbit ばかり使っていたというのがあるかもしれないけれど、反省を込めて、Keynote (現在 v3.0.2) でスラ…

そろそろ、Cocoa Life Vol.3 の季節

そろそろ原稿に手をつけ始めないといけないかなあ。今回は、今年の4月にやった「iTunes のような NSBrowser をつくる」をベースに、NSPredicate とコレクション演算子の機能で集合データを取り扱う方法について書くつもり。発表のときは、コントロールクラス…

RubyCocoa - retain 漏れの探索 (その1?)

[rubycocoa-devel:427] の話。まずひとつやっつけた。RubyCocoa では、Ruby 用に 1 だけ retainCount を確保するようになっている。で、Cocoa のオブジェクトが Ruby 世界にあらわれたときに、この処理をするようにしている。ただし、alloc 直後など、オーナ…

trunk の問題点 まとめ

[rubycocoa-devel:425] の話。NSZombieEnabled アリガトウ という話?今の RubyCocoa trunk では、以下の問題が見つかっている。 sample/RubyTypingTutor で、ドラッグやコピー操作中にクラッシュする 藤本さんの MSM2006 の tutorial_1 で、特定の処理を評…

RubyCocoa 0.5.0 リリース延期のお知らせ

いくつかのサンプルが動作しない問題が確認されたため、0.5.0 のリリース作業は中断しています。開発チームで調査を続けていますが、現在のところ原因の特定にいたっていないため、解決には時間がかかるかもしれません。とりあえず、お知らせまで。個人的に…

まだ、RubyCocoa のユニバーサルバイナリが i386 で動かない

ダメだった…。3度目の正直なるかっ!?ええと、0.4.3d2 は大丈夫だったんだよな。じゃあそれの setup 時の出力と比較してみよう。てきとうに省略。 (0.4.3d2) CompileC .o .m DynamicLibrary.LinkUsingFileList /Users/kimuraw/proj/rubycocoa/src/rubycocoa…

推測 - RubyCocoa のユニバーサルバイナリが i386 で動かない

[rubycocoa-devel:402] の話。ふつうにスクリプトでつくった RubyCocoa のユニバーサルバイナリのパッケージがどうもうまく動かないようだ。0.4.3d2 のときはちゃんと動いてたんだから、その後の変更があやしいよな。というわけで、まずは setup 時の出力を…

このサイトが NOINDEX, NOFOLLOW になっていた

なんだか自意識を差し引いても、検索にひっかからなさすぎると思ったのでトップページのソースをみてみたら、head に <meta name="robots" content="noindex,nofollow" />とかはいってやんの。調べてみたら、ココログの設定で「更新通知」を「いいえ」に設定するとそうなるらしい。ヘルプの説明だと、ココログ</meta>…

RubyCocoa 今日のコミット

NSArray#to_a.each をボクメツ RCArrayAttachment のおかげで、0.4.3d2 から NSArray#each が使えるようになっていたので、それを利用するように変更。ちょっとコードがすっきりに。コミット前に update (svk pull) しなかったおかげで藤本さんとコンフリク…

RubyConf 2006 "Leveraging Mac OS X from Ruby" by Laurent Sansonetti

Web 上のレポートをチェック mputの日記 Nick Sieger 藤本さんの OSM の記事でも思ったけど、RubyOSA はかなりおもしろそう。Automator アクションも書けるはずだし、AppleScript であるがゆえに敬遠していた層を取りこめれば、RubyCocoa 以上に普及しそうな…

0.5.0 準備完了っ!

ドキュメントの更新やら細かい修正やらが終わった。あとは開発メンバーで簡単な確認をしたらリリースするつもり。リリース前に試してみたいひとは、現在の svn trunk をチェックアウトしてください。知らなかったんだけど、Info.plist を Cプリプロセッサに…

宿題その2 - プロジェクトテンプレートをXcodeネイティブに

RubyCocoa の Application と Document base Application のプロジェクトテンプレートが Project Builder のまんまだったので、Universal Binary がつくりにくいというので変換した。はじめは Xcode 2.0 にしようと Tiger の DVD 引っ張り出したんだけど、こ…

宿題その1 - eval でメソッドをオーバーライドしても反映されない

MSM2006での宿題 1/2。メソッドキャッシュなのかなあと思って検証。 require 'osx/cocoa' class Foo < OSX::NSObject def foo(sender) 111 end end obj = Foo.ocm_send(:alloc).ocm_send(:init) p obj.ocm_send(:foo, nil).to_i class Foo < OSX::NSObject d…

RubyCocoa 今日のコミット

lib/ruby 側の osx/appkit.rb と osx/foundation.rb が修正されてなかったのを修正 obj.objc_methods にも 引数を追加。false が渡されたときはスーパークラスを見ないように。(ruby 1.8 の methods と同じ仕様に。objc_class_methods と objc_instance_met…

MSM2006 行ってきた

例によって資料を置いておく。スライドのみ。ちょっと時間足りなかったところは反省。どうせ質問がでるだろうとスキをつくっておいたけど聞かれなかったので、資料に載せなかった個人的な見解。 Q. OpenDoc とか「発行と引用」の歴史があるんだけど大丈夫? …

NSURLProtocol サブクラスの canInitWithRequest: は登録の逆順に呼ばれる

経験的にそうであることは知っていたけど、ドキュメントには書いてないからねえ、と思っていたのだけど、webkitsdk-dev ML で Apple の人がそう言っていたから仕様だと思っていいのかな。SandTrip はそうであることを利用して file: スキームの特定の URL を…

RubyCocoa 今日のコミット

0.5.0 のリリース準備。 今年になってから追加されたサンプル(from rubycocoa.com) の中に ns_overrides があったので削除。 ドキュメント類の最低限の更新(まだ途中) 勢いさえつけば作業はできるのだ、と改めて実感。できるだけ早くリリースできるよう努…

OmniDazzle を Keynote で有効にする

OmniDazzle のエフェクトが Keynote 上で描画されない。ウインドウレベルの関係かなあとおもっていたら、ふつうにヘルプに書いてあった。 Keynote の環境設定で「Expose や Dashboard などによる画面の使用を許可」 にチェックをつけたまえユニバーサルアク…

今週末は RubyCocoa 祭りだ!

10/20 三浦半島は葉山で行われるMOSA Software Meetingにて、藤本さんによるセッション 10/21 US デンバーでの RubyConf にて、Laurent Sansonetti による "Leveraging Mac OS X from Ruby" 両方に参加するのはまず不可能という、ワールドワイドっぷり。ちょ…

MSM2006 発表練習

Cocoa勉強会の有志で、MOSA湘南ミーティングのセッションリハーサル。協力してくれたみなさん、ありがとうございました。自分のは時間はだいたいOKで、後半がわかりにくかったので構成を見直し。やった甲斐があった。

Rabbit の svn trunk 用 port

をコミット[rabbit-shockers:235]。svn.tag のところを HEAD にすれば常に最新になるとは思うけど、パッチもあるし簡単だけど動作確認もしといたほうがいいしね。今の 0.4.2 の Portfile につけてるパッチは、3種類くらいの修正を1ファイルにしてるので、本…

Pragmatic Programmers の TextMate 本

「TextMate : Power Editing for the Mac」という本がでるそうだ。スゲエ!って BETA PDF はもう出てる。via Samurai Coder。

mogenerator で CoreData のカスタムクラスコード生成

rentzsch.com の "mogenerator: Core Data codegen" で、mogenerator というツールが公開されていた。これは WebObjects にあった EOGenerator というツールの CoreData 版(のようなもの)らしい(WO 知らないのでよくわからん)。コンパイルするには、Misc…

RubyCocoa thread 対策パッチを更新

以前に Jonathan がつくったパッチを、ruby-1.8.5 と rubycocoa svn trunk に合わせて更新した [rubycocoa-devel:388]。ruby の Thread クラスに手を入れて、RubyCocoa と協調するようにしたもの。patch コマンドがほとんど調整してくれるから、更新したって…

svk patch まとめ

「svk patch って?」 の続き。cpan の SVK::Command::Patch、SVK::Command::Smerge、 SVK::Command::Push あたりを読んでるうちにようやく理解できた。概要svk patch は、以下の2種類のファイル群の差異をパッチとして管理することができる。差異をとる対象…

第20回 Cocoa勉強会 に行ってきた

今まで最大の人数、っつーかもう誰が誰だかわからん。発表の中でも特におもしろかったもの。松本さんによる、OpenMenu X の対応アプリケーションを増やすための工夫。まずはスタンダードな方法をとりつつ、漏れてしまう部分をカバーしていく方法について。ス…