ํฌ๋กฌ 95 ๋ฆด๋ฆฌ์Šค

๊ตฌ๊ธ€์ด ํฌ๋กฌ 95 ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ถœ์‹œ๋ฅผ ๊ณต๊ฐœํ•จ๊ณผ ๋™์‹œ์— ํฌ๋กฌ์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ๋ฌด๋ฃŒ ํฌ๋กœ๋ฏธ์›€ ํ”„๋กœ์ ํŠธ์˜ ์•ˆ์ •์ ์ธ ์ถœ์‹œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. Chrome ๋ธŒ๋ผ์šฐ์ €๋Š” Google ๋กœ๊ณ  ์‚ฌ์šฉ, ์ถฉ๋Œ ๋ฐœ์ƒ ์‹œ ์•Œ๋ฆผ ์ „์†ก ์‹œ์Šคํ…œ, ๋ณดํ˜ธ๋œ ๋น„๋””์˜ค ์ฝ˜ํ…์ธ (DRM) ์žฌ์ƒ ๋ชจ๋“ˆ, ์ž๋™ ์—…๋ฐ์ดํŠธ ์‹œ์Šคํ…œ ๋ฐ RLZ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฒ€์ƒ‰ ์‹œ ์ „์†ก์œผ๋กœ ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด 4์ฃผ ๊ฐœ๋ฐœ ์ฃผ๊ธฐ์— ๋”ฐ๋ผ Chrome 96์˜ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋Š” 16์›” 8์ผ๋กœ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ์— ๋” ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•œ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ๋ณ„๋„์˜ Extended Stable ๋ถ„๊ธฐ๊ฐ€ ์œ ์ง€๋˜๊ณ  94์ฃผ ๋™์•ˆ Chrome XNUMX์˜ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Chrome 95์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • Linux, Windows, macOS ๋ฐ ChromeOS ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ ์ฝ˜ํ…์ธ  ์˜ค๋ฅธ์ชฝ์— ํ‘œ์‹œ๋˜๊ณ  ์ฃผ์†Œ ํ‘œ์‹œ์ค„์˜ ํŠน์ˆ˜ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•˜์—ฌ ํ™œ์„ฑํ™”๋˜๋Š” ์ƒˆ๋กœ์šด ์‚ฌ์ด๋“œ๋ฐ”๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ํŒจ๋„์—๋Š” ์ฑ…๊ฐˆํ”ผ์™€ ์ฝ๊ธฐ ๋ชฉ๋ก์ด ํฌํ•จ๋œ ์š”์•ฝ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. "chrome://flags/#side-panel" ์„ค์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ํฌ๋กฌ 95 ๋ฆด๋ฆฌ์Šค
  • ์–‘์‹ ์ž๋™ ์™„์„ฑ ์‹œ์Šคํ…œ์—์„œ ๋‚˜์ค‘์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์›น ์–‘์‹์— ์ž…๋ ฅํ•œ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์— ๋Œ€ํ•œ ๋ช…์‹œ์  ์š”์ฒญ์˜ ์ถœ๋ ฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์–‘์‹์— ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ๋•Œ ์ฃผ์†Œ ์ €์žฅ, ์ด์ „์— ์ €์žฅ๋œ ์ฃผ์†Œ ํŽธ์ง‘, ์—…๋ฐ์ดํŠธ ๋˜๋Š” ์ €์žฅ ๊ฑฐ๋ถ€๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • FTP ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. Chrome 88์—์„œ๋Š” FTP ์ง€์›์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์—ˆ์ง€๋งŒ ํ™œ์„ฑํ™”๋ฅผ ์œ„ํ•œ ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋‚จ์•„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ด IPv4 ์ฃผ์†Œ์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ์ˆซ์ž๋กœ ๋๋‚˜๋Š” URL์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด URL "http://127.1/", "http://foo.127.1/" ๋ฐ "http://127.0.0.0.1"์€ ์ด์ œ ์œ ํšจํ•˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.
  • WebAssembly์˜ ๊ฒฝ์šฐ ํŠน์ • ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ์‹คํ–‰์„ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. WebAssembly ๋ชจ๋“ˆ์— ์•Œ๋ ค์ง„ ์˜ˆ์™ธ ํฌ์ฐฉ๊ณผ ๊ฐ€์ ธ์˜จ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ณผ์ •์—์„œ ์˜ˆ์™ธ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์™ธ๋ฅผ ํฌ์ฐฉํ•˜๋ ค๋ฉด WebAssembly ๋ชจ๋“ˆ์„ Emscripten๊ณผ ๊ฐ™์€ ์˜ˆ์™ธ ์ธ์‹ ์ปดํŒŒ์ผ๋Ÿฌ๋กœ ๋นŒ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    WebAssembly ์ˆ˜์ค€์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋Š” JavaScript์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์— ๋น„ํ•ด ์ƒ์„ฑ๋œ ์ฝ”๋“œ์˜ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด JavaScript์— ์˜ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋กœ Binaryen ์˜ตํ‹ฐ๋งˆ์ด์ €๋ฅผ ๊ตฌ์ถ•ํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ 43% ์ฆ๊ฐ€ํ•˜๊ณ  WebAssembly๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด 9% ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ "-O3" ์ตœ์ ํ™” ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ WebAssembly์— ์˜ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ฐ€ ์žˆ๋Š” ์ฝ”๋“œ๋Š” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ ์—†๋Š” ์ฝ”๋“œ์™€ ์‹ค์งˆ์ ์œผ๋กœ ์„ฑ๋Šฅ ์ฐจ์ด๊ฐ€ ์—†์ง€๋งŒ JavaScript๋ฅผ ์‚ฌ์šฉํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋Š” ์‹คํ–‰ ์†๋„๊ฐ€ 30% ๋Š๋ ค์ง‘๋‹ˆ๋‹ค.

  • ํ•˜๋‚˜์˜ ์‚ฌ์ดํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ(cross-origin) ๊ฐ„์— WebAssembly ๋ชจ๋“ˆ์„ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์€ ๊ธˆ์ง€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด API๊ฐ€ Origin Trials ๋ชจ๋“œ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋ณ„๋„์˜ ํ™œ์„ฑํ™”๊ฐ€ ํ•„์š”ํ•œ ์‹คํ—˜ ๊ธฐ๋Šฅ). Origin ํ‰๊ฐ€ํŒ์€ localhost ๋˜๋Š” 127.0.0.1์—์„œ ๋‹ค์šด๋กœ๋“œํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋˜๋Š” ํŠน์ • ์‚ฌ์ดํŠธ์— ๋Œ€ํ•ด ์ œํ•œ๋œ ์‹œ๊ฐ„ ๋™์•ˆ ์œ ํšจํ•œ ํŠน์ˆ˜ ํ† ํฐ์„ ๋“ฑ๋ก ๋ฐ ์ˆ˜์‹ ํ•œ ํ›„ ์ง€์ •๋œ API๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    • User-Agent HTTP ํ—ค๋” ๋ฐ JavaScript ๋งค๊ฐœ๋ณ€์ˆ˜ navigator.userAgent, navigator.appVersion ๋ฐ navigator.platform์—์„œ ์ •๋ณด ํŠธ๋ฆฌ๋ฐ์„ ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ—ค๋”์—๋Š” ๋ธŒ๋ผ์šฐ์ € ์ด๋ฆ„, ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์š” ๋ฒ„์ „, ํ”Œ๋žซํผ ๋ฐ ์žฅ์น˜ ์œ ํ˜•(ํœด๋Œ€ํฐ, PC, ํƒœ๋ธ”๋ฆฟ)์— ๋Œ€ํ•œ ์ •๋ณด๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ •ํ™•ํ•œ ๋ฒ„์ „ ๋ฐ ํ™•์žฅ๋œ ํ”Œ๋žซํผ ๋ฐ์ดํ„ฐ์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ํด๋ผ์ด์–ธํŠธ ํžŒํŠธ API๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์†Œ๋น„์ž ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ์‚ญ๊ฐ์˜ ์‹œ์ž‘์€ ๋ฐ˜๋…„ ํ›„์— ๊ฒŒ์‹œ๋  Chrome 102์˜ ์ถœ์‹œ๋กœ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค API์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ํ•ธ๋“ค(์•ก์„ธ์Šค ํ•ธ๋“ค)์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์ด ์ œ์•ˆ๋˜์–ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‚ฌ์šฉ์ž ์žฅ์น˜์˜ ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐฉ์‹์„ ์ค„์ด๊ธฐ ์œ„ํ•ด Google์€ ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค ๋ฐ Storage Foundation API๋ฅผ ๋ณ‘ํ•ฉํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ•ฉ๋ณ‘์„ ์œ„ํ•œ ์ค€๋น„ ๋‹จ๊ณ„๋กœ ์•ก์„ธ์Šค ๋””์Šคํฌ๋ฆฝํ„ฐ์— ๋Œ€ํ•œ ์ง€์›์ด ์ œ์•ˆ๋˜๋Š”๋ฐ, ์ด๋Š” ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ ๊ธฐ๋ฐ˜์˜ ์ž‘์—… ๋ฐฉ์‹์„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•œ ์“ฐ๊ธฐ ์ž ๊ธˆ ์„ค์ •, ์“ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ๋ฅผ ์œ„ํ•œ ๋ณ„๋„์˜ ์ŠคํŠธ๋ฆผ ์ƒ์„ฑ๊ณผ ๊ฐ™์€ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์œผ๋กœ ๋ณด์™„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋™๊ธฐ ๋ชจ๋“œ์—์„œ ์ž‘์—…์ž์˜ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ์šฉ.
  • ๋ณด์•ˆ ๊ฒฐ์ œ ํ™•์ธ API๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์•ˆ์ •ํ™”๋˜์—ˆ์œผ๋ฉฐ ๊ฒฐ์ œ ์ž‘์—…์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ํ™•์ธ์„ ์ œ๊ณตํ•˜๋Š” ์ƒˆ๋กœ์šด '๊ฒฐ์ œ' ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์—ฌ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์€ํ–‰๊ณผ ๊ฐ™์€ ์‹ ๋ขฐ ๋‹น์‚ฌ์ž๋Š” '๋ณด์•ˆ ๊ฒฐ์ œ ํ™•์ธ' ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ์ œ ์š”์ฒญ API๋ฅผ ํ†ตํ•ด ์ถ”๊ฐ€ ๋ณด์•ˆ ๊ฒฐ์ œ ํ™•์ธ์„ ์œ„ํ•ด ํŒ๋งค์ž๊ฐ€ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” PublicKeyCredential์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • PerformanceObserver ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ์„ค์ •๋œ ์ฝœ๋ฐฑ์—๋Š” ์ด์ œ ์ „๋‹ฌ๋œ dropEntriesCount ์†์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ์ œ๊ณต๋œ ๋ฒ„ํผ์— ๋งž์ง€ ์•Š์•„ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์‚ฌ์ดํŠธ ์„ฑ๋Šฅ ๋ฉ”ํŠธ๋ฆญ์ด ์‚ญ์ œ๋˜์—ˆ๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ™”๋ฉด์˜ ์ž„์˜ ํ”ฝ์…€ ์ƒ‰์ƒ์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” EyeDropper API๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๊ตฌํ˜„๋œ ๊ทธ๋ž˜ํ”ฝ ํŽธ์ง‘๊ธฐ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. const eyeDropper = new EyeDropper(); const result = await eyeDropper.open(); // ๊ฒฐ๊ณผ = {sRGBHex: '#160731'}
  • self.reportError() ํ•จ์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์˜ค๋ฅ˜๋ฅผ ์ฝ˜์†”์— ์ถœ๋ ฅํ•˜์—ฌ ํฌ์ฐฉ๋˜์ง€ ์•Š์€ ์˜ˆ์™ธ ๋ฐœ์ƒ์„ ์—๋ฎฌ๋ ˆ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • URL์ด ํŠน์ • ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด URLPattern API๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋งํฌ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ  ์š”์ฒญ์„ ์„œ๋น„์Šค ์›Œ์ปค์˜ ํ•ธ๋“ค๋Ÿฌ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. const p = new URLPattern({ ํ”„๋กœํ† ์ฝœ: 'https', ํ˜ธ์ŠคํŠธ ์ด๋ฆ„: 'example.com', ๊ฒฝ๋กœ ์ด๋ฆ„: '/:folder/*/:fileName.jpg', });
  • Intl.DisplayNames API๊ฐ€ ํ™•์žฅ๋˜์–ด ์–ธ์–ด, ๊ตญ๊ฐ€, ํ†ตํ™”, ๋‚ ์งœ ์š”์†Œ ๋“ฑ์˜ ํ˜„์ง€ํ™”๋œ ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„์ „์—๋Š” "calendar" ๋ฐ "dateTimeField"๋ผ๋Š” ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ์ด๋ฆ„์ด ์ถ”๊ฐ€๋˜์–ด ์ด๋ฅผ ํ†ตํ•ด ๋‹ฌ๋ ฅ์˜ ํ˜„์ง€ํ™”๋œ ์ด๋ฆ„๊ณผ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ํ•„๋“œ(์˜ˆ: ์›” ์ด๋ฆ„)๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "์–ธ์–ด" ์œ ํ˜•์— ๋Œ€ํ•œ ์–ธ์–ด ๋ฐฉ์–ธ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Intl.DateTimeFormat API์—์„œ timeZoneName ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ƒˆ ๊ฐ’์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์งง์€ ์‹œ๊ฐ„๋Œ€ ์‹๋ณ„์ž(์˜ˆ: "PT", "ET")๋ฅผ ํ‘œ์‹œํ•˜๋Š” "shortGeneric", "longGeneric" - ๊ธด ์‹๋ณ„์ž(" Pacific Time", "Mountain Time"), "shortOffset" - GMT("GMT+5")๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์งง์€ ์˜คํ”„์…‹์„ ์‚ฌ์šฉํ•˜๊ณ  "longOffset"์€ GMT("GMT+0500")๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ธด ์˜คํ”„์…‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • Web Authentication API๋กœ ๋Œ€์ฒด๋˜์–ด์•ผ ํ•˜๋Š” U2F(Cryptotoken) API๊ฐ€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. U2F API๋Š” Chrome 98 ๋ฆด๋ฆฌ์Šค์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜๋ฉฐ Chrome 104์—์„œ๋Š” ์™„์ „ํžˆ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.
  • ์›น ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์Šคํƒ€์ผ ํŒจ๋„์„ ์‚ฌ์šฉํ•˜๋ฉด ํฌ๊ธฐ ๊ด€๋ จ CSS ์†์„ฑ(๋†’์ด, ํŒจ๋”ฉ ๋“ฑ)์„ ์‰ฝ๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ํƒญ์€ ๊ฐœ๋ณ„ ๋ฌธ์ œ๋ฅผ ์ˆจ๊ธธ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์›น ์ฝ˜์†”, ์†Œ์Šค ๋ฐ ์†์„ฑ ํŒจ๋„์˜ ์†์„ฑ ํ‘œ์‹œ๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ด์ œ ์‚ฌ์šฉ์ž ์ •์˜ ์†์„ฑ์ด ๊ตต๊ฒŒ ํ‘œ์‹œ๋˜๊ณ  ๋ชฉ๋ก ๋งจ ์œ„์— ํ‘œ์‹œ๋จ).
    ํฌ๋กฌ 95 ๋ฆด๋ฆฌ์Šค

ํ˜์‹  ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ • ์™ธ์—๋„ ์ƒˆ ๋ฒ„์ „์—์„œ๋Š” 19๊ฐœ์˜ ์ทจ์•ฝ์ ์ด ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์ทจ์•ฝ์ ์ด ์ž๋™ ํ…Œ์ŠคํŠธ ๋„๊ตฌ์ธ AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer ๋ฐ AFL์˜ ๊ฒฐ๊ณผ๋กœ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ € ๋ณดํ˜ธ ์ˆ˜์ค€์„ ์šฐํšŒํ•˜๊ณ  ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ ์™ธ๋ถ€์˜ ์‹œ์Šคํ…œ์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋Š” ํ™•์ธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์ทจ์•ฝ์  ํฌ์ƒ๊ธˆ ํ”„๋กœ๊ทธ๋žจ์˜ ์ผํ™˜์œผ๋กœ Google์€ $16 ์ƒ๋‹น์˜ 74๊ฐœ ํฌ์ƒ๊ธˆ($20000 ํฌ์ƒ 10000๊ฐœ, $7500 ํฌ์ƒ 6000๊ฐœ, $5000 ํฌ์ƒ 3000๊ฐœ, $2000 ํฌ์ƒ 1000๊ฐœ, $5 ํฌ์ƒ XNUMX๊ฐœ, $XNUMX ํฌ์ƒ XNUMX๊ฐœ)์„ ์ง€๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. $XNUMX). XNUMX๊ฐœ์˜ ๋ณด์ƒ ๊ธˆ์•ก์€ ์•„์ง ๊ฒฐ์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€