┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
┃ ■┃
●┃● ● オ ブ ジ ェ ク ト 倶 楽 部 ■ ┃
┃ ■ ┃
┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
No.143 2006/06/14
■ I N D E X
┃
┣【Topics】オブラブ2006夏イベント、来週締切です!
┣【Topics】日本Rubyカンファレンス2006に協賛しました
┣【Topics】「ふつける写経会」やってます
┣【プログラミング】ゆるーいHaskell[2]
┣【ツール】世界初のアプリケーションサーバと、
┃ それに影響を受けたプロダクト(6)[最終回]
┗【アンケート】気になるシステム業界 ホントのところ
〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
〇 オブラブ2006夏イベント、来週締切です!
〇 〇━━━━━━━━━━━━━ ━━・
オブジェクト倶楽部2006夏イベントの参加登録締切も、来週末に迫ってきまし
た。今のところ、22日(木)の締切を予定しています。
http://www.ObjectClub.jp/event/2006summer/
まだ参加登録されていない方、悩んでいる方、ぜひお早めのご登録を!
参加費のお支払も同日締切となります。参加登録済で、まだお支払されていな
い方も、くれぐれもご注意くださいね!
盛りだくさんの講演・セッション内容はこちらから
http://www.ObjectClub.jp/event/2006summer/session
ライトニングトークスへのご参加、テーマフリーでまだまだ募集しています。
参加したい方は参加登録フォームにて、ライトニングトークスのトーカー応募
を選択してくださいね。興味のある方、検討中の方もお気軽にどうぞ!
既に参加登録済みの方でご参加されたい方、6th-event-staff@ObjectClub.jp
までぜひご連絡ください。
〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
〇 日本Rubyカンファレンス2006に協賛しました
〇 〇━━━━━━━━━━━━━ ━━・
プログラミング言語Rubyに特化した、国内では初の本格的なカンファレンスで
ある、日本Rubyカンファレンス2006(RubyKaigi2006)が去る6月10日(土)・
6月11日(日)の2日間にわたり、独立行政法人 産業技術総合研究所臨海副都心
センター別館で開催されました。
http://jp.rubyist.net/RubyKaigi2006/
オブジェクト倶楽部の運営母体である(株)永和システムマネジメントも、協賛
企業にその名を連ねました。また、オブジェクト倶楽部メンバーも運営委員や
当日スタッフ、スポンサー参加、そして一般参加と様々な立場からカンファレ
ンスに参加しました。
現在、カンファレンスのレポートを準備中です。速報性や客観性では他媒体に
勝てる気がしないので、オブジェクト倶楽部らしい視点からのレポートをお届
けできればと考えています。続報をお楽しみに。
〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
〇 「ふつける写経会」やってます
〇 〇━━━━━━━━━━━━━ ━━・
オブジェクト倶楽部では「ふつうのHaskell」をたんたんと写経(写本)する勉強
会、「ふつける写経会」をやってます。興味のある方は
http://namaraii.com/HaskellStdy/
を覗いてみてください。参加(されている|したい)方はあらかじめ参加人数など
を把握したいので、メンバー参加予定表を書いていただけると助かります。そ
の他必要な事前登録などはございません。お気軽にお越しください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【プログラミング】ゆるーいHaskell[2]
こんにちは、西川です。今回は定番中の定番「Hello, World!」をやります。で
は早速。
- HelloWorld.hs
helloWorld = putStrLn "Hello, World!"
たったの一行で終わりです。これをGHCのインタープリタを起動し(パスの設定
をお忘れなく)、HelloWorld.hsをロードして実行します。
$ ghci
(ロゴが表示されます)
Prelude> :load HelloWorld.hs
Compiling Main ( HelloWorld.hs, interpreted )
Ok, modules loaded: Main.
*Main> helloWorld
Hello, World!
Haskellプログラムでは拡張子「.hs」を使用します。putStrLnは改行つきで文
字列を標準出力に出力する関数です。文字列リテラルは「"〜"」のようにダブ
ルクォートで表現します。関数helloWorldにも型があります。インタープリタ
からのぞいてみましょう。
*Main> :type helloWorld
helloWorld :: IO ()
helloWorldは「IO ()」を返す関数である、と読めます。このときのIOというの
がモナド(この場合IOモナド)です。モナドはなかなか厄介な仕組なのですが、
今の時点ではそれほど気にする必要はありません。さくっと次に進みます。こ
れだけだと流石につまらないので引数で渡した文字列に"Hello, "をくっつけて、
標準出力に出力する関数helloを作りましょう。
- Hello.hs
hello str = putStrLn ("Hello, " ++ str)
先ほどと同じようにロードして実行します。
Prelude> :l Hello.hs
Compiling Main ( Hello.hs, interpreted )
Ok, modules loaded: Main.
*Main> hello "nisikawa"
Hello, nisikawa
:loadは:lと省略形で書くことができます。文字列の結合には(++)を使用します。
関数helloでは文字列同士を結合したものに対してputStrLnをしています。
*Main> :t hello
hello :: [Char] -> IO ()
:typeも同じように:tと書くことができます。hello関数はCharのリストを引数
にとって「IO ()」を返す関数である、と読めます。Haskellでは関数の型を型
式と呼びます。型式は「関数名 :: 引数1 -> 引数2 -> ... -> 関数の戻り値の型」
のようなルールで表されます。引数と引数がカンマではなく「->」で区切られ
るのは不思議だと思いませんか?「->」には引数を区切っているということ以
上の意味があるのですが、これは「カリー化」を説明するときにお話します。
ちょっと脱線しました。HaskellではStringというのはCharのリストのことなん
ですね。リストは「[〜]」で表すことができます。実は先ほどの(++)は文字列
の結合演算子ではなく、リスト同士を足しあげる関数です。Haskellでは中置記
法(真ん中に関数をおくこと)をすることで、関数を演算子っぽく表現すること
ができます。
*Main> :t "nisikawa"
"nisikawa" :: [Char]
*Main> "ABCDEFG" == ['A','B','C','D','E','F','G']
True
*Main> [1,2,3,4] ++ [5,6,7,8,9]
[1,2,3,4,5,6,7,8,9]
*Main> (++) [1,2,3,4] [5,6,7,8,9]
[1,2,3,4,5,6,7,8,9]
(++)や(==)の丸括弧「(〜)」は中置記法する場合には不要です。putStrLnや(++)、
(==)も:tで型を確認してみましょう。
次回はパターンマッチングとガード節です。(西川)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-1&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-1&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-1&choice=2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【ツール】世界初のアプリケーションサーバと、
それに影響を受けたプロダクト(6)[最終回]
前号を出した直後にMacBookが発売となりました。価格もお手頃となり、皆さん
の職場でもチラホラと使っている人がいるのではないでしょうか?
えっ、私ですか?タイミングを逃したので、ASUS製ノートでMac風を味わってい
ます[*1]。。。。。
さてこのシリーズもいよいよ最終回。WOFに影響を受けたプロダクトを紹介した
いと思います。
まずWOFに影響を受けたプロダクトでも紹介したのですが、Objective-Cでは
GNUStepに関連する開発環境が、WebObjectsに影響を受けているプロダクトです。
EOFの機能はDatabase Libraryが持っていたいのですが、WOFに相当する部分は
GNUstepWeb[*2]です。GDLと同様に GNUStepの関連フレームワークで、現在リリー
スされているバージョンはWebObjects 4.xと互換性が高いようです。
次にJavaのツールですが、もっとも近いイメージになるのが Tapestry[*3]です。
TapestryはWOFよりもさらにWebデザイナーとWebプログラマの間の境を少なくし
てくれています。もはやJSP等との比較は問題にならないぐらいなのですが、
Tapestryではデザイナーから上がってきたHTMLのタグに、jwcidといった特別な
属性を追加する程度なのでプレビューイメージを壊すことがなく、分業が容易
になります。
続いてPythonですが、特にWebのフレームワークとして、WOFに近いものはない
ようです。DBのフレームワークでは、以前初回したModeling Frameworkがあり
ますが、PythonのアプリケーションサーバにはZOPE[*4]という素晴らしいもの
がありますので。。
さてさてEOFの号と同じように、RubyにはRailsがありますので。。Rails以前と
いう事では、IOWA、Borgesなどあったのですが、どれも動きはありません。そ
れ程までに Rails は凄い!という事ですね。
最後にPHPですが、EOFの時と同じPHOCOA[*5]です。ただしPHP4の頃から使い慣
れたフレームワークはSmarty[*6]という人の方が多いでしょう。WOFをHTMLテン
プレートフレームワークとしてだけ捉えれば間違っていないのですが、特に影
響は受けていないと思いますので、ここではPHOCOAを推奨します。
ざっと影響を受けた製品・ツールについてふれてきました。結局デザイナーと
プログラマの分業という視点が、実はそれ程重要視されていないため、WOFに相
当するような技術が注目されなかったと思っています。またリッチクライアン
トいう視点で、Flashであったり多くのプラグインや製品が作られました。
でも実はWOFのテーマであった、クライアントから直接サーバのオジェクトを操
作するといったコンセプトは、今日Ajaxが最も近いイメージではないかと感じ
ています。WOFにしろ、これまでのWebシステムは、閉じられたWebの技術範囲で
ページ内にどうやってオブジェクトをマッピングし、どうやってページ間でオ
ブジェクトを保持するかの論争であったように思います。しかしAjaxにより、
クライアントを操作するとサーバのオブジェクトが変化するという時代がやっ
て来たのです。
6回に渡ってWebObjects10周年を記念した連載も今回で終了です。これを機会に
WebObjetcsで開発してみようかな?と思われた方が少しでもいれば幸いです。
(きしだ)
[1]:MacBookはASUSがOEM生産していますので、クリア液晶など気分が近いです。
それに ObjectDockやWindowBlindsなどを組み合わせれば「見た目Mac」で
す。
[2]:http://www.gnustepweb.org/
[3]:http://jakarta.apache.org/tapestry/
[4]:http://zope.jp/
[5]:http://phocoa.com/
[6]:http://smarty.php.net/
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=B005-5&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=B005-5&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=B005-5&choice=2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━3 r d ■━
■
┗【アンケート】気になるシステム業界 ホントのところ
今週は「アジャツール、どれを一番使ってますか?」のホントのところ。メル
マガ連載も12回を超えたアジャツール、だいぶ浸透してきたでしょうか。1つく
らいはみなさんもいつの間にか使っているのでは?一番のお気に入り、もしく
はよく使っているアジャツールはどれですか?
アジャツールって何?の方、こちらご覧ください。メルマガにて連載中です。
http://www.objectclub.jp/ml-arch/magazine/108.html
(1)スケッチブック。
http://www.ObjectClub.jp/special/kininaru/vote?vol=109&choice=0
(2)付箋。
http://www.ObjectClub.jp/special/kininaru/vote?vol=109&choice=1
(3)ホワイトボード。
http://www.ObjectClub.jp/special/kininaru/vote?vol=109&choice=2
(4)情報カード。
http://www.ObjectClub.jp/special/kininaru/vote?vol=109&choice=3
(5)ニコニコカレンダー。
http://www.ObjectClub.jp/special/kininaru/vote?vol=109&choice=4
(6)壁。
http://www.ObjectClub.jp/special/kininaru/vote?vol=109&choice=5
(7)お菓子。
http://www.ObjectClub.jp/special/kininaru/vote?vol=109&choice=6
(8)ジャグリング。
http://www.ObjectClub.jp/special/kininaru/vote?vol=109&choice=7
(9)かんばん。
http://www.ObjectClub.jp/special/kininaru/vote?vol=109&choice=8
それは秘密です。
http://www.ObjectClub.jp/special/kininaru/vote?vol=109&choice=9
ちょっと語らせて!
editors@ObjectClub.jp まで詳細を!!
各アジャツールの記事は、下記にてご確認ください!
(1):http://www.objectclub.jp/ml-arch/magazine/112.html
(2):http://www.objectclub.jp/ml-arch/magazine/119.html
(3):http://www.objectclub.jp/ml-arch/magazine/123.html
(4):http://www.objectclub.jp/ml-arch/magazine/130.html
(5):http://www.objectclub.jp/ml-arch/magazine/132.html
(6):http://www.objectclub.jp/ml-arch/magazine/136.html
(7):http://www.objectclub.jp/ml-arch/magazine/140.html
(8):http://www.objectclub.jp/ml-arch/magazine/144.html
(9):http://www.objectclub.jp/ml-arch/magazine/148.html
アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「システム業界、どんなところが一番嫌いですか?」の結果は公開
中。ぜひご覧下さい。
⇒http://www.ObjectClub.jp/special/kininaru/vol108/PlonePopoll_results2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記
こんにちは、編集人です。「梅雨に入ったようだ」なんていう、何だかはっき
りしない宣言によって、日本列島も広範囲で梅雨入りしましたが、それと同時
にサッカーのワールドカップも始まりましたね。月曜日の日本戦の夜は、私は
もうすぐ試合が始まる、という頃に会社を出たのですが、案の定、ものすごく
電車が空いていました。歩いているとお店から歓声が聞こえてきたり、道行く
人も急ぎ足なんだけど、ワクワク感がみなぎっていたり、こんな風に街の雰囲
気が一変するのも、ワールドカップならではの光景です。「平和だなぁ〜」と
心から実感できて、私もとても幸せな気分になりました。サッカーに興味ある
なしに関わらず、街の光景を眺めるだけでも、4年に1度のこの大会には価値が
あるんじゃないかなぁと思いました。
さて、オブラブイベントも目前に迫ってきて、準備も大詰めです。私の机の上
もすっかり散らかっています。でも当日みなさんに有意義に過ごしていただけ
るよう、とにかく頑張っています。ぜひ一人でも多くの方に来ていただけるこ
とを期待しています。
今週の強引な一言
*** 我田引水(ことわざ)***
アジャイルなんてできる環境じゃない、という前に何とか工夫して、自分のと
ころにだけでもまずは道をつくってみませんか。また、反対に自分のチームさ
えうまくいっていればいいと思うのではなく、周りのチームにも声をかけて、
自分のアイディアを共有してみてはいかがですか。
(まにわ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
● ご意見、ご感想は ⇒このメールに返信ください
〇 配信中止、アドレス変更は ⇒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.