Date:  Wed, 26 Jul 2006 15:11:10 +0900
Subject:  【オブジェクト倶楽部: 2006-28号】
X-Mail-Count: 00155

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.149 2006/07/26

■ I N D E X
┃
┣【Topics】オブラブイベントが日経ソフトウエアで紹介されました
┣【プログラミング】TurboGearsでPythonを始めてみよう![3]
┣【キーワード】知ってるようで分からないビジネスワード勉強会[30]
┗【アンケート】気になるシステム業界 ホントのところ

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 オブラブイベントが日経ソフトウエアで紹介されました
  〇 〇━━━━━━━━━━━━━ ━━・ 
7月24日に発売された日経ソフトウエア2006年9月号に、先日のイベントの状況
がレポートされています。しかも見開き2ページで、さらにカラーという豪華版
です。
イベントの状況をなんとく知りたいなぁという人も、あのときの興奮を今一度
と、ノスタルジーに浸りたい人にもオススメです。
また、セッションを担当してくださった羽生さんや、オブラブ主宰の平鍋のイ
ンタビューも掲載されています。ぜひご覧ください。
http://www.amazon.co.jp/o/ASIN/B000GNOJEY/xpjp-22

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【プログラミング】TurboGearsでPythonを始めてみよう![3]

こんにちは、オブジェクト倶楽部のクールビズ、やっとむです。
自転車通勤なのでTシャツ+レーパンで超快適!
涼やかなんですが、会社着くと滝の汗ダラダラなのが難点です。

■□ しゅくだいのこたえ ■□

前回も宿題を出してありました[*1]。解答例をここで出しておきましょう。今
回は簡単でしたよね?

sashimi_menu.py:
   1 # coding: cp932
   2
   3 def sashimi_menu():
   4   return {u'馬':(u'馬刺し',1200), u'カツオ':(u'タタキ', 1000)}
   5
   6 def sashimi(sozai, quantity):
   7   menu = sashimi_menu()
   8   if sozai in menu:
   9     hinmei = menu[sozai][0]
  10     nedan = quantity * menu[sozai][1]
  11   else:
  12     hinmei = sozai + u'の活づくり'
  13     nedan = quantity * 100
  14   return (hinmei, nedan)

3行目にsashimi_menu()という関数を定義して、7行目から呼び出すようにしま
した。また14行目では、printするかわりに結果をタプルに入れてreturnしてい
ます。

4行目と12行目の、文字列の前に「u」という文字がくっついています。これは、
文字列リテラルをUnicodeとして取り扱うという指示です。またそれに合わせて、
1行目でこのファイル自体のエンコーディング(cp932≒シフトJIS)を指定してい
ます。[*2]

さて、なんのためにこんな関数を作ったのでしょうか?それは、今回の連載か
らいよいよ、TurboGearsを実際に使ってみるからなのです。え?意味が分から
ない?まあまあ、そうあわてずに。急いてはことを仕損じるってね。

■□ TurboGears ■□

執筆現在、TurboGearsは0.9a7がリリースされています。これは1.0に向けての
アルファ版なのですが、安定版の0.8.9に比べてとっても楽しい機能が満載なの
で、こちらで進めていくことにします。TurboGearsのセットアップについては、
Web上の資料を参照してください[*3]。

さて、インストールが完了したら、tg-adminコマンドが使えるはずです。Webア
プリの開発のスタート地点となる初期プロジェクトを作ります。作成したい適
当なディレクトリに移動して、以下のコマンドを入力してください。

C:\Python>tg-admin quickstart
Enter project name: sashimi
Enter package name [sashimi]:
Do you need Identity (usernames/passwords) in this project? [no]
(...以下ずらずらと表示)

入力が求められる部分では、上記のように入力してください。プロジェクトが
出来るとsashimiディレクトリができて、その中にstart-sashimi.pyファイルが
あるはずです。これを実行すると、サーバーが立ち上がります。

C:\Python\sashimi>python start-sashimi.py

起動の経過が表示され、最後に「Serving HTTP on http://localhost:8080/」
と表示されます。ブラウザでこのURLをアクセスすると、デフォルトの画面が表
示されます。

■□ 画面を編集してみよう ■□

TurboGearsではKidというテンプレートエンジン[*4]を使って、ブラウザに画面
を表示させています。テンプレートはsashimi\sashimi\templatesディレクトリ
にあります。初期画面を表示しているのはwelcome.kidなので、エディタで開い
てください。

中身はXHTMLで書かれています。最初の状態のwelcome.kidはほとんど静的なファ
イルなので、適当に編集して保存してから、ブラウザをリロードしてみてくだ
さい。変更が反映されているのがわかるはずです。なおこのファイルはutf-8な
ので、日本語を入れるときは注意してください。

さて、宿題で作ったプログラムを、画面から呼び出してみましょう。以下の手
順に従ってください。
1. sashimi_menu.pyを、sashimi\sashimi ディレクトリにコピーする。
   (model.pyなどと同じディレクトリ)
2. welcome.pyの2行目に以下の内容を追加する。
    <?python import sashimi.sashimi_menu ?>
3. <body>のすぐ下に、以下の内容を追加する。
    <p py:for='item in sashimi_menu()'>
      <span>${item}: ${sashimi_menu()[item][0]}
        (${sashimi_menu()[item][1]})</span>
    </p>

またブラウザをリロードすると、どうでしょうか?sashimi_menu.pyモジュール
を呼び出して、その結果が表示されているはずです。

簡単に説明しますと、2.で追加したのはモジュールの読み込みの指示です。
<?python 〜 ?>を使うと、Pythonの任意のコードを実行できます。
3.で追加したのは、sashimi_menu()を呼び出した結果を<p>タグを使って表示す
る処理です。py:forというのが繰り返しの指示で、ディクショナリの中身をす
べて処理しています。「${〜}」という書き方で、Pythonの変数や式を埋め込む
ことができます。

■□ おわりに ■□

今回はTurboGearsの初期設定から、画面テンプレートの編集までを駆け足で見
てきました。駆け足過ぎてPythonの話ができなかったのが心残りです。心残り
なので柳の下に化けて出たいと思います。合言葉は「あさましや」「amazonで
すか?」でお願いします。合言葉を言ってくれたかたには10%割り引きします。
なんの話だっけ。

さて今回の宿題です。いま画面にメニューを表示しましたが、これをtableタグ
などを使って表形式で表示するようにしてみてください。テンプレートをいろ
いろといじりながら、出力されたソースをブラウザで確認すると早いですよ。

次回はMVCのCの部分、コントローラについて解説したいと思います。
(やっとむ)

[*1]:メルマガ2006-24号
     http://www.objectclub.jp/ml-arch/magazine/151.html

[*2]:TurboGearsで日本語を扱うときは、Unicodeにしておくのが無難です。その
     ためここでも'u'をつけてUnicodeに変換してあります。

[*3]:本家の手順はこちら(英語) http://www.turbogears.org/preview/download/
     日本語訳はこちらです http://www.liris.org/turbogears
     日本語訳は、TurboGears日本語メーリングリストなどの有志の方が準備し
     てくれているものです。
     注意点として、今回はアルファ版をインストールするので、ez_setupのコ
     マンドが
 ez_setup.py -f http://www.turbogears.org/preview/download/index.html TurboGears
     となります(Windowsの場合)。URI内に「preview」が入るのが違いです。

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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【キーワード】知ってるようで分からないビジネスワード勉強会[30] 
               「タグクラウド」

こんにちはhiroshiです。突然ですが、昨日名古屋に行ってきました。東京では
雨が降り続いていたのですが、名古屋では晴れまくっていて、夏真っ盛りでし
た。「これは、東京でも夏がくるな」と思っていたら、今日は朝起きた段階で
既にめちゃめちゃ暑く、外回りをやっている自分にはきつい季節が来たなと感
じています。皆様、いかがお過ごしでしょうか。横には、エアコンの効きすぎ
でくしゃみをしている人もいますが。

関係ない話はこれくらいにして、今日の話題は「タグクラウド」です。最近、
顧客に提案するサービスの調査を行っている自分は、日々検索サイトとの格闘
です。情報量が多くて、「どんなキーワードで探せばいいの?」とやけになり、
気分転換にメルマガネタを探していた時にこの話題にぶつかりました。僕の切
実な悩みを消してくれるかも、と思い紹介します。

タグクラウドとは何でしょうか。タグクラウドとは、記事や写真などのコンテ
ンツに関連するキーワード(タグ)を付け、そのアクセス頻度を集計してテキス
ト表示したものを指しています。さらに、アクセスが集中しているものは、そ
のフォントの大きさや色、文字の濃さなどを変化させて、利用者に視覚的に見
せる機能を併せ持っています。つまり、注目度が高いキーワード(タグ)はフォ
ントが大きくなり、色もつき、注目度が低いものは通常の大きさといった具合
です。実際には、いろんなブログサイトに導入されています。これはコンテン
ツの分類方法の一つと考えることができ、これまで良く使われていた、カテゴ
リーとの違いを考えると以下の特徴があるでしょう。

[カテゴリー]
 階層化された分類になっている
 記事は1つのカテゴリーに属している
 カテゴリーは複数記事のサマリーのような名称になっている
[タグ]
 タグ間の関係は特に無く、フラットな構造になっている
 複数のタグの組み合わせで記事の内容を説明している
 タグには標準的なキーワードが使われている

タグクラウドが僕の悩みに対して何が一番良かったのかというと、複数のタグ
の組み合わせで記事の内容を示していることです。情報が視覚的に分かること
も重要ですが、検索のキーワードで困っている場合には、他の関連しているキー
ワードが分かると非常に助かります。関連している別のキーワードで検索すれ
ばもっと質のいい情報が見つかるかもしれません。

Webの技術が発展し、個人が情報を発信しやすくなってきています。膨大なデー
タの中から自分が欲しい情報を獲得するのは、今後困難なことになっていくこ
とが考えられます。タグクラウドのような、効率的に情報を探すことができる
技術がどんどん出てきてほしいものです。(hiroshi)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=D001-29&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=D001-29&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=D001-29&choice=2

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

今週は「タバコ、吸う人?吸わない人?」のホントのところ。最近タバコが値
上がりしましたね。1箱が下手するとお弁当代とたいして変わらない時代になっ
てきましたが、あなたはタバコ吸う人?吸わない人?それとも、やめた人?吸
う人は、大体どれくらいの本数を吸うかも教えてくださいね。

  1日2箱以上です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=115&choice=0
  1日2箱いかないくらいです。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=115&choice=1
  1日1箱くらいです。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=115&choice=2
  2日で1箱くらいです。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=115&choice=3
  3日で1箱以下です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=115&choice=4
  禁煙格闘中です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=115&choice=5
  以前吸ってましたが、やめました。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=115&choice=6
  少し試したこともあるけど、吸わない人です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=115&choice=7
  今まで一本も吸ったことありません。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=115&choice=8
  それは秘密です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=115&choice=9
  ちょっと語らせて!
     editors@ObjectClub.jp まで詳細を!!

アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「連続休暇、毎年取れるとしたら何日くらい欲しいですか?」の結
果は公開中。ぜひご覧下さい。
⇒http://www.ObjectClub.jp/special/kininaru/vol114/PlonePopoll_results2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

こんにちは、編集人です。今週は月曜からいきなり自宅のお風呂が壊れてしま
い、悲しい感じでした。結局直るのに足掛け2日かかってしまい、朝ブロ(とい
うかシャワー)派の私としてはちょっとつらかったです。1日目は、自宅近くの
銭湯に少し毛が生えたような施設に行ったのですが、2日目は、とある23時間営
業のスパ施設に早朝から行き、そのまま会社に出社しました。でもこのスパ施
設には女性専用フロアや、清潔なリクライニングスペースもあり、思いもかけ
ず朝からいい感じにリラックスすることができました。会社にもいつもより早
く出勤できたし、ますますいい気分♪ちょっと前に新聞で、朝スパ施設に行っ
てから出勤する女性が増えている、との記事が載っていましたが、あー確かに
これはちょっとハマっちゃうかも、と思ってしまいました。

今週の強引な一言
*** 待てば海路の日和あり(ことわざ)***
今は開発スタイルや言語も人も選べない状況かもしれません。でももう少し我
慢していたら、ある日チャンスが訪れるかも。そういう「機」を呼ぶのも「望
む」あなたがいればこそ。そのときのために、陰でウデを磨いておきましょう。
(まにわ)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
● ご意見、ご感想は         ⇒このメールに返信ください
〇 配信中止、アドレス変更は ⇒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.