Slide 1

Slide 1 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 文字化け、あるいは ワークアラウンドとの戦い @mtsmfm Fumiaki Matsushima Meguro.rb#19 #megurorb

Slide 2

Slide 2 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い ➔ Web Dev at Quipper ➔ Ruby と麻雀と DbD が好き ➔ 西日暮里.rb 主催 ➔ GraphQL Tokyo 主催 @mtsmfm.inspect

Slide 3

Slide 3 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い https://studysapuri.jp/

Slide 4

Slide 4 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い

Slide 5

Slide 5 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い https://nishinipporirb.doorkeeper.jp/events/79762

Slide 6

Slide 6 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い https://twitter.com/284km/status/1044443818160906241

Slide 7

Slide 7 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い https://www.meetup.com/ja-JP/GraphQL-Tokyo/

Slide 8

Slide 8 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 文字化け、あるいは ワークアラウンドとの戦い @mtsmfm Fumiaki Matsushima Meguro.rb#19 #megurorb

Slide 9

Slide 9 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 大事なことは最初に

Slide 10

Slide 10 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 本体を直せ パッチを投げろ

Slide 11

Slide 11 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い お前が困っていることは 他の人も困る

Slide 12

Slide 12 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い ワークアラウンドに逃げるな

Slide 13

Slide 13 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 次の現場で踏むぞ

Slide 14

Slide 14 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い

Slide 15

Slide 15 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い send_file send_data

Slide 16

Slide 16 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 特定のブラウザで 文字化けする

Slide 17

Slide 17 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い

Slide 18

Slide 18 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い お手元にそういうの ありますよね

Slide 19

Slide 19 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 不完全だった

Slide 20

Slide 20 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い さらにワークアラウンドを 重ねる

Slide 21

Slide 21 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 今度は Safari が死んだ

Slide 22

Slide 22 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い そういえば前職でも踏んだが 対処方法を忘れた

Slide 23

Slide 23 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い

Slide 24

Slide 24 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 信頼できる情報ソース

Slide 25

Slide 25 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 信頼できる情報ソース == Rails コミッタ

Slide 26

Slide 26 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い https://github.com/rails/rails/pull/21461#discussion_r41824447

Slide 27

Slide 27 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い send_data 'data', filename: "\u{3042}.txt" ↓ NG "filename=\"\u{3042}.txt\"" OK "filename=\"%3F.txt\"; filename*=UTF-8''%E3%81%82.txt"

Slide 28

Slide 28 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い send_data 'data', filename: "\u{3042}.txt" ↓ NG "filename=\"\u{3042}.txt\"" OK "filename=\"%3F.txt\"; filename*=UTF-8''%E3%81%82.txt" 古いブラウザ向けのフォー ルバック RFC5987 に則ったフォー マット

Slide 29

Slide 29 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い そもそも Rails でやってよ!

Slide 30

Slide 30 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い https://github.com/rails/rails/pull/21461

Slide 31

Slide 31 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 塩漬けされてる

Slide 32

Slide 32 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い https://github.com/rails/rails/pull/21461#discussion_r215236774 聞いてみる

Slide 33

Slide 33 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い https://github.com/rails/rails/pull/21461#discussion_r215718170 頼まれる

Slide 34

Slide 34 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い https://github.com/rails/rails/pull/33829

Slide 35

Slide 35 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い AStorage と AController の共通化がしたい

Slide 36

Slide 36 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 置き場どうするか問題 最初は ActionController::DataStreaming::Disposition FilenameParameters にしてみていた

Slide 37

Slide 37 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 信頼できる情報ソース

Slide 38

Slide 38 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 信頼できる情報ソース == Rails コミッタ

Slide 39

Slide 39 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い Rails / OSS パッチ会 http://blog.agile.esm.co.jp/entry/rails-oss-patch-meetup-20181026

Slide 40

Slide 40 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い ActiveStorage と ActionController で使うものが ActionController 配下にあるの には違和感がある もともと ActionMailer と ActionController で跨いで使うものを ActionDispatch::Http の下に まとめている

Slide 41

Slide 41 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い 話すと早くて便利

Slide 42

Slide 42 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い Merge された https://github.com/rails/rails/pull/33829

Slide 43

Slide 43 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い Backport gem 作った https://github.com/mtsmfm/action_dispatch-http-content_disposition

Slide 44

Slide 44 text

#megurorb 文字化け、あるいはワークアラウンドとの戦い まとめ ➔ 他の人も後の自分も困るのでパッチを書いて本 体を直せ ◆ 直しつつ古い Rails 向けには Gem 作っとい たので同じ轍は踏まない ➔ Rails への PR で困ったらパッチ会に行け