Date:  Wed, 07 Mar 2007 17:18:18 +0900
Subject:  【オブジェクト倶楽部: 2007-09号】
X-Mail-Count: 00184

【オブジェクト倶楽部: 2007-09号】

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.178 2007/03/07

■ I N D E X
┃
┣【Topics】オブジェクト倶楽部春イベント開催決定!(3/28:田町)
┣【プログラミング】Rubyで進むオブジェクトの道[21]
┣【PF】アジャツール - Agileなツール紹介[20]
┗【アンケート】気になるシステム業界 ホントのところ

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 オブジェクト倶楽部 春イベント開催 (3/28)
  〇 〇━━━━━━━━━━━━━ ━━・ 

“みんながもっと参加しやすいイベントを!”を旗印に、オブジェクト倶楽部
では春のイベントを企画しました。いよいよ来週に詳細を発表します。
既に準備もはじまりました!皆様のご参加を、スタッフ一同心より楽しみにし
ています。

開催日時 : 2007年3月28日(水) 19:00〜21:00
場  所 : 港勤労福祉会館 (田町)
参加費  : 無料
概  要 : 来週のメールマガジンで発表!ご期待ください!
主  催 : オブジェクト倶楽部 http://www.ObjectClub.jp/

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【プログラミング】Rubyで進むオブジェクトの道[21]

■今日のお題

今日は、前回に引き続きイントロスペクション(introspection)機能を学習しま
す。前回は、

  * ObjectSpace.each_object
  * superclass
  * ancestors
  * send
  * call

などを学習しました。

今日は、evalに絞って学習します。

■hello eval
まずはカンタンなhello evalから

▲プログラム1
 eval %q{ puts "hello eval" }  # hello evalと出力

evalは文字列をRubyプログラムと解釈して評価し、[hello eval]と実行結果が
出力されます。

補足ですが、%q{ ・・・・ }で囲まれた要素は文字列に相当します。
「"」が含まれる文字列の場合、%q{ ・・・・ }の記述を行えば、
「eval "puts \"hello eval\""」のようなエスケープが不要で簡単に記述でき
ます。

▲プログラム2
 name = "fuga"
 eval %q{ puts "hello #{name}" }  # hello fugaと出力

eval実行対象の文字列「puts "hello #{name}"」にはname変数宣言と代入は行
われていませんが、一行目の name = "fuga" の値がバインドされ、実行時に
評価され「hello fuga」と出力します。

上記の例では、1行目と2行目がフラットに同じスコープにいるためevalの第二
引数でバインドしなくても、変数nameが参照できました。

ただし、次のような異なるスコープの場合、実行に失敗します。

▲プログラム3(実行に失敗する)
def bind_name_age
  name = "fuga"
  age = 10
end

eval %q{ puts "name=>#{name} age=>#{age}" }

上記の記述では、変数(またはメソッド)name、ageが未定義なり、実行に失敗し
てしまいます。

修正版は以下になります。

▲プログラム4 (3を修正)
def bind_name_age
  name = "fuga"
  age = 10
  binding
end

eval %q{ puts "name=>#{name} age=>#{age}" }, bind_name_age

「binding」メソッドは、変数・メソッドなどの環境情報を含んだ Binding 
オブジェクトを生成して返します。

evalの2番目の引数に、変数name、ageに値が代入済みのBindingオブジェクト
を引き渡すことで、文字列 %q{ puts "name=>#{name} age=>#{age}" }を評価で
きるようになります。

■まとめ
evalは、文字列をRubyのプログラムとして評価し、結果を返します。

あまり実用的ではないと思いますが、プログラマなら一度は考える、自身がプ
ログラムがプログラムを書いて実行するプログラムをevalは可能にします♪

1 プログラムが実行可能な文字列を生成
2 evalがその文字列を評価
3 evalの実行結果をもとに、実行可能な文字列を修正して再生成
4 evalが文字列を再評価
5 evalの実行結果をもとに・・・

「「「プログラムがプログラムを書いて実行する」プログラムがプログラムを
書いて実行する」プログラムがプログラムを書いて実行する」プログラムが・・・

うーん。この先に何があるやら・・・w

では。

■参考文献

プログラミングRuby 第2版 言語編
http://amazon.co.jp/o/ASIN/4274066428/xpjp-22

http://www.ruby-lang.org/ja/man/?cmd=view;name=Binding
http://www.ruby-lang.org/ja/man/?cmd=view;name=%C1%C8%A4%DF%B9%FE%A4%DF%B4%D8%BF%F4#eval
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E006-20&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E006-20&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E006-20&choice=2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【PF】アジャツール - Agileなツール紹介[20]- 筆記具あれこれ 

●はじめに

早いもので、この連載も20回を数えてしまいました。最初は10回くらいでネタ
切れか?と予想していたのですが、無理矢理なネタと、皆さまの暖い応援もあっ
て、なんとか続けてくることができました。

今でこそライフハック花盛りで、個人のblogなどでもアナログツールの使い方
やコツを紹介していますが、この連載当初(2005年)では、まだアナログツール
のコツを紹介するような機会はあまりなかったように思います。どちらかとい
うと暗黙知に近い状況だったのかもしれません。

しかし最近では、「これはアジャツール?」といった声や、「アジャツールに、
こんなツールを紹介したいんです」というお話をちらほら聞きます。実際の現
場で便利なツールや工夫を共有するという流れは、素晴しいことだとつくづく
実感しています。

オブラブのイベントで、皆のアジャツールを持ち寄って紹介しあうセッション
などができると良いなぁと妄想している今日この頃です。

●筆記具を忘れていた

今回紹介するのは、筆記具です。実はいままでのアジャツールはスケッチブッ
ク、情報カードなど、書き込む媒体を中心に紹介していたのですが、筆記用具
については万年筆くらいしか紹介していませんでした。万年筆は筆者の半分趣
味ですので、なかなか現場で使うことは難しいと思います。ボールペンがあれ
ば十分という方もいらっしゃるかもしれませんが、筆記具は用途によって使い
わけるほうが楽しいですよ。

主にオフィスで使うことを考えて、使いやすさの他にも、入手しやすさ、手頃
な価格という観点で選んだ筆記具を紹介します。

●貼り物に書くなら

壁に貼る付箋やカードにはどんな筆記具で書いていますか?もし自分しか見な
いのであれば、ボールペンやシャーペンなど何で書いてもよいでしょう。しか
し壁に貼り、数人で共有するのであれば、ちゃんと視認性を考慮した筆記具を
選ぶ必要があります。筆者が使っている筆記具を紹介します。

筆者の回りでは、ラッションペン[*1]を使う人が多いです。ラッションペンは
水性ですが、よく書け、ペンの太さが0.4-0.6mmと適度な視認性を提供してくれ
ます。使い続けていると、キャップが外れやすくなるのが難ですが、非常にバ
ランスのよい水性ペンです。水性ペンと言えばぺんてるのサインペン[*2]も外
せないでしょう。こちらはラッションペンよりも若干太い(0.8mm)ので、大きめ
の付箋、カードに書く場合に適しています。他にも各社からサインペン、水性
ペンが出ていますが、書く紙のサイズと、字幅のバランスを考えて使うとよい
でしょう。どちらの製品も長く使われており、入手しやすいのが特徴です。他
のペンでも視認性がよければよいのですが、油性マーカーだけは避けましょう。
なぜなら裏うつりしてしまうことがあるからです。

●絵を描くなら

日々の仕事の中で紙に絵を描く機会がありますか?もし絵を描く機会がないな
ら、積極的に絵を描く機会を設けることをお勧めします。先日勉強会が開催さ
れたファシリテーショングラフィックでは、会議の進行を見える化する目的で、
板書をビジュアルに表現することを提唱しています。普段の生活ではなかなか
カラフルな絵を描く機会などありませんので、できるだけ楽しさを感じられる
ものがよいですね。

模造紙のような大きな紙に、カラフルな絵を描く場合は、入手しやすく扱いや
すいuniプロッキー[*3]がお勧めです。最大12色と現場で使うには十分な色数が
用意されています。太字と細字の種類があります。筆者は細字を使っていて、
キャップをきっちり締めるのを忘れて乾燥して描けなくなった経験が何度かあ
ります。そのため太字をお勧めしておきます。
先のファシリテーショングラフィックの勉強会でもuniプロッキーを勧めていた
そうです。

もうひとつお勧めなのは、オブラブイベントの景品にもなったゲルマーカー[*4]
です。一部ではすっかりお馴染のクレヨン風のペンです。ゲルマーカーの最大の
特徴はその書き味にあります。固形の芯が、紙に触れたとたんに液状化し、クレ
ヨン風に色を敷きつめていく。このなめらかな書き味は、言葉では伝えることは
とても難しいです。実際に書いてみないとわからない気持ち良さなのです。

●ホワイトボードに書くなら

オフィスではどんなホワイトボードマーカーを使っていますか?大抵のオフィ
スでは、ホワイトボードマーカーはまとめて発注して用意していると思い
ます。しかし常備してあるマーカーをあえて使わずにお勧めしたいホワイトボー
ドマーカーがあります。それがボードマスター[*5]です。
筆者は一時期「Myホワイトボードマーカー」を持参していました。しかし当時
はそれほど製品の間で差があるとは思えませんでした。しかしこのボード
マスターは明かな違いがあるのです。

まずペン先、カートリッジインクが交換できるというエコロジカルな面が魅力
です。しかし最大のお勧めポイントは何といっても濃い筆跡にあります。
大抵のホワイトボードマーカーは、長く書いていると、だんだんかすれてきて
ストレスの原因となります。
しかしボードマスターは、ギリギリまで濃い筆跡で書くことができます。その
あまりのインクの濃さで、手で消そうとするときれいに消えなくなるほどです。

ホワイトボードマーカーのような消耗品は、オフィス向けの通販で低価格な使
い捨て品を大量購入することが多いかもしれません。そのようなホワイトボー
ドマーカーを使っていると、会議室に描けないマーカーばかりが大量に存在し、
どれもこれも「かすれマーカー」ばかりで、怒りでマーカーをゴミ箱に投げつけ
てしまうことがありますよね。筆者もよくやりました。そんな時には是非ボード
マスターを使ってみてください。
ストレスフリーなホワイトボードの利用ができるはずです。

●まとめ

今回は用途別に、比較的メジャーどころな筆記具を紹介しました。最近文房具の
紹介の本が多く出版されていますが、どれも個人的な用途に留まっており、
オフィスの筆記具でどんな製品がよいか、という紹介はあまり見あたらない
ように感じます。「単にオフィスに常備されているから使う」ということでもよい
のですが、自分の用途に求められる要件を通じて筆記具を見直してみると、また
筆記具に新しい発見があるかもしれません。
今回の紹介した製品以外にも、よい製品があればぜひ教えてくださいね。(懸田)

[*1] : http://www.guitar-mg.co.jp/rushon_pen/rushon_pen.htm
[*2] : http://www.pentel.co.jp/ecology/marker/signpen.html
[*3] : http://www.mpuni.co.jp/product/sign_pen/prockey/index.html
[*4] : http://www.pilot.co.jp/products/pen/art_pen/gel_marker/index.html
[*5] : http://www.pilot.co.jp/products/pen/sign_marker/board_marker/bordmaster_chuji/index.html
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M002-20&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M002-20&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M002-20&choice=2

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

今週は「健康に良いことしてますか?」のホントのところ。体調が悪い時には
仕事が思いのほかはかどらなかったり、エンジニアは体力勝負といった側面も
あるのでは!?さて、皆さんが日ごろの健康管理で一番気をつけていることは
どんなこと?

  睡眠時間を十分に取る。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=144&choice=0
  食事に気をつけている。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=144&choice=1
  日ごろ運動をしている。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=144&choice=2
  体重や血液や健康診断などのチェックをまめにする。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=144&choice=3
  お酒の飲みすぎには気をつけている。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=144&choice=4
  何もしていなかったりして・・・汗。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=144&choice=5
  それは秘密です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=144&choice=6
  ちょっと語らせて!
     詳細をこのメールに返信ください!!

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

こんにちは、編集人です。都内ではコートを着ていない人が増えてきました。
春がどんどん近づいてきましたね。以前の職場にいた頃は、この時期はまさに
リリース前のクライマックス!プロジェクトの規模にもよりましたが、「お花
見に行けるかどうか?」という切羽詰った時期だったことを思い出します。
皆さんはいかがでしょうか?
状況は色々だと思いますが、ぜひ!ここは強引に「春イベント」と3月の予定
に書き加えてくださいね。来週の正式発表をお楽しみに!

さて、オブジェクト倶楽部3月カレンダーの電子データを公開します。
3月のテーマは「アジャイラーバッグ」。春から心機一転、こうしたツールの活
用をしてみるのはいかがですか?
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.