Date:  Wed, 10 Mar 2010 18:02:02 +0900
Subject:  【オブジェクト倶楽部: 2010-10号】
X-Mail-Count: 00328

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.318 2010/03/10

■ I N D E X
┃
┣【プログラミング】ドキュメント指向データベースMongoDB [2]
┣【コラム】僕の営業日記 [13]
┃          〜アジャイル開発導入目的のいろいろ〜
┗編集後記

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┗【プログラミング】ドキュメント指向データベースMongoDB [2]

こんにちは、ursmです。

前回はMongoDBをインストールして起動するまでを紹介しました。今回はシェル
を使ってみましょう。

ダウンロードしたファイルのうち、bin/mongoがMongoDBのシェルです。サーバ
(mongod)を起動した状態でシェルを起動してみます。

$ bin/mongod --dbpath=~/tmp/mongodb
$ bin/mongo
MongoDB shell version: 1.2.4
url: test
connecting to: test
type "help" for help
>

引数を省略したのでlocalhostのサーバに接続されました。現在testという名前
のデータベースを開いた状態です。

データベースの一覧を見るにはshow dbsコマンドを使います。

> show dbs
admin
local

さて、testデータベースがないですね。MongoDBは大体において存在するものと
存在しないものを区別せず、なければ自動的に作るという振る舞いをします。
今はまだtestデータベースは作られていないのです。

データベースを切り替えるにはuse <データベース名>コマンドを使います。

> use hoge
switched to db hoge

ここでもあらかじめデータベースを作成する必要はありません(そもそもシェル
からデータベースを明示的に作成するコマンドがありません)。

先に進む前に、MongoDBの用語について説明します。

・データベース
  いわゆるデータベースです。複数のコレクションを含みます。
・コレクション
  RDBのテーブルに相当するものです。複数のドキュメントを含みます。
・ドキュメント
  RDBのレコードに相当するものです。

まとめると以下のような対応になります。

    RDB: データベース - テーブル     - レコード
MongoDB: データベース - コレクション - ドキュメント

ドキュメントの作成にはdb.<コレクション名>.insert(<ドキュメント>)を使い
ます。

> use test
> db.foo.insert({a:1})
> db.bar.insert({x:5, y:10})

testデータベースのfooコレクション、barコレクションにそれぞれ1件のドキュ
メントを作成しました。コレクションもデータベース同様、なければ勝手に作
られます。

insertの引数は任意のプロパティを持つJavaScriptオブジェクトです。これに
ついては次回以降取り上げます。

この状態でコレクションの一覧を見てみましょう。

> show collections
bar
foo
system.indexes

foo・barとインデックス用のコレクションが作成されていますね。

● まとめ
MongoDBのデータ構造についてシェルを触りながら紹介しました。次回はドキュ
メントについてもう少し詳しく説明します。(id:ursm)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■━
■
┣【コラム】僕の営業日記 [13]
┗          〜アジャイル開発導入目的のいろいろ〜

こんにちは。Hiroshiです。今回も僕が営業をしている中で、いろいろ体感した
ことを皆様と共有できればと思っています。今回は、前回の続きで最近アジャ
イル開発が認知されたことで、いろいろな使われ方をしている例を3つご紹介し
ます。

1つ目は、業務システムにアジャイル開発を適用する例です。変化の激しい環境
にいらっしゃるお客様は、その変化に対応できる人材や組織を作ることを目的
にしています。そのために、アジャイル開発に目を付けられました。どのよう
に活用しようとしたかというと、アジャイルプラクティスを導入することはも
ちろんのこと、それよりも行動原則に目を向けました。どのようにすると、閉
塞感や責任の投げ合いが蔓延している組織を変えられるのか、という課題があ
りました。そのためには、上位からきっちりコントロールするのではなく、あ
る程度チームに権限を委譲して、自ら考えて動ける風土改革が必要です。具体
的な活動として、ビジョンの作成(組織やプロジェクトの目的・目標)や行動原
則を自ら考え導入・定着することが重要視されました。

2つ目は、Webサービスの開発に適用する例です。これは、1つ目よりも更に変化
が激しく、なおかつ市場に適切なタイミングでリリースすることが求められる
環境です。これは、アジャイル開発の価値を提供しやすく、どのようにチーム
やステークホルダが動くべきかが重要になります。ですので、ビジョンや行動
原則というよりも、プランニングのやり方、チームの作業のこなし方、ステー
クホルダとの調整方法を定着させることとなります。

3つ目は、製品そのものの品質向上に適用する例です。出荷後のバグが多いとい
う課題に対して、アジャイル開発のチーム運営のやり方を抜き出して解決しよ
うしています。バグが発生する原因として、大人数であるため、サブチーム毎
の役割を明確にしすぎるがゆえに、サブチーム間の役割の隙間が発生すること
でした。その結果、どちらの課題かがグレーになることで置き去りにされたバ
グが混入して出荷されることが多々ありました。また、チーム間だけでなく、
個人間でも同様なことが発生しており、タスクボードと、朝会・ふりかえりを
徹底的に実施するが重要視されました。

今回は、アジャイル開発を導入する目的についてお話しました。皆さんは何に
アジャイル開発という手法を使いたいですか?(Hiroshi)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

こんにちは、編集人のナガタユウコです。春めいてきたかと思ったら東京では
雪が舞ったりと、気温の変化が激しいですよね。風邪を引かないように注意し
ていたのにそれでもくしゃみが・・・と思ったら花粉症?!なんてことも。現
代人はいろいろ気をつけることが多くて大変ですね。体を労わりつつ、元気に
がんばりましょう☆
さて、オブジェクト倶楽部では、次のイベントを構想中です。いつも通り楽し
く、いつも以上に内容の濃いイベントにしたいと思っておりますので、「こん
な講演が聞きたい」「こんなワークショップを体験したい」というみなさまの
お声をお聞かせください!本メールへの返信や、Twitterで @objectclub 宛に
つぶやいていただけると嬉しいです。お待ちしております!(ナガタユウコ)

*** オブラブスタッフ自己紹介 ***
No.05 近藤(dot)
( @_dot )
こんにちは。近藤(dot)です。オブジェクト倶楽部では主にイベントの準備や当
日スタッフなどをしています。また、メルマガでは幻の人気(?)コーナー「強
引なひとこと(ガンダム版)」を担当していました。普段は永和システムマネジ
メントでrubyやiPhoneのソフトウェア開発をしています。
私にとってオブジェクト倶楽部とは似たような思いや似たような悩みを持つ技
術者達との出会いの場であり、そこから明日の仕事への活力を分けてもらった
りできる貴重な場だと思っています。
私も多分に漏れずオブジェクト倶楽部での出会いにみちびかれて永和システム
マネジメントに就職し、スタッフとしてオブジェクト倶楽部に参加するように
なりました。スタッフになってみてオブジェクト倶楽部の原動力がわかったよ
うな気がします。それは、オブジェクト倶楽部では、参加者の方に楽しんでも
らうことは当然のこと、スタッフ自分達も楽しめるように、普段抱えているア
ツい思いを実現するために工夫しているところだと思うのです。これからも参
加して楽しい、スタッフも楽しいイベントを企画していきたいと思います。
最後に私事で恐縮ですが、去年末に長男を授かりました。戸惑いながらも子育
てを楽しんでいます。我が子がオブジェクト倶楽部のイベントに参加できるぐ
らいの年齢になるまでオブジェクト倶楽部が続けられるといいな!(そうなるよ
うに頑張ります!)(近藤(dot))

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