Backnumber

June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
December, 2005
November, 2005
October, 2005
September, 2005
August, 2005
July, 2005
June, 2005
May, 2005
April, 2005
March, 2005
Feburary, 2005
January, 2005
December, 2004
November, 2004
October, 2004
September, 2004
Augsut, 2004
July, 2004
June, 2004
May, 2004
April, 2004
March, 2004
February, 2004
January, 2004
December, 2003
November, 2003
October, 2003
September, 2003
August, 2003

- HMDT archive-
December, 2003

December 20

年末年始休業のお知らせ:

ちょっと早いけど、今日から年末のお休みに入るので、このページの更新もお休みします。復活は来年になります。今年は、東京行きます。

では。Have a happy holiday!

December 19

Mac OS X が 10.3.2 にアップデート。ついでに Safari も 1.1(v100) から 1.1(v100.1) にアップデート。Safari 本体、Web Kit、WebCore がアップデートされたようだ。WebCore の変更箇所は、たぶん Surfin' Safari で紹介されたものなんだろうな。でも Darwin のソースコードはアップデートされてないようだ。

ついでに Xcode も 1.1 にアップデート。これには詳細なリリースノートが付いている。ざっと目を通すと、おぉ〜、ずいぶん直されたようだ。これで少しは使い物になるとうれしいのだが。一つすぐ気がついたのは、コード補完に反応時間の設定がついた。これで使いやすくなるかも。

しかし、ホリデーシーズン前だというのに、こんなにアップデート出して大丈夫なのか?問題発生しても、来年までほっとかれるかもな。

December 18

きのう書いたように、Exposé のアルゴリズムを再現してみようと思って、ちょっと考えていたんだけど、、、難しいっ!

とりあえず分かったことは、

  • ウィンドウが重なっていると Exposé が発生する。1 枚だったり、ウィンドウが重なっていないと、発生しない。
  • ウィンドウの移動は、重なっているウィンドウの重心を中心にしているようだ。重心を中心にして、放射状にウィンドウが拡散していく。すべてのウィンドウの重なりが解消されたところで、Exposé が完了する。

これだけなら、どうにかなるんだけど、さらにこんな条件もある。

  • ウィンドウの移動の結果、画面外にはみ出てしまうような場合は、ウィンドウをスライドさせる。
  • ウィンドウをスライドさせても重なりが解消されない場合は、ウィンドウを縮小する。すべてのウィンドウの縮小率は同じ。
  • ウィンドウの移動先で別のウィンドウと重なってしまう場合は、新たな Exposé が発生する。(ということは、玉突き的に第一次 Exposé、第二次 Exposé、第三次、、、と発生するのか?)

これらも考慮するとなると、えーっと、えーーーと、うがぁぁぁ!腰を据えてやらないとできそうにない。

たぶん、やたらと場合分けの多い線形代数に落とせると思うんだけど。でももう数学忘れちまったよ。会社でも家でも数値計算とかやらないから、きれいに忘れてしまった。そういや最近、浮動小数点使ってないなぁ。それはさておき、Exposé の問題は面白いと思う。実用的だし。線形代数的に解析して、Apple のよりも、「より良い Exposé」を見つけることができるかもしれないし。時間ができたらやってみたいね。

December 17

こんな文章を書いてみた。「Exposé 幾何学への招待 ー Exposé の基本」。

Exposé 幾何学とは、Panther に搭載された Exposé を実現する Exposé 変換を定義し、その性質の解析を目指すものだ。手始めとして、Exposé の定義に必要な概念を解説してみた。

次回は、2 枚のウィンドウのための Exposé 変換の解説の予定。、、、けっこう難しい。果たして、続くのだろうか?

December 16

体調崩してました。っくしょい。

Web Kit に関しては、ちょっと待って。なんかとぎれとぎれになってるけど。そのうち、ばばん、とまとまったものが出る。はず。

Xcode について。ターゲットのビルドの設定項目のウィンドウを調べてたんだけど、あれ分かりにくいよねー。マニュアル読むまで、ぜんぜん分からなかったよ。こんな感じの画面なんだけど。

ここで、コンパイラやリンカの設定を行うわけだ。まずメインのテーブルでは、設定の項目と値が表示される。これは分かる。右側のドロワーでは、項目のグループが表示される。これも分かる。でも、メインのテーブルで、設定の項目が太字だったり、打ち消し線付きだったりしてるでしょ。何これ?あと、ドロワーに「現在の設定」っていうフォルダがある。これも何?

マニュアルによると、まず太字の項目は、「デフォルトとは違う値が設定されている項目」だ。つまり、このプロジェクトで特に設定された項目というわけだ。打ち消し線は、「ビルドスタイルで設定されている項目」だ。ビルドスタイルで設定された項目は、ターゲットの設定より優先されるので、ここで設定しても効果ないよ、という意味で打ち消し線らしい。分かんねーよ、そんなとこまで!この項目が、設定不可能とか思ってたよ。

で、コレクションの「現在の設定」は、デフォルトとは違う値が設定されている項目を集めたものらしい。つまり、太字の項目を集めたものだ。それだったら、「変更された設定」とかいう名前にすればいいんじゃないの?

一回分かれば便利なんだけど、ぱっと見じゃ分からねーよ。どうも Xcode の UI は、全般に不親切というか、ミスリードしやすいというか。マニュアルを読まないと、分からんよ。マニュアルなしで使えるのが Apple の UI じゃなかったのか?それとも、開発環境でマニュアルを読まない方が悪い?

December 9

Web Kit + コントローラレイヤをいろいろいじってるんだけど、WebPreferences の設定も Interface Builder からできるんだね、これ。Model Key Path で、preferences.defaultFontSize とかやってやればいい。後日、解説するね。

コントローラレイヤは、ほんと面白い。これの本質は、文字列指定によるメソッド呼び出しな訳だ。それで、キー・バリュー・コーディングの考え方がいるわけね。キー・パスの力も絶大。久しぶりに、これは面白い!と、声を大にして言える。直感的ではないけど。WebObjects な人たちには、すでに当たり前のことだったのかな?

こうなると、もっとビューが欲しくなる。とりあえず、フォントの設定をフォントパネルとともに行う、カラー・ウェルのフォント版が欲しいな。フォント・ウェルとでも呼びますか。あと、NSOutlineView と NSBrowser が、早くコントローラレイヤ対応にならないかな。

December 8

掲示板からのリクエストもあったので、はじめてのブラウザのつくり方を更新したぜ。これからは、10.3 対応にしていくよ。まず、コントローラレイヤへの対応だ。WebView でコントローラレイヤを使うと、ブラウザをさらに簡単に作れるようになる。そのへんを説明してみた。

December 6

前にも紹介したことがあるんですけど、BIG nerd ranchCore Mac OS X and Unix Programming っていう本を出してるんだ。Mac OS X での UNIX プログラミングを解説した本なんだよ。OS X 関係のプログラミングの本だから、何はさておき買ったんだけど、そのときの値段は $97.75。高っ!でも、買ったんだけどね。

で、この間、その出版元から郵便が届きました。曰く、

「本を買ってくれてありがとう。本が出てから 5 ヶ月たったので、在庫を一掃しなきゃいけないから値下げするよ。」

がーん!値下げされたプライスは $65.00。まだ高いけど、前よりはるかに安い。つーか、お手紙正直すぎ。

「でもあなたはオリジナルの値段で買ってくれたので、なにかお礼をしたいんだ。そこで『失われた一章』を送るよ。これはオリジナルの値段で買ってくれた人だけが見れるんだ。」

ということで、本には収録されなかった第26章「Distributing your Software」が送られてきました。配布するときのパッケージングの作り方だね。内容は hdiutil の使い方、ライセンス承認のためのダイアログの表示、パッケージメーカーの使い方など。まあまあ役に立つかな。なんにせよ、値下げのときになんらかのケアがあると、うれしいもんです。

December 5

Apple から Safari の Cookie への未承認アクセスを防ぐ、Security Update 2003-12-05 が、配布されているようで。

パッケージの中身をのぞくと、Foundation フレームワークがアップデートされている。前に書いた通り、これって Safari の問題というよりは、Safari が利用している Foundation の問題だったんで、そこをアップデートしたのでしょう。昔、Web Foundation って呼ばれて Web Kit の一部だったやつだな。だから、Web Kit を利用しているアプリケーションの問題も直っている、はず。検証してないけど。

December 4

「さぁ〜て、ひさしぶりに Web Kit プログラミングでもしようっかな」と思って、Interface Builder 立ち上げたんですよ。気がついてみると 10.3 になってから初めての Web Kit だった。で、WebView やらなにやらペタペタ貼って、ふと気づいたら、バインディングのところに WebView って出てくるじゃないですか!「へっ?」と思って選択してみたら、Model key path のところに、WebView のメソッドが出てくる!

ここにあるメソッドの返り値は、ビューへのバインディングに使える。つまりだ、現在のURLをテキストフィールドに設定したり、ページのタイトルをウィンドウに設定したり、バックできるかどうかでボタンを有効/無効にしたり、読み込み終わるまでの状態を示すプログレスバーを設定したりすることが、Interface Builderでできてしまうわけだ。おぉ〜、コントローラレイヤ楽しい!はじめてのブラウザのつくり方の、半分以上が無意味になってしまったぜ。

December 1

九龍的家頁さんの 12.02 より。

Xcodeってさ、ときどきおかしくならない?インスペクターが開かなくなっちゃったので、何度かプリファレンスファイルを捨てるハメになったんだけど。何がいけないやら。

うちもそうっす。どうしたもんかね、と思って com.apple.Xcode.plist をのぞいたら、PBXInspectorPanel Configuration / PBXConfiguration.PBXModule.PBXInfoInspectorPanel.Geometry ってとこの値が変だったので、そこを直したらなおりました。

使い込んでみると、Xcode はバグバグっす。なんかの拍子で初期設定がおかしくなるのか、落ちまくるし。あはは。

でもそれはそれとして、慣れると結構使いやすいかも。でもその使いやすさってのは iApplication の使いやすさだね。開発環境としての機能で見ると、MS の方が上なんだろうなぁ、使ったことないけど。


[Home] [Download] [Archives] [BBS] [Cocoa Programming Tips 1001] [Core Foundation の秘密] [Safari Developer Center] [はじめてのブラウザのつくり方] [Sketch BP] [スクリーンセイバーを作ろう] [Objective-C 最適化] [Authorization API 完全理解] [Mac OS X Programming Books Review] [オブジェクト指向の言語比較論] [panther-dev]

mailto: mkino@xd5.so-net.ne.jp