Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
WindowsにおけるRubyのエンコーディングの話 Ruby3版/Ruby's encoding on Windows at Ruby3
usa
April 17, 2020
Technology
0
140
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
44
PIXIV TECH FES. short session / What kind of contribution to OSS is really pleased?
unak
0
1.5k
Internal of the image processing required on the developing of web applications
unak
5
4.3k
Schrödinger's branch, or Ruby is dead every year
unak
0
570
talk about IO
unak
4
1.4k
Other Decks in Technology
See All in Technology
今 SLI/SLO の監視をするなら Sloth が良さそうという話
shotakitazawa
1
280
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
oracle4engineer
PRO
0
200
DevRel組織についての考察
taijihagino
PRO
0
140
サイバー攻撃を想定したクラウドネイティブセキュリティガイドラインとCNAPP及びSecurity Observabilityの未来
sakon310
4
460
PMMやプロダクト関係者と協働するために役割を整理した話 / 20220810_pdmtipslt
rakus_dev
0
110
CityGMLとFBXの連携で地理空間のエンタメ化
soh_mitian
0
740
Micro frontends and micro services
kashif98
0
150
聊聊 Cgo 的二三事
david74chou
0
330
Istioを活用したセキュアなマイクロサービスの実現/Secure Microservices with Istio
ido_kara_deru
3
420
ECS on EC2 で Auto Scaling やってみる!
sayjoy
1
240
テスト自動化を最速で軌道に乗せるために
nozomiito
0
140
IBM Cloud Festa Online 2022 Summer
1ftseabass
PRO
0
200
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1020
420k
Building Better People: How to give real-time feedback that sticks.
wjessup
344
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
14
3.8k
Support Driven Design
roundedbygravity
87
8.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
Typedesign – Prime Four
hannesfritz
34
1.4k
Building Applications with DynamoDB
mza
84
4.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
181
15k
The Pragmatic Product Professional
lauravandoore
19
3.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1.1M
Clear Off the Table
cherdarchuk
79
290k
GraphQLの誤解/rethinking-graphql
sonatard
31
6.8k
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 今度こそ おしまい