Macintosh Developer Online (MDOnline)


2001年3月28日発行号 - 小池さんのXファーストインプレッション



こちらでは、昨日の夜あたりから桜の花が咲き始め、今日の昼にはあちらこちらの桜の木が花で被われるくらいになっています。いきなり咲き始めるのでびっくりしますが、それでも夕方になると肌寒いというところです。やっと、TILを整理しましたけど、たくさんあります。がんばって記事にします。今日のところはもうちょっと早く発行する予定だったのですが、ちょっとまたトラぶってしまいました。明日のネタになるかと思いますが、ハードディスクの回転がひっきりなしになり、全然操作できない状態になったのです。もしやと思ったら、ハードディスクの残りは100MBほどでした。きっと仮想記憶の領域がなくなりかけていて、ほとんどフリーズ状態になったのかもしれません。今、ちょっと整理をして、同じ現象を発症しないようにしました。実は、Mac OS X用に2GBのパーティションを用意しておいたのです。Mac OS時代にパーティションを切ったので、まあこんなもんかなと思っていましたけど、Mac OS Xを入れるとだいたい1GBで、それにDeveloper Toolsを入れるとほぼいっぱいになるわけです。ちょっと考えれば分かることですからね。これからインストールされる方は、余裕のあるボリュームにインストールされることをお勧めします。
(新居雅行 msyk@mdonline.jp


小池邦人のプログラミング日記》2001/5/26<Mac OS X v10.0 ファーストインプレッション>

今回は、お約束通り、3月24日に正式に発表された「Mac OS X v10.0」の第一印象を述べてみたいと思います。

まずは、とにかくMac OS X正式版の販売までこぎつけた、Apple社のすべての開発メンバーとサポートスタッフに大きな拍手を送りたいと思います。一般MacユーザのMac OS Xとの関わりはパブリックβ版からですが、我々デベロッパーは、Rhapsody時代から数えると7〜8回プレビュー版の評価をしてきています。その度に「ぐわ〜、リソースが、リソースが...!」「あちゃぁ、拡張子が、拡張子が...!」「どひゃぁ、Finderが、Finderが...!」と、悪夢と恐怖のダンジョンをさまよい歩かされてきたわけです。ちまたでは「Macらしくないゾ」と陰口をたたかれているMac OS Xなのですが、「よくここまでMacらしくなった(感涙)」というのが、私の正直な感想でもあります(笑)。

Apple社は、Mac OS X本体のみの開発だけでなく、ゴールを見据えた周辺技術の開発にも早くから取り組んできました。Mac OS Xに親和性の高いハードウェアの開発、同じく親和性の高いボリュームフォーマットへの切り替え、Classic環境でパフォーマンスを出すためのMac OS 9.xの度重なる改良、InterfaceBuilderやProjectBuilderなどのツールの新規開発、そしてソフトの移植を容易にするためのCarbonフレームワークの導入などなど...。Mac OS Xへと向かうメインストリートの裏側では、想像以上に多くの英知と努力が結集されていると思われます。特に、Carbonフレームワークの導入決断こそがMac OS Xを発売まで導いた大きな要因でしょう。いつもは、牛歩のような開発ペースに文句を言っている私ですが(笑)今日だけは、CarbonLib開発メンバーにも大きな拍手を送りたいと思います。みなさん、拍手!拍手!(明日から、また叩くけど...)

少々前置きが長くなりましたが、Mac OS X正式版の話しに戻りたいと思います。実は、ADCのPremier&Selectメンバーには、正式版発売の1週間ぐらい前に「Mac OS X Release Candidate」なるバージョンが送られて来ました。「正式版は、このバージョンよりも多少はバグが取れているかな?」と淡い期待を抱いていたのですが、両者のビルド番号はまったく同じ、見事に期待を裏切られました(涙)。まあ、発送日が数日しか違わないわけですから、当然と言えば当然でしょう。できれば1ヶ月ぐらい前に、このレベルのバージョンが、Mac OS X対応に追われる周辺機器やソフトのデベロッパーの元へ届いていたら、発表時の対応にもっと余裕ができたのにと悔やまれます。まあ、今となっては詮無いことなのですが...。

さて、とりあえずMac OS Xを自分のマシンにインストールして数日使ってみました。まず最初にチェックしたのがOSのパフォーマンスです。Finderの操作感は、パブリックβ版と比べれば、かなり軽快になっています。と言うか、ブリックβ版がひどすぎたわけで、やっと許容範囲に収まったというところでしょうか?ファイルコピーや、ネットワークでのデータ転送速度もまずまずのようです。しかし、Finderの表示形式を「リスト」に切り替えた時のウィンドウの拡大縮小や、大量のアイコンのドラッグ&ドロップ、Nativeアプリケーションの起動速度などなど、まだまだパフォーマンスの改善が必要な箇所が見受けられます。特に、日本語表示にCPUパワーを取られているような気がしてなりません。「あ〜、英語圏の人はいいなぁ」と、System 6から7への移行の時にも感じたことを思い出してしまいました(涙)。QuickTimeにしても、やっとシネサイズのMovieが途中でひっかかることなく再生できるようになりました。しかし、複数のMovieを同時再生してみると、同マシンのMac OS 9.1環境での再生よりもパフォーマンスが出ていません。(まあ、プロセス割り振りの仕組みが違うので単純には比較できませんが...)このように、ユーザの体感速度にもろ反映する箇所については、早急なパフォーマンスの改善が必要でしょう。

それと比較して、パフォーマンスの改善が目立つのは、Classic環境でのアプリケーション動作速度です。Classic環境への切り替え設定や、FiinderからのApple Eventの転送、NaitiveアプリケーションとのCut&PasteやDrag&Dropによるデータの受け渡しなどなど、まだまだ多くのバグが残っているようです。しかし、パブリックβ版と比べれば間違いなく実用レベルになりました。Classic環境のパフォーマンスが良いおかげで、Mac OS X へ一気に移行してしまおうと考えるユーザも増えるかもしれません。ところで、これからのMac OS Xのパフォーマンスの鍵は、マルチプロセッサーが握っているような気がしています。手元にDual CPUのPowerMac G4が無いのでパフォーマンスを確認できないのが残念ですが、ぜひ一度詳しいチェックをしてみたいと思っています。Mac OS Xの登場により、速いだけでOKの世界から、馬力に余裕がなければダメな世界へと転換が起これば面白いでしょうね。やたら電圧とロックを上げるだけの「恐竜的CPU進化」が、コアに2CPUや4CPUを内蔵した「ほ乳類的CPU進化」へと移行することを切に望みたいと思います。

新しいOSの機能評価をしている場合には、遭遇したトラブルが「バグなのか?」「未実装なのか?」「仕様の不備なのか?」を判断する必要があります。以前のパブリックβ版では、これらが渾然一体となっており、現象をアップルへフィードバックしようにも、どう判断して良いのか不可能なケースがありました。しかし、今回のバージョンでは、その切り分けが比較的容易であるような気がします。今回のバージョンが、パブリックβ版からある程度は洗練されたという証拠でしょう。私も、さっそくアップルのMac OS Xサイトへ30項目ぐらいフィードバックを行いました。その内訳は「バグの指摘」が5割、「未実装の指摘」が3割、残りが「仕様の不備の指摘」といった感じです。やはり現状のMac OS 9.1環境をMc OS Xへ完全移植し、毎日のルーチンワークで使ってみないと、細かなバグを発見することは難しいようです。みなさんも何らかのバグに遭遇したら、迷わず以下のアップルサイトへフィードバックしてください。よろしくお願い致します。

◇Mac OS X:フィードバック
http://survey.apple.co.jp/macosx/

今回のMac OS Xのバージョンでは、いくつかの機能の実装がペンディングされていることが指摘されています。例えば、Finder表示オプションのリスト表示項目の設定には「ラベル」が存在しますが、実際にラベルを設定する方法が無いといった具合です。ちまたでは、DVDの再生やCD-R、DVDへの書き込みなどが「置き忘れ」の代表選手として取り上げられていますが、それ以外にも重要な置き忘れが存在します。利用者から一番声が多いのは、「作業環境マネージャ」と「アピアランスマネージャ」の中途半端な実装についてです。確かに、両マネージャとも実作業に密に関係していますので、最低でもMac OS 9.1レベルは搭載しておいてもらわないと困ると言うのが、大多数のユーザの正直な意見でしょう。まあ「未実装ではなく仕様だ!」と言われると、もっと困ってしまうのですが...。

Apple社には、ユーザからフィードバックされたバグやパフォーマンス問題を、なるべく短期間でフィックスする責任があります。これはMac OS Xの「品質」の問題なのですから、評判を悪くしないためにも早期対応が急務です。「未実装機能」に関しては、そんなに短い期間で対処できるとは思えませんので、5月のWWDC 2001や7月のMacWorld Expo/New Yorkに合わせてタイミングよく補充をしてもらいたいものです。そして最後の「仕様の不備」については、そういう仕様にした「コンセプト」をユーザに明示し、それでもなをユーザからの改善フィードバックが多ければ、仕様の撤回や改善を謙虚に実行する懐の深さを見せて欲しいところです。私は、ソフト開発とは、団子を作るようにどんどん大きくして行くものではなく、吟醸作りで米を研ぐ作業に似ていると感じています。余分な箇所を研いで洗練させていくのですが、その加減を間違えると米が割れて使いものにならなくなります。実に微妙で困難な作業です。

我々デベロッパーは、毎年5月にUSAのサンノゼで開催されるWWDCに参加しています。このカンファレンスでは、いつもは開発に携わっているApple社の技術者が、デベロッパーに対して直接セッションを行います。このカンファレンス、JobsがAppleに復帰する前と後では大きく変わった点がひとつあります。それは、セッションを指揮する技術者の顔ぶれが大きく変化しなくなったことです。以前は、社内のメンバーの移動が激しく、毎年違うメンバーが登場しては消えて行きました。何やら一年おきに、開発者の「リセット」を実行しているようで(CEOもそうか)、参加者側にも不信感と不安感が漂っていました。つまり、Apple社とはそう言う会社だったわけです。最近のWWDCでは、以前はよくあった「派手さ」だけを追求したデモもなくなり、すっかり「地に足のついた」カンファレンスに生まれ変わっています。

今年のWWDCは、例年になく内容の濃いものになるでしょう。Mac OS Xの次なる飛躍をかいま見られるカンファレンスになればと、心待ちにしています。
[小池邦人/オッティモ]

関連リンク:オッティモ
カテゴリ:Mac OS X, 小池邦人のプログラミング日記


Browsing Mac OS X》手が痛い…けど、Sherlockは使えるようになった

2001年3月27日のMDOnlineで“Browsing Mac OS X》作業環境をMac OS Xに移行しました”という記事をお届けしたが、そこではSherlockの検索ができないということを記載した。さっそく、読者の福本真一さんより、Mac OS XでのSherlockでの検索ができるようにする方法を教えていただいた。やはり、最初は全然使えないそうだが、次のようにすることで、Sherlockの検索ができるようになる。Mac OS 9.1のSherlock2を、もちろんClassic環境で一度起動する。そのとき、警告が出るが、かまわず起動する。そして、インターネット検索を1度行い、ClassicのSherlock2を終了する。そうすると、あらあら不思議、Mac OS XのSherlockも検索ができるようになるのである。原因はよくわからないけど、結果オーライということで、これで検索もできるようになった。

で、Mac OS Xを使いはじめて3日、PowerBook(FireWire/400MHz)で使っているのだが、手が痛い。特に、クリックする左手の親指の付け根が重い(私は左利きなのだ)。自分の行動を分析すると、どうやらレスポンスが悪い時に、手に力を入れて待っているのである。Mac OS 9.1を使っている時は、ある程度レスポンスが予測できたので、力を抜いて待っていることができる。だけど、Mac OS Xだと、まだまだ体が慣れていないのである。というか、はっきり言って、非常にレスポンスが悪い時がある。とりわけ、FinderやInternet Explorerは使う時間が長いだけに、心理的な影響は大きいのだ。なるべく、力を抜いて使おうと心掛けるのだが、レスポンスが悪いとつい力が入ったまま待ってしまう。試練の時というやつだろうか。
Internet Explorerはふつうに使う分にはあまりレスポンスは悪くはないと思う。ちょっとクリック等にもたつき感があったり、スクロールバーが反応しなくなるなどもあるけど、けっこう手に厳しいのは、フォームでのポップアップメニューの反応だ。これがかなり遅い。また、フォームのテキストフィールド間でのコピー&ペーストがうまくいかないときがある。また、Internet Explorerのアドレスをコピーしたりペーストしたりといったことがやっぱりうまくいかないときがある。これはどこに責任があるのかは一概に言えないけども、基本操作のコピー&ペーストが機能しないのはなかなかつらい。
Finderに関してはかなりヘビーな使い方をしている。Mac OSメール環境は、メールの一覧をFinderのウインドウで行うのであるが、たとえば、何百というファイルがあるのフォルダを表示するのはざらである。そのとき、フォルダの表示や更新処理などはかなり待たされるのである。コラムビューで表示しての移動はスピーディーではあるが、リストビューにして、フォルダを移動したり上位の階層に移動するときの速度は、Mac OS 9.1にくらべてあまりに時間がかかる。クリックしたのが伝わらなかったのかと思い、またまた、ダブルクリックして関係ないアイコンをダブルクリックしたことになったり、やっぱり思わず力を込めてクリックしてしまっていたりするのだ。
アプリケーションの起動や切り替えなどは、Mac OSとはそれほど変わらないという気もするが、時々すごーく時間がかかるときもあるようだ。ばらつきは大きい。もっとも、起動中でもレスポンスは若干悪くなるだけで、他の作業ができるというのはマルチタスクの恩恵なのかもしれない。

なんか悪口ばっかりになりそうなので、いいところも言っておこう。Classic環境のアプリケーションが意外にレスポンスがいいのである。その分、ネイティブ側が割を食っているのだったら痛し痒しであるが、Classic上でけっこうアプリケーションが使えるのである。これは思ってもいなかったことだ。なるべくClassicは使わないようにと思ったけど、Classicの方は全然区にならない。Entourage、ファイルメーカーPro、AIMあたりをつかっているけど、とりあえずは問題は出ていない。もちろん、Classicの起動に時間がかかることもあるけども、GoLive 5.0を使ってみたけど、Mac OS 9.1のときのレスポンスとあまり変わらない気がする。
ただ、なぜか、Classic環境のとき、時折、キーボードの認識がおかしくなる。本来はJISキーボードなのだが、たまに英語キーボードの配列になってしまうことがあるのだ。おおむね大丈夫だが、カッコとか「」あたりがずれるのが鬱陶しい。
もう1ついい話は、SoundSticksが使えることだ! 使えなかったらどうしようと思ったけど、USBデジタルオーディオがだめだとPower Mac G4でも問題になるから、さすがに対応してきたのだろう。だけど、最初ダメかと思ったのである。システム環境設定で警告音をいろいろいじっているとき、スピーカーをつないでみた。それなのに、システム警告音は内蔵のスピーカーから出てくるのである。ダメかと思ってiTunesを使ってみたら、何とSoundSticksから音が出てくるじゃないの! つまり、警告音は内蔵スピーカーから出て、アプリケーションからのサウンドはSoundSticksから出てくるのである。これは、けっこういい仕様だと言えるだろう。…ということを再確認しようとしたら、システムを起動する時に最初からSoundSticksをつないでいると、警告音もSoundSticks側から出るようだ。いったん、USBプラグを抜いて、再度差し込んでも、警告音はSoundSticks側から全然でないという意味では、バグなのかもしれない。
もっとも、SoundSticksの抜き差しってけっこう大変で、システム環境設定の「サウンド」を出した状態で、USBプラグを抜くと、システム環境設定が落ちる。また、出かけるときにふたを閉めてスリープしようとしたときに、おっとプラグを抜くのを忘れたとか言いながらプラグを抜き、移動先で広げたらなんとKernel Panicになっていて、USBAudioなんたらかんたら…とエラーメッセージが出ている。また、iTunesでSoundSticksを使っているとする。USBプラグを抜くと、Mac OS 9.1だったら内蔵スピーカーに切り替わったけど、Mac OS Xはうんともすんとも言わなくなる。プラグを差し込めば、Sound Sticksから出てくるようにはなる。もっと優しく使えということだろうか。

カテゴリ:Browsing Mac OS X


Mail Import Scriptがきちんと動作したという報告をいただきました

MDOnlineの2001年3月27日号で、“各種メールソフトのメッセージをMac OS XのMailにコンバートするスクリプト”という記事をお届けしたが、そこでは、筆者自身で試したところ、Entourageのメールのコンバートはうまくいかなかったことを報告した。一方、MDOnline読者のアイスクリーマさんからは、うまくいったという報告をいただいた。Outlook Expressのスクリプトを実行されたそうだが、実際に使用しているMac OS 9.1のシステムをClassicで使う必要がまずある。そして、処理の途中で、起動したスクリプトプログラムに切り替えると、エラーで終了したそうだ。そこで、じっと1時間ほど待っていると、うまくMailにメッセージが取り込め、日本語なども問題なく変換されたということだ。メールは7500件ほどだったそうだ。384MBのメモリを実装し400MHzにクロックアップしたPower Macintosh G3を御利用だとのことである。
別件ではあるが、アイスクリーマさんは、Mac OS Xのインストールを、Public Betaへの上書きと、何もないハードディスクと両方試してみたそうだ。やはりPublic Betaへ上書きしたときには挙動不審になっていたが、新たにインストールするとそうした不具合は見られなくなったそうだ。Public Betaへの上書きインストールはやらないようにと記載されているが、やはりさけるべきなのだろう。

カテゴリ:


Browsing Mac OS X》純粋Java開発が可能になったMac OS X(その1)

Javaのブームは去ったとは言え、Javaの開発のメリットは決して薄れたわけではない。クロスプラットフォームということが当初は強くうたわれたが、現在のいちばんのメリットは開発言語として洗練されていて学習しやすいなどの特徴があることだろう。特に、バグが潜在しにく言語仕様という点や、Javaの標準ライブラリ(フレームワーク)の高機能さや明解さなども挙げられる。今までのOSのAPIは複雑になり過ぎた感じがするが、そうした点をオブジェクト指向をベースにスマートにまとめあげているのがJavaのフレームワークである。また、クロスプラットフォームという点は、稼動する環境ごとにAPIを学習する必要性はなくなるという点でも意味がある。もちろん、同一バイナリの完全互換はなかなか難しいにしても、ほとんどの部分に互換性があるということでも、十分に実用的にはクロスプラットフォームなのである。また、初期のJavaが速度の遅さによって実用度を低く見積もられるということにもなっていたのだが、現在のハードウエア環境では、Javaの実行速度も通常のアプリケーションとそん色ないと言えるところにまで来ている。
こうした、メリットのあるJava言語、そしてJavaの標準ライブラリを使ってMacintosh向けのアプリケーションを作成したいと思う人も決して少なくはない。ところが、Mac OS 9.1までで使えるJava VMは、JDK 1.1.8という今となっては恐ろしく古いものだった。もちろん、JDK 1.1.8までにサポートされた機能でも一般的なアプリケーションは作成できるとは言え、他のプラットフォームはすでにJava2対応していることからも、Macintosh環境でのJava2対応は待ち望まれていた。というか、Mac OS XでJava2対応したことから、「Mac OS Xが発売されたらJavaでプログラムを作ろう」というモチベーションにもなったのである。そうして、2001/3/24に発売されたMac OS Xでは、Java2 Ver.1.3をサポートして登場したわけだ。開発ツールとしてProject Builderなどは付属するが、JavaのコンパイラなどのJDKツールは、Mac OS Xの方ですでにインストールされるようになっており、Javaの実行環境はMac OS Xのコア機能でもある。また、ユーザインタフェースのコンポーネントのSwingは、Mac OS XのAquaユーザインタフェースをサポートしていることもあり、Mac OS X向けのアプリケーション作成という点でもJavaはネイティブなフレームワークに匹敵する面を持っているということになる。

□Project Builderを使った純粋Java開発
まずは、せっかく標準でついてきたProject Builderを使った純粋Javaの開発を行うということを紹介しよう。プログラムをテキストファイルに保存し、拡張子が.javaであることはもちろん変わりはない。そうしたファイルを新たに作成したり、あるいは別のところのものを追加するなど、プロジェクトの処理は開発言語にはあまり関係しない。今回の記事はこのあたりのProject Builderの基本的なことは割愛させていただく。なお、Interface BuilderでSwingのユーザインタフェースを設計できれば申し分はないのだが、それはできないので、基本的にProject Builderの作業になる。
Project Builderで、FileメニューからNew Project(Command+shift+N)を選択すると、新しいプロジェクトを作成するウィザードが出てくる。ウィザードとは言ってもステップは2ステップだけだ。最初のダイアログボックスでJava Applicationを選択し、次のダイアログボックスでは、プロジェクト名とプロジェクトを保存するフォルダを指定する。

◇Java Applicationのプロジェクトを用意する



最初にスケルトンとして作成されるJavaのプログラムは、AWTのウインドウに、Labelオブジェクトで単に文字列を表示するだけのものだ。Labelのコンストラクタの文字列を日本語に変更して、とにかくビルドして、実行してみよう。

◇スケルトンのプログラムに日本語文字列を入れてみた


ビルドは、左上のとんかちのアイコン、実行は左から3つ目のディスプレイのアイコンだ。ただし、ここでファイルを保存していないと、保存するかどうかのダイアログボックスが表示される。そこでSave Allボタンをクリックしてもいいが、常に、Command+Sで保存しておくのがうざったくなくていいだろう。なお、ビルドして実行は、Command+RでOKだ。
ではしっかり日本語が出るかと言うと、いきなり次のように文字化けしてしまうに違いない。日本語がでるべきところはすべて文字化けしていないだろうか?

◇日本語の文字が文字化けしてしまう


さっそく回避モードに移ろう。ソースファイルにいきなり日本語の文字列を打ち込んだときには、どうやらファイルへはShift-JISコードで保存されるようなのである。もっとも、ファイルのエンコードをメニューから切り替えることができるので、どうしても、UTF-8が必要だという場合などはエンコードを切り替えることはできる。今回は、そのままShift-JISコードで保存したとしよう。
そうすると、コンパイラにソースコードがShift-JISで記述されていることを、オプションを指定して与えてやらないといけないようである。コンパイラはJava2 SDKのjavacが使われているので、オプションは「-encoding x-sjis」と与えたい、そうしたコンパイル時の追加オプションを、Project Builderで指定することができるのである。これは、コンパイル自体を背後のスクリプトで動かしており、スクリプトの変数を外部から与えるような形式でさまざまなカスタマイズができるようになっているのだ。ProjectメニューのEdit Active Target(Command+option+E)を選択すると、次のように、プロジェクトのターゲットに関する設定を変更するパネルが出てくる。ここで、Build Settingsのタブをクリックして、パネルを呼び出す。

◇プロジェクトの設定を変更する


パネルのいちばん下の方に、Expert Build Settingsというところがあるので、Java_COMPILER_FLAGSの右側をクリックして、そこに「-encoding x-sjis」を記入してやる。

◇コンパイラにソースファイルはShift-JISで作成されていることを教える


こうして、ビルドして実行すると、めでたく日本語がAWTのFrameのウインドウの中に表示される。なお、ビルド結果は、プロジェクトのフォルダの中にあるbuildフォルダに作成されており、Mac OS Xのパッケージ形式になっている。つまり、それをダブルクリックすれば、実行できるアプリケーションの仕上がっているわけだ。

◇無事に日本語の文字列が表示された


なお、作成されるアプリケーションに関する諸設定は、プロジェクトに最初から作成されているMRJApp.propertiesというファイルでも行われている。ここは、Javaのプロパティファイルの形式、つまり、名前と値をイコールで結ぶ形式になっている。これについてはいろいろなオプションや追加のシステムプロパティなどを定義できるが、MRJAppBuilderのドキュメントを参照していただきたい。

◇作成されるアプリケーションに関する諸設定


このファイルで重要なのは、com.apple.mrj.application.mainという設定だ。容易に想像できるように、アプリケーションのmainメソッドのあるクラス名を指定するのである。通常はこのままでOKだが、たとえば、「package MyPack;」という宣言のあるソースの中の「class myApp」にmainメソッドがありそれを実行して起動させるのなら、イコールの右は「MyPack.myApp」のような指定になる。
(続く)

カテゴリ:ProjectBuilder/Interface Builder, Java, Browsing Mac OS X


Browsing Mac OS X》純粋Java開発が可能になったMac OS X(その2)

□Javaツールを作る時のポイント
新しいプロジェクトを作る時の選択肢としては、Java Toolというものがある。これは、Java2 SDKを生のまま使った状態に等しい。いきなり、どっさりと.classファイルを作ったり、それらをまとめた.jarファイルを作るといったことができる。もちろん、Terminalを起動してjavaコマンドで実行することもできる。たとえば、シェルスクリプトの中で実行するJavaのソフトウエアは、こうしたJava Toolsとして作成すればいいだろう。
また、このJava Toolの場合も、やはり「ソースコードがShift-JIS」であることをしっかりコンパイラに伝えてやらないといけない。Project Builderを使う場合には、上記の説明とおりだが、Terminalからjavacコマンドを使ってコンパイルするときには、「javac -encoding x-sjis ソースファイル名」のようにコマンドを入力してやる必要がある。以下は、アプレットでオプションの有無での実行結果を表示した。

◇「-encoding x-sjis」をつけてコンパイルした


◇「-encoding x-sjis」をつけないでコンパイルした


なお、アプレットは、Terminalからappletviewerで実行してもいいが、/Applications/UtilitiesフォルダにあるApplet Launcherを使って実行してもいい。こうしたアプレットを実行するためのアプリケーションの実用度はまだ評価しがたいが、開発ツールではなくMac OS Xの一部分としてついているあたりは、何かを狙っているのかなという勘ぐりもしたくなる。

Java Toolの実行で気をつけたいことがある。文字列をファイルに保存する時には、通常はそのシステムのエンコーディングに応じた文字コードとしてファイルに保存される。ところが、Java Toolで作成したものをそのまま使ってファイルを保存すると、なぜか、日本語の部分だけが?になってしまうのである。そこで、javaコマンドで実行する時に、「-Dfile.encoding=x-sjis」というオプションをつけて、ファイルのエンコーディングをShift-JISであると宣言してやることで、文字列をファイルに保存した結果はShift-JISコードになった。なお、Project Builderで作ったパッケージでは、こうした配慮はしなくても、きちんとShift-JISコードで文字は保存される。
では、そうなるとシステムプロパティがどうなっているのかというあたりを知りたくなるところだが、その話は次回に説明しよう。

カテゴリ:


TIL,TIL-J》Mac OS Xの起動やセットアップに関連する文書

Tech Info Libraryに掲載された、Mac OS Xの起動やセットアップ関連の情報をまとめておこう。文書タイトルとアドレス、そして要約を示す。

◇Mac OS X 10.0: Built-in Floppy Disk Drives Not Recognized
http://til.info.apple.com/techinfo.nsf/artnum/n106234
Mac OS Xは、サードパーティ製のUSB接続のフロッピードライブを認識する場合もあるが、本体内蔵のフロッピーディスクドライブは認識しないため利用することはできない。

◇Mac OS X 10.0: 起動ボリュームが“Mac OS X”ではなく“/”という名前になる
http://til.info.apple.co.jp/cgi-bin/artnum?id=106191JN
◇Mac OS X 10.0: Startup Volume Is Named "/" Instead of "Mac OS X"
http://til.info.apple.com/techinfo.nsf/artnum/n106191
UFS(UNIXフォーマット)でフォーマットした起動ディスク自体には、名前をつけることができない。つけても、再起動後に「/」だけになってしまう。ボリューム名が必要ならば、HFS+フォーマットを使う。UFSでもボリューム名が利用できるように、アップデートされる計画もある。

◇Mac OS X 10.0: Verbose モードで起動すると黄色のテキストが表示される
http://til.info.apple.co.jp/cgi-bin/artnum?id=106193JN
◇Mac OS X 10.0: Yellow Text While Starting up in Verbose Mode
http://til.info.apple.com/techinfo.nsf/artnum/n106193
カーネルの機能拡張を開発するような開発者でない限りは、黄色のテキストは無視してもかまわない。

◇Mac OS X 10.0: Mac OS X のディスク上に Mac OS 9.1 以降を新規インストールする方法
http://til.info.apple.co.jp/cgi-bin/artnum?id=106194JN
◇Mac OS X 10.0: How to Perform a Clean Installation of Mac OS 9.1 or Later on a Mac OS X Disk
http://til.info.apple.com/techinfo.nsf/artnum/n106194
CD-ROMから起動してインストールを行うが、インストール先の「Application(Mac OS 9)」フォルダの中身を別のフォルダに移動させてからインストール作業を行い、作業後にまた元に戻すということを行う必要がある。

◇Mac OS X 10.0: ログイン項目を設定する方法
http://til.info.apple.co.jp/cgi-bin/artnum?id=106146JC
◇Mac OS X 10.0: How to Set up Login Items
http://til.info.apple.com/techinfo.nsf/artnum/n106146
ログイン時に自動的に起動するアプリケーションなどの設定は、システム環境設定の「ログイン」で行う。その手順が記載されたTILの文書が公開されている。実際の手順が記載されているが、この項目一覧は、ユーザーごとに管理されるようになっている。起動した時に、パスワード入力が必要なアプリケーションの場合は、Dockのアイコンをクリックすることで、ダイアログボックスが前面に表示される。なお、この文書には、/System/Library/StarupItemsフォルダのことが記載されているが、これは、システム環境設定で指定する起動アプリケーションではなく、コアOSで起動するサービスを定義するファイルが入れられているフォルダである。文書ではこのフォルダは変更しないようにと記載されている。

◇Mac OS X 10.0: 初期の ATI 製のグラフィックアクセラレータ用に最適化する
http://til.info.apple.co.jp/cgi-bin/artnum?id=106154JC
◇Mac OS X 10.0: Optimizing for Earlier ATI Graphics Accelerators
http://til.info.apple.com/techinfo.nsf/artnum/n106154
Power Macintosh G3や初期のiMacなど、ATIの特定のグラフィックスチップの場合、画面の色数を32,000色にすることで、グラフィックスの性能をアップさせることができる。

◇Mac OS X 10.0 (Japanese): Mac OS 標準ボリューム名がいったん消えて、再び表示される
http://til.info.apple.co.jp/cgi-bin/artnum?id=106151JN
◇Mac OS X 10.0 (Japanese): Mac OS Standard Volume Names Disappear and Reappear
http://til.info.apple.com/techinfo.nsf/artnum/n106151
Mac OS Xを日本語でインストールした後、標準フォーマットのボリュームがマウントされないことがある。再起動すると、マウントされる。

◇Mac OS X 10.0: SCSI チェーンを持っているコンピュータが起動しない、または応答しなくなる
http://til.info.apple.co.jp/cgi-bin/artnum?id=106147JN
◇Mac OS X10.0: Computer With SCSI Chain Does Not Start up or Stops Responding
http://til.info.apple.com/techinfo.nsf/artnum/n106147
SCSI接続のターミネートを正しくしていない場合には、Mac OS Xでの起動ができない場合がある。Mac OS 9で起動していても、Mac OS Xでは起動しない可能性もある。

カテゴリ:Tech Info Library-J, Knowledge Base(旧TIL), Mac OS X