Date:  Wed, 31 Oct 2007 14:48:35 +0900
Subject:  【オブジェクト倶楽部: 2007-39号】
X-Mail-Count: 00214

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.208 2007/10/31

■ I N D E X
┃
┣【Topics】オブジェクト倶楽部 クリスマスイベント開催決定!(12月21日:代々木)
┣【プログラミング】Flex2で体験するリッチクライアント [2]
┣【PF】たまには仕事に役立つコミュニケーションのヒント [13]
┗【アンケート】気になるシステム業界 ホントのところ

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 オブジェクト倶楽部 クリスマスイベント開催決定!(12月21日:代々木)
  〇 〇━━━━━━━━━━━━━ ━━・ 

オブジェクト倶楽部のクリスマスイベント、今年も開催が決定しました!

日 時:2007年12月21日(金) 10:00〜17:00 (予定)
場 所:国立オリンピック記念青少年総合センター (http://nyc.niye.go.jp/)
参加費:講演会 無料

今後のメールマガジンで、概要や申し込みのスケジュールなどを告知予定です。
まずは、予定を空けておいてくださいね。
みなさん、どうぞお楽しみに!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【プログラミング】Flex2で体験するリッチクライアント [2]

みなさま、こんにちわ。
ついに、ついに、ついーーーーに、待ちに待って噂が先行しすぎて意外とあっさ
りな新しいMax OSX Leopardが発売となりました。早速アップデートした方はい
らっしゃいますか?私のiBookG4も対象機種ギリギリのスペックでアップデート
できるのですが、なんだか遅くなりそうで自重気味です。
OSをアップデートすると、iPod Touchも使えるようになる訳で、いいことだら
けなんですが、まず軍資金が・・・(==)

さて、前回はSDKとサンプルをダウンロードし、サンプルをコンパイルするとこ
ろまで解説しました。サンプルを動かしてみて、どれが一番「オーっ!」と感
動しましたか?私はFlex Store(ディレクトリ名はflexstore)です。そこでこの
Flex Storeをお題に今回はアプリケーションの作り方、構造を説明したいと思
います。

■はじめに
SDKを使ってGUIプログラムを開発する場合、最初にアプリケーションファイル
を作ります。アプリケーションファイルは、Flex Storeでは「flexstore.mxml」
になります。このファイルをエディターで開いてみましょう。
最初の行に

<?xml version="1.0" encoding="utf-8"?>

と書いてあるように、アプリケーションファイルはXMLの文法で記述します。
ですので、MXMLファイルを開く場合は、XMLエディターや、カラーリングを設定
して開くとわかりやすいでしょう。

■アプリケーションの定義
15行目から始まる部分に注目してください。

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; xmlns="*"
     layout="absolute" minWidth="990" minHeight="550"
     preinitialize="loadStyle()"
     creationComplete="startService()"
     pageTitle="FlexStore">

mx:Applicationと書くことで、コンパイルした後にこのファイルがFlashコンテ
ンツの中心になる、という意味を持っています。他にもいくつか属性がありま
すが、これらは後々に解説します。
そしてファイルの最後に、

</mx:Application>

が定義されています。Flashコンテンツの中心となるアプリケーションファイル
は、このApplicationエレメントがルートになっている必要があります。これは
XMLファイルのルールですので、改めて書く必要もなかったですかね?

■MXMLにActionScriptを記述する
21行目から89行目までは、

     <mx:Script>
       *** 省略 ***
     </mx:Script>

のようになっています。Scriptエレメントは、MXMLファイル中にActionScript
を記述するための要素です。これはHTMLファイルに直接JavaScriptを記述する
のに似ています。もちろん外部ファイルに記述しても動作します。

■スタイルシートを使う
91行目には以下のような記述があります。

     <mx:Style source="main.css"/>

CSSは、Flashの各GUIパーツや、ページの見栄えを定義することができます。
これはHTMLとCSSの関係とまったく同じです。MXMLには画面の構造を記述し、
CSSにデザインを記述する、という区分けです。main.cssの中をちょっと覘いて
みれば、HTML/CSSで使っていたのと同じ書き方であることに気づくはずです。
異なる点は、属性名ぐらい・・・と思っていれば大丈夫です。

■Flex提供の部品(コンポーネント)を使う
93行目以降、「mx:」で始まる要素はすべてFlexが提供している標準部品です。
このMXML内では、HTTPService、VBox、ApplicationControlBar、Image、
ToggleButtonBar、ViewStackが使われています。どのような部品があるのかは、
サンプルのexplorerを見ればわかります。
冒頭で紹介したApplicationやApplicationControlBar、VBox、ViewStackについ
ては、

  ビジュアルコンポーネント→コンテナ

の中に簡単なサンプルと一緒に解説されています。
そのほかにもToggleButtonBarは、

 ビジュアルコンポーネント→ボタンコントロール

に、Imageは、

 ビジュアルコンポーネント→ローダーコントロール

に解説されています。

■独自の部品・スクリプトなどを使う
112行目からはじまるViewStackエレメントで囲まれた内側は、「ホーム」、
「製品」、「サポート」のように異なるページをナビゲーションするための定
義になっています。この中では、HomeView、ProductsView、SupportViewという
3つの部品を利用するように記述されていますが、他の部品と決定的に違うのは
「mx:」で始まっていないということです。つまりMXMLで提供されている標準部
品ではなく、独自に用意した部品であることを意味します。
このような独自の部品を使う一番簡単な方法は、Applicationエレメントのxmlns
属性に「xmlns="*"」と記述することです。すると、ローカル(カレントディレ
クトリ)からmxmlファイルかActionScriptファイルを自動的に探して一緒にコ
ンパイルしてくれるのです。HomeView、ProductsView、SupportViewについては
flexstore.mxmlと同じディレクトリに、同名のmxmlがあるのでそれを利用する
ことになります。

■まとめ
今回はアプリケーションのソースコードについて、サンプルを利用して解説し
ました。次回は簡単なソースコードを書いてコンパイル・実行してみる予定で
す。もちろんFlex Storeについてもまだまだ解説していきますので、引き続き
よろしくお願いします。(きしだ)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E0012-1&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E0012-1&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E0012-1&choice=2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【PF】たまには仕事に役立つコミュニケーションのヒント [13]
     - 「質問のちょっとした言い回し」

かつて、システム障害の反省会に出席したことがあります。
原因はプログラム不良だということがすぐにわかり、数人が一晩徹夜を余儀な
くされましたが、何とか無事に収まりました。
さほど影響もなく対応はなんとか終わりましたが、お客様にご迷惑をおかけし
たことには変わりありません。かつての職場ではことの大きさに関わらず、き
ちんと反省するという素晴らしい風土に恵まれていました。

反省会は障害から1週間ほど経ってから開催されました。私は同じチームではあ
りませんでしたが、同じような失敗をまた繰り返さないためにも、その反省会
に参加をすることにしました。

●なぜできなかったのか?

反省会では、リーダーや当事者の報告からはじまり、チームで検討した再発防
止のプランを説明した後に、参加者からの質問などを受け付けました。
参加者から「なぜ、不良を見逃したのか?」「なぜ、テストで摘出できなかっ
たのか?」という質問を耳にしながら、「もちろん、見逃さないように準備を
していた」彼らの仕事ぶりを思い出すと、その場で小さくなっているメンバー
の姿を見ていることさえ辛い気持ちになりました。もちろん、質問をした人た
ちも同じような気持ちだったのだと思います。

●違和感の原因になったもの

後で冷静になって考えてみると、私が違和感を持ったのは参加者からの質問に
ありました。

「なぜ、出来なかったんだ?」
「なぜ、見逃してしまったのか?」

この質問はをされるとき、物事よりも人を対象に責めているような印象を強く
与えます。そういえば読者の皆さんもかつて、親や学校の先生からこんな風に
叱られた体験を思い出しませんか?

私は原因を追究して反省をすることももちろん大切だと思いますが、何よりも
この反省会で話される内容がきちんと再発防止につながり、二度とこのような
ことが起きないようにしたいと思いました。なので、メンバーが萎縮してしま
うよう質問に抵抗があったのだと思います。

●「なぜ?」ではなくて「なに?」を質問する

コーチングをはじめとする問題解決手法のいくつかでは、こんな風に質問をし
ています。

 × 「なぜ、終わることが出来なかったのか?」

 ○ 「何があれば終えることが出来たか?」
   「何が終わらない原因になったのか?」

「Why 〜 not.」と質問することはせずに、「What」を使って質問をします。

「Why 〜 not.」という質問は、相手に理由を聞く質問です。聞き手は理由を聞
きたいという純粋な気持ちからこの質問をしますが、失敗を伴う場面では、で
きなかった理由を強調して聞かれることにより、自己防衛になりがちで、物事
を一歩離れて俯瞰してとらえることが難しくなります。

Whatを使って質問をすることにより、答える側の意識は人から出来事(物事)に
変わります。質問をされた相手は建設的に物事を捉え、自分の体験や知識の中
からその問題を解決するアイディアを考え出すことができるようになります。

反省会などの失敗を伴う場面では、気分が落ち込んでいたり周囲に迷惑をかけ
て気を使っていることなどもあるでしょう。そういった様子が汲み取れる場合
には、問題をきちんと捉えて、建設的に考えられるようにうながすのも周囲の
大切な役目ではないでしょうか?

コーチは自らが問題を解決し、自発的に行動をすることを促します。私は再発
防止などは特に本人が納得をして行動に移すことが大切だと思っているので、
こういう場面では特に意識して質問の言葉を選ぶようにしています。

●まとめ

失敗はしたくないと思いつつも、思いがけぬところで遭遇してしまうのが失敗
です。「失敗から学ぶ」という素晴らしい風土や考えのもとには、個人を責め
ることなく、本当の意味での再発防止につながるように心がけたいものです。

実はこの反省会では、最後の上司の一言が印象に残っています。
「十分に反省をしたのなら、後は行動で見せろ」この一言で、会議室の空気が
変わったように感じました。それ以上を追求せず、上司の思いやりを感じた一
言でした。
(上田雅美)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M003-12&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M003-12&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M003-12&choice=2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━3 r d ■━
■
┗【アンケート】気になるシステム業界 ホントのところ

今週は「出身はどこですか?」のホントのところ。先週勤務先を聞きましたが、
今週は出身地を聞いてみたくなりました。というのも、Uターン、Iターンなど
働き方のバリエーションも増えてきたようですね。先週の結果は、関東がダン
トツではありましたが、いろいろなところからこのメールマガジンを読んで下
さっていることを改めて知って、とても嬉しい気持ちになりました。さて、皆
さんの出身はどこ?

  北海道。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=174&choice=0
  東北。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=174&choice=1
  関東。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=174&choice=2
  中部(北陸・甲信越・東海)。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=174&choice=3
  近畿。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=174&choice=4
  中国。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=174&choice=5
  四国。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=174&choice=6
  九州・沖縄。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=174&choice=7
  国外。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=174&choice=8
  それは秘密です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=174&choice=9
  ちょっと語らせて!
     詳細をこのメールに返信ください!!

アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「読者の皆さんの職場はどこですか?」の結果は公開中。ぜひご覧
下さい。
⇒http://www.ObjectClub.jp/special/kininaru/vol173/PlonePopoll_results2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

こんにちは、編集人です。いよいよクリスマスイベントの話題になりました。
今年は凄いですよ。なんと「1日ぶっとおしのイベントを無料」で開催します。
事務局長を筆頭にスタッフ一同、一度は1日ぶっとおしのイベントを無料でやり
たかったので、ついにそれが実現することとなりました。
願えば叶う!というわけで、予定を空けておいてくださいね。
それでは皆さん、クリスマスは代々木でお目にかかりましょう!

さて、オブジェクト倶楽部カレンダーの11月分の電子データを公開します。
11月は「Refactoring」です。机の上にちょっとしたTipsがあると、自然と意識
が向くのでは?いかがでしょうか?
http://www.ObjectClub.jp/special/#calendar

今週の強引な一言
*** 人こそ人の鏡(ことわざ)***
自分の行いをなおすには、他人の行動を見るのが良い反省の材料であること。
後輩の仕事ぶりを先輩に愚痴ったら、「お前のほうがひどかった」といわれま
した。似たようなところこそ、目につくのでしょうか?
出典参考:故事ことわざ辞典 東京堂出版
(上田雅美)

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