Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Node.js deno ʹ web compatible ͳ API Λ΄͍ͬ͠ ͯݴͬͨͷզʑϑϩϯτΤ ϯυΤϯδχΞͰ͋ΔΘ͚ͩ ͕ɺ ͔ͩΒͱ͍ͬͯͳΜͰ ຊʹ΄͍͠ͷ͔ɺͱ͍͏ͷ େ͍ʹٞͷ༨͕͋Δɻ
Slide 2
Slide 2 text
Twitter: @yosuke_furukawa Github: yosuke-furukawa
Slide 3
Slide 3 text
ݩπΠʔτ
Slide 4
Slide 4 text
ݩπΠʔτ /PEFKTWʹBUPCCUPB͕HMPCBMʹೖΔɻ ͰΘͳ͍Ͱ΄͍͠ɻ BUPCCUPBΛ͍͍ͨͳΒ͍ͨ͘ͳ͍ͱࢥ͏·ͰจࣈΤϯίʔυΛਂ͘ಡ ΈਐΊ͍ͯͩ͘͞ɻ
Slide 5
Slide 5 text
ͳΜͰʮ͏ͳͬͯݴͬͯΔ ͷʯΛ৽͍͠ػೳͱͯ͠ Ճ͠ͳ͖Ό͍͚ͳ͍Μɾɾɾʁ
Slide 6
Slide 6 text
atob / btoa • atob / btoa binary ͱ ASCII ม͞Εͨ base64 ͱͷ૬ޓมΛߦ͏ศརAPI • Web API ͱͯ͠༧Ίఆٛ͞Ε͍ͯΔ • ͨͩ͠ɺɺɺ
Slide 7
Slide 7 text
atob / btoa • atob ͱ btoa Unicode ʹରԠ͍ͯ͠ͳ ͍ɺ͋͘·Ͱ ASCII ݍͰ͔͑͠ͳ͍ͷ
Slide 8
Slide 8 text
atob / btoa > atob(btoa("͜Μʹͪ")) Uncaught: DOMException [InvalidCharacterError]: Invalid character > decodeURIComponent(atob(btoa(encodeURIComponent("͜Μʹͪ")))) '͜Μʹͪ' // ͜ͷΑ͏ʹ decode / encode ͯ͠ ASCII ͰΤϯίʔυͰ͖ΔΑ͏ʹ͔ͯ͠Β Δඞཁ͕͋Δɻɻɻɻ
Slide 9
Slide 9 text
͜Μͳ͜ͱ͠ͳͯ͘
Slide 10
Slide 10 text
Node.js ʹͱͱ buffer ͕ ͋Δ const str = "͜Μʹͪ"; const base64 = Buffer.from(str, "utf-8").toString('base64'); console.log(Buffer.from(base64, "base64").toString('utf-8')); // ͜Μʹͪ
Slide 11
Slide 11 text
ຊʹ͍͍ͨͰ͔͢ʁ
Slide 12
Slide 12 text
ਖ਼จࣈίʔυମܥΛؾʹ͠ ͳ͖Ό͍͚ͳ͍ͷӳޠݍͰ Ұॹʢֆจࣈͱ͔͋Δ͠ʣ
Slide 13
Slide 13 text
ຊདྷཉ͍͠: - fetch - http/3 - etc
Slide 14
Slide 14 text
͜Ε͔Β Node.js deno ʹ web compat ͕ཉ͍͔͠Β ͱݴͬͯԿͰೖΕ͍͍ͯͷ ͔Λٞ͠Α͏ɻ