MOSA Multi-OS Software Artists

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

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

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

2008-07-22 

目次

  • WWDC初参加レポート
  • 「「Wonderful Server Life」    第74回   田畑 英和
  • 小池邦人のCarbon視点でCocoa探求
  • ターミナルの向こうから      第29回  海上 忍 

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

  〜「サーバ管理」編〜

 今回からLeopard Serverの「サーバ管理」について解説していきます。まず起動してすぐ分かるのがデザインが一新されたことです。ただし、1ウインドウの構成で、左側のリストでサーバやサービスを選択し、画面の右側でログ表示や設定を行うという大まかな構成はTiger Serverのころと基本的には同じですので、これまで「サーバ管理」を使った経験があれば操作方法はすぐに慣れるでしょう。

◇サーバの登録
 「サーバ管理」を起動してまず最初に行う操作はサーバの登録です。「サーバ管理」を起動するとサーバのアドレスと、サーバ上の管理者のユーザ名、パスワードを聞いてきますので、適切な値を入力すれば画面左側のリストにサーバを追加することができます。サーバは複数登録可能ですが、あとからサーバを追加するには画面左下の「+」メニューから「サーバを追加」を選択します。サーバの台数が多い場合はグループ化して管理したり検索条件を指定して、スマートグループを作成することもできます。
 また、左側のリストにはあらかじめ「使用可能なサーバ」という項目があります。ちょうどApple Remote Desktopのスキャナのようなもので、ここを利用すればネットワーク上のサーバを自動検出して登録することもできます。

◇サービスの選択
 サーバが登録できたら次は使用するサービスの選択を行います。画面左側のリストには各サーバごとにサービスの一覧を表示できます。1台のサーバだけを管理する場合はすべてのサービスが表示されたとしても特に問題はないかもしれませんが、Leopard Serverではサービスの数が増えていることもありサーバが複数台あった場合、すべてのサービスを表示してしまうとリストがかなり
長くなってしまいます。
 そこでLeopard Serverの「サーバ管理」では、サーバごとにリストに表示するサービスが選択できるようになっています。サービスを選択するには、まず左側のリストで管理対象のサーバを選択し、ツールバーの「設定」をクリックしてから「サービス」画面を表示します。ここでどのサービスを左側のリストに表示するかを設定できます。例えばMac向けのファイルサービスを使用する
のであれば「AFP」サービスを選択します。
 なおここでの設定はサービスの動作状況とは関係ありませんので、起動中のサービスであってもリストには非表示にすることもできます。設定が完了したら最後に画面右下の「保存」ボタンをクリックして設定を反映させます。

・サービスの選択(図はDNSサービスを選択しているところ)
http://www.htabata.com/Site/Server/Pages/Leopard_Server_ch2.html#0

◇サービスの管理
 選択したサービスは左側のリストのサーバの下に表示されます。サービス名の左側に丸いアイコンがありますが、サービスが起動中の場合は緑色になりますので、起動中のサービスを一目で見分けることができます。
 サービスを起動するには、起動したいサービスを左側のリストから選択し、画面左下のボタンをクリックします。AFPサービスの場合は「AFPを開始」というボタンが表示されます。サービスが起動中にもう一度同じボタンをクリックするとサービスを停止できます。サービスの起動/停止ボタンはTiger Serverのころとは位置が違いますがこれも使っていればすぐに慣れるでしょう。サービスを再起動するのであれば「サーバ」メニューに再起動のための項目があります。

 AFPサービスであればデフォルトの設定でもすぐにサービスを開始できますが、まずはデフォルトの設定がどうなっているのかを確認しておくことも重要です。AFPサービスの設定を確認するには、左側のリストで「AFP」サービスを選択し、ツールバーの「設定」ボタンをクリックします。AFPの場合には「設定」のほかにも「概要」、「ログ」、「グラフ」、「接続」などの画面が用意
されています。
 また設定画面はさらに細かく分かれており「一般」、「アクセス」、「ログ」、「アイドル状態のユーザ」の4つから構成されています。

・AFPサービスの設定画面
http://www.htabata.com/Site/Server/Pages/Leopard_Server_ch5.html#17

 Tiger Serverのころは画面上のアイコンをドラッグ&ドロップすることで設定内容をファイルに保存することができましたが、Leopard Serverでは操作方法が変わりました。「サーバ」メニューの「書き出す」>「サービス設定…」から各サービスの設定内容をplist形式のファイルに書き出すことができます。ただしこの書き出し機能ではデフォルトの状態ではすべてのサービスの設定を書き出すようになっていますので注意が必要です。書き出し時にはどのサービスの設定を書き出すかを選択できるようになっています。

 それでは次回はAFPサービスの具体的な設定内容について解説する予定です。
次回へつづく                             

池邦人のCarbon視点でCocoa探求(2008/07/18)

〜 ImageBrowser Viewを使う準備が大変 〜

前回の例のように 、Imege Kitを利用すれば、割と簡単な記述のみで画像ファイルに対する高度な操作が実装できることが理解できます。今回からは、実際に「しんぶんし3」にIKImageBrowserViewクラスを実装していく作業に入ります。

まず最初に行うべきことは、Interface Builderを使い、ドキュメント用nibファイル(今回はMyDocument.nib)のウィンドウオブジェクトに「ImageBrowser View」を配置する作業です。ところで、もし現在「Xcode 3.0 Developer Tools」を利用されているのなら、これに付属するInterface Builder 3.0には幾つものバグがありますので注意が必要です。特に、Carbon
のnibファイルを編集する時には大きな問題が発生する事があります。現在「Xcode 3.1 Developer Tools」がADCメンバーサイトからダウンロードできますので、可能であるなら、それに付属しているInterface Builder 3.1の方を利用した方が安全だと思われます。

「Xcode 3.1 Developer Tools」
http://developer.apple.com/technology/xcode.html

では、ImageBrowser Viewをドラッグ&ドロップでウィンドウ上へと配置してみます。ユーザインターフェースに用いる部品(コントロールやビューなど)は、Libraryウィンドウにまとめられています。その上部には、インターフェースの部品(プラグイン)をカテゴリーごとにまとめたグループが一覧されており、それを切り替えることで内容を表示できます。ImageBrowser View
の居場所は、多くの部品が登録されている「Cocoa」の中ではなく「Image Kit」の方ですので注意してください。今のところ「Image Kit」から選択できるビューはImageBrowser View(IKImageBrowserView)と、前回その使い方を解説したImageView(IKImageView)の2種類のみです。

さて、ImageBrowser Viewを、ド〜ンとウィンドウいっぱいに配置したいところなのですが、ちょっと待ってください。ドキュメントウィンドウのレイアウトを考えてみると、その右半分には、ImageBrowserで選択された画像を表示させるエリアが必要です。そして、将来的には、それと同じ場所に「対称処理をした画像」を表示させることになります。ですから、先んじて「Vertical Split View」(NSSplitView)を用意しておいて、その右側の「Custam View」
と表示されているエリアにはImageViewを、左側のエリアの方にはImageBrowserを配置することにします。この作業により、どちらのビューもSplit Viewのサブビューとなります。

この状態で、Split Viewの真ん中の柱(?)をつまんで左右に動かしてみると、それに連動して中の2つのビューは拡大&縮小(延び縮み)しません。中の2つのビューサイズが、スーパービュー(Split View)のサイズ変更と連動するように、Inspectorダイアログのサイズ設定(左から3番目の物差しアイコン)で調整する必要があります。真ん中に表示される「Autoresizing設定」の
矢印とH表示を、すべてON(赤色)とします。この時、その右側で動いているアニメーションにより実際の挙動が確認できますが、中の赤色の矩形が外枠に追随するような動きであればOKです。ウィンドウとSplit View自身とのサイズ関係を保つのにも、上記とまったく同じ処置が必要ですので御注意ください。

次は、ImageBrowser Viewの各アトリビュート(オプション)の設定です。こちらの作業はInspectorダイアログの一番左のアイコンで行います。まずImageBrowser Viewを一回クリックすると、そのスーパービューであるScroll Viewが選択されます。まずはこの状態で、アトリビュートの「Show Horizontal Scroll」のチェックが外れていることを確認してください。現状のImageBrowserでは、並べた画像の横スクロールはできませんので、このアトリビュートはONにしても意味がないのです。可能なのは縦スクロールだけですので、「Show Vertical Scroll」の方は、ちゃんとチェックが入っていることを確認してください。

先ほどと同じ場所をもう一度クリックすると、今度はImageBrowser Viewの方が選択されます。現在選択されているビューの種類は、Inspectorダイアログのタイトルで確認できますので、間違えないようにしましょう。ここには、「Style」「Allows」「Display」「Zoom」といった幾つかのアトリビュートが用意されていますが、それぞれの詳細について後述したいと思います。例え
ば、Styleの「Shadowed」「Outlined」「Titled」などのチェックボックスのON/OFFを試してみてください。ウィンドウ上でImageBrowserのテンポラリー表示がその設定の指示通りに変化することを確認することができます。

続いて、File’s Owner(MyDocumentオブジェクト)と各種オブジェクトのコネクション(連結)を実現します。こちらの作業は、Inspectorダイアログの右から2番目の矢印アイコンで行います。ImageBrowserのOutletの「DataSource」と「delegate」をFile’s Ownerと連結します。こうした仕組みは、以前に解説したTable Viewとほとんど同じです。また、ソースコード側(MyDocument.h)には、以下の2つのインスタンス変数を定義しておき、それぞれにImageBrowser ViewとImageViewを連結させます。

IBOutlet id    imageBrowser;
IBOutlet id    imageView;


最後に、ImageBrowserに表示させる画像サイズを変更するためのスライダーコントロールと、そこへの「画像登録」を実行するためのボタンコントロールを配置します。両コントロールには、それぞれzoomImage:とaddImage:というアクション・メソッドを割り付けておきます。この時、ソースコード(MyDocument.h)のクラス定義の方に、先んじて両メソッドを記述しておかないと、File’s Owner(MyDocumentオブジェクト)側に連結すべきアクションが表示されませんので注意してください。

- (IBAction)zoomImage:(id)sender;
- (IBAction)addImage:(id)sender;


さて、ようやくnibファイル側での準備が終わりました。最近のMacプログラムではソースコードを記述するより、Interface Builderとの格闘の方が大変です。

特にCocoaの場合、ここでの設定がソースコードと密接に関連していますので、より作業を複雑にしています。こんな調子では、実際のプログラミングに入る前にめげてしまう人も多いかもしれません? 次回こそは、本当にソースコードの話をしましょう(笑)。

つづく

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

〜 プレインテキストで文書作成(3)〜

 前回に続き、プレインテキストファイルをLaTeX文書に変換するコマンド「plain2」の使い方を紹介します。今回は、表と図のつくりかたを中心に解説します。

・JIS罫線の表
 plain2で枠線のある表を作成する場合、前回紹介したASCII記号(-、=、|、+)を使う方法のほかに、JISの罫線記号(─、┌、┣、┿など)を使う方法も利用できます。後述しますが、これはplain2の線画作成機能を利用したもので、要素間にスペースが多い印象の表になりますが、全角文字で統一できるため表をデザインしやすいという利点があります。サンプルはこちら
http://www.mosa.gr.jp/wp-content/uploads/2008/07/jishyou.pdfを参照してください。

- - - - -
リスト1:JISの罫線記号を利用した表の記述例

┌────────────────┐
│政令指定都市          │
┝━━━━┯━━━━━━━━━━━┥
│北海道 │札幌市        │
│宮城県 │仙台市        │
│千葉県 │千葉市        │
│埼玉県 │さいたま市      │
│神奈川県│横浜市、川崎市    │
└────┴───────────┘
- - - - -


・線画を描く
 さて、次はplain2最大の大技ともいえる「線画」です。表1に示したJIS記号で図を描いておくと、LaTeXのpicture環境(線を用いた簡易作図機能)に置き換えてくれるという機能で、喩えるならば「アスキーアートをベクター画像に置換する機能」といったところでしょうか。文章では表現が難しい、抽象的な概念を伝えたいときに使うイラスト(絵解き)の作成や、地図のように線のみで表現可能な図を作成するときに力を発揮します。

- - - - -
表1:線画に利用できるJIS記号

罫線    ─ │ ┌など
矢印    ← → ↑ ↓
斜線    / \ ×      
点線    … :
極太線  = ‖
円柱    _  ̄
- - - - -


 それでは論より証拠、こちらのPDF
http://www.mosa.gr.jp/wp-content/uploads/2008/07/map.pdfをご覧ください。以下に示すリスト2を変換したもので、JIS罫線だけでそれなりの地図を描くことに成功しています。
 基本的には罫線記号を用いただけですが、ポイントが2つあります。1つは「縦/横線と斜線の接続」で、連続して(2つ以上)置かれた斜線の端が縦横線に接する場合斜線を曲げるという役割を果たします。もう1つは「丸みを持たせた角」で、縦線と横線が接する箇所(通常は┘や┌で表現する箇所)に斜線を用いることで、その部分をカーブさせることができます。

- - - - -
リスト2:JIS罫線で描いた地図

───────────
      R16
───\  ┌─────
     \ \
      \ \
      │ │
──────/ \──
──────\ /──
      │ │┌─┐
      │ ││◎│ ←ここ
      │ │└─┘
- - - - -


 矢印を描く場合は、線の終端に矢印記号を使うだけです。斜線を矢印にする場合は、末端に「×」を置くようにします。なお、点線は「…」と「:」(全角のコロン)で表現できますが、JISの罫線記号では細線と太線の交差を示せないため、plain2では片側が終端となっている細線(”┌”や”┐”など)に太線/点線が隣接している場合には、細線についても隣接する線種で出力する仕様になっています。

・記憶装置を描く

 コンピュータ系の文書では、ハードディスクなどの磁気記憶装置を短い円柱で表現することが一般的です(由来は知りませんが)。plain2では、JIS罫線記号で描いた四角形の上辺/底辺を「_」と「 ̄」で表現することで、この円柱を描くことが可能です。完成イメージについては、こちら
http://www.mosa.gr.jp/wp-content/uploads/2008/07/hdd.pdfを参照してください。

- - - - -
リスト3:ハードディスク風? の円柱

  ┌ ̄ ̄ ̄ ̄ ̄┐
  │     │  ┌ ̄ ̄ ̄┐ 
  │ HDD │  │   │
  │     │  └___┘
  └─────┘
- - - - -


・ソースコードを表示する

 MOSA伝をお読みの方ならば、ソースコードを「ありのままの形」で文書に引用したいとお考えかもしれません。ワープロソフトではソースコードの雰囲気が出せない、インデントが妙だ、そもそもプロポーショナルフォントではダメだという場合には、plain2の「例示機能」が便利かもしれません。例示として出力すると、その範囲はLaTeXのverbatim環境(いわゆる「べた書き」)が適用され、英文フォントには等幅のTypeWriterが用いられるため、「ソースコードらしい」体裁となります。
 例示機能を使う場合は、行頭に「>>」(「::」も可)の2文字を加えるだけです。ただし、同じ書式が3行以上続かなければならず、インデントされていないことも条件になります。完成イメージについては、こちら
http://www.mosa.gr.jp/wp-content/uploads/2008/07/source.pdfを参照してください。

- - - - -
リスト4:ソースコードを例示する その1(行頭が「>>」の場合)

これは、CarbonSketchのソースコードの一部です。

#include 
#include 

#include "CSkObjects.h"
// also includes "CSkShapes.h"
#include "CSkConstants.h"
#include "CSkToolPalette.h"

どうですか?
- - - - -


★編集部注
「>>」がメールの引用と表示されますので「::」の例を追加します。

- - - - -
リスト4:ソースコードを例示する その2(行頭が「::」の場合)

これは、CarbonSketchのソースコードの一部です。

:: #include 
:: #include 
::
:: #include "CSkObjects.h"
:: // also includes "CSkShapes.h"
:: #include "CSkConstants.h"
:: #include "CSkToolPalette.h"

どうですか?
- - - - -

◇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.