Kaigi on Rails 2023 動画視聴 HTTPリクエストを手で書いて学ぶ ファイルアップロードの仕組み ①
フィヨルド生がいっぱい登壇しているおかげで、視聴の取っ掛かりが多く、助かる。
HTTPリクエストを手で書いて学ぶ ファイルアップロードの仕組み
- 「ファイルアップロードは、練習・本番を問わなければ、エンジニア人生の中で一回は実装したことがある機能かな、と思います」 → あったっけ…? パッとは思いつかない。
- 「とりあえず書いてある通りにしたけど、なんでBase64エンコードしているんだろう?」 → そもそもの Base64 エンコードを知らない。調べてみたところ、a-z, A-Z, 0-9, +, / で計 64 個に変換しているらしい。"abcdefg" が、6 ビットずつに分けられたりパディングされたりして "YWJjZGVmZw==" になる。勉強になった。
- ファイルの種類に関わらず、処理フローは同じ
結局みんなバイナリ
PNG ファイルのバイナリには、先頭に「マジックナンバー」として "89 50 4e 47" とあり、これが、"89" は non-printable だけど、"50 4e 47" は "PNG" となっている。42 Tokyo でやったのと同じかな…?
HTML: