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-
October, 2005

October 26

シイラ、ビルド出した。

  • RSS の自動更新と、古い記事の削除機能を実装
  • RSS の再読み込みボタンと停止ボタンを実装

RSS の自動更新機能が付いて、ようやくらしくなってきた。だけど、まだパフォーマンス悪し。試してみる人は注意されたし。

こないだの湘南ミーティングで、Core Data の話をしたんだけど、そのときにあるサンプルを紹介した。

実際に Core Data を使ってみたアプリケーションを、何か紹介してみたかった。何にしようかなー、と考えていたところ、Apple のページにこんな記述があった。

Make no mistake, Core Data is not an object-relational database access framework. You can build anything from a contact-management application to a vector-art illustration program on top of it.

誤解しないで欲しいのですが、Core Dataはオブジェクト関係データベースフレーフムークではありません。コンタクトマネージャアプリケーションから、ベクトルドローソフトまで、あらゆるものを作れます。

Developing with Core Data

ほぅ。ドローソフトもねぇ。ドローソフトっていったら、あれだよ。我々は、すでにドローソフトを持っているじゃないか!

もちろん、Sketch だ!ということで、Sketch の Core Data 化を行ってみた。名付けて Sketch CD。

Core Data 化といっても、見た目や使い勝手は何も変わらない。唯一分かるのは、セーブするときに選べるフォーマットぐらいかな。

Core Data 化の目的は、実際に使い込んでみることで、どの程度まで使い物になるか確認すること。あと、もとの Sketch があるので、ファイルサイズやパフォーマンスがどのくらい変化するか、比較もできる。

とりあえず、一通り動作するところまでは実装してみた。未実装項目としては、以下のものがある。

  • アンドゥ。
  • ドキュメントの updateCount の管理。どういうわけか、うまくいかない。
  • 元のドキュメントとの互換性確保。

これらは、時間ができたら、そのうちやりたいです。

ダウンロード
SketchCD.zip

Sketch と Sketch CD との間で、ドキュメントサイズの比較はやってみた。同じドキュメントを、それぞれのフォーマットで保存してみたところ、

バイナリ316 Kb
XML4 Mb
SQL3 Mb
Sketch(オリジナル)6.6 Mb

という感じになった。予想通り、バイナリが一番小さい。XML は、その 10 倍以上。SQL は、予想していたよりも大きかった。オリジナルの Sketch がやたら大きいのは、ASCII の Property List 形式を使っているため。これをバイナリにすれば、もっと小さくはなると思う。読み込み速度は、これに比例すると思ってもらってかまわない。

ということで、Core Data を使うなら、普通はバイナリでしょう。かなり大きくなる予定だったら SQL。よほど特殊な理由があるなら XML。ってとこでしょうか。

October 23

昨日は、MOSA の湘南ミーティングに行ってきた。参加した方、お疲れさまでした。運営のスタッフの方もお疲れさまでした。

個人的にちょっとトラブルがあって、2 日目の朝から参加。朝イチにセミナーがあったので、自宅を 6 時に出る。遠いよ。

セミナーでは、Core Data に関する話。Core Data は Key Value Observing や Cocoa Bindings の知識を前提にしているから、説明が辛かった。あと、長い単語が多くて、「管理対象オブジェクトコンテキスト」とか、話すのが辛い。

それで、ふと思い出したのが、Java Beans。Beans テクノロジーではなくて、Beans という名前のこと。あの辺の技術を、再利用可能ソフトウェアモジュール群とかいわないで、「Beans」という言葉で表すようにしたのは、便利だよな。

こういう名前づけは Apple も得意のはずだけど、Core Data には活かされてないようで、残念。

湘南では、Core Data を利用した、あるサンプルを紹介したけど、それは完成させて、近日中に公開する。ついでに、元のアプリケーションと比較して、ファイルサイズやパフォーマンスがどう変化するかも、調べてみる予定。

先日紹介した、復刊ドットコムでの「Objective‐C—MacOS Xプログラミング入門」の復刊リクエストだけど、26 票に増えている!もし、このサイトを読んで入れてくれた人がいたら、ありがとう!おぉー、1/4 突破だ。

このリクエスト投票は、リクエストしても買うかどうかはまたあとで決めるようなので、興味のある方は、とりあえず、ぜひ。

October 20

またしても、ご無沙汰しております。

先日、Cocoa 勉強会に参加してきた。あいかわらず、濃い内容で面白かったです。kimuraw さんの、こちらとかも、参考に。

で、そのときにゲストで Mark さんという方が来てたんだけど、NeXT 時代からのユーザで、IB の Tips を教えてもらった。

IB で、Instances タブで階層表示にして、インスタンス化された部品を Control + Shift を押しながらクリックすると、矢印が現れてどこにあるか教えてくれる!

おぉー。知らなかった。これは便利じゃ。

で、そこで発表したのは Core Data の話。今週末に、MOSA湘南ミーティングがあるんだけど、そこでも Core Data の話をする。

というわけで、Core Data 漬けの日々。いや、楽しい。これは、ほんとに楽しい。WO の EOF って触ったことないんだけど、こんなレベルのものが提供されているなら、それは惚れ込むよなぁ。

Core Data を Google で調べていると、結構いろいろな解説があった。そんな中で、いまぶつかっていた問題と同じことが、リンゴの水やりさんの Core Data と継承で説明されていた。熟読する。

Core Data 関連は、近いうちにまとまった記事が出るよ。

ダイナミック Objective-C の方も、コツコツと続いている。11 回までいきました。

Objective-C は、言語仕様が小さいので、機能紹介だけだとそろそろネタ切れになる。早っ。それは織り込み済みで、もともとこの連載は機能紹介が目的ではなく、「動的」がどう実現されているか、どう利点があるか、を解き明かそうとしている。ということで、いままでは準備運動です。近いうちに、本格的な展開を迎えます。

Objective-C といえば、Objective-C 言語の説明本としては、ほとんど唯一無二のものが荻原先生の「Mac OS X プログラミング入門 Objective-C」。Objective-C について、深く広く書かれた、必携書です。んが、絶版中。

しかし、最近 Google で探し物してたら、復刊ドットコムで復刊リクエストが行われていることを知る。おぉ!私も投票する!した。復刊するなら、買ってもいい!すでに持ってるけど。

いまのところ、投票は 12 票。少なっ。100 票になると交渉開始らしいんで、先は長そう。興味ある方は、ぜひ。

October 9

シイラ、作業中。

まず、アイコンギャラリーに、Colors 2 と Heart を追加した。Colors 2 は、現在のデフォルトツールバーである Colors を、メタルにフィットするようにしたもの。Heart は、ハート型のボタンで、色のバリエーションがたくさんあるのがすばらしい。ありがとう、佐々木さんakimaro さん。

続いて、シイラビルド。Nightly build 051009。

  • アイコンをアップデート
  • サイドバーのパネル選択 UI を変更。縦タブ
  • RSS 実装中

まず、サイドバーは、縦タブに移行した。けっこう大変だった。ウヒー。メインウィンドウのタブと同じデザインだ。

このデザインにしたおかげで、サイドバーでもタブをドラッグ・アンド・ドロップして、順序を入れ替えることができるようになった。これは便利かも。

次。RSS は、まだ作業中。やること多すぎるよ。やってもやっても終わんないよ。仕様を大きくしすぎたかも。

とりあえず、

  • 階層表示とフラット表示の切り替え
  • 日付によるソート
  • コンテキストメニューを拡張

などはつけた。未実装項目は、

  • 定期更新<まだないのかよ
  • フォルダ毎に区分しての表示
  • 拡張子が .rdf や .xml 以外のフィードの表示。MIME で見分ける

ってとこか。単に表示するだけなら簡単なんだが、きちんと使えるようにするには、やることがたくさんある。ぐは。

October 3

サイドバーのインタフェースについて。いろいろ意見ありがとうございました。

で、考えたさ。いろいろ言われたから、いろいろ考えたよ。全部まとめて考察してみた。

前にあったものと、提案してもらったものをまとめると、

  • 横タブ
  • 横タブでアイコン
  • 縦タブ
  • 多段タブ
  • ポップアップメニュー
  • Finderライクなツールバー

ってことになる。このうち、ポップアップメニューは、タブに比べると、あまりに使いづらい。これは却下。

ちなみに、タブの枚数だけど、おそらく 8 枚ぐらいにはなると思う。その是非はさておいて、そのくらいに対応できるインタフェースが欲しい。そうなると、現行の横タブでは足りない。Finderライクなツールバーも、横においていくと、はみでる。

横タブでアイコンを使うというのもいいんだけど、やっぱり理解しづらい。できれば名前を書きたい。

となると、縦タブか多段タブ、ということになる。縦の利点は分かりやすいこと。欠点は、やはり縦のサイズの限界があること。多段タブは、かなりタブが増えても対応できる。が、ボタンの幅が動くのは、実際作ってみたら、やはり気持ち悪かった。

じゃ、やっぱり縦でいきますか。ということで、作ったのがこれ。

これなら、どうだ!?なんか、IE みたいになってきか?


[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