Date:  Wed, 19 Nov 2008 17:55:55 +0900
Subject:  【オブジェクト倶楽部: 2008-44号】
X-Mail-Count: 00269

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.260 2008/11/19

■ I N D E X
┃
┣【Topics】「オブラブ忘年会 〜ふりかえり2008〜」追加募集開始!
┣【Topics】オブLOVEサーバを一時停止します 11/21 19:00 〜 11/25 9:00
┣【プログラミング】SproutCoreでカッコイイ
┃                  Webアプリケーションを作りたい [2]
┣【PF】がんばれ小さなプラクティス [11]
┗【アンケート】気になるシステム業界 ホントのところ

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 「オブラブ忘年会 〜ふりかえり2008〜」追加募集開始!
  〇 〇━━━━━━━━━━━━━ ━━・ 

「オブラブ忘年会 〜ふりかえり2008〜」にお申込みいただいたみなさま、あり
がとうございます!おかげさまで多数のお申込みをいただきました。
でもでも忘年会は大勢の方が楽しい!ということで、追加募集を開始します!
追加募集のお申込み期限は11月27日朝8時とさせていただきます。お席には限り
がありますので、ご希望の方はお急ぎください!

プログラム/お申込みはコチラから!
→ http://www.ObjectClub.jp/event/2008winter/

● ライトニングトークス、トーカー決定!
今回も豪華なトーカーが揃ったオブラブLT。イベントページにて、トーカーの
みなさまを発表中です!
→ http://www.ObjectClub.jp/event/2008winter/

● リジェクトトークスやります!
本編にて開催されるライトニングトークスに対抗して、懇親会にてRejectTalks
を開催します!発表希望の方は以下にてご登録ください。時間があれば、当日
飛び入りでの参加も可能かも?!
→ http://wiki.fdiary.net/RejectTalks2008/?FrontPage

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 オブLOVEサーバを一時停止します 11/21 19:00 〜 11/25 9:00
  〇 〇━━━━━━━━━━━━━ ━━・ 

今週末の三連休、みなさんはどのように過ごす予定でしょうか?
オブLOVEのコンテンツやメルマガを配信しているサーバも三連休とさせていただ
きます。

  サービス停止期間:2008年11月21日(金) 19:00 〜 25日(火) 9:00
      停止サービス:ObjectClub.jp ドメインの www サービス、
                    および objectclub.jp ドメインのメール送受信

なお、現在開催中のモデリングコンテストの応募は、この影響を受けません。
モデルの応募は modeling-dojo@change-vision.com へどうぞ。
この三連休をどのように使うかは、あなたしだいです!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┗【プログラミング】SproutCoreでカッコイイ
                    Webアプリケーションを作りたい [2]

こんにちは、浦嶌です。さて、前回はSproutCoreの概要をご紹介しました。そ
れでは早速アプリケーションを作っていきましょうと言いたいところなのです
が、わからないことだらけでどこから手を付けていいものやら見当もつきませ
ん。そこで、今回はSproutCoreの公式ドキュメント[*1]より、
"Follow the Hello World Tutorial"を見てみます。

http://www.sproutcore.com/documentation/hello-world-tutorial/

今回使用するSproutCoreのバージョンは0.9.20です。

● Hello World Tutorial 1: Getting Started
SproutCoreのインストールとプロジェクトの生成について書かれています。こ
こは前回お伝えした内容と同じですね。手順に従ってhello_worldプロジェクト
を生成します。

$ sproutcore hello_world

ところで、前回はsc-initコマンドでプロジェクトを生成しましたが、sproutcore
コマンドでも同様のことが行えるようですね。コマンド実行時に
"Please use 'sc-init' instead of 'sproutcore' to create new project libraries."
と表示されるので、sc-initを使った方がよさそうです。

● Hello World Tutorial 2: Your First Views
ここはかなり盛り沢山です。一つずつ見ていきましょう。

- Step1. Finding your HTML
ビューを構成するファイルはclients/hello_world/english.lproj以下に格納さ
れます。その中でもbody.rhtmlというファイルがページの表示に使われるとの
ことなので、これは覚えておいた方がよさそうです。また、ディレクトリ名か
ら類推できるように、SproutCoreはローカライズをサポートしており、*.lproj
ディレクトリを追加することでサポートする言語を増やせるようです。

- Step2. Adding Your First Helper
SproutCoreが提供するヘルパメソッドを使うことで、いわゆるUIコントロール
を生成できます。この項ではlabel_viewというヘルパメソッドを使ってラベル
(文字列を表示するためのコントロール)を生成しています。先ほど話に出てき
たbody.rhtmlを以下のように編集します。

<% content_for 'body' do %>
  <div class="sc-welcome">
    <img class="logo" src="<%= static_url('images/sproutcore-logo') %>" />
    <div class="message">
      <%= label_view :my_label, :tag => 'h1', :inner_html => 'Hello, World!' %>
    </div>
  </div>
<% end %>

label_viewの部分はこのように展開されます。

<h1 id="my_label" class="sc-label-view my_label">Hello, World!</h1>

一見普通のHTML要素に見えますが、実は要素に対応するJavaScriptオブジェク
トが生成されています。これによって後述するバイディングのような仕組みを
可能にしているのでしょう。

- Step3. Add a Controller
ようやくビュー以外のコンポーネントが登場しました。コントローラはsc-gen
コマンドで生成します。まるでRailsみたいですね。

$ sc-gen controller hello_world/app

チュートリアルに従い、生成されたファイル(clients/hello_world/controllers/app.js)
を以下のように編集します。

require('core');

HelloWorld..appController = SC.Object.create(
  greeting: "Hello World!"
);

説明によるとSC.Object.create()はSproutCoreオブジェクトを生成するための
メソッドだそうです。SproutCoreオブジェクトとは一体何なのか現時点ではよ
くわかりませんが、「appControllerオブジェクトを生成して」「greetingプロ
パティに"Hello World!"という値を設定した」という理解で先に進みます。

- Step 4. Add a binding
あるオブジェクトのプロパティが変更された時、ビューを連動して更新する仕
組みをバインディングと呼ぶそうです。body.rhtmlでlabel_viewを呼び出して
いる箇所を以下のように変更します。

<%= label_view :my_label, :tag => 'h1',
               :bind => {:value => 'HelloWorld.appController.greeting'} %>

これだけでappControllerのgreetingプロパティの値にラベルが連動するように
なります。

● Hello World Tutorial 3: Adding Buttons
コントローラに新しいアクションを定義するには、コントローラオブジェクト
にメソッドを定義すればいいようです。以下の例では呼び出す度にgreetingプ
ロパティの値を書き換えるtoggleGreetingアクションを定義しています。

require('core');

HelloWorld..appController = SC.Object.create(
  greeting: "Hello World!",
  toggleGreeting: function() {
    var currentGreeting = this.get('greeting');
    var newGreeting = (currentGreeting === 'Hello World!') ? 'I am on SproutCore!'
                                                           : 'Hello World!';
    this.set('greeting', newGreeting);
  }
);

ビューからコントローラのアクションを呼び出す方法として、Button Viewを使
う例が紹介されています。button_viewメソッドのactionパラメータに呼び出し
たいアクションを指定することで、ボタンを押すたびにアクションが実行され
るようになります。

<% content_for 'body' do %>
  <div class="sc-welcome">
    <img class="logo" src="<%= static_url('images/sproutcore-logo') %>" />
    <div class="message">
      <%= label_view :my_label, :tag => 'h1',
                     :bind => {:value => 'HelloWorld.appController.greeting'} %>
      <%= button_view :toggle_button, :title => 'Change Title',
                      :action => 'HelloWorld.appController.toggleGreeting' %>
    </div>
  </div>
<% end %>

コントローラが直接ビューを書き換えるのではなく、コントローラの変化に、
ビューが連動するというのが面白いですね。

さて、チュートリアルはあと一章残っているのですが、長くなってきたので以
降は次回にご紹介したいと思います。

● まとめ
今回は"Follow the Hello World Tutorial"を通じてビューとコントローラ、そ
してバインディングについて学びました。次回はオブザーバとモデルについて
調べてみましょう。(id:ursm)

● 参考サイト
** SproutCore ドキュメント翻訳
http://www.memorycraft.jp/wiki/SproutCore%20%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%7%BF%BB%E8%A8%B3.html
memorycraftさんがドキュメントの翻訳を公開してくださっています。今回取り
上げたチュートリアルも翻訳されています。

[*1] http://www.sproutcore.com/documentation/
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E0015-01&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E0015-01&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E0015-01&choice=2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┗【PF】がんばれ小さなプラクティス [11]

こんにちは、オブジェクト倶楽部の水越です。季節はだいぶ涼しくなってきま
したね。新宿御苑の入り口で昼食を食べる人たちを見ると、夏は木陰が多いの
ですが、この季節は暖かい日なたで食べている人が多くなってきました。

★昼休みのすごし方
昼休みに何をしているのかは人それぞれですよね。お昼ご飯を食べるというこ
とに関してはほとんどの人に共通していると思うのですが、それ以外は、お喋
りしたり、読書をしたり、散歩をしたり、ゲームをしたり、ネットサーフィン
をしたり人によってさまざまです。私の場合はお昼休みに珈琲を買って飲むよ
うにしています。この習慣は社会人になってからずっとなので、もう8年以上続
けていることになりますか。

★昼休みトラベル
さらに、2週間に1度くらいのペースで、お昼休みに電車に乗って銀座に行き、
南蛮屋というお店で自宅用の珈琲豆を買っています。お昼休みに電車に乗る事
は、私にとってはかなりの大発見でした。以前のオフィスでは駅まで遠かった
り、電車の本数が少なかったりして、お昼休みに電車に乗って移動するなんて
時間的に明らかに無理で、考えもしませんでした。今の新宿御苑のオフィスに
移ったあとも、お昼休みに電車に乗るという発想がしばらく出て来ませんでし
た。しかしある時、新宿御苑も銀座も同じ丸ノ内線にあるということに気がつ
いたのです。所要時間もほんの12〜3分だからお昼休み中に十分帰ってこれると
いうことがわかりました。それからお昼休みに電車に乗って銀座に行くという
プラクティスが始まったのです。これが『昼休みトラベル』です。

★みんなで昼休みトラベル
別のパターンの昼休みトラベルも紹介しましょう。西新宿にもうやんカレーと
いう美味しいカレー屋さんがあります。1000円のランチバイキングがあって、
オフィスが西新宿にあった時にはみんなでちょくちょくお昼を食べに行ってい
ました。オフィスが新宿御苑に移ってからは、歩くと30分ほどかかってしまう
ので、食べたいと思いつつも行くことが出来ませんでした。ここでまた新しい
発想が生まれました。歩くと30分かかるなら、タクシーで行けばいいじゃない
か、と。実際に、チーム5人でタクシーに乗って、お昼休みにもうやんカレーに
行って食べて帰ってこれました!そういえば、これ以前にもタクシーで新大久
保のビビンババイキングに行ったこともありました。

★注意事項
昼休みトラベルを企画する時には、お昼休みの時間内に間に合うかどうかを、
ちゃんと調べておきましょう。私は銀座からの帰りの電車で逆方向に乗ってし
まって、時間に間に合わないかも知れない、と青くなったことがあります。ま
た、お金は少しかかることを覚悟してください。例えばタクシーでもうやんカ
レーに行ったときには、5人で2台のタクシーに乗ったので、往復で1人あたり約
1000円の交通費でした。旅にはこういったリスクは付き物ですが、それを補っ
て余りある心の幸せを得ることが出来ます。皆さんも電車やタクシー、あるい
は他の乗り物を利用して昼休みトラベルに旅立ってみてください。

★次回予告
次回は最終回!お楽しみに。(水越)

★これまでのちいさなプラクティス
バグレゴ
http://www.ObjectClub.jp/ml-arch/magazine/217.html
ほぼ○マインドマップ
http://www.ObjectClub.jp/ml-arch/magazine/221.html
非常階段のぼり
http://www.ObjectClub.jp/ml-arch/magazine/227.html
オフィスのコーヒー屋さん
http://www.ObjectClub.jp/ml-arch/magazine/231.html
遅刻ルーレット
http://www.ObjectClub.jp/ml-arch/magazine/234.html
ランチプロデューサー
http://www.ObjectClub.jp/ml-arch/magazine/237.html
席替え
http://www.ObjectClub.jp/ml-arch/magazine/242.html
過食は大罪
http://www.ObjectClub.jp/ml-arch/magazine/249.html
朝勉強会
http://www.ObjectClub.jp/ml-arch/magazine/256.html
散歩ミーティング
http://www.ObjectClub.jp/ml-arch/magazine/263.html 
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M005-10&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M005-10&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M005-10&choice=2

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

今週は「忘年会イベントで一番楽しみなのは?」のホントのところ。
オブジェクト倶楽部初となる忘年会イベント。毎年恒例のクリスマスイベント
とは少し異なるのでスタッフもどうなるかドキドキしているのですが、今回の
イベントでみなさまが一番楽しみにされているのはなんですか?ぜひぜひ教え
てください!

  ライトニングトークス
     http://www.ObjectClub.jp/special/kininaru/vote?vol=225&choice=0
  ふりかえり2008
     http://www.ObjectClub.jp/special/kininaru/vote?vol=225&choice=1
  リジェクトトークス
     http://www.ObjectClub.jp/special/kininaru/vote?vol=225&choice=2
  新しい出会いがあること
     http://www.ObjectClub.jp/special/kininaru/vote?vol=225&choice=3
  参加者やスタッフと話をすること
     http://www.ObjectClub.jp/special/kininaru/vote?vol=225&choice=4
  食べたり飲んだり
     http://www.ObjectClub.jp/special/kininaru/vote?vol=225&choice=5
  それは秘密です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=225&choice=6
  ちょっと語らせて!
     詳細をこのメールに返信ください!!

アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「あなたが好きな鍋は?」の結果は公開中。ぜひご覧下さい。
⇒http://www.ObjectClub.jp/special/kininaru/vol224/PlonePopoll_results2

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

こんにちは、編集人のナガタユウコです。忘年会イベントにて行われるライト
ニングトークスのトーカーが決定しました!イベントページにて発表中ですの
で、ぜひご覧ください。また、豪華なトーカー陣や興味深いトークスタイトル
を見てイベントに参加されたくなった方は、お申込みの追加募集を開始しまし
たので、ぜひぜひ当日見にいらしてくださいね☆
LTへのご応募は毎回本当に多く、また、詳細に書かれた概要やトークスタイト
ルを見ていると、応募者のみなさまの熱意が伝わってきます。私はまだLTで発
表したことがないのですが(いつもドラ娘><)、見ていると発表したくなる、
一度発表するとまたやりたくなる、そんなLTの魅力を少しだけ理解できた気が
しました。
● トーカー発表/お申込みはコチラ!
→ http://www.ObjectClub.jp/event/2008winter/

今週の強引な一言
*** 陰では殿の事も言う(ことわざ) ***
だれしも人から陰口を言われることは避けられないこと。
仕事でもプライベートでも、他の人との関わりは多かれ少なかれあるもの。自
分と考え方が違う人も中には必ずいるし、たまには陰で悪く言われてしまうこ
とも。そんな言葉に落ち込んでいてはもったいない!褒め言葉だけを聞くよう
にして、せめて自分は陰口を言わないように心がけると、自分も陰口を言われ
ないようになるかも!
出典参考:故事ことわざ辞典 東京堂出版
(ナガタユウコ)

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