Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MyNA 20周年 / MyNA 20th anniversary

MyNA 20周年 / MyNA 20th anniversary

とみたまさひろ

May 25, 2020
Tweet

More Decks by とみたまさひろ

Other Decks in Technology

Transcript

  1. MyNA 20周年
    MyNA 20周年
    とみたまさひろ
    2020-05-25
    #mysql_jp
    1

    View full-size slide

  2. おっさんの昔話のコーナー
    おっさんの昔話のコーナー
    2

    View full-size slide

  3. 自己紹介
    自己紹介
    とみたまさひろ
    MySQL
    Ruby
    メール / 文字化け
    https://twitter.com/tmtms
    https://tmtms.hatenablog.com
    3

    View full-size slide

  4. MySQL Parameters
    MySQL Parameters
    https://mysql-params.tmtms.net
    5.0〜8.0
    8.0.*
    4

    View full-size slide

  5. mrubyudf
    mrubyudf
    Ruby で MySQL の UDF を書くためのツール
    https://github.com/tmtm/mrubyudf
    https://tmtms.hatenablog.com/entry/202005/mrubyud
    5

    View full-size slide

  6. MySQL徹底入門第4版

    MySQL徹底入門第4版

    絶賛校正中!
    https://www.seshop.com/product/detail/23085

    View full-size slide

  7. おっさんの昔話
    おっさんの昔話
    7

    View full-size slide

  8. 記憶が怪しいので嘘かもしれません
    8

    View full-size slide

  9. 1997年
    1997年
    9

    View full-size slide

  10. 1997年
    1997年
    香港がイギリスから返還される
    マーズ・パスファインダーが火星に着陸
    Mac OS 8 発売
    サッカー日本代表がワールドカップ初出場
    X JAPAN 解散
    長野新幹線開業
    映画「もののけ姫」「インデペンデンス・デイ」
    「タイタニック」
    アニメ「ポケットモンスター」放送開始
    音楽「CAN YOU CELEBRATE?」「硝子の少年」
    「HOWEVER」
    ゲーム「ファイナル・ファンタジーVII」
    10

    View full-size slide

  11. 会社の内製ツール作成&メンテ
    会社で使ってたDBがInf◯rmix(伏せ字)だった
    ESQL/C - C に SQL を埋め込む謎言語
    メッチャ使いづらい
    11

    View full-size slide

  12. 「普通にCから使える無料のDBないかなー」
    12

    View full-size slide

  13. MySQL と Postgres95 を発見
    当時 Google は無かったらしい
    どうやって探したんだっけ…
    13

    View full-size slide

  14. テキトーに速度測ってみたら MySQL の方が速かった
    「じゃあ MySQL でいいや」
    「英語苦手だけど日本語マニュアルもあるし」
    (廣川類さん @rui_hi 翻訳)
    14

    View full-size slide

  15. しかし実はその日本語マニュアルの MySQL の
    バージョンは古かった… (3.20)
    15

    View full-size slide

  16. しかたなく英語のマニュアルを読む…
    「英語わからん」
    「訳しながら読んでると3行前のを忘れる」
    「訳した文を書きながら読むか…」
    16

    View full-size slide

  17. マニュアルの全文訳完成
    マニュアルの全文訳完成
    1997/10
    質はそれなり
    「せっかくだからウェブに公開しよう」
    (たしか Monty にメールで公開許可もらったはず…)
    17

    View full-size slide

  18. 日本語を検索すると結果がおかしい
    (当時のUNIXではEUC-JPが主流)
    18

    View full-size slide

  19. デフォルトの latin1 だと
    À(C0) = Á(C1) = Â(C2)…
    = à(E0) = á(E1) = â(E2)…
    19

    View full-size slide

  20. EUC-JPの日本語文字は 0xA1〜0xFE
    だ(A4C0) = ち(A4C1) = ぢ(A4C2)…
    = め(A4E0) = も(A4E1) = ゃ(A4E2)…
    20

    View full-size slide

  21. 「latin1 じゃなくて binary を使えば解決!」
    (binary はすべての文字を区別)
    21

    View full-size slide

  22. ところが
    LIKE "%海%" で「続く」がマッチ!
    22

    View full-size slide

  23. 「海」: B3 A4
    「続く」: C2 B3 A4 AF
    23

    View full-size slide

  24. 「バイト単位の比較ではダメだ…」
    LIKE で文字単位にマッチングさせるパッチを作成
    24

    View full-size slide

  25. 日本語 EUC パッチ誕生
    日本語 EUC パッチ誕生
    1997/11
    文字コード名は jeuc
    25

    View full-size slide

  26. 1998年
    1998年
    26

    View full-size slide

  27. 1998年
    1998年
    長野オリンピック
    明石海峡大橋開通
    国際宇宙ステーション建設開始
    任天堂がゲームボーイカラー発売
    セガがドリームキャスト発売
    音楽「誘惑」「夜空ノムコウ」「my graduation」
    映画「踊る大捜査線」「ポケットモンスター ミュ
    ウツーの逆襲」「メン・イン・ブラック」
    27

    View full-size slide

  28. 個人宛にメールで問い合わせが来るけど
    情報が個人間に閉じるのがもったいない
    「誰かメーリングリスト作ってくれないかなー」
    とウェブページに書いたら
    28

    View full-size slide

  29. 「作ってみた」 by ソフトエージェンシー
    29

    View full-size slide

  30. メーリングリスト発足
    メーリングリスト発足
    1998/1
    30

    View full-size slide

  31. 当時のフリーソフトウェア界隈のMLは
    初心者に厳しくて殺伐としてた
    それは嫌だったのでゆるふわなML運営
    31

    View full-size slide

  32. メーリングリストでシフトJISを使いたいという要望
    シフトJISは2バイト目に 5C がある
    表(95 5C)
    5C はエスケープ文字 \ と同じ
    LIKE だけじゃなくて文字列全般的な考慮が必要
    32

    View full-size slide

  33. 似たようなマルチバイトcharset BIG5 があったので
    それを真似てシフトJIS対応パッチを作成
    33

    View full-size slide

  34. UJIS&SJIS対応パッチ誕生
    UJIS&SJIS対応パッチ誕生
    1998/3
    この頃から jeuc から ujis に名前を変えたらしい
    34

    View full-size slide

  35. 3.21.30 にパッチが取り込まれる
    3.21.30 にパッチが取り込まれる
    1998/5
    パッチをあてなくても普通に日本語が使えるように
    35

    View full-size slide

  36. 2000年
    2000年
    36

    View full-size slide

  37. MLの過去ログをウェブで公開したい
    37

    View full-size slide

  38. どこのサーバー使おうか
    せっかくだからドメイン名とる?
    「日本MySQLユーザ会」とかでっちあげて
    mysql.gr.jp とっちゃえ
    38

    View full-size slide

  39. 日本MySQLユーザ会 発足
    日本MySQLユーザ会 発足
    2000/3
    ドメイン名を取るためには
    代表者を決めないといけないので
    流れで自分が代表者に
    39

    View full-size slide

  40. 略称候補は色々あったけど
    ということで MyNA に
    (当時は PostgreSQL がメジャーだった)
    MySQLって、日本じゃマイナー
    (MINOR)だよね。それは昔の話さ。
    と言える日をまつ人の集団。
    http://www.mysql.gr.jp/mysqlml/mysql/msg/1730
    40

    View full-size slide

  41. そしてその後マイナーじゃなくなりましたとさ
    41

    View full-size slide

  42. めでたしめでたし
    めでたしめでたし
    42

    View full-size slide

  43. メーリングリストの流量
    44

    View full-size slide

  44. いつまでもメーリングリストでいいの?
    Slack ? んー…
    45

    View full-size slide