Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
MyNA 20周年 / MyNA 20th anniversary
Search
とみたまさひろ
May 25, 2020
Technology
270
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MyNA 20周年 / MyNA 20th anniversary
とみたまさひろ
May 25, 2020
Transcript
45 slides
MyNA 20周年 MyNA 20周年 とみたまさひろ 2020-05-25 #mysql_jp 1
おっさんの昔話のコーナー おっさんの昔話のコーナー 2
自己紹介 自己紹介 とみたまさひろ MySQL Ruby メール / 文字化け https://twitter.com/tmtms https://tmtms.hatenablog.com
3
MySQL Parameters MySQL Parameters https://mysql-params.tmtms.net 5.0〜8.0 8.0.* 4
mrubyudf mrubyudf Ruby で MySQL の UDF を書くためのツール https://github.com/tmtm/mrubyudf https://tmtms.hatenablog.com/entry/202005/mrubyud
5
MySQL徹底入門第4版 MySQL徹底入門第4版 絶賛校正中! https://www.seshop.com/product/detail/23085
おっさんの昔話 おっさんの昔話 7
記憶が怪しいので嘘かもしれません 8
1997年 1997年 9
1997年 1997年 香港がイギリスから返還される マーズ・パスファインダーが火星に着陸 Mac OS 8 発売 サッカー日本代表がワールドカップ初出場 X
JAPAN 解散 長野新幹線開業 映画「もののけ姫」「インデペンデンス・デイ」 「タイタニック」 アニメ「ポケットモンスター」放送開始 音楽「CAN YOU CELEBRATE?」「硝子の少年」 「HOWEVER」 ゲーム「ファイナル・ファンタジーVII」 10
会社の内製ツール作成&メンテ 会社で使ってたDBがInf◯rmix(伏せ字)だった ESQL/C - C に SQL を埋め込む謎言語 メッチャ使いづらい 11
「普通にCから使える無料のDBないかなー」 12
MySQL と Postgres95 を発見 当時 Google は無かったらしい どうやって探したんだっけ… 13
テキトーに速度測ってみたら MySQL の方が速かった 「じゃあ MySQL でいいや」 「英語苦手だけど日本語マニュアルもあるし」 (廣川類さん @rui_hi 翻訳)
14
しかし実はその日本語マニュアルの MySQL の バージョンは古かった… (3.20) 15
しかたなく英語のマニュアルを読む… 「英語わからん」 「訳しながら読んでると3行前のを忘れる」 「訳した文を書きながら読むか…」 16
マニュアルの全文訳完成 マニュアルの全文訳完成 1997/10 質はそれなり 「せっかくだからウェブに公開しよう」 (たしか Monty にメールで公開許可もらったはず…) 17
日本語を検索すると結果がおかしい (当時のUNIXではEUC-JPが主流) 18
デフォルトの latin1 だと À(C0) = Á(C1) = Â(C2)… = à(E0)
= á(E1) = â(E2)… 19
EUC-JPの日本語文字は 0xA1〜0xFE だ(A4C0) = ち(A4C1) = ぢ(A4C2)… = め(A4E0) =
も(A4E1) = ゃ(A4E2)… 20
「latin1 じゃなくて binary を使えば解決!」 (binary はすべての文字を区別) 21
ところが LIKE "%海%" で「続く」がマッチ! 22
「海」: B3 A4 「続く」: C2 B3 A4 AF 23
「バイト単位の比較ではダメだ…」 LIKE で文字単位にマッチングさせるパッチを作成 24
日本語 EUC パッチ誕生 日本語 EUC パッチ誕生 1997/11 文字コード名は jeuc 25
1998年 1998年 26
1998年 1998年 長野オリンピック 明石海峡大橋開通 国際宇宙ステーション建設開始 任天堂がゲームボーイカラー発売 セガがドリームキャスト発売 音楽「誘惑」「夜空ノムコウ」「my graduation」 映画「踊る大捜査線」「ポケットモンスター
ミュ ウツーの逆襲」「メン・イン・ブラック」 27
個人宛にメールで問い合わせが来るけど 情報が個人間に閉じるのがもったいない 「誰かメーリングリスト作ってくれないかなー」 とウェブページに書いたら 28
「作ってみた」 by ソフトエージェンシー 29
メーリングリスト発足 メーリングリスト発足 1998/1 30
当時のフリーソフトウェア界隈のMLは 初心者に厳しくて殺伐としてた それは嫌だったのでゆるふわなML運営 31
メーリングリストでシフトJISを使いたいという要望 シフトJISは2バイト目に 5C がある 表(95 5C) 5C はエスケープ文字 \ と同じ
LIKE だけじゃなくて文字列全般的な考慮が必要 32
似たようなマルチバイトcharset BIG5 があったので それを真似てシフトJIS対応パッチを作成 33
UJIS&SJIS対応パッチ誕生 UJIS&SJIS対応パッチ誕生 1998/3 この頃から jeuc から ujis に名前を変えたらしい 34
3.21.30 にパッチが取り込まれる 3.21.30 にパッチが取り込まれる 1998/5 パッチをあてなくても普通に日本語が使えるように 35
2000年 2000年 36
MLの過去ログをウェブで公開したい 37
どこのサーバー使おうか せっかくだからドメイン名とる? 「日本MySQLユーザ会」とかでっちあげて mysql.gr.jp とっちゃえ 38
日本MySQLユーザ会 発足 日本MySQLユーザ会 発足 2000/3 ドメイン名を取るためには 代表者を決めないといけないので 流れで自分が代表者に 39
略称候補は色々あったけど ということで MyNA に (当時は PostgreSQL がメジャーだった) MySQLって、日本じゃマイナー (MINOR)だよね。それは昔の話さ。 と言える日をまつ人の集団。
http://www.mysql.gr.jp/mysqlml/mysql/msg/1730 40
そしてその後マイナーじゃなくなりましたとさ 41
めでたしめでたし めでたしめでたし 42
おまけ 43
メーリングリストの流量 44
いつまでもメーリングリストでいいの? Slack ? んー… 45
More Decks by とみたまさひろ
See All by とみたまさひろ
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
2k
文字列の並び順 / Unicode Collation
tmtms
4
1.4k
夢の印税生活 / Life on Royalties
tmtms
0
700
文字列の並び順 / String Collation
tmtms
1
300
日本MySQLユーザ会ができるまで / making MyNA
tmtms
1
1.2k
Ruby on Browser - RubyWorld Conference 2024
tmtms
1
1.7k
Ruby on Browser
tmtms
1
2.5k
私のRSpecの書き方 / How I write RSpec
tmtms
5
2.4k
ショートカットと端末 / shortcut & terminal
tmtms
2
1.1k
Other Decks in Technology
See All in Technology
Reticulum, le réseau cypherpunk dont vous avez besoin !
rlifchitz
0
140
ぼくのClaude Codeの使い方
falken
PRO
5
7.1k
Steering と Hook (チームの決まりを守らせる) | 目指せ Kiro マスター 06
inariku
PRO
2
130
セキュリティ専任チームなしで攻撃を先回りするSREが実践したSIEM on Amazon OpenSearch Service
cscengineer
PRO
1
890
少ない人手 限られた予算 それでも守る 消せない・見つける・戻れる オールハザード型BCP on AWS / 20261107 Mitsutoshi Matsuo
shift_evolve
PRO
0
390
さようならSSH鍵、こんにちはゼロトラスト ― AIフレンドリーで快適な自宅鯖SSH
atalie2m
1
140
Intro to Kiro (One agent, every surface) | Kiro: Zero to Hero 01
inariku
PRO
2
130
AWS基盤改善を支える 私たちの理念と行動指針
kentosuzuki
0
220
速くなるほど、深く考える AI時代のQAに学ぶ
kobayashiyorimitsu
0
220
Shared Signals Framework 仕様解説
oidfj
0
430
大江戸Ruby会議でデータベース クライアントの話をするのは 間違っているだろうか
yahonda
1
130
Go初心者のクラウドエンジニアが、デプロイを通して旨味を知っていく話
ryudai
1
210
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
Discover your Explorer Soul
emna__ayadi
2
1.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
Abbi's Birthday
coloredviolet
5
11k
The Language of Interfaces
destraynor
162
27k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.8k
The untapped power of vector embeddings
frankvandijk
2
2k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
Keith and Marios Guide to Fast Websites
keithpitt
413
23k