MOSA Multi-OS Software Artists

MOSAはソフトウェア開発者を支援します

  • iPhone/iPod touch アプリ紹介
  • MOSA掲示板
  • 活動履歴
  • About MOSA(English)

MOSA Developer News[MOSADeN=モサ伝]第270号

 2007-10-09

目次

  • 「「Wonderful Server Life」    第56回   田畑 英和
  • ターミナルの向こうから      第11回  海上 忍 
  • Adobe MAX 2007現地レポート      諫山 研一

「Wonderful Server Life」  第56回  田畑 英和

  〜NetBoot編〜

 今回はNetBoot用システムのディスクイメージ作成方法について解説します。ところでNetBootといえば東京大学での導入が有名ですが、来年度からはリプレースしたシステムの運用が始まるようです。リプレース後のシステムも引き続きNetBootが採用されています。時期的におそらくLeopardでの運用になるとのことです。

・次期教育用計算機システム(ECCS2008)について
http://www.ecc.u-tokyo.ac.jp/announcement/2007/10/01_917.html

◇イメージ作成の準備
 前回、NetBootクライアント用のMacを通常通りセットアップするところまでを説明しました。ここでは、イメージを作成するのに以下の2台のMacがあるものとします。あとFireWireケーブルを1本用意します。

・通常通りセットアップしたNetBootクライアント用Mac
・NetBootサーバ用Mac(Mac OS X Server)

 まずNetBootサーバ上でイメージを保存する領域を設定します。「サーバ管理」を使ってNetBootサービスの設定を行い、イメージの保存場所を指定します。NetBootサービスの「一般」設定画面にサーバ上のボリューム一覧が表示されますので、ここからイメージを保存するボリュームを選択します。またNetBootでは変更内容を保存するためのシャドウファイルと呼ばれるファイルを使用しますが、これをサーバ上に保存する場合は、保存先のボリュームを指定します。イメージは「イメージ」、シャドウファイルは「クライアントデータ」を設定します。

・「サーバ管理」でイメージの保存場所を設定
http://homepage.mac.com/htabata/MXS10.3/img/NetBoot/NB_ADMIN_03.png

 またNetBootサービスを提供するポートを設定することもできます。サーバが複数のネットワークポートをもっている場合は、実際にサービスを提供したいポートを選択してください。
 さて、これでイメージを作成する準備が整いました。サーバ上での設定が終われば、次にNetBootクライアント用Macをターゲット・ディスク・モードで起動します。そして、FireWireケーブルを使ってNetBootサーバに接続します。

◇イメージの作成
 いよいよイメージの作成です。ターゲット・ディスク・モードで起動したMacにはシステム一式がすでにセットアップされていますので、ここからNetBoot用のイメージを作成します。
 FireWireケーブルでサーバと接続したら、次にサーバ上で「システムイメージユーティリティ」(「/アプリケーション/サーバ」にインストールされています)を起動し、このツールを使ってイメージを作成します。

 NetBootイメージを作成するにはまず、「システムイメージユーティリティ」のツールバーから「新規ブート」を選択してください。デフォルトでは「新規インストール」が選択されていますが、このままではNetBootではなくネットワークインストール用のイメージを作成してしまいますので要注意です。
 設定はいくつかの画面に分かれていますが1つずつみていきましょう。まず「一般」の設定です。ここではイメージに名前と索引番号を付けます。イメージ名は管理しやすいように分りやすい名前を付け、イメージ索引には1〜4095の範囲でイメージごとに異なる番号を設定します。大規模なシステムでは、複数のサーバで同じシステムイメージを運用する場合もありますが、その場合は4096〜65535の範囲で索引番号を設定します。
 「使用可能な経由先」は通常NFSを使用し、サーバ上でイメージを作成している場合は「イメージへのパス」はローカルを選択しておきます。

・「一般」の設定
http://homepage.mac.com/htabata/MXS10.3/img/NetBoot/SIU_01.png

 次に「内容」でどこからイメージを作成するかを設定します。「イメージのソース」ポップアップメニューには、FireWire経由でマウントしたNetBootクライアント用Macのボリュームが表示されますので、それを選択します。
 パッケージ形式のファイルであれば、「その他の項目」でイメージに追加することもできますが、最初はあらかじめNetBootクライアント用Macに必要となるものをすべてインストールしておくのがよいでしょう。

・「内容」の設定
http://homepage.mac.com/htabata/MXS10.3/img/NetBoot/SIU_02.png

 特定の機種のみでNetBootを行いたい場合は「機種フィルタ」の設定を行います。「機種フィルタ」を設定しておくと、設定していない機種からのNetBoot起動ができなくなります。
 またNetBoot環境ではクライアントのコンピュータ名は自動的に設定されますが、特定の名前を付けたい場合には「”共有”環境設定」の設定を行います。

・「機種フィルタ」の設定
http://homepage.mac.com/htabata/MXS10.3/img/NetBoot/SIU_03.png
・「”共有”環境設定」の設定
http://homepage.mac.com/htabata/MXS10.3/img/NetBoot/SIU_04.png

 最後に「ディレクトリサービス」の設定ですが、NetBootの環境では基本的にはディレクトリサーバを設置してネットワークユーザを使用します。ですのでNetBootのイメージには、あらかじめディレクトリサーバに接続できる適切な設定を行っておく必要があります。「このコンピュータの…」にチェックを入れておくと、サーバ上の「ディレクトリアクセス」の設定がこれから作成するNetBootのイメージに引き継がれます。

・「ディレクトリサービス」の設定
http://homepage.mac.com/htabata/MXS10.3/img/NetBoot/SIU_05.png

 設定が一通り終わったら再度設定内容を確認し、問題がなければ右下の「作成」ボタンをクリックします。使用許諾書が表示されますので「同意する」をクリックし、イメージの保存先を指定します。保存先の指定ですが、まず画面下にある「提供するNetBoot共有ポイントの場所」で「サーバ管理」でイメージの保存場所として指定したボリュームを選択します。そうすれば自動的に適切なディレクトリが保存場所として選択されますので、最後に「保存」ボタンをクリックします。

・イメージ保存場所の指定
http://homepage.mac.com/htabata/MXS10.3/img/NetBoot/SIU_06.png

 イメージの作成時間は、システムの容量とマシンのパフォーマンスによって異なりますが最低でも20-30分程度はかるでしょう。ツールバーから「ログ」を選択しておくと、イメージの作成状況を確認することができます。それでは次回は、イメージ作成後の設定について解説します。
つづく                                

ターミナルの向こうから      第11回  海上 忍

〜 自動文書作成ツール「Doxygen」その2 〜

 Doxygen編の2回目となる今回は、Doxygenで日本語を含むソースコードを扱うときの注意点と対策を紹介します。

・Mac OS Xの開発環境と日本語
 さて、お題のDoxygenですが、日本語を含む各種言語に対応しています。しかし、皆さんご存知のとおり、一口に日本語といってもエンコーディング形式の違いという問題があり、それがDoxygenを扱うときにも問題となります。従来のDoxygenは、日本語のエンコーディング形式はEUCに固定されていたため、他の形式を扱いたい場合には、ファイル入力時にフィルタ処理を行うなどの方法で対策を講じていました。
 また、LaTeXベースでの出力を検討している場合には、日本語のTeX環境が対応する文字エンコーディング形式も考慮しておく必要があります。第7回で紹介したpTeXのパッケージは、SHIFT-JIS対応となっているため、Doxygenが前提とするEUCとは相容れません。つまり、日本語環境のMac OS XでDoxygenを使う場合、UTF-8とEUCとSHIFT-JISとで、”ボタンの掛け違い”が生じてしまいます。

・Doxyfileの編集
 ……という状況はDoxygen 1.5.1までで、現在では若干改善されています。Doxygen 1.5.2の内部コードがUTF-8に統一されたため、現行バージョンでは入出力のエンコーディング形式をDoxyfile(第10回をご参照のこと。Terminalから「doxygen -g」を実行することでも作成できます)に記述するだけで、UTF-8のソースコードを適切に処理できます。手元のDoxyfileを適当なテキストエディタで開き、該当する各行を以下のとおり編集してください。

- - - - -
OUTPUT_LANGUAGE   = Japanese
DOXYFILE_ENCODING = UTF-8
INPUT_ENCODING    = UTF-8
- - - - -


 上記について少し説明しておきましょう。まず「OUTPUT_LANGUAGE」ですが、Doxygenが生成する書類に使う言語を指定するオプションです。今回は日本語環境での利用を前提としていますので、ここは迷わず「Japanese」でいいでしょう。次の「DOXYFILE_ENCODING」は、設定ファイル(Doxyfile)のエンコーディング形式を指定しますから、とりあえず「UTF-8」を指定しておきます。
 3行目の「INPUT_ENCODING」ですが、こちらは対象のソースコード次第です。UTF-8の場合は「UTF-8」、SHIFT-JISの場合は「SJIS」、日本語EUCの場合は「EUC-JP」を設定します。余談ですが、Windows日本語環境で作成したソースコードを扱う場合は、「CP932」とコードページを指定します。
 INPUT_ENCODINGで扱えるコード名を調べるには、ターミナルから「iconv -l」を実行します。ただし、情報が多く画面がスクロールするので、grepを利用して特定のキーワードに絞ったほうがいいでしょう。以下の実行例では、コード名に「JIS」と含むもののみ表示しています。

- - - - -
$ iconv -l | grep JIS
- - - - -


・すわトラブル? と結論づける前にここを確認
 デフォルトのDoxyfileは、前述した設定に変更する程度で、ソースコードを解析したドキュメントを自動生成してくれます。ただし、ドキュメント化する範囲については、デフォルトでは狭めに設定されているため、範囲を広げないことには期待した内容とはならないかもしれません。以下、値を「YES」に設定した場合の各オプションの挙動です。

- - - - -
RECURSIVE           サブディレクトリに対しても入力ファイルの検索を行う
EXCLUDE             除外するファイル/ディレクトリを指定する
EXTRACT_ALL         すべてのエンティティがドキュメント化される
          (PRIVATEとSTATICを除く)
EXTRACT_PRIVATE     クラスのすべてのプライベートメンバーがドキュメント
          化される
EXTRACT_STATIC      ファイルのすべてのスタティックメンバーがドキュメン
          ト化される
EXTRACT_LOCAL_CLASSES    ローカルに定義されたクラスと構造体がドキュメ
             ント化される
EXTRACT_LOCAL_METHODS    インターフェイス以外のセクションに定義された
             メソッドがドキュメント化される(Objective-C
             のみ対象)
FILE_PATTERNS       対象とするソースを拡張子(*.h、*.mなど)で明示する
- - - - -


 コメント文の扱いにも注意が必要です。doxygenでは、「//!」や「/*!」のように、通常のコメントに「!」を加えておかないかぎり、ドキュメントに書き出されません。なお、「//!」は1行だけの短い説明を行うときに、「/*!」は詳細な説明を行うときに使用します。詳細説明にはハイパーリンクが張られるという機能的な違いもあるので、必要に応じて使い分けます。

 次回は、日本語LaTeX出力時の対策と、ソースの構造をビジュアルで表現するツール「Graphviz」の使い方を紹介します。

Adobe MAX 2007現地レポート               諫山 研一

・モサ伝編集部より
米国・シカゴにて開催されたAdobe MAX 2007 North Americaに参加された諫山
さんから現地レポートが届きましたので掲載します。

 デベロッパー、デザイナー、プログラマなどが一同に集まり、最新技術の動向やTipsなどを習得するためのカンファレンス「Adobe MAX 2007 NorthAmerica」が10月1日より開催された。本イベントは元々マクロメディア時代から行われていたもので、Adobe版のWWDCと言った感じのイベントである。
 主にWebアプリケーションの開発や応用がメインのテーマとなっていることから、どちらかと言えばWindows向けのイベントと勘違いされがちだが、その実態はクロスプラットホームによるWebアプリケーションの制作がメインであり、最新技術であるFLEX、AIR、Ajaxなどの最新動向がわかる有益なイベントだ。

 今回、筆者が参加して感じた事は、今まで以上にプログラマの活躍する機会が増えてきている事と同時に、プログラマの領域へWebデザイナーたちがどんどん足を踏み入れてきていると言う点である。
 MOSAの会員の中にはFLASHなどのプログラムを行っている人も少なくないだろうが、FLEXやAIRなどの技術は今後デザイナーにも多く活用される可能性を秘めていることから、危機感をもつべきであろう。
 また、ソリューション・デベロッパー的な見方をすれば、FLEXを使う事で既存のAdobe製アプリケーションの可能性を更に拡げる事が可能になるなど、従来のプラグインやアドオンの開発とは違った側面があり、独自のソリューションを提供するには不可欠な技術となりつつある。

 しかも、これらはクロスプラットホームで開発が可能なため、開発のためのコストを抑える事ができるようになるなどメリットも大きい。
 通常、Webアプリケーションとなると、Macが除外される事が多い中、AdobeのソリューションはMac、Windows、Linuxと主要プラットホームでの動作が約束されており、ビジネスチャンスも拡がる事は間違いないほか、当然開発環境はMacで構わないのである。

 なお、Adobe MAX 2007 Japanは日本でも11月の1日と2日に、東京・お台場の日航ホテルで開催される。FLEXやAIRの柔軟性やプログラマとしてどのようなアプローチができるかを確認する良いチャンスでもある。
 今後、Webアプリケーションの需要が増える事は間違いない。その最新情報を得るためにも、ぜひともAdobe MAX Japanに参加してみてはいかがだろうか?

Adobe MAX Japan Webサイト
http://www.adobe.com/jp/events/max/

◇モサ伝編集部から「Carbon視点でCocoa探求」は都合によりお休みします。◇

◇MOSAからのお知らせと編集後記は割愛します◇

 

 MOSA Developer News   略称[MOSADeN=モサ伝]
        配信停止 mailto:mosaden-ml@mosa.gr.jp
 記事内容に関するご意見 mailto:mosaden-toukou@mosa.gr.jp
      記事投稿受付 http://www.mosa.gr.jp/?page_id=850
Apple、Mac OSは米国アップル社の登録商標です。またそのほかの各製品名等
はそれぞれ各社の商標ならびに登録商標です。
このメールの再配信、および掲載された記事の無断転載を禁じます。
特定非営利活動法人MOSA  http://www.mosa.gr.jp/
Copyright (C)2007 MOSA. All rights reserved.