Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WindowsにおけるRubyのエンコーディングの話 Ruby3版/Ruby's encodi...
Search
usa
April 17, 2020
Technology
0
350
WindowsにおけるRubyのエンコーディングの話 Ruby3版/Ruby's encoding on Windows at Ruby3
Ruby3サミット(2020-04-17)
usa
April 17, 2020
Tweet
Share
More Decks by usa
See All by usa
Rubyの安定版を保守する意義 / Why we maintain stable versions of Ruby?
unak
0
100
PIXIV TECH FES. short session / What kind of contribution to OSS is really pleased?
unak
0
2k
Internal of the image processing required on the developing of web applications
unak
5
4.9k
Schrödinger's branch, or Ruby is dead every year
unak
0
680
talk about IO
unak
4
1.8k
Other Decks in Technology
See All in Technology
2024年にチャレンジしたことを振り返るぞ
mitchan
0
140
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
UI State設計とテスト方針
rmakiyama
2
630
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
180
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
290
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
760
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
270
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
120
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
170
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
230
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
40
7.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
KATA
mclloyd
29
14k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Being A Developer After 40
akosma
87
590k
Making the Leap to Tech Lead
cromwellryan
133
9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
BBQ
matthewcrist
85
9.4k
Facilitating Awesome Meetings
lara
50
6.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Transcript
Windowsにおける Rubyのエンコーディングの話 Ruby3版 pixiv Inc. @Ruby3さみっと 2020.4.17
2 自己紹介 • Rubyのコミッタ ◦ Windows ◦ 安定版(今は2.6と2.5) ▪ 古いRubyを殺す係
• おしごとは画像変換・配信の仕組みを作ること
3 Ruby3でWindows版の エンコーディングが どうなるか 今日のお話
4 Ruby3では 全部UTF-8にするぞ! 結論
5 おしまい
6 ……これだけ、というのは あまりにもあんまりなので、 どういう話なのか一応解説
7 CodePage 背景
8 MS-DOS(知ってる?) 背景
9 MS-DOS由来 : OEM CodePage 古き良きコンソール画面用 ハードウェアに依存 背景
10 16bit Windows由来 : ANSI CodePage グラフィカル画面用 ソフトウェア的に表示 背景
11 32bit Windows由来 : UTF-16LE (※CodePageではないが) WindowsのAPI(いわゆるW版) 背景
12 ファイルシステムのエンコーディング MS-DOS時代からの資産を継承 → OEM CodePage 背景
13 I/Oのエンコーディング WindowsのAPI(いわゆるA版) → ANSI CodePage 背景
14 Ruby 1.8まで ANSI CodePageベース OEM CodePageとの違いは無視 Rubyでは?
15 Ruby 1.9から 多言語化の仕組みが入った 互換性を保つため、Windowsでは、 ・I/OはANSI CodePage ・ファイルシステムはOEM CodePage Rubyでは?
16 Ruby 2.0から スクリプトのエンコーディングの デフォルトがUTF-8になった Rubyでは?
17 結果、どうなったか? → ANSI CP、OEM CP、UTF-8が 入り乱れた状態 Rubyでは?
18 「全部UTF-8に統一しろよ!」 いや、わかる、わかるんだが、 今までのコード資産を守るために 互換性を保たないと…… Rubyでは?
19 202X、殺伐としたRuby界に 颯爽とRuby3が!!! → メジャーバージョン上がるなら 互換性壊しても、いいよね? Rubyでは?
20 Ruby3では 全部UTF-8にするぞ! 結論
21 今度こそ おしまい