Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
MySQL/Ruby 終
  了のお知らせ
     とみたまさひろ

         Powered by Rabbit 0.6.1
自己紹介
✓ とみた まさひろ
✓ tommy@tmtm.org
✓ 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をfork
                12/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
例1       25/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
例2       28/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
例3       32/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.0
mysql.query(
  "select 123,'abc'").fetch
  #=> ["123", "abc"]

# Ruby/MySQL 3.0
mysql.query(
  "select 123,'abc'").fetch
  #=> [123, "abc"]
                                      51/72
                              Powered by Rabbit 0.6.1
メソッド名

# MySQL/Ruby
Mysql::Result#num_rows

# Ruby/MySQL 3.0
Mysql::Result#size

                             52/72
                     Powered by Rabbit 0.6.1
速度       53/72
 Powered by Rabbit 0.6.1
計ってみた


# MySQL/Ruby
0.1700 0.1400 0.0500 0.0300

# Ruby/MySQL
1.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
orz       71/72
  Powered by Rabbit 0.6.1
ご清聴あ
りがとうご
ざいました       72/72
    Powered by Rabbit 0.6.1

More Related Content

MySQL/Ruby終了のお知らせ