┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
┃ ■┃
●┃● ● オ ブ ジ ェ ク ト 倶 楽 部 ■ ┃
┃ ■ ┃
┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
No.184 2007/04/25
■ I N D E X
┃
┣【Topics】オブラブイベント テーマ決定!(6月20日:東京・船堀)
┣【プログラミング】ゆるーいHaskell[10]
┣【PF】第二回全日本腰リールカンファレンス開催報告
┗【アンケート】気になるシステム業界 ホントのところ
〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
〇 オブラブイベント テーマ決定!(6月20日:東京・船堀)
〇 〇━━━━━━━━━━━━━ ━━・
毎年恒例となりましたオブラブ夏イベント!テーマが決定いたしましたので、
読者の皆さんにいち早くお知らせです。プログラムの公開をどうぞお楽しみに。
日 時:2007年6月20日(水) 10:00〜18:30 (懇親会19:00〜21:00)
場 所:タワーホール船堀 http://www.towerhall.jp/
テーマ:オブラブイベント 2007 夏 帰郷
内 容:講演、ワークショップ
参加費:講演会3000円、懇親会5000円
募 集:引き続き講演者を公募しています。概要については、前号のTopicsを
参考にしてください。皆さんのご応募、お待ちしています。
http://www.ObjectClub.jp/ml-arch/magazine/189.html
サイトでの詳細情報公開は、5月10日頃を予定しています。ぜひ、職場のみな
さまお誘いあわせのうえご参加ください。スタッフ一同楽しみにしています。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【プログラミング】ゆるーいHaskell[10]
西川です。今回は型についてお話する前にHaskellをファイルに保存して実行す
る方法をまず紹介します。
Haskellのファイルは拡張子を*.hs,*.lhsにして保存します。拡張子*.lhsはリ
テラル形式のHaskellファイルが保存されていることを示すのに使われます。
リテラル形式は当分出番がないと思いますので、説明を割愛します。今回は普
通の*.hsファイルについての説明をします。
-- Hoge.hs
hoge = putStrLn "hoge"
-- Hoge.hs おわり
お気に入りのテキストエディタで上記のようなHoge.hsを作成して保存します。
Haskellの処理系であるGHCでは
(1)ghci
(2)runhaskell
(3)ghcをつかって実行形式をつくる
の何れかの方法でファイルに保存したHaskellを実行することができます。
今回は(1)ghciを使った実行について説明をします。まずはghciを起動しましょ
う。
$ ghci
Prelude> :l Hoge.hs
[1 of 1] Compiling Main ( Hoge.hs, interpreted )
Ok, modules loaded: Main.
*Main> hoge
hoge
ファイルに保存したHaskellをghciにロードして関数hogeを実行することができ
ました。ghciを起動したままファイルの修正、リロード、実行も行うことがで
きます。
*Main> :edit Hoge.hs
#":edit"はGHC-6.6から新たにサポートされた機能です。
#":e Hoge.hs"でもOKです。ただし環境変数EDITORが適切に設定されている必要
があります。
-- Hoge.hs
hoge = putStrLn "hogefugapiyo"
-- Hoge.hs おわり
*Main> hoge
hoge
*Main> :reload
#":r"でもOKです。
[1 of 1] Compiling Main ( Hoge.hs, interpreted )
Ok, modules loaded: Main.
*Main> hoge
hogefugapiyo
と、まあこんな感じでインタープリタであるghciからファイルの修正、リロー
ドまでできると非常に便利ですね。さらにghciではディレクトリの移動や外部
コマンドの実行もおこなうことができます。
Prelude> :!pwd
#「:!コマンド名」で外部コマンドを実行することができます。
/home/nisikawa
Prelude> :cd ..
#「:cd ディレクトリ名」でディレクトリを移動することができます
Prelude> :!ls
nisikawa
続いていよいよ型クラス(typeclass)を紹介します。まずは型クラスEqについて
型を考えてみましょう。
Prelude> :i Eq
class Eq a where
(==) :: a -> a -> Bool
(/=) :: a -> a -> Bool
-- Defined in GHC.Base
(instance宣言がつづきます)
型クラスEqは(==)関数と(/=)関数を持っています。(/=)関数は両辺が等しくな
い場合にTrueを返す関数です。これはHaskellでは「型クラスEqを継承している
ならば(==)関数と(/=)関数が定義されている」と読みます。実際に簡単なデー
タ型を作成して、型クラスEqを継承してみましょう。
-- Gender.hs
data Gender = Woman | Man
instance Eq Gender where
(==) Woman Woman = True
(==) Woman Man = False
(==) Man Woman = False
(==) Man Man = True
-- Gender.hs おわり
データ型Genderを定義して型クラスEqを継承しました。ghciにロードして動作
を確認してみましょう。
$ ghci Gender.hs
*Main> Woman == Woman
True
*Main> Man == Woman
False
これだけだと定義したとおり関数を評価したにすぎないので、おもしろくもな
いのですが、型クラスEqでは(==)関数を定義するだけで(/=)関数が使えるよう
になっています。
*Main> Woman /= Woman
False
*Main> Man /= Woman
True
これはclass Eqにおいて(/=)関数がデフォルトでは『(/=) = not(==)』と定義
されているからなのですね。「(/=)関数は(==)関数の真偽反転」と読めますの
で(==)関数を定義すれば(/=)関数も自動的に定義されます。もちろんデフォル
トの定義が気に入らなければ、関数を再定義(オーバライド)することも可能で
す。
Haskellでは多重継承もサポートされています。先ほどのデータ型Genderにclass
Showも継承させてみましょう。
*Main> :e Gender.hs
-- Gender.hs つづき
instance Show Gender where
show Woman = "onna"
show Man = "otoko"
-- Gender.hs おわり
*Main> :r
[1 of 1] Compiling Main ( Gender.hs, interpreted )
Ok, modules loaded: Main.
*Main> show Woman
"onna"
*Main> show Man
"otoko"
今回は型クラスを紹介しました。JavaやC++などのclassとHaskellのclassでは
ちょっと考え方が違うので戸惑われるかも知れません。次回はさらにHaskellの
型システムについてお話したいと思います。(西川)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-9&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-9&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-9&choice=2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【PF】第二回全日本腰リールカンファレンス開催報告
■はじめに
こんにちは、全コ連[*1]の懸田です。本日はオブジェクト倶楽部のメールマガ
ジンの場をお借りして、簡単に第二回全日本腰リールカンファレンスの開催報
告をいたします。ご参加いただいた皆様、ありがとうございました。
去る2007年4月6日に、史上二回目の腰リールカンファレンス(以下腰カン)を開
催いたしました。今回の目玉は基調講演に羽生田栄一氏をお迎えし、氏の長年
研究されたメモ術のご紹介や、腰リールというハードよりも、ソフトに重きを
おいたワークショップで、腰メモに対するヒントを持って帰って頂こうという
試みを行いました。
筆者のサイト[*2]に当日の発表資料、写真、動画へのリンクがありますので、
詳しくはそちらをご覧ください。
■オープニング
外山候補っぽい少数派へのメッセージから始まった腰カン2。今回はスーツ系腰
リーラーの代表ということで、株式会社豆蔵の牛尾様より素晴しいメッセージ
を頂きました。敢えて少数派のままでいくぞ!と会場のムードは一気に高まり
ました!!また当日不参加だったオブジェクト倶楽部の角谷様よりお花を頂き、
カンファレンスの品格も1レベル上がりました。
■基調講演
真美無メモ書生術協会所属の羽生田氏の講演では、氏の編み出した「まみむメ
モ」というメモ術をご紹介していただきました。メモに対する姿勢、工夫、そ
れだけではなく発想スキーマさえもメモ術の一環として含まれていることに圧
倒されました。メモを取る際に、「見ないで書く」、「ナンバ歩きながら書く」
といったことの練習で、会場が一斉に起立して、ナンバ歩きをしながらメモを
取る様は圧巻、異様を通り越して感動すら覚えました。最後に羽生田さんが紹
介していた宮本常一は、筆者も以前アジャツールの連載[*3]の腰リールメモの
回で取り上げています。皆さんも是非一読して気づきを得ていただければと思
います。
■ワークショップ
次にテーマ別にグループに別れてワールドカフェもどきのワークショップを行
いました。「アナログとデジタルの使いわけ」、「とったメモはどうしている
?」、「羽生田さんに聞く」という3つのテーマで各グループが意見を交換し
あいました。かなり盛り上ったのは「アナログ デジタル 使い分け」のグルー
プです。アナログが自分で自由に工夫できるといった自由度を利点に挙げるの
に対して、デジタル派は検索効率、再利用といった効率性を利点に挙げており、
両者を以下に利用するかがポイントになっていました。特にデジタル派の方の
Palmの高速入力にはアナログ派も舌を巻いていました。また「アナログ派」か
らはグループでは、腰リールメモの発展形とした「腰バインダー」の話題も出
ていました。羽生田さんに聞くグループでは、基調講演の時と同様に突然歩き
ながらメモを取る姿が見かけられました。
■懇親会
ワークショップ後は早々と懇親会モードに移り、羽生田さんの乾杯で懇親会に
うつりました。懇親会ではたった3人でしたが、レベルの高いトークを披露して
頂きました。「腰リールメモが外国人の方とのコミュニケーションに役立った」、
「腰リールからヒントを得た女性ならではのメモ」、「腰リールから発展した
腰ロディアの紹介」といった内容に会場は大ウケでした。また好例のゲーム大
会では、「ペンポッドで世界へミサイル大会」、「第二回 Fast Writing大会」
を実施して、それぞれ世界チャンピオンが決まりました。恐らくシラフでやる
には難しいゲームばかりなのですが、参加者の皆さんに助けられ非常に盛り上
りました。
また腰リールの重要な部品のひとつ「リール」の高級品として知らる「KEY-BAK」
を取り扱う代理店の株式会社マルコ様から、腰リールメモというスタイルを売
り込んでいくぞ!というメッセージも頂きました。
■ふりかえり〜終幕
最後はこれまた恒例のその場ふりかえりを行いました。全国縦断ツアー、大阪
開催などどこまで本気かわからないものや、女性リーラーを増やしたい、GTDを
取り上げてほしいといったTry項目が上がりました。ふりかえり終章後に、全員
の記念写真を撮り無事終幕しました。
■最後に
もう既に腰リールとは離れていった腰カンですが、これはこれでいいと思って
います。腰リールはメモを取るという行為に対する創意工夫のうち、インパク
トのある一具体例なのです。これが究極でも決定版でもなく、常に改善し続け
る過程のスナップショットに過ぎないのです。
大切なのは羽生田さんがおっしゃっていた「処世術、書生術」としてのメモに
対する考え方、態度と、常に創意工夫する姿勢です。そして、そういった個人
個人の創意工夫の成果をネット上ではなく、直接モノを見せあい、情報交換を
する機会はとても素晴しいものだと実感しました。
では皆さんまた腰カンで御会いしましょう!(腰カンの第三回があるかどうかは
限りなくグレーです)(懸田)
[1] : 全日本コインランドリー連合会ではなく全日本腰リール連盟
[2] : http://giantech.jp/wiki/WaistreelConference2
[3] : http://www.objectclub.jp/ml-arch/magazine/157.html
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M002-21&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M002-21&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=M002-21&choice=2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━3 r d ■━
■
┗【アンケート】気になるシステム業界 ホントのところ
今週は「初任給、何に使った?」のホントのところ。そろそろ4月も終わり。
今年から社会人になった人は、待望の初任給を首を長くして待っているのでは
ないでしょうか?さて、今回はみなさんの初任給をどんなことに使ったのか?
について聞いてみたいとおもいます。始めてもらう人は使い道の予定を。随分
前に手にした方は、一番記憶に残っている使い道を教えてくださいね。
自分の欲しいものを買う。
http://www.ObjectClub.jp/special/kininaru/vote?vol=150&choice=0
親や家族に、感謝の気持ちを伝えるために使う。
http://www.ObjectClub.jp/special/kininaru/vote?vol=150&choice=1
ぶっちゃけ、借金の返済。
http://www.ObjectClub.jp/special/kininaru/vote?vol=150&choice=2
パーッと呑む。
http://www.ObjectClub.jp/special/kininaru/vote?vol=150&choice=3
旅行などの趣味に使う。
http://www.ObjectClub.jp/special/kininaru/vote?vol=150&choice=4
世の中何があるか解らないので、貯金。
http://www.ObjectClub.jp/special/kininaru/vote?vol=150&choice=5
結婚や引越しや新居購入など、ライフイベントの資金に。
http://www.ObjectClub.jp/special/kininaru/vote?vol=150&choice=6
きっと知らないうちに無くなるような気がします(記憶に無い)。
http://www.ObjectClub.jp/special/kininaru/vote?vol=150&choice=7
それは秘密です。
http://www.ObjectClub.jp/special/kininaru/vote?vol=150&choice=8
ちょっと語らせて!
詳細をこのメールに返信ください!!
アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「今、職場に欲しいもの」の結果は公開中。ぜひご覧下さい。
⇒http://www.ObjectClub.jp/special/kininaru/vol149/PlonePopoll_results2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記
こんにちは、編集人です。一足お先にオブラブスタッフは夏のイベントの真っ
盛りです。先日募集した「講演者公募」も応募やお問い合わせをいただき、と
ても嬉しいなぁ〜と、準備に一段と身が入ります。さて、話題は変わりますが
ゴールデンウイーク直前となりましたね。この業界はお客さんがお休みの時に
こそやる仕事もたくさんあります。連休中にお仕事をされる方、頑張ってくだ
さいね。応援しています!
オブジェクト倶楽部5月カレンダーの電子データを公開します。
5月のテーマは「ソフトウェア設計原則 OCP:Open-Closed Pricinple」。今一度
心に留めて仕事をするために、カレンダーがきっかけになれば嬉しいです。
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.