2011-11-16(水) [長年日記]
■ Debian squeezeにMongoDB / Mongoid環境を作る
仕事でちょっとしたデータベースが必要になったときは(スキーマレスが良いということもあり)KVSのKyotoCabinetを使ってきたのだけど、ちょっと不定形なデータを入れる必要が出てきたので、MongoDBを使ってみることに。いまごろ。ま、普通にパッケージで入れればいいよね:
% sudo aptitude install mongodb ...同時ににmongodb-clients、mongodb-server、mongodb-devが入る % mongo MongoDB shell version: 1.4.4 url: test connecting to: test type "help" for help > show dbs admin local > exit bye
ふむん。Rubyから扱うのはMongoidが良いそうなので:
% gem install mongoid bson_ext % irb -rmongoid irb(main):001:0> Mongoid.configure {|conf| conf.master = Mongo::Connection.new.db('test')} Mongoid::Errors::UnsupportedVersion: MongoDB 1.4.4 not supported, please upgrade to 2.0.0. from /home/sho/lib/ruby/gems/1.9.1/gems/mongoid-2.3.3/lib/mongoid/config.rb:294:in `check_database!' from /home/sho/lib/ruby/gems/1.9.1/gems/mongoid-2.3.3/lib/mongoid/config.rb:217:in `master=' from (irb):1:in `block in irb_binding' from /home/sho/lib/ruby/gems/1.9.1/gems/mongoid-2.3.3/lib/mongoid.rb:115:in `configure' from (irb):1 from /home/sho/bin/irb:12:in `<main>' irb(main):002:0>
ぐは。パッケージが最新版ではないというのはDebianの宿命だなー。でも野良ビルドするのはイヤだなぁ……と渋っていたら、MongoDBの公式パッケージがあると知ったので、ここに書かれているとおりにしてみた。こういうのは嬉しいですね:
% sudo aptitude remove mongodb #Debianのパッケージはとりあえず削除 % sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 ... gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com ...
ちくしょー(笑)。これはPROXYの内側にいるせいだ。で、回避策を発見したのでそのように。keyの値はいったんapt/source.listに追加した結果出てきたものを使った:
% gpg --keyserver keyserver.ubuntu.com --keyserver-option http-proxy=YOUR_PROXY_SERVER:8080 --recv-keys 9ECBEC467F0CEB10 ... gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) % gpg --fingerprint 9ECBEC467F0CEB10 pub 2048R/7F0CEB10 2010-02-05 Key fingerprint = 492E AFE8 CD01 6A07 919F 1D2B 9ECB EC46 7F0C EB10 uid Richard Kreuter <richard@10gen.com> sub 2048R/A89B0149 2010-02-0 % gpg --armor --export 9ECBEC467F0CEB10 | sudo apt-key add - OK
もう大丈夫だろう(たぶん):
% sudo vi /etc/apt/sources.list # 「deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen」を追加 % sudo aptitude update % sudo aptitude install mongodb-10gen % irb -rmongoid irb(main):001:0> Mongoid.configure {|conf| conf.master = Mongo::Connection.new.db('test')} => #<Mongo::DB:0x9debea4 @name="test"...(略) irb(main):002:0> class Person; include Mongoid::Document; end => Person irb(main):002:0> person = Person::new( :name => 'tdtds', :age => 14 ) irb(main):003:0> person.name => "tdtds" irb(main):004:0> person.age => 14 irb(main):005:0> person.save => true irb(main):006:0> exit % mongo MongoDB shell version: 2.0.1 connecting to: test > show dbs local (empty) test 0.0625GB > show collections people system.indexes > db.people.find() { "_id" : ObjectId("4ec47750ebbc3c1c3d000001"), "name" : "tdtds", "age" : 14 }
よろしい。今日はここまで(えっ)。
2011-11-15(火) [長年日記]
■ ドーラ、弟妹の存在が確認される
朝、仕事に出かけようと、家の前の道を野良猫が横切った。小柄でスレンダーな茶トラ、ドーラの母親(たぶん。そしておそらくグスタフの母親でもある)である。で、そのそばにまったく同じような茶トラの子猫がついて歩いているではないか。今年は繁殖してないなー、と思っていたが、ちゃっかり産んでいたらしい。毎年順調に増えてるね、この血統は。
帰宅してかみさんにこの話をしたら、別の時間にかみさんも親子連れを見たという。ただし、その子猫は茶トラではなく、白地にブチ(?)だという。なんてことだ、何匹もいるぞ。そろそろやばいんじゃないか(自治会的に)。
上の写真はこの日記の翌日に親子揃っているところを目撃したので撮ったもの。下の写真はかわいいから載せただけで、今回の話題とは特に関係ありません。
2011-11-14(月) [長年日記]
■
心を整える。 勝利をたぐり寄せるための56の習慣(長谷部誠)
やっと読んだ。ベストセラーなのであんまり書くこともないかな。
長谷部は見るからに「委員長タイプ」で、スポーツチームの、それも「サッカー日本代表のキャプテン」と「委員長」の取り合わせというのはちょっと不釣合いで面白いなぁと以前から感じてはいたんだよね。ようするに、スポーツチームのキャプテンは脳筋タイプであるというステレオタイプに毒されているわけだけど、おれが。少年マンガの弊害だ。
本書はそんな「委員長」長谷部誠が、委員長なりに懸命に頭を使い、それはそれは細かいところまで考えぬいて、ひとつひとつを実行しながらキャプテンとしてチームをまとめ上げる話である。なんでも理詰めで考えちゃう人にはかなり共感できるかも。しかも彼は、そんな自分の「法則」が過去の自分をも律してきたということを遡って考察しているのだ。
もっとも、最後の「実行する」ところまで徹底できる人は決して多くないので、そこが彼を常人と隔てている部分なのだけど。本書に書かれている「56の習慣」を本当にすべて意識的に実行しているとしたら、やっぱ日本代表はスーパーマンの一種だよなぁ。
ちなみに本書は紀伊國屋書店からXMDFファイル形式の電子書籍として購入したが、最近、XMDFファイルのダウンロードができなくなるという最悪のリニューアルをしてくれやがったので、あそこではもう二度と買わない。紙で買って自炊する方がマシ。
◆ hsbt [tdtds に bundler に引き続き mongoid(+mongodb) を教えてる勉強会が必要とされていると..]
◆ ただただし [いいね!]