┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
┃ ■┃
●┃● ● オ ブ ジ ェ ク ト 倶 楽 部 ■ ┃
┃ ■ ┃
┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
No.234 2008/05/14
■ I N D E X
┃
┣【Topics】オブジェクト倶楽部 夏イベント開催のお知らせ
┣【イベントレポート】オブジェクト倶楽部春イベント
「受託開発とエンジニアの幸せ」刊行記念トークセッション
┗【プログラミング】ゆるーいHaskell[19]
〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
〇 オブジェクト倶楽部 夏イベント開催のお知らせ
〇 〇━━━━━━━━━━━━━ ━━・
毎年恒例となりました「オブラブ夏イベント」のご案内です。
今回特に力が入っているのが、「ワークショップ」や「体験型の学習」です。
そういったいつもとの違いも、楽しんで参加してくださいね。
特に、イベント終了後の懇親会は必見です。
プログラムの公開をどうぞお楽しみに!
日 時 : 7月1日(火) 10:00開始 9:30受付開始(予定)
会 場 : 国立オリンピック記念青少年総合センター(代々木)
http://nyc.niye.go.jp/
内 容 : 講演、ワークショップ
参 加 費 : 講演会3000円、懇親会5000円
サイトでの詳細ページ公開は、5月28日(水)頃を予定しています。次回のメル
マガで改めて告知します。同時にライトニング・トークスのトーカーも募集!
みなさん、どうぞお楽しみに!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┗【イベントレポート】オブジェクト倶楽部春イベント
「受託開発とエンジニアの幸せ」刊行記念トークセッション
自分の仕事を憎むには人生はあまりにも短い
――ジョエル・スポルスキ
ジョエルの言葉を引用した角谷さんからのあいさつでオブジェクト倶楽部の
2008年春イベントは始まりました。今回のメルマガではそのイベントレポー
トをお届けします。
場所はジュンク堂書店 池袋本店の喫茶コーナー。書店の喫茶コーナーを使う
というオブジェクト倶楽部としては初の試みを行いました。
ゴールデン・ウィーク真っ直中の5月1日という日程にも関わらず、たくさん
の方に参加いただき、立ち見が出るほどの大盛況ぶりでした。参加者の方に
もドリンクを飲みながらリラックスした感じで聞いていただけたのではない
でしょうか。ありがとうございました。
岡島幸男、天野勝、角谷信太郎の3名のトークセッションという形で、今回の
イベントのテーマである「受託開発とエンジニアの幸せ」についてトークが
繰り広げられました。
3人のトーカーはそれぞれマネージャ、コンサルタント、プログラマと立場が
異なるという面白い組み合わせです。また、この3人はここ半年でそれぞれが
著者、訳者、監訳者として関わった本[*1]が出版されているというのも特徴的
です。
3人の自己紹介が終わり、トークセッションは本題に。
天野さんが質問を投げかけ、それに岡島さんと角谷さんが答えるという形式で
した。岡島さんが書籍に込めた想い、岡島さんと角谷さんとの出会い、アジャ
イル開発と仕事を楽しむこと、執筆と仕事との両立というように進んでいき、
徐々に話は核心に入っていきました。
自分たちの現場を楽しく変え、そして仕事にやりがいを取り戻す鍵は
どこにあるのか?
トークセッションでは永和システムマネジメントをひとつの事例と見立て、そ
の鍵を探しました。私はトークセッションで3人が言っていたことをまとめる
と、その鍵は次の2つに集約されるのではないかと思っています。
* 個性を持った個人が集まり、お互いをリスペクトしながら、それぞれ
の価値を出している。
* 組織はメンバーの多様性を認め、現場を信頼し、必要なときにはリスク
を取ることができる。
普段、今回のトーカー3人の近くで接している私から見ると、3人ともそれぞれ
が立場も異なれば考え方や性格も異なります。そんな3人が集まってトークセッ
ションを行っている中で、発せられる言葉の端々にお互いへのリスペクトが感
じられました。また、今回は参加者の中にトーカー3人(これを書いている私も)
が所属する永和システムマネジメントの社長が混じっていました。
社員に任せてそれを見守るという社長の気概を少しでも感じ取っていただけた
のではないでしょうか。
そうは言っても、やはり自分たちの組織では難しいという声をよく耳にします。
自分ひとりでは難しいと思ったら、隣に座っている人を誘ってコミュニティの
イベントや勉強会に出かけてみてはいかがでしょう?オブジェクト倶楽部では
7月1日に恒例となりました夏イベントを開催します。
また、オブジェクト倶楽部がソフトウェア開発者の出会いの場であるとするな
ら、書店は書籍との出会いの場です。イベントの冒頭の角谷さんからのジュン
ク堂書店 池袋本店の話[*2]の中で、ある3冊の本[*3]との出会いによって人生
が変わった(角谷さんは「曲がった」と言っていた)というのが印象的でした。
人との出会い、書籍との出会いを通して、あなたにとっての「自分たちの現場
を楽しく変え、そして仕事にやりがいを取り戻す鍵」を探してみてください。
あなたの「人生を曲げた3冊」は何ですか?(木下史彦)
[1] :『受託開発の極意』
http://www.amazon.co.jp/o/ASIN/4774134538/xpjp-22
『リーン開発の本質』
http://www.amazon.co.jp/o/ASIN/482228350X/xpjp-22
『アジャイルプラクティス』
http://www.amazon.co.jp/o/ASIN/4274066940/xpjp-22
[2] : http://kakutani.com/articles/okajima_junkudo-20080501.pdf
[3] :『オブジェクト指向スクリプト言語 Ruby』
http://www.amazon.co.jp/o/ASIN/4756132545/xpjp-22
『XPエクストリーム・プログラミング入門』
http://www.amazon.co.jp/o/ASIN/489471275X/xpjp-22
『達人プログラマー』
http://www.amazon.co.jp/o/ASIN/4894712741/xpjp-22
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=H003-48&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=H003-48&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=H003-48&choice=2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┗【プログラミング】ゆるーいHaskell[19]
こんにちは、西川です。ゴールデンウィークも終わってしまいましたね。
前回はReaderモナドについてお話させていただきました。今回はWriterモナド
について説明させていただきます。
勘が良い人は察しているかもしれませんが、Writerモナドは前回のReaderモナ
ドの正反対で環境の更新のみに特化した機能を持つモナドです。Wrtierの場合
更新される環境をストリームと呼んだ方がしっくりくるかもしれません。
ではいつものようにWriterモナドの定義を確認してみましょう。
$ ghci
> > :m + Control.Monad.Writer
> > :i Writer
newtype Writer w a = Writer {runWriter :: (a, w)}
-- Defined in Control.Monad.Writer.Lazy
(中略)
instance (Monoid w) => MonadWriter w (Writer w)
-- Defined in Control.Monad.Writer.Lazy > > :i MonadWriter class (Monoid w, Monad m) => MonadWrter w m | m -> w where
tell :: w -> m ()
listen :: m a -> m (a, w)
pass :: m (a, w -> w) -> m a
-- Defined in Control.Monad.Writer.Class
(中略)
instance (Monoid w) => MonadWriter w (Writer w)
-- Defined in Control.Monad.Writer.Lazy
はい、tell,listen,passと3つも関数があるのでちょっとビビってしまいますが、
まずは1番簡単なtell関数から使ってみましょう。
tell関数はストリームに値の書き出しをおこなうための関数です。
> > let f = do {tell [1]; tell [2]; tell [3]}::Writer [Int] () > > runWriter f
((),[1,2,3])
上のコードでは{}をつかってブレースでdoブロックを表現してみました。
Stateモナドと同様に環境の状態のみを取得するexecWriterという関数が存在し
ます。
> > execWriter f
[1,2,3]
Writerモナドのlisten関数、pass関数はそれぞれ出力を複製したり更新したり
するために使用される関数なのですが、ややこしい割にそれほど面白くもない
ので、割愛します。興味のある人は[*1]のリンク先をご参考ください。
Writerモナドの定義を確認してみましょう。GHC6.8.2ソースディレクトリ
/libraries/mtl/Control/Monad/Writer/Lazy.hsより一部抜粋です。
----- ここから -----
instance (Monoid w) => Monad (Writer w) where
return a = Writer (a, mempty)
m >>= k = Writer $ let
(a, w) = runWriter m
(b, w') = runWriter (k a)
in (b, w `mappend` w')
instance (Monoid w) => MonadWriter w (Writer w) where
tell w = Writer ((), w)
listen m = Writer $ let (a, w) = runWriter m in ((a, w), w)
pass m = Writer $ let ((a, f), w) = runWriter m in (a, f w)
----- ここまで -----
Monoidという初めて見る型クラスがあります。ここではWriterモナドによって
作成されるストリームはMonoidのインスタンスでなければならない、という意
味なのですが、ちょっと難しいでしょうか。mappendという関数を使ってスト
リームに値がつっこまれているんですね。
当然リストもMonoidのインスタンスとなっています。
またMonoidクラスにはいくつか面白いインスタンスがありますので、いくつか
サンプルを紹介します。
> > let sumWriter = do {tell (Sum 1);tell (Sum 2); tell (Sum 3)}::Writer (Sum Int) () > > getSum $execWriter sumWriter
6
> > let productWriter = do {tell (Product 1);tell (Product 10);tell (Product 100)}::Writer (Product
Int) ()
> > getProduct $ execWriter productWriter 1000
サンプルの結果と型名からそれぞれのどのようにmappend関数が定義されている
かが、何となくお分かりになったのではないでしょうか。今回はWriterの紹介
とMonoidクラスを簡単に紹介させていただきました。
[*1] : http://www.sampou.org/haskell/a-a-monads/html/writermonad.html
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-18&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-18&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-18&choice=2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗【アンケート】気になるシステム業界 ホントのところ
今週は「好きな仮面ライダーは?」のホントのところ。実は結構観ている人も
多いらしい(という噂)の平成仮面ライダー。平成になってからテレビに登場し
た仮面ライダーを、平成仮面ライダーというそうです。さて、あなたの好きな
仮面ライダーは、どれでしょうか?ちなみに、女性も結構見ているそうですよ。
仮面ライダークウガ。
http://www.ObjectClub.jp/special/kininaru/vote?vol=199&choice=0
仮面ライダーアギト。
http://www.ObjectClub.jp/special/kininaru/vote?vol=199&choice=1
仮面ライダー龍騎。
http://www.ObjectClub.jp/special/kininaru/vote?vol=199&choice=2
仮面ライダー555(ファイズ)。
http://www.ObjectClub.jp/special/kininaru/vote?vol=199&choice=3
仮面ライダー剣(ブレイド)。
http://www.ObjectClub.jp/special/kininaru/vote?vol=199&choice=4
仮面ライダー響鬼。
http://www.ObjectClub.jp/special/kininaru/vote?vol=199&choice=5
仮面ライダーカブト。
http://www.ObjectClub.jp/special/kininaru/vote?vol=199&choice=6
仮面ライダー電王。
http://www.ObjectClub.jp/special/kininaru/vote?vol=199&choice=7
仮面ライダーキバ。
http://www.ObjectClub.jp/special/kininaru/vote?vol=199&choice=8
やっぱり機動戦士ガンダム。
http://www.ObjectClub.jp/special/kininaru/vote?vol=199&choice=9
それは秘密です。
http://www.ObjectClub.jp/special/kininaru/vote?vol=199&choice=10
ちょっと語らせて!
詳細をこのメールに返信ください!!
アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「一番お金を投資しているものは何ですか?」の結果は公開中。
ぜひご覧下さい。
⇒http://www.ObjectClub.jp/special/kininaru/vol198/PlonePopoll_results2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記
こんにちは、編集人です。春イベントには60名定員のところ、61名もご参加く
ださいました。初めて参加される方から、常連の方まで。狭いスペースでご迷
惑をおかけしたと思いますが、皆さんとてもいい表情で話しに聞き入っていた
姿が印象的でした。ブログなどでイベントの感想などを書いてくださった方も
多数いらっしゃいました。ご参加ありがとうございました。
そんな余韻も味わいつつ、夏イベントの準備でどんどんヒートアップしている
オブラブスタッフ。今回は参加して学ぶ仕組みのためのいろいろな準備がある
ので、いつも以上に気合が入っています。
皆さん、ぜひ楽しみにしていてくださいね。
今週の強引な一言
*** 廉を倒さぬ(ことわざ)***
器物や衣類が古くなってもしっかりしていることから、人が落ちぶれても昔ど
おりの折り目正しい態度を崩さないこと。些細なことでも正しいことやよいと
思った習慣を、厳しい上司や環境の中ではやっていたけれど、人や環境が変わっ
てやめてしまったということはないでしょうか?自分のためにこそ、信じたこ
とは貫き通すことが大切ですよ。
出典参考:故事ことわざ辞典 東京堂出版
(上田雅美)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
● ご意見、ご感想は ⇒このメールに返信ください
〇 配信中止、アドレス変更は ⇒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.