|
HMDT - Back Number / November, 2001 |
November, 2001
Objective-C 最適化シリーズ、「メモリ確保の基本と Foundation」の昨日の続き、後編です。メモリの確保と初期化の際の効率の議論。そして、Foundation の実装の調査です。 Foundation の実装は、すごく cool だ。そっかー、ちゃんとやってるんだ。すげー、かっこいいー。何がどうかっこいいのかは、本文を読んで下さい。NeXT 使ってた人たちは、ずっとこんなに完成度の高い環境でプログラム書いてたのか。すっごく、うらやましい。おれが、この数年間やってきた環境が、情けなく見える。発想もそこに縛られてたし。Cocoa はいいなぁ。Apple はつぶれたりしてもいいけど、Cocoa だけは生き残ってほしい。ほんと、そう思う。
Objective-C 最適化シリーズ、「メモリ確保の基本と Foundation」の前編っす。Objective-C でのメモリ確保と NSObject の中身、さらに Foundation の alloc のやり方などについて解説されてるよ。 今回はちょっと、訳がうまくいかなかいところがあったね。というよりは、原文の意図を解釈しきれないところがあった。「実行時のクラスを理解する」の節なんだけど。原文には object と class object っていう語が出てくるんだけど、それぞれ何を指しているんだ?一般的なオブジェクトのことなのか、Obj-C のオブジェクトのことなのか?あと、NSObject は普通の class object じゃない!って、強調されて書かれているんだけどどういう意図? 読まれた後、ぴんと来ない人がいたら、それは訳者の力量不足です。すんません。適切な文を思い付く人がいたら、教えて下さい。
Cocoa 1001、NSImage を使って、画像ファイルの配列を取得する、っていう話です。ちょいネタだね。
Objective-C 最適化シリーズ、第一弾の「Sampler.app で C と Objective-C をプロファイルする」の後編です。もとの記事は、かなり古いシステムを使って書かれているみたい(たぶん初期の Mac OS X Server)ですが、ほとんどそのまま使えます。Sampler.app の使い勝手は微妙に違いますが。 今回の記事を調べる時に、Sampler.app 使ってみたんですが、なかなか優秀ですね。特にスタックトレースもできるのが便利。プロファイルだけでなく、関数コールスタックを調べるのにも使えそう。
Apple が Mac OS X Programming Guidlines というドキュメントを公開していたよ。Mac OS X でプログラミングをする際のガイドラインだ。そのまんまじゃ。 なかなかに、すぱすぱぁっ、と言ってくれている。項目だけ拾ってみよう。
いやいや、言ってくれてるねぇ。要約すれば、いままでの Mac OS 独自のプログラミング概念、リソースとか FSSpec とか、を使うな、ってことだな、こりゃ。で、代わりにファイルパスや拡張子などの、標準的な手法を使えと。そのくせ Cocoa、つまり Objective-C(すぐれてはいるが、標準ではない)を強く推して、C++ を使うときはよく考えろという。利点は明白。Mac OS プログラミングを、いままでの独自世界から標準におろすこと。いや、もちろん、Objective-C なんだけどさ。 だけど、Mac OS らしさは、どこに求めればいいのかねぇ。このまま one of Unix になっていくのだろうか?この方向性、吉と出るか凶と出るかは、Cocoa を使ったキラーアプリケーションの出現にかかっているんだと思うよ。
ちぁっす!御無沙汰してました、mkino です。10 日以上間が空いてしまったなぁ。私信ですが、品川でお祝いしてくれた方々ありがとう。無事帰り着きました。 さて、こっからが本題ですが、MULLE KYBERNETIK っていうサイトは、Mac OS X プログラミングに関する、独自のディープな情報を提供しているサイトなんですけど、そこの Optimizing Objective-C Series を翻訳してみました。話題は、標準で付いてくる Apple のプロファイラ Sampler.app の使い方から始まって、Foundation のメモリ確保の仕組み、Objective-C のメソッド呼び出し、Array の最適化手法など。最適化の実践手法だけにとどまらず、Foundation の根っこの仕組みが分かる、非常に興味深いドキュメントです。 まずは、一回目の Sampler.app で C と Objective-C をプロファイルする(前編)からどうぞ。
先日、iPod なんかで、クラシックは聞かねーよ、って書いたけど、よく考えると iPod の対応しているデータフォーマットは MP3 だけではない。AIFF でクラシックを落とせば、ちゃんと聞けるんじゃないか? さっそく実験。選んだのはマーラーの交響曲第1番。バーンスタイン。AIFF で丸ごと落としてみる。サイズは合計で 566MB。うぉぉ、でけぇ。iPod に落としてみる。おぉ、あっという間に落ちる。聞いてみる。おぉ、これなら聞ける。ぜんぜん音が痩せてない。弦楽器の厚みも、らっぱの響きもそのままだ。CD クォリティだ!って、CD そのまんまなんだから、あたりまえだけど。 これって、いままでのメモリカードベースのプレイヤーじゃ、できなかったことだよね。64MB とかそのぐらいのメモリしかなかったから、わざわざ MP3 にして、音を間引いていたんだ。それが、ハードディスクなら、そんな必要はない。曲数はそんなにいらないから、クォリティを重視、ということができるんだ。 iPod は 5G だから、CD 8 枚ぐらいは入る。CD Walkman と CD 8 枚を持ち歩くより、リーズナブルでしょ。これは、かなりうれしいかもしんない。どんなもんでしょ>こばやしゆたかさん
iPod のブロックくずし、難しい〜。どこかで、外部接続用の、コントロールダイアルを作らないかな?もちろん、FireWire 接続!
iPod を手に入れたよ〜ん。えへへ。店員の兄ちゃんが、「いいもの買ったねぇ」「ほんと、楽しんでね」って、すごくうれしそうだったのが、印象的だったよ。 感想をだらだら書くと、最初の印象は、ちっちゃい。ひとりで想像したものよりも小さかった。外見はおとなしめだね。他のどぎついタイプの MP3 player と比べると、地味。白と銀色と透明なプラスチック。同梱されているケーブルとアダプタも白で、iBook との親和性に重きをおいてるね。ってことで、おれの PowerBook G4 には似合わねーぞ。Titanium iPod を出せ、Apple。この問題は iMac ユーザも同じで、一年前にスケルトンで周辺機器をそろえた iMac ユーザは、流行遅れの烙印を Apple からも押されたわけですね。どうにかならんもんかね。Apple にしても、ずっと半透明ばっかり作るわけにもいかんだろうし、はやりすたりということで、あきらめるしかないのか?それとも、10 年持つデザインにしろ、っていうべきなのか? 音は、同梱されているイアフォンで聞くと、よく言うと柔らかい感じで、悪く言うとこもった感じ。最近は、ソニーのようなシャキシャキした音になれているので、さっそくイアフォンをソニーのものと取り替えてみる。いつもの音に近くなって満足。MP3 に落とすものは、ポップスだけにしているので(クラシックははなっからあきらめ)、音質は満足できる。MD と同レベルか、ちょっと落ちるぐらいかな?もちろん、CD とは比べるべくもないけど。 液晶は、バックライトなしでもすごく読みやすい。バックライトつけると、まぶしいぐらい。これは、完全に暗いところようだね。Chicago は読みやすい。やっぱり秀逸だ。 同梱されていた iTunes は 2.0。おいおい、また古いやつかよ。Web 上ではとっくにアップデートされてるの。この時代、店でソフトを買うというのは、勧められることじゃないね。
おかげさまで、100,000 hits を達成しました。これも、見にきてくれるみなさんのおかげです。アクセス数は気にしないようにしてるんだけど、一般受けする内容じゃないから、はなっからアクセス数の増加はあきらめてるしね、桁が増えると、やっぱりうれしいもんです。 でも、100,000 でお祝いするっていうのも、きりが悪いよね。やっぱり 1,024 Hits とか、65,536 Hits とか、きりのいい数字で、、、<きりがいいって言わないって、普通は。
Cocoa 1001 です。今回は NSFileManager を使って、ディレクトリの中身を調べる方法です。 かなり基礎的な話ですよね。ま、足下からしっかり固めていくということで。 自分で言いますけど、Cocoa 1001 の進み方って、ほんと、勝手気ままですよね。いまごろ NSFileManager 調べてどーすんだ、って気もします。でも、まともに使うの、初めてだったんだもん。こんなことだから、サイト紹介で、「それなりに面白いです」とか書かれるんだよな。なんだよ、それなりって。
先日書いた、AppleWorks の Web タブで落ちちゃう問題なんですけど、らくたじーのさんからメールもらいました。Thanks!「Mac OS X 10.1 では、AppleWorks 6.2.1 が必要なんじゃないでしょうか」 その通りです。その通りでした。アップデートしたら、動きました。酔っぱらってたんで、気付きませんでした。でもさ、聞いてくれよ。あれ、Mac OS X 10.1 といっしょに、Apple retail store で買ってきたんだよ。Mac OS X 10.1 が誇らし気に並んでいて、その隣に置いてあったんだよ。Mac OS X 対応!ってシールも貼ってあったし。で、レジに持ってったら、おばちゃんが、「これ、Mac OS X 10.1 対応じゃないの。まだ中身が古いの。Apple のサイトにいって、アップデータを取ってこなきゃいけないんだけど、それでもいい?」って聞くんだよ。そのときは、ふんふん、別にいいっすよ、って答えたんだけど。そんまま忘れてた。 そりゃ、確かにおれが悪いよ。ちゃんと、レジのおばちゃんも教えてくれたし、おれもそれでいいよ、って答えたし。だけどさ、せっかくの直営店なんだから、10.1 の発売に合わせて、全部とっかえてくれったっていいよねぇ?そう思わない?思わないっすか。えぇえぇ、どうせおれが悪いんです。 ついでなんで、タイトルを書いてみました。テンプレートをそのままつかっただけで、ちょっと恥ずかしいです。そこは、あえて。
|
|
Home | Link | Download | Back Number | Speciall Issue
|