Date:  Wed, 20 May 2009 17:16:48 +0900
Subject:  【オブジェクト倶楽部: 2009-15号】
X-Mail-Count: 00290

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.280 2009/05/20

■ I N D E X
┃
┣【Topics】「オブジェクト倶楽部2009夏イベント」開催のお知らせ
┣【書評】『Debug Hacks -デバッグを極めるテクニック&ツール』
┣【プログラミング】SproutCoreでカッコイイ
┣                  Webアプリケーションを作りたい [6]
┗【アンケート】気になるシステム業界 ホントのところ

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 「オブジェクト倶楽部2009夏イベント」開催のお知らせ
  〇 〇━━━━━━━━━━━━━ ━━・ 

毎年恒例となりました「オブラブ夏イベント」を、今年も開催します。場所は
こちらも恒例の、国立オリンピック記念青少年総合センター。今年は7月7日、
七夕の開催となります。織姫と彦星よろしく、みなさまにお会いできますこと
をスタッフ一同楽しみにしております。

メルマガにて順次、詳細を発表していく予定です。どうぞお楽しみに!

● タイトル:オブジェクト倶楽部2009夏イベント
● 開催日時:2009年7月7日(火) 10:00開始
● 場    所:国立オリンピック記念青少年総合センター(代々木)
             http://nyc.niye.go.jp/
● 内    容:講演、ワークショップ
● 参 加 費:イベント3,000円、懇親会5,000円

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┗【書評】『Debug Hacks -デバッグを極めるテクニック&ツール』

オブジェクト倶楽部の政権交代を狙うファンクション倶楽部ミムラです。

そんな僕が今回紹介させていただくのは、4月25日にオライリー・ジャパン様か
ら発売されました、『Debug Hacks -デバッグを極めるテクニック&ツール』と
いう、Linuxのデバッグをテーマとした書籍です。

『Debug Hacks -デバッグを極めるテクニック&ツール』
  http://www.amazon.co.jp/exec/obidos/ASIN/4873114047/xpjp-22

この本の表紙は、かわいい蚊遣り豚(中に蚊取り線香を入れて蚊を退治する豚の
焼き物)ですが、内容は、プログラムのバグを退治するためのノウハウがしっか
り書かれた書籍です。

この本は、ミラクルリナックスの吉岡氏の「プログラミング入門書はあまたあ
るのに、なんでデバッグ入門書がほとんどないでしょうか?」(DEBUG HACKS
はじめにより引用)という疑問からスタートし、書かれた一冊です。

デバッグというのはプログラムを書く上で必要となるものですが、みなさんど
のように身につけていかれたのでしょうか?
「なんとなく、経験で」「先輩からの口伝継承」とかでしょうか?本書では、
そのような「経験」や「口伝継承」で覚えていくようなデバッグの知識がたく
さん詰まっています。

内容は、執筆されている方のほとんどがミラクルリナックスの方ということも
あり、Linuxのカーネルのバグに対して行ったデバッグ手法がたくさん書かれて
いるということが特徴です。(ユーザーランドのプログラムに対するデバッグも
書かれております)

私は仕事で、Linuxのカーネルモジュールをいじることがあるのですが、障害が
発生したときに使用するcrash(カーネルのdumpを覗いたりするためのツール)と
いうのがあるのですが、まとまったドキュメントというのがほとんどありませ
んでした。しかし本書には、そのような非常に有用なツールなのにドキュメン
トがあまりないようなツールの使い方がしっかり書かれており、さらに他にも
デバッグに使えそうなsystemtapや、フォルトインジェクションなどの、最近の
ツールについても言及されている貴重な一冊です。

いきなりデバッグの詳細から始まるのではなく、準備編、実践編、もう一歩先
へという構成になっているため、今カーネルを触っていたりする方や、バイナ
リーな方だけでなく、これからLinuxカーネルを学んでいきたいという方にもお
薦めの一冊です。(ミムラ)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
/community/object_ml/estimate?vol=A001-22&choice=0
普通:
/community/object_ml/estimate?vol=A001-22&choice=1
イマイチ:
/community/object_ml/estimate?vol=A001-22&choice=2

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

こんにちは、浦嶌です。

前回はコントローラとビューを作成し、バックログを一覧表示するところまで
行きました。現時点での画面イメージはこんな感じです。
http://dl.getdropbox.com/u/102724/rist/screen-capture.png

● ビューをHamlにする
いきなり脇道に逸れますが、Hamlをご存じでしょうか。簡潔な記法からHTMLを
生成するRubyのライブラリで、SproutCoreはHamlをサポートしています。百聞
は一見にしかず、前回作成したビューをHamlに置き換えてみましょう。

-- clients/rist/english.lproj/body.erb --
<% content_for :body do %>
   <% scroll_view :backlogs_scroll do %>
     <%= list_view :backlogs, :content_value_key => 'title', :bind => {
           :content => 'Rist.backlogsController.arrangedObjects'
         } %>
   <% end %>
<% end %>
----

-- clients/rist/english.lproj/body.haml --
:ruby
   backlogs_opts = {
     :content_value_key => 'title',
     :bind => {
       :content => 'Rist.backlogsController.arrangedObjects'
     }
   }

- content_for :body do
   - scroll_view :backlogs_scroll do
     = list_view :backlogs, backlogs_opts
----

後半部から見てみましょう。"-"で始まる行はRubyの式として評価されます。
"="も同様ですが、こちらは式を評価した値が出力されます。それぞれERBと見
比べていただくとわかりやすいでしょう。Hamlはブロックの範囲をインデント
で表すため、endは必要ありません(書くとエラーになります)。

前半部はローカル変数への代入です。":ruby"の行にぶら下がるインデントの部
分はすべてRubyのコードとして評価されます。"-"や"="は複数行の式を書けな
いという制限があるため、今回のような長い引数は一度変数に入れてやると読
みやすくなります。

HamlにはCSSを生成するためのSassというライブラリも含まれています。ついで
にこっちも置き換えてしまいましょう。

-- clients/rist/english.lproj/body.css --
.backlogs_scroll {
   height: 20em;
}
----

-- clients/rist/english.lproj/body.sass --
.backlogs_scroll
   :height 20em
----

こちらはそれほど差がないですね。中括弧とセミコロンがなくなり、コロンが
先頭に移動したぐらいです。

それでは動作を確認してみましょう。まず、gemコマンドでHamlをインストール
します。

$ sudo gem install haml

あとはサーバを起動してアクセスすれば以前と同じ画面が出ているはずです。
HamlとSassについて詳しく知りたい方は、文末に上げた参考ページをご参照く
ださい。

● バックログを編集する
さて、本題に戻りましょう。これはとても簡単で、ビューに1行追加するだけで
す。

-- clients/rist/english.lproj/body.haml --
:ruby
   backlogs_opts = {
     :content_value_key => 'title',
     :content_value_editable => true, # 追加
     :bind => {
       :content => 'Rist.backlogsController.arrangedObjects'
     }
   }

- content_for :body do
   - scroll_view :backlogs_scroll do
     = list_view :backlogs, backlogs_opts
----

バックログを選択した状態でもう一度クリックすると、編集状態になります。
http://dl.getdropbox.com/u/102724/rist/screen-capture-1.png

● バックログを追加する
まず、コントローラにアクションを追加します。

-- clients/rist/controllers/backlogs.js --
require('core');

Rist.backlogsController = SC.ArrayController.create({
   add: function() {
     var backlog = Rist.Backlog.newRecord({
       title: 'New Backlog'
     });

     this.pushObject(backlog);
   }
});
----

backlogsControllerにaddというアクションを追加しました。
適当な内容のBacklogモデルを作成し、pushObjectでコントローラに追加してや
ります。あとはビューからこのアクションを呼び出してやればよさそうです。

-- clients/rist/english.lproj/body.haml --
:ruby
   backlogs_opts = {
     :content_value_key => 'title',
     :content_value_editable => true,
     :bind => {
       :content => 'Rist.backlogsController.arrangedObjects'
     }
   }

- content_for :body do
   - scroll_view :backlogs_scroll do
     = list_view :backlogs, backlogs_opts

   = button_view :title => 'Add', :action =>  
'Rist.backlogsController.add'
----

button_viewは以前ご紹介しましたが、覚えていますか?actionパラメータに指
定したアクションを実行するボタンを作成するメソッドです。

これでバックログの編集と追加ができるようになりました。なかなか順調なの
ではないでしょうか。
http://dl.getdropbox.com/u/102724/rist/screen-capture-2.png

● まとめ
Hamlの紹介を交えつつ、いくつかの機能を作成しました。この順番で行くと次
回は削除機能でしょうか。そろそろデータの永続化もしたいですね。(id:ursm)

今回作成したソースコードはこちらからダウンロードできます。
http://bitbucket.org/ursm/rist/src/2009-15/

● 参考ページ
#haml
http://haml.hamptoncatlin.com/

Ruby Freaks Lounge:第9回 SinatraとSequel・Hamlで掲示板アプリを作る
http://gihyo.jp/dev/serial/01/ruby/0009

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

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

今週は「名刺のストック枚数は?」のホントのところ。
自分の名前や電話番号・メールアドレスなど、相手に知ってもらいたい情報が
記載された名刺は、自分の分身と言ってもいいかもしれません。相手先を訪問
する場合にはあらかじめ必要な枚数を予想することもできますが、イベントな
どにはいったい何枚ぐらい持って行けばいいのか、悩まれたことのある方も多
いのではないでしょうか?あなたは普段何枚ぐらい名刺をストックしています
か?

  100枚以上は持っています!
     /special/kininaru/vote?vol=246&choice=0
  50枚以上〜100枚未満。
     /special/kininaru/vote?vol=246&choice=1
  30枚以上〜50枚未満。
     /special/kininaru/vote?vol=246&choice=2
  10枚以上〜30枚未満。
     /special/kininaru/vote?vol=246&choice=3
  数枚しか持ち歩きません。
     /special/kininaru/vote?vol=246&choice=4
  1枚も持ち歩きません。
     /special/kininaru/vote?vol=246&choice=5
  それは秘密です。
     /special/kininaru/vote?vol=246&choice=6
  ちょっと語らせて!
     詳細をこのメールに返信ください!!

アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「普段、紫外線対策してますか?」の結果は公開中。ぜひご覧下さ
い。
⇒/special/kininaru/vol245/PlonePopoll_results2

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

こんにちは、編集人のナガタユウコです。Topicsにてお知らせしましたが、今
年も、夏イベントやりますっ!今年はなんと7月7日の七夕に開催なので、会場
に笹と短冊を用意しようかな、みなさま浴衣でご参加いただると嬉しいな、な
どと脱線してばかりで、肝心のイベント準備がなかなか進みません><
とはいえ久しぶりのオリンピックセンター、久しぶりの一日イベントなので、
みなさまにとって有意義なイベントとなるようがんばりたいと思います。みな
さま、7月7日は空けておいてくださいね!

今週の強引な一言
*** 心中より饅頭(ことわざ) ***
義理立てするよりも食い物のほうがよいこと。
退社時間。自分の作業は終了したけれど、チームのみんなはまだ仕事をしてい
る・・・そんな時、自分だけ帰るのが気まずくて、なんとなく残業したりして
いませんか?でも、もしかしたらチームのみんなも、誰かが最初に退社するの
を待ってなんとなく残業しているだけかも。みんなで残業するより、進捗状況
を確認し作業を再割り振りするなどして仕事を終わらせ、みんなで飲みに行け
るよう工夫してみましょう。
出典参考:故事ことわざ辞典 東京堂出版
(ナガタユウコ)

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