Date:  Wed, 13 Jan 2010 18:20:30 +0900
Subject:  【オブジェクト倶楽部: 2010-02号】
X-Mail-Count: 00320

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.310 2010/01/13

■ I N D E X
┃
┣【Topics】「アレグザンダー祭り」はいよいよ今週金曜日!
┣【プログラミング】IzPackで作るクロスプラットフォームインストーラ [6]
┣【アジャイル】アジャイル・プラクティスの見つけ方 [11]
┗              〜オブジェクト指向の方法論からプラクティスを見つける〜

┏━<Developers Summit 2010>━━━━━━━━━━━━━━━━━━━━┓
┃   技術者コミュニティとの連携から生まれた総合ITコンファレンス      ┃
┃   2010年2月18日(木)・19日(金) 会場:目黒雅叙園              ┃
┃   主催:株式会社翔泳社       参加料:無料(事前登録制)     ┃
┗━◆最新情報・参加登録はコチラ◆ ⇒ http://codezine.jp/devsumi/2010 ┛

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 「アレグザンダー祭り」はいよいよ今週金曜日!
  〇 〇━━━━━━━━━━━━━ ━━・ 

「アレグザンダー祭り」はいよいよ今週金曜日開催です!お申込みいただいた
方へ入場チケットをお送りしましたので、当日はお忘れなくお持ちください。
みなさまにお会いできますことを、スタッフ一同楽しみにしています!

●オブジェクト倶楽部2010初春アレグザンダー祭り
  日時:2010年1月15日(金) 10:00開始
  場所:国立オリンピック記念青少年総合センター(代々木)
  詳細およびお申込みはコチラから!
  → /event/2010alexander/

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┗【プログラミング】IzPackで作るクロスプラットフォームインストーラ [6]

明けましておめでとうございます、村上です。
前回はTargetPanelを利用してインストールパスをユーザに指定させる方法を説
明しました。今回はPacksPanelの説明をします。

● PacksPanel
PacksPanelはインストールするリソースをユーザに選択させるために使用しま
す。PacksPanelの使い方はinstall.xmlに下記のようにpanel要素でクラス名を
指定するだけです。PacksPanelで選択されたリソースを実際にインストールす
処理はInstallPanelとういパネルが行います。PacksPanelに続けて下記のよう
に指定します。

--- install.xml(変更部分のみ抜粋) ---

    <panels>
        <panel classname="HelloPanel" />
        <panel classname="LicencePanel" />
        <panel classname="TargetPanel" />
        <panel classname="PacksPanel" />
        <panel classname="InstallPanel" />
        <panel classname="FinishPanel" />
    </panels>

------

● パック
インストーラによってインストールされるファイルはinstall.xml内の要素pack
で指定します。要素packは要素packsの子要素として複数指定が可能です。要素
packで指定したファイルの集合(IzPackではパックと呼びます)がPacksPanelで
のユーザの選択単位となります。
今回はAntのスクリプトやライブラリとドキュメントを選択できるように設定し
ます。install.xmlには下記のように記述します。

--- install.xml(変更部分のみ抜粋) ---

    <packs>
        <pack name="Ant Script and Library" required="yes">
            <description>Antがインストールされます</description>
            <fileset dir="ant" targetdir="$INSTALL_PATH">
                <include name="lib/*" />
                <include name="bin/*" />
                <include name="etc/**/*" />
            </fileset>
        </pack>
        <pack name="Ant Documents" required="no">
            <description>Antのドキュメントがインストールされます
</description>
            <fileset dir="ant/docs" targetdir="$INSTALL_PATH/docs"/>
        </pack>
    </packs>

------

上記のinstall.xmlで使用した要素、属性について説明します。要素packの属性
として下記のものを使用しました。
 * name     : パックの名前です。PacksPanelではこの値が選択肢としてリス
              ト表示されます。
 * required : このパックのインストールが必須であるかどうか指定します。
              yesまたはnoで指定します。デフォルトはnoです。

要素packの子要素として使用した要素descriptionでは親要素のパックの内容の
説明を記述します。PacksPanelでパックを選択すると要素descriptionに記述し
た内容をパネル下部に表示されます。

要素filesetを使用してインストールするファイルを指定します。この要素
filesetはAntの要素filesetと同じ構文を使用できます。
属性targetdirでインストール先のディレクトリパスを指定します。尚、上記の
install.xmlでtargetdirの値に使用した $INSTALL_PATH は前回説明した
TargetPanelでユーザによって指定されたインストールパスが設定された組み込
み変数です。

上記のinstall.xmlでコンパイルを実行しinstall.jarを作成してインストール
を実行してみてください。インストールパスを選択する画面の次にPacksPanel
が表示されます。PacksPanelではパックをチェックボックス付きのリストが表
示されます。「次へ」のボタンを押下するとInstallPanelが表示され、インス
トール処理が始まります。InstallPanelではインストール処理の進捗率が表示
されます。

● まとめ
今回は、PacksPanelを使用してユーザにパックを選択させる方法と、
InstallPanelを指定してインストール処理を行う方法を説明しました。
それでは、次回までさようなら。(村上)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┣【アジャイル】アジャイル・プラクティスの見つけ方 [11]
┗              〜オブジェクト指向の方法論からプラクティスを見つける〜

あけましておめでとうございます。こんぴろです。お正月は実家に帰り、熱田
神宮に初詣に行きました。今年は名古屋でも雪が降っていました。雪の降る中
の初詣。寒かったです。おみくじをしたら、大吉でした。今年も良い一年にし
ていきたいです。良い一年にしていくといえば、なんと私もデブサミ2010にて
1セッション担当することになりました!私のセッションは、「成長できるエン
タープライズシステムを目指して−OSGiによるモジュール型アーキテクチャの
実現[*1]」というタイトルです。ちょっとだけ、宣伝させてください。

OSGiはJavaを基盤とした技術です。最近Java界隈では新しいフレームワークが
登場して来なかったように思えますよね。そんな中、OSGiは既存のJavaでは不
十分だったカプセル化を補い、本当の意味でのモジュールシステムを構築でき
る基盤として、海外では注目されていました。今年は日本でもOSGiが来ますよ。
と、宣伝はこれくらいにします。

さて、今回取り上げた見つけ方「オブジェクト指向の方法論からプラクティス
を見つける」は、これまで自らの行動から見つけるパターンとは違った感じが
するかもしれません。ただ、アジャイルの実践者の多くは、オブジェクト指向
のコミュニティ出身者がとても多いことも事実なのです。GoFの一人、Ralph
Johnson氏の記事[*2]によると、XPの初期のリーダはSmalltalkコミュニティ、
もしくはソフトウェアパターンのコミュニティの出身者ということです。これ
が示しているのは、オブジェクト指向の実践者達は、自分たちの仕事をより良
くするために、自分たちによって考え抜かれた原則を適用することがある、と
いう事ではないでしょうか?

こう書いてみると怒られてしまうかもしれませんが、スクラムマスターとファ
サードパターンは、どちらも窓口役を立てるという点で同じと言えないかなぁ、
と自分なりに考えた事がありました。もしかすると他にもオブジェクト指向の
原則が、人の働き方、プラクティスの参考になるものがあるかもしれません。
そう考えてみて、思い当たったのがクラスやインタフェースの単一責務の法則。
人だって「何でも屋」として色々な仕事を任されるのは、なかなか辛いものが
ありますよね。「そうも言ってられないよ、君にはこの仕事とこの仕事をお願
いしたんだ。」と言う上司(設計者)の一声あたりもどちらも同じ気がします。

そういう感じで探してみると、人間の世界に適用するには冷たい原則もありま
す。そういったあくまでソフトウェアの世界に押し込めておきたい原則もみら
れたりします。しかし、考えてみるとシステムの設計にもいい影響があったの
で、おすすめです。(こんぴろ)

[*1] http://bit.ly/6CpJEX
[*2] /community/XP-jp/xp_relate/xp_patterns-j

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

こんにちは、編集人のナガタユウコです。次回のメルマガよりこの編集後記に
て、『オブラブスタッフ自己紹介』を連載開始します!あのスタッフはどんな
きっかけでオブラブに参加したのか?オブラブでどんなことをしているのか?
スタッフにとってオブラブとは?そんな質問を通してオブラブの構成要素のひ
とつであるスタッフを知っていただき、オブラブの歴史や、オブラブとは何な
のかを、一度みなさまにお伝えできればと思っています。どうぞお楽しみに!
(ナガタユウコ)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
● ご意見、ご感想は         ⇒このメールに返信ください
〇 配信中止、アドレス変更は ⇒/community/object_ml/help/
〇 免責事項、過去の記事は   ⇒/community/object_ml/
■ 発行:オブジェクト倶楽部 ⇒http://ObjectClub.jp/
Copyright (c)2003-2010 オブジェクト倶楽部. All Rights Reserved.
powered by Eiwa System Management, Inc.