mysql/ruby終了のお知らせ
DESCRIPTION
TRANSCRIPT
Powered by Rabbit 0.6.1
MySQL/Ruby 終了のお知らせ
とみたまさひろ
Powered by Rabbit 0.6.1
自己紹介とみた まさひろ✓
ID: tommy とか tmtm とか tmtms とか
✓
Ruby歴 十数年✓
MySQL歴 十数年✓1/72
Powered by Rabbit 0.6.1
自己紹介
MySQL徹底入門
2/72
Powered by Rabbit 0.6.1
自己紹介
MySQL徹底活用
3/72
Powered by Rabbit 0.6.1
自己紹介
MySQL辞典
4/72
Powered by Rabbit 0.6.1
自己紹介
Postfix辞典
5/72
Powered by Rabbit 0.6.1
自己紹介
Rubyの本✓
なし✓
6/72
Powered by Rabbit 0.6.1
今日はMySQLの方からきました
7/72
Powered by Rabbit 0.6.1
MySQLご存知ですよね?
8/72
Powered by Rabbit 0.6.1
エンタープライズな方は嫌いらしい
9/72
Powered by Rabbit 0.6.1
有名なオープンソース
RDBMSです10/72
Powered by Rabbit 0.6.1
オラクル社の orz...
11/72
Powered by Rabbit 0.6.1
元MySQL開発陣が
MySQLをfork12/72
Powered by Rabbit 0.6.1
MariaDB, Drizzle
13/72
Powered by Rabbit 0.6.1
MySQL終了のお知
らせ?14/72
Powered by Rabbit 0.6.1
それはさておき
15/72
Powered by Rabbit 0.6.1
MySQL/Ruby
16/72
Powered by Rabbit 0.6.1
MySQLをRubyから使うためのライブ
ラリ17/72
Powered by Rabbit 0.6.1
MySQLのCライブラリのラッパー
18/72
Powered by Rabbit 0.6.1
ここ
19/72
Powered by Rabbit 0.6.1
これがないと Rails も動かない
20/72
Powered by Rabbit 0.6.1
超重要
21/72
Powered by Rabbit 0.6.1
作者 俺
22/72
Powered by Rabbit 0.6.1
MySQL/Ruby終了
のお知らせ23/72
Powered by Rabbit 0.6.1
高度な技術的な理由により
24/72
Powered by Rabbit 0.6.1
例125/72
Powered by Rabbit 0.6.1
「Macでコンパイルできないんだけど」
26/72
Powered by Rabbit 0.6.1
Mac持ってません。く
ださい27/72
Powered by Rabbit 0.6.1
例228/72
Powered by Rabbit 0.6.1
「Windowsのバイナリはど
こにあるの?」
29/72
Powered by Rabbit 0.6.1
Windows使ってないので知りません
30/72
Powered by Rabbit 0.6.1
Windowsはくれなくてもいいです
31/72
Powered by Rabbit 0.6.1
例332/72
Powered by Rabbit 0.6.1
「Ruby1.9で動かな
い」33/72
Powered by Rabbit 0.6.1
ごめんなさい
34/72
Powered by Rabbit 0.6.1
今は動く… はず…… たぶん…
35/72
Powered by Rabbit 0.6.1
Ruby/MySQL
36/72
Powered by Rabbit 0.6.1
ここ
37/72
Powered by Rabbit 0.6.1
比較
38/72
Powered by Rabbit 0.6.1
コンパイル不要
39/72
Powered by Rabbit 0.6.1
作者 俺
40/72
Powered by Rabbit 0.6.1
「名前がややこしいん
だけど」41/72
Powered by Rabbit 0.6.1
仕様です
42/72
Powered by Rabbit 0.6.1
今後は Ruby/
MySQL だけだから無問題
43/72
Powered by Rabbit 0.6.1
問題44/72
Powered by Rabbit 0.6.1
MySQL 4.1 以降未対応
45/72
Powered by Rabbit 0.6.1
Ruby/MySQL 3.0 のお知らせ
46/72
Powered by Rabbit 0.6.1
インストール
GitHub
gem install tmtm-ruby-mysql --source http://gems.github.com
47/72
Powered by Rabbit 0.6.1
α版48/72
Powered by Rabbit 0.6.1
特徴49/72
Powered by Rabbit 0.6.1
互換なし
50/72
Powered by Rabbit 0.6.1
型変換
# MySQL/Ruby, Ruby/MySQL < 3.0mysql.query( "select 123,'abc'").fetch #=> ["123", "abc"]
# Ruby/MySQL 3.0mysql.query( "select 123,'abc'").fetch #=> [123, "abc"]
51/72
Powered by Rabbit 0.6.1
メソッド名
# MySQL/RubyMysql::Result#num_rows
# Ruby/MySQL 3.0Mysql::Result#size
52/72
Powered by Rabbit 0.6.1
速度53/72
Powered by Rabbit 0.6.1
計ってみた
# MySQL/Ruby0.1700 0.1400 0.0500 0.0300
# Ruby/MySQL1.1000 1.5700 1.0900 1.4100
54/72
Powered by Rabbit 0.6.1
5倍~50倍遅い orz...
55/72
Powered by Rabbit 0.6.1
Ruby だからいいよ
ね56/72
Powered by Rabbit 0.6.1
コンパイル不要
57/72
Powered by Rabbit 0.6.1
スレッドで並列実行
可能58/72
Powered by Rabbit 0.6.1
Ruby 1.9 M17N 対
応59/72
Powered by Rabbit 0.6.1
MySQLとの間で自動変換
60/72
Powered by Rabbit 0.6.1
charset 重要
61/72
Powered by Rabbit 0.6.1
Rubyライセンス
62/72
Powered by Rabbit 0.6.1
GPLに縛られない
63/72
Powered by Rabbit 0.6.1
MySQL/Ruby
libmysqlclient ← GPL✓
MySQL/Ruby ← GPL?✓
アプリ ←???✓
MySQLに対するFUD「ライセンスがややこしい」
✓
64/72
Powered by Rabbit 0.6.1
Ruby/MySQL
Ruby/MySQL ← Rubyライセンス
✓
アプリ ← 自由✓
シンプル✓
65/72
Powered by Rabbit 0.6.1
おまけ66/72
Powered by Rabbit 0.6.1
プリペアドステートメント
mysql.prepare('select ?,?').execute(123,'abc')
↓こう書ける
mysql.query('select ?,?', 123, 'abc')
67/72
Powered by Rabbit 0.6.1
Enumerable
Mysql::Result#each
68/72
Powered by Rabbit 0.6.1
予想される反応
69/72
Powered by Rabbit 0.6.1
「AR 使ってるから
関係ない」70/72
Powered by Rabbit 0.6.1
orz71/72
Powered by Rabbit 0.6.1
ご清聴ありがとうございました
72/72