Macintosh Developer Online (MDOnline)


2001年8月1日発行号 - WO5とOpenBase



8月になりました。7月いっぱいまでの期限切れになるアカウントの処理などは、次の週末に行いますのでよろしくお願いします。7月いっぱいの期限の方で、もし、今週に入金をされた場合には、すみませんが、私まで御一報いただけますでしょうか。
商売の世界では、昔から「ニッパチ」とか言って、2月や8月は売り上げがいまひとつとか言いますけど、MDOnlineの売上を見ていても、やっぱりその傾向がありますね。ただ、2月は確かにそうなんですけど、夏は、8月ないしは9月あたりに底が来ます。いずれにしても、夏と冬に下のピーク、そして、春先や秋口に上のピークが来るという周期は変わりません。こんな小さな(笑)媒体で、しかもイマドキの電子媒体でもニッパチはあるみたいです。さらに、8月はいきなりニュースが減ります。で、9月のMac OS X 10.1が出るのなら、今のバージョンをあまり細かくチェックしていくのも興味もってもらえないかも知れませんので、今月はWebObjects強化月間ではありませんが、基本的な設定などを細かく記載した原稿を残すことにしました。
それで、8月の予告ですけど、倉橋さんのWebObjectsのコーナーが少し衣替えをします。「飯食っています」の方は続けますけど、エッセイ的内容となり、技術的な内容の連載を新たに開始します。「WebObjects Practice(仮題)」としますが、このコーナーは、MacWIREには転載されない予定となっているため、MDOnline読者しか購読できません。また、Mac OS X ServerとUNIXをテーマにした連載も開始します。筆者はMac OS Xを私といっしょに書いた大津真さんです。こちらもまた、MacWIREではには転載されないので、MDOnline読者限定のコンテンツとなります。御期待ください。これらの連載は、月に1回の掲載を予定しています。
夏休みスケジュールなどについては、今週中に決めてしまってお知らせします。
(新居雅行 msyk@mdonline.jp


TIL》Mac OS Xのフォント利用についての詳しい情報

Tech Info Libraryに、Mac OS Xのシステムでのフォント利用について、詳しい文書が掲載されている。別の文書ですでに、フォントをインストール可能なフォルダとその優先順位、あるいは利用可能なフォーマットなどが掲載されているが、この文書はインストールフォルダごとの違いを示している。あるユーザのLibrary/Fontsフォルダはそのユーザだけだが、/Library/Fontsフォルダはそのマシンを使うユーザなら誰でも使える。また、ネットワークを使ってのフォント共有ができることや、システムが必要とするフォントは/System/Library/Fontsにインストールされる必要がある。Classicのフォントも使えるが、複数のシステムフォルダがある場合には、システム環境設定で選択されたフォルダを利用する。Classicのフォントは、Mac OS Xのネイティブアプリケーションからも利用できるが、Classic環境が起動していなくても利用できる。Classicアプリケーションは、Classicでのシステムフォルダにあるフォントしか使えない。

関連リンク:Mac OS X 10: Font Locations and Their Purposes
カテゴリ:Knowledge Base(旧TIL), テキスト/フォント


WebObjects 5とOpenBaseを使ってみる/1.このシリーズの予定と最初に注意を1つ

WebObjects 5が発売され、WebObjectsの世界はJavaの方向にどんどんと向かっている。従来のWebObjectsと機能面では同じではあるが、Javaサポートが原則になったことから、データベースアクセスにはJDBCを利用することになった。これまでは、データベースエンジンごとのアダプタを用いてアクセスをしていたが、共通の「JDBCアダプタ」を使ってのデータベース利用が基本となる。そして、データベースエンジンごとにJDBCドライバを用意することとなった。
OpenBase SQLは、WebObjectsとともにインストールされるデータベースで、実運用にはライセンスの購入が必要になるが、開発版についてはフリーで利用できる。やはり最初からWebObjectsといっしょに組み込まれているだけに、WebObjectsとの親和性などは高いデータベースエンジンと言えるし、開発者にとってもある意味では安心して使える選択肢となっているわけだ。ただし、WebObjects 5に付属しているOpenBaseはやや古いバージョンである。執筆時点ではOpenBaseはVer.6.5.7がリリースされており、このバージョンから日本語のエンコーディングがフルサポートされている。いずれにしても、最新版のOpenBaseをダウンロードしてインストールを行うところからは開発者側が作業しなければならない。

今回から数回に渡って、OpenBaseを利用したWebObjects 5のアプリケーションを作成し、日本語の入力や表示をできるようにするためのポイントを解説したい。OpenBaseやWebObjectsについてほとんど知らないという方でも、なるべく分かるように、初歩からの説明を試みる。なお、WebObjects 5自体はなんらかの方法でインストールをしておいてもらいたい。ADC会員はWWDC 2001に参加の有無に関わりなく、2001 May版のDeveloper Toolsを入手しているので、それを利用すると期間限定版ではあるが、WebObjects 5をインストールできる。もちろん、すでに販売されているので、通常のルートで購入したものでもかまわないだろう。インストールのポイントとしては、現状のWebObjects 5は、rootでログインしてインストールをしないといけないことだ。NetInfo Managerでrootをアクティブにして、そのパスワードを忘れないようにしておき、ユーザー名「root」でログインをしてインストール作業を行うのである。

これで、いちおう作業はできるはずだが、筆者のところでのトラブルを最初に紹介しておきたい。こうしたトラブルにすべての人がハマるかは定かではないが、OpenBaseをうまく利用できない人はチェックをしてもらいたい。筆者がハマったトラブルとは、なぜかMac OS Xのマシンのホスト名が、日本語の文字列になっていたことだ。たとえば、Terminalを起動すると、プロンプトがでてくるが、プロンプトにはホスト名が含まれる。それがいきなり文字化けしている。そして、hostnameコマンドでホスト名の確認や設定ができるが、やっぱり文字化けしている。その結果、なぜかOpenBaseがきちんと起動しなくなってしまうのである。Consoleアプリケーションを開くと、OpenBaseがいろいろとエラーを出しているが、そこで、ホスト名が日本語で見えている。これは、システム環境設定の「共有」で設定する名前でもなく、ログインパネルででてくるコンピュータ名でもない違う名前なのだ。実はMac OS Xをインストールする前のMac OS 9での「コンピュータ名」なのである。なぜか、その名前が、Mac OS Xのホスト名として登録されてしまっているのである。どうしてそうなったのかは定かではない。たぶん、素直にホスト名は「localhost」であれば、開発上では問題ないのではないかと思われるが、とりあえずはそうなっていない。
ちなみに、ホスト名の設定は、StartupItemsフォルダにあるNetworkというスクリプト中にある。それを見ると、/etc/hostconfigファイルにある「HOSTNAME=」の設定を参照し、この設定があって「HOSTNAME=-AUTOMATIC-」なら(通常はこうなっている)、「ipconfig getoption "" host_name」というコマンドを実行して、その戻り値をhostnameコマンドの引数にし、そしてホスト名を処理しているのである。ipconfigというとWindowsのコマンドの方が有名なためか、インターネットで検索したけども詳細な情報は分からなかった。マニュアルもない。ただ、ipconfigdというデーモンが動いていて、ネットワーク関連の設定のいくつかに関連しているしかないとしか想像はできないところだ。筆者のマシンではなぜかこの方法でのホスト名設定は日本語の文字列が設定されてしまったのである。いずれにしても、とにかくホスト名の設定を何とかしなければならない。もっとも、直接的な方法は、/etc/hostconfigファイルを書き直すことだ。「HOSTNAME=-AUTOMATIC-」の行の最初に#を入れるなどしてコメントとしておき、「HOSTNAME=localhost」といった行を追加する。この設定の=以降の名前がそのままホスト名として採用されるので、この方法で回避した。なお、/etc/hostconfigファイルを編集する場合、「sudo open -a /applications/TextEdit.app /etc/hostconfig」とコマンド入力して、管理者のパスワードを入力すると、TextEditで開いて編集ができて楽だ。

最初から余談になってしまったけども、次回から、インストールを含めて手順を踏んで説明をしていくことにしよう。

関連リンク:OpenBase International
カテゴリ:Mac OS X, データベース, WebObjects