2012年1月30日月曜日

rvm gemset コマンド

よく使いそうなrvmのgemsetコマンドのメモ

◆一覧表示
rvm gemset list
デフォルトでは、globalが存在する

$ rvm gemset list

gemsets for ruby-1.9.2-p290 (found in /home/tiffany/.rvm/gems/ruby-1.9.2-p290)
   global

◆新規作成
rvm gemset create <gemset_name>

$ rvm gemset create test
'test' gemset created (/home/tiffany/.rvm/gems/ruby-1.9.2-p290@test).
$ rvm gemset list

gemsets for ruby-1.9.2-p290 (found in /home/tiffany/.rvm/gems/ruby-1.9.2-p290)
   global
   test

◆使う
rvm gemset use <gemset_name>
$ rvm gemset use test
$ rvm gemset list

gemsets for ruby-1.9.2-p290 (found in /home/tiffany/.rvm/gems/ruby-1.9.2-p290)
   global
   rails3
=> test

◆名称変更
rvm gemset rename <current_gemset_name> <new_gemset_name>

$ rvm gemset rename test test2
$ rvm gemset list

gemsets for ruby-1.9.2-p290 (found in /home/tiffany/.rvm/gems/ruby-1.9.2-p290)
   global
   test2


◆削除
rvm gemset delete <gemset_name>
本当に削除しても良いのか再確認される

$ rvm gemset delete test2
WARN: Are you SURE you wish to remove the entire gemset directory 'test2' (/home/tiffany/.rvm/gems/ruby-1.9.2-p290@test2)?
(anything other than 'yes' will cancel) > yes
$ rvm gemset list

gemsets for ruby-1.9.2-p290 (found in /home/tiffany/.rvm/gems/ruby-1.9.2-p290)
   global

2012年1月25日水曜日

IT系の女子イベント

IT系女子が集まるイベントへ参加してきましたー。
http://www.atnd.org/events/23538
Twitterのまとめはこちら
http://togetter.com/li/247538

7つの女子部がそれぞれ発表を行なって下さいました。
Twitter+下記のスライドを見ていただければ
だいたい話は分かるので、詳細は割愛〜

感想としては、こんなにもIT女子がいたことにびっくり!
数名とお話をしてみたところ、勉強会へ行ったことがない人も結構いました。
こういう場でいろいろな方とお会いできるのは、良い機会ですね。
発表をいろいろ聞いてみると、発表の勉強にもなります。
今回だけでなく、今まで参加した勉強会でも同じ事を思いました。
聴衆を惹きつけるプレゼンをする人はかっこいいですね♪


MongoDB女子部
昨年末にできたばかりなので、メンバー募集中とのことです。

JAWS-UG クラウド女子会
http://www.slideshare.net/dzeyelid/itvo1

JAZUG女子部
http://www.slideshare.net/joyfulAs/intro-jazuggirls-20120125

iPhone女子部
2万人も部員がいる女子部!(驚)
iPhone女子による人気アプリランキングが面白かった^^

Linux女子部
http://www.slideshare.net/manamitaira/linux-11273653
お子様連れのママさん発表素敵でした♪

Windows女子部
本日できたて!
部長さんはメンバーを知ってるけど、メンバー同士が会うのは初めてだそうです。
UXを実現するための会です。
Expression Blendの話がちらっと。

Android女子部
http://www.slideshare.net/Naokinha/android-dronjo

2012年1月20日金曜日

HTML5の勉強会

HTML5の勉強会へ行って来ました。
タイトルは、
「2012年のHTML5、CSS3、JavaScriptはこうなる~実際のサービス事例で考えるHTML5の近未来」
http://atnd.org/events/23129

申込み数が多くて、多い時はキャンセル待ちが200名超えも!

今回は、株式会社オプト1F大会議室 で行われました。
半蔵門線の神保町駅の改札からは遠かった(^^;
地上出たら目の前だったけど。



さて、内容ですが、HTML5初心者にとっては、難しいことは語れませんので、
簡単に理解したところだけを共有します。

基調講演 HTML5最新動向
株式会社オープンウェブ・テクノロジー 代表 白石俊平氏)
発表資料はこちら↓
http://www.slideshare.net/shumpei/html5-11207810
  • 要素数は108個。30の新要素と14の既存要素の変化。
  • ウェブ全体が大きなデータベースになっている
  • カメラやマイクからの取り込みが可能になってきている
  • WebアプリからEmail、SMS、MMSを送信できるAPIがある
  • パフォーマンスの最適化についても変更はあるが、地味なことが多いので知らなくても良い
  • etc

第1部 HTML5で実現する「世界で一番のマンガ投稿&共有サイト」
スパイシーソフト株式会社 アプリ&マンガゲット事業部 大谷恭仁氏)
  • マンガゲットを知ってますか?の質問に対して、知らない人が多い(私も知らなかった…)
  • マンガゲットは無料で配信して読める漫画共有サイト
  • 漫画をコマで見せるスタイルで、ページモードもあり
  • 深い話としては、アメリカではマンガ市場が少ない。
  • 漫画雑誌は落ち込んできているので、漫画作家、漫画好きが減少してしまう問題あり。
  • 作者はユーザの声から学び、読み手は自分でも書きたくなる。
  • マンガゲットでは、2011年3月に一億閲覧を達成!
  • 2010年の春に漫画閲覧をすべてのデバイスで提供したいことになった
    • すべてのデバイスとは、スマートフォンやパソコン
  • すべてのデバイスに対応するには、個別チューニングをしたり対応をしたりする必要もあったが、大元のコアソースは1つ!
  • システムを準備するだけではユーザが増えるわけでもないので、盛り上げることが必要!
  • ユーザを増やすためにやったこと
    • マンガゲットでは、初めの頃漫画家の卵や専門学校等でプレゼンテーションの機会をもうけ、招待メールを送った。
    • 招待メールがただのスパムにならないように、読んだ漫画の感想も添えた。
    • 開始直後は手厚いサポートを行った(システムを使うのが難しそうな人には、やってあげたりした)

第2部 スマホブラウザゲームのクオリティアップにHTML5あり! 
株式会社フォリフ 代表取締役 熊谷祐二氏)
  • スピード、UI、機能のブラウザで良くない部分はHTML5でカバー
  • WebSocketの活用例
  • Web Storageの使い分け
  • jQuery mobile、jQtouchというものがある
  • Facebookモバイルアプリの本格化
  • HTML5のリッチコンテンツ化

第3部 JavaScriptエンジニア向け!スマートフォンで動くブラウザゲームの作り方 
面白法人カヤック 技術部 吾郷協氏)
http://0-9.sakura.ne.jp/pub/lt/html5semi/start.html
  • JSerでチケット管理
  • ワークフローについてのお話
  • Androidは現代のIE。Androidベースで作った後にiOS対応をしたほうが楽
  • 詳細は、資料を読んだほうが早いです…(^^;

第4部 懇親会
ピザとドリンク等が用意されてました。
懇親会まで出たのは半分くらいの方かな?


皆さんのTweetのまとめはこちら↓
http://togetter.com/li/244470

感想
話についていくには、HTML5を使いこなさないとなぁと思いました(^^;
そもそも今どんな機能があるのかも分からないのに、こんなことができるようになりましたと言われてもピンとこないのが正直な所です。
つたない文章で失礼しました。。。

2012年1月18日水曜日

MongoDBのRubyドライバー

MongoDBのRubyドライバーのgemのインストールについてのメモです。
下記ではrvmを用いてます。
$ rvm gem use 1.9.2
$ rvm gemset use rails3
$ gem install mongo
Fetching: bson-1.5.2.gem (100%)
Fetching: mongo-1.5.2.gem (100%)
Successfully installed bson-1.5.2
Successfully installed mongo-1.5.2
2 gems installed

Installing ri documentation for bson-1.5.2...
Installing ri documentation for mongo-1.5.2...
Installing RDoc documentation for bson-1.5.2...
Installing RDoc documentation for mongo-1.5.2...

$ gem list --local

bson (1.5.2)
mongo (1.5.2)
 いざ、実行してみると
require 'mongo'
db = Mongo::Connection.new.db("test")
こんなエラー…。 gemが足りないようです。

$ ruby mongo_test.rb
**Notice: C extension not loaded. This is required for optimum MongoDB Ruby driver performance.
  You can install the extension as follows:
  gem install bson_ext
  If you continue to receive this message after installing, make sure that the
  bson_ext gem is in your load path and that the bson_ext and mongo gems are of the same version.

下記を入れたら、無事実行できました!
$ gem install bson_ext
Fetching: bson_ext-1.5.2.gem (100%)
Building native extensions.  This could take a while...
Successfully installed bson_ext-1.5.2
1 gem installed

Installing ri documentation for bson_ext-1.5.2...
Installing RDoc documentation for bson_ext-1.5.2...
$ gem list --local
bson (1.5.2)
bson_ext (1.5.2)
mongo (1.5.2)

下記を見たら、もしかしたらbson_extだけで良かったのかも
http://api.mongodb.org/ruby/current/file.TUTORIAL.html

2012年1月17日火曜日

"unable to resolve host ..."って何?

この概要は表示できません。投稿を閲覧するには ここをクリック してください。

2012年1月16日月曜日

はじめてのMongoDB

はじめてのMongoDB

参考にしたサイト

ダウンロード

現時点の86x64のバージョンでは、2.0.2が最新なので、下記をダウンロード。
$ wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.2.tgz
$ tar -xvzf mongodb-linux-x86_64-2.0.2.tgz
$ mkdir ~/mongo_test
$ mv mongodb-linux-x86_64-2.0.2 mongodb
$ pwd
/home/tiffany/mongodb/bin
$ ./mongod --dbpath ~/mongo_test/
Tue Dec 27 14:58:02 [initandlisten] MongoDB starting : pid=382 port=27017 dbpath=/home/tiffany/mongo_test/ 64-bit host=redmine-rvm
Tue Dec 27 14:58:02 [initandlisten] db version v2.0.2, pdfile version 4.5
Tue Dec 27 14:58:02 [initandlisten] git version: 514b122d308928517f5841888ceaa4246a7f18e3
Tue Dec 27 14:58:02 [initandlisten] build info: Linux bs-linux64.10gen.cc 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_41
Tue Dec 27 14:58:02 [initandlisten] options: { dbpath: "/home/tiffany/mongo_test/" }
Tue Dec 27 14:58:02 [initandlisten] journal dir=/home/tiffany/mongo_test/journal
Tue Dec 27 14:58:02 [initandlisten] recover : no journal files present, no recovery needed
Tue Dec 27 14:58:04 [initandlisten] preallocateIsFaster=true 27.82
Tue Dec 27 14:58:05 [initandlisten] preallocateIsFaster=true 22.32
Tue Dec 27 14:58:08 [initandlisten] preallocateIsFaster=true 23.08
Tue Dec 27 14:58:08 [initandlisten] preallocateIsFaster check took 6.006 secs
Tue Dec 27 14:58:08 [initandlisten] preallocating a journal file /home/tiffany/mongo_test/journal/prealloc.0
                115343360/1073741824    10%
                136314880/1073741824    12%
                (... 初回は長い)
                1017118720/1073741824   94%
                1059061760/1073741824   98%
Tue Dec 27 15:00:26 [initandlisten] preallocating a journal file /home/tiffany/mongo_test/journal/prealloc.1
                62914560/1073741824     5%
                94371840/1073741824     8%
                (... 初回は長い)
                996147200/1073741824    92%
                1059061760/1073741824   98%
Tue Dec 27 15:02:20 [initandlisten] preallocating a journal file /home/tiffany/mongo_test/journal/prealloc.2
                62914560/1073741824     5%
                136314880/1073741824    12%
                (... 初回は長い)
                996147200/1073741824    92%
                1038090240/1073741824   96%
Tue Dec 27 15:03:51 [websvr] admin web console waiting for connections on port 28017
Tue Dec 27 15:03:51 [initandlisten] waiting for connections on port 27017
Tue Dec 27 15:04:51 [clientcursormon] mem (MB) res:15 virt:100 mapped:0
mongoコンソール画面からアクセス
~/mongodb/bin$ ./mongo
MongoDB shell version: 2.0.2
connecting to: test
> show dbs
local   (empty)
> show collections
> db.users.save({name:"admin"})
> show dbs
local   (empty)
test    0.203125GB
> show collections
system.indexes
users
> db.users.find()
{ "_id" : ObjectId("4f0be472f1c128e1d88d7fa7"), "name" : "admin" }

データベースの作り方
インサート時に存在しなければ、自動的に作成してくれます。
上記のコレクションも同様です。
これにはビックリ!
便利だけど、ちょっと入力し間違えると存在しませんエラーが出ないので、違うデータベースやコレクションにインサートされてしまいますね。注意が必要そうです。
> show dbs
local   1.203125GB
test    0.203125GB

> use mydb
switched to db mydb

> show dbs
local   1.203125GB
test    0.203125GB

この時点ではまだmydbは生成されていません。
show collectionsしてみましょう。
> show collections
> show dbs
local   1.203125GB
mydb    (empty)
test    0.203125GB
生成されました!


データベースの削除
削除対象のデータベースに入り、 db.dropDatabase()を実行。
> show dbs
local   1.203125GB
mydb    (empty)
test    0.203125GB

> use mydb
switched to db mydb

> db.dropDatabase()
{ "dropped" : "mydb", "ok" : 1 }

> show dbs
local   1.203125GB
test    0.203125GB
削除されたことが確認できました。