Date:  Wed, 23 Aug 2006 16:41:46 +0900
Subject:  【オブジェクト倶楽部: 2006-31号】
X-Mail-Count: 00158

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.152 2006/08/23

■ I N D E X
┃
┣【Topics】XP祭り2006 参加者募集
┣【Topics】日経ソフトウェア10月号に記事が出ます!
┃     「RubyによるJavaコード生成」
┣【事務局より】事務局長退任挨拶
┣【プログラミング】ゆるーいHaskell[4]
┗【アンケート】気になるシステム業界 ホントのところ

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 XP祭り2006 参加者募集
  〇 〇━━━━━━━━━━━━━ ━━・ 

今年もXP祭りが開催されます。今年は、なんと関東と関西のダブル開催。
まずは一足お先に、関東から参加者を募集します。
オブLOVE主宰の平鍋を始め、天野、懸田、やっとむといったライター陣が、事
例紹介や、コンテストラック、チュートリアルトラックを担当したり、多くの
スタッフが運営をお手伝いしているという、オブLOVEと関わりの深い注目のイ
ベントです。
メディアスポンサー様及び協力企業様のご支援により、プレゼントもぞくぞく
と集まってきています。最新の書籍もありますよ。

      日時:2006年9月2日(土)
         講演会:10:30〜18:30(受付 10:00〜)
         懇親会(ワールドパブ) 19:00〜
      場所:江戸川区総合文化センター
      参加費:無料!!
      主催:日本XPユーザグループ

詳細や申し込みはこのURLにて!
http://www.xpjug.org/event/20060902matsuri/regist/

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 日経ソフトウェア10月号に記事が出ます!「RubyによるJavaコード生成」
  〇 〇━━━━━━━━━━━━━ ━━・ 

オブジェクト倶楽部の西村です。
8月24日発売の日経ソフトウエア2006年10月号の「Rubyで仕事がラクになる」と
いう特集に「RubyによるJavaコード生成」という記事を書きました。
RubyスクリプトをWindows実行形式に変換してMaven2と連携するという少しニッ
チなターゲット向けの内容ですが、他にドリコム瀧内さんのRailsの記事を始め、
yugaiさん、新井俊一さん、日経BPの大森さんといった、私以外は豪華なメン
バーばかりのRuby特集が掲載されているので、ぜひ買って読んでみて下さい。

日経ソフトウェア 2006年10月号
http://software.nikkeibp.co.jp/software/backno/2006/0610indexc.html

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【事務局より】事務局長退任挨拶

平素は、オブジェクト倶楽部への活動にご協力頂き有難うございます。この場
をお借りしてお礼申し上げます。

さて、本日は、オブジェクト倶楽部事務局から皆様にご報告がございます。
オブジェクト倶楽部を後援しております永和システムマネジメントの組織変更
にともないオブジェクト倶楽部事務局の人事を8月1日付けで変更いたしました。
3期3年勤めさせて頂きました事務局長をこの度退任し、新たに天野勝さんを事
務局長にお願い致しました。3年間色々皆様にはお世話になりました。お礼を申
し上げるとともに、新任の事務局長をよろしくお願い致します。

任期3年を振り返って見ますと、運営の殆どは田中里美さん、眞庭奈々子さん、
上田雅美さんをはじめとする事務局とボランティアの方にお任せし、これと言っ
たことはしておりませんでしたが、皆様と一緒にオブジェクト倶楽部の活動に
参加できたことは大変、名誉なことと思っております。

皆様に事務局長の変更をご報告するとともに、最後になりますが、お礼を申し
上げます。(加藤)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【プログラミング】ゆるーいHaskell[4]

夏休みの宿題はわりと計画的にやってしまう派だった西川です。いかがお過ご
しでしょうか。
今回はリストについてお話します。HaskellのリストはC言語やJavaの配列、リ
ストと比べると色々と変わった特徴や機能を持っています。例えば、Haskellに
はC言語やJavaのfor文に該当するものがありません。『ならどうやってリスト
を扱うんだ?』と疑問に思われる方もいらっしゃるかもしれませんが、Haskell
は(純粋)関数型言語なので関数型言語らしくリストを扱います。リストを通じ
てよりHaskellの魅力を知っていただけたらと思います。前回もリストについて
簡単にお話しましたので[*1]まずはその復習からです。

> ghci
Prelude> [1,2,3,4]
[1,2,3,4]
Prelude> 1:[2,3,4]
[1,2,3,4]
Prelude> 1:[]
[1]
Prelude> 'a':"bcde"
"abcde"
Prelude> 'a':"bcde" == "abcde"
True

Haskellのリストには型が存在します。ですので数字と文字がごちゃまぜになっ
ているようなリストはHaskellでは作ることができません。リストの型を決定す
ることが出来ないからです。

Prelude> :t [1,2,3,4,5]
[1,2,3,4,5] :: (Num a) => [a]
Prelude> [1,2,3,4,'5']

<interactive>:1:1:
(エラーメッセージが表示されます)

Haskellでは例えば0から100までの要素を持つリストを簡単に作成することがで
きます。

Prelude> [0..100]
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,
51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,
75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,
99,100]
Prelude> ['a'..'z']
"abcdefghijklmnopqrstuvwxyz"

なかなか便利ですね。昇順だけじゃなくて降順でリストを作成することも可能で
す。

Prelude> [100,99..0]
[100,99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,
77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60,59,58,57,56,55,54,
53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,
29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,
3,2,1,0]
Prelude> ['z','y'..'a']
"zyxwvutsrqponmlkjihgfedcba"

同じように1から100までの数のうち奇数のみのリストも作成できます。

Prelude> [1,3..99]
[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,
51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,
99]

さてここまではふーん、という感じだと思いますが、Haskellでは無限リストを
扱うことができます。無限リストとは文字どおり無限の要素数を持つリストの
ことです。関数(!!)とtakeとともに無限リストを扱ってみましょう。

Prelude> :t (!!)
(!!) :: [a] -> Int -> a
Prelude> ['a'..] !! 20
'u'
Prelude> :t take
take :: Int -> [a] -> [a]
Prelude> take 20 [0..]
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]

(!!)はリストのn番目の要素を取得する関数です。takeはリストから先頭のn要
素を取得する関数です。
上記の「['a'..]」、「[0..]」の箇所が無限リストです。Haskellが無限リスト
を扱えるのには遅延評価と呼ばれている機能(というか特徴)が深く関係してい
ます。takeを使った例で簡単に説明します。この例ではtakeは無限リストから
先頭20個の要素を取得しています。C言語やJavaだと無限リストを先に評価しよ
うとするのでプログラムは停止してしまいます。Haskellでは「takeは結局先頭
から20個しか見ないんでしょ。だったら無限リストの先頭20個だけ評価すればい
いじゃん。」と無限リスト全体を評価することがありません。だから無限リス
トを扱えているんですね。ちょっと難しいでしょうか。
しかし結局Haskellとはいえ、無限リストの要素を最後まで評価するような関数
を適用した場合はC言語やJavaと同じように、プログラムは停止してしまいます。
前回作成したlistSize関数を無限リストに対して実行すると...プログラムが停
止してしまうので注意してください。
無限リストを扱えると時々うれしいことがあります。いずれそのうれしさを紹
介できると思いますのでご期待ください。次回もひきつづきリストについてお
話します。(西川)

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

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

今週は「仕事しながら何飲んでますか?」のホントのところ。まだまだ厳しい
残暑が続きます。水分を取ることはとても大切です。何気なく周囲を見渡すと
殆どの机の上にはペットボトルや紙コップ。さて、みなさんは何を飲んでます
か?

  カフェインバリバリ、眠気を吹き飛ばせコーヒーで決まり。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=118&choice=0
  心を和ませつつお茶類。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=118&choice=1
  ノンカロリー重要ですで、水。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=118&choice=2
  シュワッと爽やかに炭酸飲料。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=118&choice=3
  果汁系ジュースでビタミン補給してます。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=118&choice=4
  どうにかして燃やしたい?スポーツ系飲料。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=118&choice=5
  つべこべ言わずに気合十分、ドリンク剤。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=118&choice=6
  なにも飲まない。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=118&choice=7
  それは秘密です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=118&choice=8
  ちょっと語らせて!
     editors@ObjectClub.jp まで詳細を!!

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

こんにちは、今回から本格的に編集を担当することになりました上田雅美です。
オブジェクト倶楽部のスタッフとしても有名なやっとむと、会社の最寄の駅の
近くにある焼き鳥屋に行きました。お盆の最中でほとんどのお店がお休みだっ
たので、意を決しておじさんたちが楽しく集う駅前のお店へ。もくもくの煙の
中で大串の焼き鳥を頬張りつつ、ホッピーを飲んで楽しいひと時を過ごしてい
ました。・・・と、そこへ私の肩を叩く人が!?びっくりして振り返ると以前
の会社でお世話になったスーパーSEでした。世の中って狭いですね。皆さん
もこんな経験ありませんか?

今週の強引な一言
*** 二階から目薬(ことわざ)***
プロジェクトファシリーテーションといっても、マネージャやリーダが上から
押し付け的にチームを導こうとしてもあまり効果がありません。チームのみん
ながその気になって、初めてその効果が現れるのです。
(上田雅美)

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