Google
- ์ด์ ํ์ด์ง๊ฐ ๋ซํ ๋ ํธ์ถ๋๋ onUnload ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด
๊ทธ๊ฒ์ ๊ธ์ง ์์ฌ์ค๋ฌ์ด ์ฌ์ดํธ๋ฅผ ๋ซ์ ํ ์ฌ์ฉ์๊ฐ ๊ฐ์ ๋ก ๊ด๊ณ ํ์ด์ง๋ฅผ ์ด์ง ์๋๋ก ๋ณดํธํ๋ ํ์ ์ฐฝ(window.open() ํธ์ถ์ด ์ฐจ๋จ๋จ)์ ํ์ํฉ๋๋ค. - ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์์
๊ตฌํ ์๋ก์ด ๋ชจ๋๊ฐ ์์ต๋๋คJIT๊ฐ ์๋ (โโjitlessโ ํ๋๊ทธ), ์ด๋ฅผ ํตํด JIT๋ฅผ ์ฌ์ฉํ์ง ์๊ณ (์ธํฐํ๋ฆฌํฐ๋ง ์ฌ์ฉ๋จ) ์ฝ๋ ์คํ ์ค์ ์คํ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ์ง ์๊ณ JavaScript๋ฅผ ์คํํ ์ ์์ต๋๋ค. JIT๋ฅผ ๋นํ์ฑํํ๋ฉด ์ ์ฌ์ ์ผ๋ก ์ํํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์์ ํ ๋ ๋ณด์์ ๊ฐํํ๊ณ JIT ์ฌ์ฉ์ ๊ธ์งํ๋ ํ๋ซํผ(์: iOS, ์ผ๋ถ ์ค๋งํธ TV ๋ฐ ๊ฒ์ ์ฝ์)์์ ๋น๋๋ฅผ ๋ณด์ฅํ๋ ๋ฐ ์ ์ฉํ ์ ์์ต๋๋ค. JIT๊ฐ ๋นํ์ฑํ๋๋ฉด JavaScript ์คํ Speedometer 40 ํ ์คํธ์์๋ ์ฑ๋ฅ์ด 2.0%, Web Tooling Benchmark ํ ์คํธ์์๋ 80% ๊ฐ์ํ์ง๋ง YouTube๋ก ์์ ์ ์๋ฎฌ๋ ์ด์ ํ ๊ฒฐ๊ณผ ์ฑ๋ฅ์ 6% ๊ฐ์์ ๊ทธ์ณค๊ณ , ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ 1.7%๋ก ์ํญ ๊ฐ์ํ์ต๋๋ค. - V8์ ๋ํ ์๋ก์ด ์ต์ ํ์ ์๋น ๋ถ๋ถ์ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ค์ ๋ก ์ ๋ฌ๋ ๋งค๊ฐ๋ณ์์ ์๊ฐ ํจ์ ์ ์ ์ ์ง์ ํ ์ธ์์ ์์ ์ผ์นํ์ง ์๋ ํจ์ ํธ์ถ์ ์คํ์ด 60% ๊ฐ์ํ๋์์ต๋๋ค. get ํจ์๋ฅผ ์ฌ์ฉํ์ฌ DOM ์์ฑ์ ๋ํ ์ก์ธ์ค๊ฐ ๊ฐ์ํ๋์์ผ๋ฉฐ ์ด๋ Angular ํ๋ ์์ํฌ์ ์ฑ๋ฅ์ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. JavaScript ๊ตฌ๋ฌธ ๋ถ์์ด ๊ฐ์ํ๋์์ต๋๋ค. UTF-8 ๋์ฝ๋ ์ต์ ํ๋ฅผ ํตํด ์คํธ๋ฆฌ๋ฐ ๋ชจ๋(๋ก๋ ์ ๊ตฌ๋ฌธ ๋ถ์)์์ ๊ตฌ๋ฌธ ๋ถ์๊ธฐ ์ฑ๋ฅ์ 8% ํฅ์์ํฌ ์ ์์๊ณ , ๋ถํ์ํ ์ค๋ณต ์ ๊ฑฐ ์์ ์ ์ ๊ฑฐํ์ฌ ์ถ๊ฐ๋ก 10.5% ํฅ์๋์์ต๋๋ค.
- JavaScript ์์ง์ ๋ฉ๋ชจ๋ฆฌ ์๋น๋ฅผ ์ค์ด๊ธฐ ์ํ ์์
์ด ์ํ๋์์ต๋๋ค.
์ ์ฒด ํ ํฌ๊ธฐ์ ์ฝ 15%๋ฅผ ์ฐจ์งํ๋ ๋ฐ์ดํธ์ฝ๋ ์บ์๋ฅผ ์ง์ฐ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์ฌ์ฉ๋๋ ํจ์ ๋๋ ์ด๊ธฐํ ์์๋ง ํธ์ถ๋๋ ํจ์์ ๋ํด ์์ฃผ ์ปดํ์ผ๋์ง ์๋ ๋ฐ์ดํธ์ฝ๋๋ฅผ ์บ์์์ ์ ๊ฑฐํ๊ธฐ ์ํด ๊ฐ๋น์ง ์์ง๊ธฐ์ ๋จ๊ณ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ ๋ฆฌ ๊ฒฐ์ ์ ๋ฐ์ดํธ์ฝ๋์ ๋ง์ง๋ง์ผ๋ก ์ก์ธ์คํ ์๊ฐ์ ๊ณ ๋ คํ ์ ์นด์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์ด ๋ณ๊ฒฝ์ผ๋ก ์ธํด ์ฑ๋ฅ์ ๋ถ์ ์ ์ธ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ ์๋น๊ฐ 5~15% ๊ฐ์ํ์ต๋๋ค. ๋ํ ๋ฐ์ดํธ์ฝ๋ ์ปดํ์ผ๋ฌ๋ ์๋ฅผ ๋ค์ด return ๋๋ break(Jump ์ ํ์ด ์๋ ๊ฒฝ์ฐ) ๋ค์ ์ค๋ ๋ช ๋ฐฑํ ์ฌ์ฉ๋์ง ์๋ ์ฝ๋์ ์์ฑ์ ์ ์ธํฉ๋๋ค. - ์น์ด์
๋ธ๋ฆฌ์ ๊ฒฝ์ฐ
๊ตฌํ ์ค๋ ๋ ๋ฐ ์์์ ์์ ์ง์(API WebAssembly ์ค๋ ๋ ๋ฐ WebAssembly Atomics) - ์คํฌ๋ฆฝํธ๋ฅผ ๋ณ๋๋ก ์ ๋ฌํ๊ธฐ ์ํด ์คํํ ์ธํฐํ๋ฆฌํฐ๋ฅผ ๊ฒฐ์ ํ๋ "#!" ํค๋ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ค๋ฅธ ์คํฌ๋ฆฝํ
์ธ์ด์ ์ ์ฌํ๊ฒ JavaScript ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค.
#!/usr/bin/env ๋ ธ๋
console.log(42); - CSS์ ์๋ก์ด ๋ฏธ๋์ด ์ฟผ๋ฆฌ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
์ ํธํ๋ ๊ฐ์๋ ์์ง์ '๋ฅผ ํตํด ์ฌ์ดํธ์์ ์ ๋๋ฉ์ด์ ํจ๊ณผ ๋นํ์ฑํ์ ๊ด๋ จ๋ ์ด์ ์ฒด์ ์ค์ ์ํ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์ ์๋ ์์ฒญ์ ์ฌ์ฉํ์ฌ ์ฌ์ดํธ ์์ ์๋์ ์ฌ์ฉ์๊ฐ ์ ๋๋ฉ์ด์ ํจ๊ณผ๋ฅผ ๋นํ์ฑํํ์ผ๋ฉฐ ์ฌ์ดํธ์ ๋ค์ํ ์ ๋๋ฉ์ด์ ๊ธฐ๋ฅ๋ ๋นํ์ฑํํ์์ ํ์ธํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๊ด์ฌ์ ๋๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฒํผ์ ํ๋ค๋ฆฌ๋ ํจ๊ณผ๋ฅผ ์ ๊ฑฐํฉ๋๋ค. - Chrome 72์ ๋์
๋ ๊ณต๊ฐ ํ๋๋ฅผ ์ ์ํ๋ ๊ธฐ๋ฅ ์ธ์๋
์ง์ ๊ตฌํ ํ๋๋ฅผ ๋น๊ณต๊ฐ๋ก ํ์ํ๋ฉด ํด๋น ๊ฐ์ ๋ํ ์ก์ธ์ค๊ฐ ํด๋์ค ๋ด์์๋ง ์ด๋ฆฝ๋๋ค. ํ๋๋ฅผ ๋น๊ณต๊ฐ๋ก ํ์ํ๋ ค๋ฉด ํ๋ ์ด๋ฆ ์์ "#" ๊ธฐํธ๋ฅผ ์ถ๊ฐํ์ธ์. ๊ณต๊ฐ ํ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋น๊ณต๊ฐ ์์ฑ์๋ ์์ฑ์๋ฅผ ๋ช ์์ ์ผ๋ก ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค. - API์ ๋์์ ์ ์ดํ๊ณ ํน์ ๊ธฐ๋ฅ์ ํ์ฑํํ ์ ์๋ ๊ธฐ๋ฅ ์ ์ฑ
HTTP ํค๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค(์: XMLHttpRequest์ ๋๊ธฐ ์์
๋ชจ๋๋ฅผ ํ์ฑํํ๊ฑฐ๋ Geolocation API๋ฅผ ๋นํ์ฑํํ ์ ์์).
์๋ฐ ์คํฌ๋ฆฝํธ API ํน์ ๊ธฐํ์ ํ๋์ ์ ์ดํฉ๋๋ค. ๊ฐ๋ฐ์์๊ฒ๋ ์ธ ๊ฐ์ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ document.featurePolicy ๋ฐ Frame.featurePolicy๋ผ๋ ๋ ๊ฐ์ง ์๋ก์ด ๋ฉ์๋๊ฐ ์์ต๋๋ค.
allowedFeatures()๋ ํ์ฌ ๋๋ฉ์ธ์ ํ์ฉ๋๋ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ๊ฐ์ ธ์ค๊ณ , allowedFeature()๋ ํน์ ๊ธฐ๋ฅ์ด ํ์ฑํ๋์ด ์๋์ง ์ ํ์ ์ผ๋ก ํ์ธํ๋ฉฐ, getAllowlistForFeature()๋ ํ์ฌ ํ์ด์ง์์ ์ง์ ๋ ๊ธฐ๋ฅ์ด ํ์ฉ๋๋ ๋๋ฉ์ธ ๋ชฉ๋ก์ ๋ฐํํฉ๋๋ค. - ๋ชจ๋์ ๋ํ ์คํ์ ("chrome://flags#enable-text-fragment-anchor") ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
์คํฌ๋กค-ํ ์คํธ ๋ฅผ ์ฌ์ฉํ๋ฉด "a name" ํ๊ทธ๋ "id" ์์ฑ์ ์ฌ์ฉํ์ฌ ๋ฌธ์์ ๋ ์ด๋ธ์ ๋ช ์์ ์ผ๋ก ์ง์ ํ์ง ์๊ณ ๋ ๊ฐ๋ณ ๋จ์ด๋ ๊ตฌ๋ฌธ์ ๋ํ ๋งํฌ๋ฅผ ํ์ฑํ ์ ์์ต๋๋ค. ๋งํฌ๋ฅผ ๋ณด๋ด๋ ค๋ฉด ์ ํ ํ ์คํธ๋ฅผ ์ง์ ํ ์ ์๋ ํน์ ๋งค๊ฐ๋ณ์ "#targetText="๊ฐ ์ ๊ณต๋ฉ๋๋ค. ์ผํ๋ฅผ ๊ตฌ๋ถ ๊ธฐํธ๋ก ์ฌ์ฉํ์ฌ ์กฐ๊ฐ์ ์์๊ณผ ๋์ ๋ํ๋ด๋ ๋ฌธ๊ตฌ๊ฐ ํฌํจ๋ ๋ง์คํฌ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค(์: "example.com#targetText=start%20words, end%20words"). - AudioContext ์์ฑ์์ ์ต์
์ด ์ถ๊ฐ๋์์ต๋๋ค.
์ํ๋ ์ดํธ , Web Audio API๋ฅผ ํตํด ์ค๋์ค ์์ ์ ๋ํ ์ํ๋ง ์๋๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. - ํด๋์ค ์ง์ ์ถ๊ฐ
๊ตญ์ ๋ก์ผ์ผ ๋ ๋ก์ผ์ผ์ ์ํด ์ค์ ๋ ์ธ์ด, ์ง์ญ ๋ฐ ์คํ์ผ ๋งค๊ฐ๋ณ์๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ ๋ฐ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ๊ณผ ์ ๋์ฝ๋ ํ์ฅ ํ๊ทธ๋ฅผ ์ฝ๊ณ ์ฐ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๊ณ ์ฌ์ฉ์ ๋ก์ผ์ผ ์ค์ ์ ์ง๋ ฌํ๋ ํ์์ผ๋ก ์ ์ฅํฉ๋๋ค. - ๊ธฐ๊ตฌ
์๋ช ๋ HTTP ๊ตํ (SXG)๋ฅผ ์ํ ๋๊ตฌ๋ก ํ์ฅ๋จ์๋ฆฌ๋ ์ธ์ฆ์ ํ์ธ ๋ฌธ์ ๋ฑ ์๋ช ๋ ์ฝํ ์ธ ๋ค์ด๋ก๋ ์ค๋ฅ์ ๋ํด ์ฝํ ์ธ ๋ฐฐํฌ์์๊ฒ ๋ฌธ์ํ์ธ์. ์ค๋ฅ ์ฒ๋ฆฌ๋ API ํ์ฅ์ ํตํด ์ํ๋ฉ๋๋ค.๋คํธ์ํฌ ์ค๋ฅ ๋ก๊น . SXG๋ฅผ ๊ธฐ์ตํด๊ทธ๊ฒ์ ์ ์์ต๋๋ค ํ ์ฌ์ดํธ์ ์์ ์๋ ๋์งํธ ์๋ช ์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ฌ์ดํธ์ ํน์ ํ์ด์ง์ ๋ฐฐ์น๋ฅผ ์น์ธํ ํ ๋ ๋ฒ์งธ ์ฌ์ดํธ์์ ํด๋น ํ์ด์ง์ ์ก์ธ์คํ๋ฉด ๋ธ๋ผ์ฐ์ ๋ ์ฌ์ฉ์์๊ฒ ์๋ณธ ์ฌ์ดํธ์ URL์ ํ์ํฉ๋๋ค. ํ์ด์ง๊ฐ ๋ค๋ฅธ ํธ์คํธ์์ ๋ก๋๋์์ต๋๋ค. - TextEncoder ํด๋์ค์ ๋ฉ์๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
์ธ์ฝ๋ฉ์ธํ () , ์ด๋ฅผ ํตํด ์ธ์ฝ๋ฉ๋ ๋ฌธ์์ด์ ๋ฏธ๋ฆฌ ํ ๋น๋ ๋ฒํผ์ ์ง์ ์ธ ์ ์์ต๋๋ค. encodeInto() ๋ฉ์๋๋ ์ก์ธ์คํ ๋๋ง๋ค ๋ฒํผ ํ ๋น ์์ ์ ์ํํด์ผ ํ๋ encode() ๋ฉ์๋์ ๋ํ ๊ณ ์ฑ๋ฅ ๋์์ ๋๋ค. - ์๋น์ค ์์ปค ์ค
์ ๊ณต๋ ๋ฌธ์๊ฐ ์ค๋น๋ ๋๊น์ง client.postMessage() ํธ์ถ์ ๋ฒํผ๋งํฉ๋๋ค. client.postMessage()๋ฅผ ํตํด ์ ์ก๋ ๋ฉ์์ง๋ DOMContentLoaded ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ฑฐ๋ onmessage๊ฐ ์ค์ ๋๊ฑฐ๋ startMessages()๊ฐ ํธ์ถ๋ ๋๊น์ง ๋ณด๊ด๋ฉ๋๋ค. - CSS ์ ํ ์ฌ์์ ์๊ตฌ์ ๋ฐ๋ผ
์ถ๊ฐ CSS ์ ํ์ด ๋๊ธฐ์ด์ ์ถ๊ฐ๋๊ฑฐ๋, ์ทจ์๋๊ฑฐ๋, ์์๋๊ฑฐ๋, ์คํ์ด ์๋ฃ๋ ๋ ์์ฑ๋๋ Transitionrun, Transitcancel, TransitionStart ๋ฐ Transitionend ์ด๋ฒคํธ์ ๋๋ค. - XMLHttpRequest์ ๋ํ overrideMimeType() ๋๋ MIME ์ ํ์ ํตํด ์๋ชป๋ ๋ฌธ์ ์ธ์ฝ๋ฉ์ ์ง์ ํ ๋ ์ด์ Latin-8 ๋์ UTF-1๋ก ๋์ฒด๋ฉ๋๋ค.
- iframe์ ์ฒ๋ฆฌํ ๋ ํ์ผ์ ์๋์ผ๋ก ๋ค์ด๋ก๋ํ ์ ์๋ "์ฌ์ฉ์ ํ์ฑํ ์์ด ๋ค์ด๋ก๋ ํ์ฉ" ์์ฑ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ํฅํ ๋ฆด๋ฆฌ์ค์์ ์ ๊ฑฐ๋ ์์ ์
๋๋ค. ์์ผ๋ก๋ ๋ช
์์ ์ธ ์ฌ์ฉ์ ์กฐ์น ์์ด ํ์ผ ๋ค์ด๋ก๋๋ฅผ ์์ํ๋ ๊ฒ์ด ๊ธ์ง๋ ๊ฒ์
๋๋ค. ์ด๋ ์
์ฉ, ๊ฐ์ ๋ค์ด๋ก๋ ๋ฐ ์ฌ์ฉ์ ์ปดํจํฐ์ ์
์ฑ ์ฝ๋ ์ผ๋ถ ์ฝ์
์ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉ๋์๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ค์ด๋ก๋๋ฅผ ์์ํ๋ ค๋ฉด ์ฌ์ฉ์๊ฐ ๋์ผํ ํ์ด์ง๋ฅผ ํด๋ฆญํด์ผ ํฉ๋๋ค. ์ด ์์ฑ์ ์๋ Chrome 74์์ ์ ๊ฑฐ๋ ์์ ์ด์์ง๋ง ์ ๊ฑฐ๊ฐ ์๋ฃ๋์์ต๋๋ค.
์ฐ๊ธฐ ํฌ๋กฌ 76๊น์ง. - Windows ํ๋ซํผ์๋ ์ธํฐํ์ด์ค ๋์์ธ์ ์ํ ์ ํ์ ๋คํฌ ํ ๋ง๊ฐ ์ ๊ณต๋ฉ๋๋ค(์ด์ ๋ฆด๋ฆฌ์ค์์๋ macOS์ฉ์ผ๋ก ๋คํฌ ํ ๋ง๊ฐ ์ค๋น๋์์ต๋๋ค). ์ด๋์ด ๋์์ธ์ ์ํฌ๋ฆฟ ๋ชจ๋์ ๋์์ธ๊ณผ ๊ฑฐ์ ๋์ผํ๋ฏ๋ก ๊ฐ์ธ ์๋ ๋ชจ๋๋ฅผ ๊ฐ์กฐํ๊ธฐ ์ํด ์ฌ์ฉ์ ํ๋กํ ์์ด์ฝ ๋์ ํน์ ํ์๊ธฐ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ๊ธฐ์
์ฌ์ฉ์๋ฅผ ์ํ ๊ธฐํ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
Chrome ๋ธ๋ผ์ฐ์ ํด๋ผ์ฐ๋ ๊ด๋ฆฌ Google ๊ด๋ฆฌ ์ฝ์์ ํตํด ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ์ค์ ์ ๊ด๋ฆฌํฉ๋๋ค.
ํ์ ๋ฐ ๋ฒ๊ทธ ์์ ์ธ์๋ ์ ๋ฒ์ ์ ๋ค์์ ์ ๊ฑฐํฉ๋๋ค.
์ถ์ฒ : opennet.ru