2022-07 
๋งํฌ & ์ฝ์๊ฑฐ๋ฆฌ
ES2022 Features!
์ค์์ค ์ ๋ค๋ฐ์์ ์ด๋ฆฐ 123๋ฒ์งธ ECMA ์ดํ(General Assembly)์์๋ ECMA-262์ 13๋ฒ์งธ ์๋์ ์ธ โECMAScript 2022โ๊ฐ ์น์ธ๋์๋ค.
- .at() method on built-in indexables
- RegExp Match Indices
- Object.hasOwn
- Error cause
- Top-level await
- Class field declarations
- Ergonomic brand checks for private fields
[์ฐธ๊ณ ] ์ถ๊ฐ๋ก ๋ค์ ๊ธ๋ ์ฐธ๊ณ ํด ๋ณด๋ฉด ์ข๋ค.
Svelte Origins: A JavaScript Documentary
๊ฐ๋ฐ์ ๊ตฌ์ธ ํ๋ซํผ์ ์๋น์คํ๋ OfferZen์์ ์ด์ ์ค์ธ YouTube ์ฑ๋์์๋ ๋ค์ํ ๊ฐ๋ฐ ํ๋ ์์ํฌ, ๋๊ตฌ ๋ฑ์ ๋ํ ๊ธฐ์(Origins)์ ๋ํ ๋คํ๋ฉํฐ๋ฆฌ๋ฅผ ๊ณต๊ฐํ๊ณ ์๋ค.
์ด ์์์์๋ Svelte ๊ฐ๋ฐ์์ธ Rich Harrison๋ ์ ๋๋ฆฌ์ฆ์ ๊ณต๋ถํ๋ค, 2008๋ ๋ฐ๋์ ๊ธ์ต ๊ด๋ จ ์ถ๊ฐ๋ฌผ์ ๋ฐํํ๋ ํ์ฌ์ ์ฒซ ์ทจ์ ์ ํ๊ฒ ๋์๋ค๊ณ ํ๋ค. ๊ทธ๋ฌ๋, 2008๋ ๊ธ์ต์๊ธฐ๋ก ์ธํด ์ผํ๊ธฐ ์์ํ ์ฒซ ๋ช ๋ฌ๊ฐ ๋ง์ ์ฌ๋๋ค์ด ํด๊ณ ๋๋ ๊ฒ์ ์ง์ ๋ชฉ๊ฒฉํ๋ฉด์๋ถํฐ ์ค์ค๋ก๊ฐ ์ข ๋ ๊ณ ์ฉ๋๊ธฐ์ ๋งค๋ ฅ์ ์ธ ์ฌ๋์ด ๋๊ธฐ ์ํด, ๋ณด๋ค ๊ธฐ์ ์ ์ญํ ์ ์ํํ๊ธฐ ์ ํฉํ ์ฌ๋์ด ๋๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ค๊ณ ๋งํ๋ค.
๋ช ๋ ๋ค ํ์ฌ์์ ์์ฃผ ๋ฒ ์ด์งํ HTML ์์ ์ด ํ์ํ์ ๋ ์์ ์ด ๊ฐ์ฅ ์ ์ค๋น๋์ด ์์๊ณ , ๊ทธ๋ ๊ฒ ๊ฐ๋ฐ์๋ก์จ ์ปค๋ฆฌ์ด๊ฐ ์์๋์๋ค๊ณ ํ๋ค. Svelte์ ๊ผญ ๊ด์ฌ์ด ์๋๋ผ๋ ๊ฐ๋ฐ์ ๊ด์ ์์ ํฅ๋ฏธ ์๊ฒ ๋ณผ ์ ์๋ ๋ด์ฉ๋ค์ด ๋ง์ ์ฌ๋ฏธ์๊ฒ ๋ณผ ์ ์๋ค.
[์ฐธ๊ณ ] ์ถ๊ฐ๋ก Tailwind์ ๋ํ ์์๋ ์ฌ๋ฏธ์๊ฒ ๋ณผ ์ ์๋ค.
Front-end Frameworks Popularity
React๋ ํ์ฌ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ Front-end ํ๋ ์์ํฌ๋ค. ์ด ๋ฌธ์์์๋ ๋ค์ํ ์์ค(StackOverflow trend, ๊ฐ์ข ๊ฐ๋ฐ์ ์ค๋ฌธ์กฐ์ฌ, ํธ์ํฐ ์ธ๊ธ๋ ๋ฑ)๋ค์ ํตํด ๊ทธ๋ฌํ โ์ฌ์คโ์ ๋ณด์ฌ์ค๋ค.
JSConf Budapest 2022
์ง๋ 6์ 2,3์ผ ์ดํ๊ฐ ์งํ๋์๋ JSConf Budapest ๋ฐํ ์์์ด๋ค. ์ฝ๋ก๋๋ก ์ธํด 2๋ ๊ฐ ์ด๋ฆฌ์ง ๋ชปํ๋ค๊ฐ ์ค๋๋ง์ ์คํ๋ผ์ธ์์ ์งํ๋์๋ค. ๋ค์ฑ๋ก์ด ์ธ์ ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, 2๋ ๊ฐ์ ํ๋ฐ๋ฏน์ผ๋ก ์ธํ ์ฌํ ๋๋ฌธ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ ์ ๊ฑด๊ฐ๊ณผ ์คํธ๋ ์ค ๋ฑ์ ๋ํ ์ธ์ ๋ค์ด ๋์ ๋๋ค.
์คํ๋ผ์ธ ์ฝํผ๋ฐ์ค ์ฐธ์ฌ์ ๋ชฉ๋ง๋ฆ์ด ์๋ค๋ฉด, ์กฐ๊ธ์ด๋๋ง ๊ทธ ๊ฐ์ฆ์ ํด์ํด ์ค ๊ฒ์ด๋ค.
Web browsers over the last 28 years
์ง๋ 6์ 15์ผ Internet Explorer๊ฐ ๋๋์ด ์๋ณ์ ๊ณ ํ๊ณ , ๊ตญ๋ด ๊ฐ๋ฐ์์ ๋ฌ๋น ์ค์น ์กฐํฌ๋ ์ ์ธ๊ณ์ ์ธ ํ์ ๊ฐ ๋๊ธฐ๋ ํ์๋ค. ๋์ค์ ์ธ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฑ์ฅํ ์ด๋๋ก ์๋ง์ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฑ์ฅํ๋ค ์ฌ๋ผ์ง๊ธฐ๋ฅผ ๋ฐ๋ณตํ๋ค. ์ด ์์์ 1994๋ ~2022๋ ๊น์ง์ ๋ธ๋ผ์ฐ์ ๋ณ ์ ์ ์จ ๋ณํ๋ฅผ ํตํ ํฅ๋ง์ฑ์ ๋ฅผ ํ์ด๋ณผ ์ ์๊ฒ ํ๋ค.
[์ฐธ๊ณ ] ๋ธ๋ผ์ฐ์ ์ ์ญ์ฌ์ ๋ํด ๊ด์ฌ์ด ์๋ค๋ฉด ๋ค์ ๋งํฌ๋ค์ ์ฐธ๊ณ ํ๋ผ.
- The History of Web Browsers
- ๋งํ๋ก ๋๋๋ ์์ /์คํ์์ค ์ํํธ์จ์ด ์ด์ผ๊ธฐ
WebKit Features in Safari 16 Beta

ํฌ๋กฌ์ด ๋์ธ ๋ธ๋ผ์ฐ์ ์ด์ง๋ง Safari๋ ๊ทธ์ ๋ชป์ง์๊ฒ ๋ง์ ๋ฐ์ ์ด ์์๋ค. ํนํ ์ด๋ฒ Safari 16์์๋ 162๊ฐ์ feature๊ฐ ์ถ๊ฐ๋์๋ค.
HTML / CSS / Web Inspector / Web API / JavaScript ๊ทธ๋ฆฌ๊ณ WebAssembly / Security and privacy ๋ฑ, ๋ค์ํ ๋ถ๋ถ์ ๋ํ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์๋ค.
์์ธํ ๋ถ๋ถ์ WWDC์์ ์๊ฐ๋ ์์์ ์ฐธ๊ณ ํ๊ธฐ ๋ฐ๋๋ค.
ํ ์ค ๊ฐ๋ฐ์ ์ฝํผ๋ฐ์ค SLASH 22
ํ ์ค์ ๊ฐ๋ฐ ๊ฒฝํ์ ์๋ ค์ฃผ๋ ์จ๋ผ์ธ ์ธ์ ์ด 6์ 8์ผ ~ 6์ 10์ผ 3์ผ๊ฐ ์ด๋ ธ๋ค. ์ฌ๋ฏธ์๋ ์ฃผ์ ๊ฐ ๋ง์๋๋ฐ ๊ทธ์ค์์ UX, Front-end์ ๊ด๋ จ ์๋ ์ฃผ์ ๋ช ๊ฐ์ง๋ง ๊ธฐ์ ํ๋ค. ํ๋ฒ ์ดํด๋ณด๊ธฐ ๋ฐ๋๋ค.
- UX์ DX, ๊ทธ ๋ชจ๋ ๊ฒฝํ์ ์ํ ๋์์ธ ์์คํ
- ์์ด๋ฒ๋ฆฐ ์ ์ ์ ์๊ฐ์ ์ฐพ์์: 100๋ ์ ์๊ปด์ค SSR ์ด์ผ๊ธฐ
- Effective Component ์ง์ ๊ฐ๋ฅํ ์ฑ์ฅ๊ณผ ์ปดํฌ๋ํธ
- ์์ด๋ฒ๋ฆฐ ๊ฐ๋ฐ์์ ์๊ฐ์ ์ฐพ์์: ๋งค์ผ ํ๋ฃจ๋ฅผ ์๋ผ๋ DevOps ์ด์ผ๊ธฐ
ํ ์ค์์์ ์๊ฐ์ ๋์๋ณด๋ฉฐ
ํ ์ค์์ ์ผํ๋ 2๋ ๋ฐ์ ์ ์ฌ ๊ฒฝํ์ ๊ธฐ์ ํ ๊ธ์ด๋ค. ํ ์ค๋ ๋ค๋ฅธ ๊ธฐ์ ๋ณด๋ค ์ด๋ป๊ฒ ์ผ์ ๋ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๋์ง๋ถํฐ ์ฑ์ฅํ๋ฉด์ ๊ฒช์ ํ ์ค ์กฐ์ง์ ๋ฌธ์ ์ ์ ์ด๋ค ์์ผ๋ก ํด๊ฒฐํด ๋๊ฐ๋์ง๋ ์ค๋ช ํ๊ณ ์๋ค. ์กฐ์ง๊ด๋ฆฌ์ ์ฑ์ฅ์ ๊ด์ฌ ์๋ ๋ถ์ด๋ผ๋ฉด ํ ๋ฒ ์ฝ์ผ๋ฉด ์ข์ ๊ธ์ด๋ค.
๋ด๊ฐ ํ๋ก ํธ์๋๋ฅผ ํ์ตํ ๋ฐฉ๋ฒ
๋ณด์ 7๊ฐ์, ๋ฐฑ์๋ 1๋ 7๊ฐ์ ๊ฒฝํ์ด ์๋ ๊ฒฝ๋ ฅ 3๋ ์ฐจ ๊ฐ๋ฐ์์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ ์ ํ๊ธฐ์ด๋ค. ์ฒ์๋ถํฐ ์ด๋ป๊ฒ ํ์ตํ๊ณ , ์ด๋ค ๊ฐ์ข๋ฅผ ํตํด ํ์ต์ ํ๋์ง ๊ธฐ์ ํ๊ณ ์๋ค. ์ด๋ณด ๊ฐ๋ฐ์๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ฒ์ ์์ํ์๋ ๋ถ์ด๋ผ๋ฉด ์ฐธ๊ณ ํด ๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
Understanding the Closure Trap of React Hooks

React 16.8 ๋ฒ์ ๋ถํฐ Hook์ด ๋์จ ์ดํ๋ก ์ด์ ๋ ๋ณดํธ์ ์ผ๋ก Hook์ ์ฌ์ฉํ๋ค.
ํ์ง๋ง, ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ์ง๋ฉดํ๊ฒ ๋๋ ๊ณ ์ ์ ์ธ ๋ฌธ์ ์ค ํ๋๋ closure trap of React Hooks
์ด๋ค.
์ด ์ํฐํด์ ํตํด์ ๋ฌธ์ ๊ฐ ์ด๋ค ๊ฒ์ธ์ง, ์ ๊ทธ๋ ๊ฒ ๋์์ ํ๋์ง์ ๋ํด FiberNode
์ useEffect
์ ๊ตฌํ์ ๋ฐ๋ผ๊ฐ๋ฉฐ ์๋ฆฌ๋ฅผ ํ์
ํด ๋ณผ ์ ์๋ค.
ํํ ๋ฆฌ์ผ
AbortController๋ก ์์ฒญ ์ทจ์ํ๊ธฐ
AbortContoller๋ฅผ ์ด์ฉํ์ฌ ์์ฒญ์ ์ทจ์ํ๋ ๊ธฐ๋ฅ์ ์๊ฐํ ๊ธ์ด๋ค.
๋ธ๋ผ์ฐ์ ์์์ ์์ฒญ๊ณผ Node.js ์คํธ๋ฆผ์ ์์ฒญ์ ์ทจ์ํ๋ ๊ธฐ๋ฅ์ ์๊ฐํ๊ณ ์๋ค.
๊ด๋ จํด์ AbortController is your friend ํํ ๋ฆฌ์ผ ๊ธ๋ ์์ผ๋ ์ฐธ๊ณ ํ๊ธฐ ๋ฐ๋๋ค.
Precise Timing With Web Animations API
Web Animation API๋ฅผ ์ด์ฉํ์ฌ ์ ํํ ์์ ์ ๋ํ ์ ํํ ์ ๋๋ฉ์ด์ ์ ๋ง๋ค ์ ์๋ ๋ฐฉ๋ฒ์ ํํ ๋ฆฌ์ผ์ ํตํด ์ค๋ช ํ๊ณ ์๋ค.
vanilla-javascript-gantt-chart

Vanilla JS๋ฅผ ์ด์ฉํ์ฌ ๊ฐํธ ์ฐจํธ๋ฅผ ๋ง๋๋ ํํ ๋ฆฌ์ผ ์ด๋ค. ๋ง์ ๊ฒ์ ๊ณ ๋ คํด์ผํ๋ ๋งํผ ๋ง์ ๊ฒ์ ๋ฐฐ์ธ ์ ์๋ ๊ธ์ด๋ค.
CSS Speedrun
๊ฐ๋จํ CSS ์ ํ์ ํผ์ฆ์ ํ์ด๋ณด๋ ์ฌ์ดํธ์ด๋ค. ์ด 10 ๋ ๋ฒจ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. Speedrun์ด๋ผ๋ ์ด๋ฆ๋ต๊ฒ ๊ฐ ๋ ๋ฒจ์ ํต๊ณผํ๋๋ฐ ์ผ๋ง์ ์๊ฐ์ ์๋ชจํ๋์ง๋ ํ์ธํด ๋ณผ ์ ์๋ค.
Google JavaScript Interview With A Frontend Engineer

๋ชจ์ Google JavaScript ์ธํฐ๋ทฐ๋ฅผ ์งํํ๋ ์์์ด๋ค. promiseAll, deepEquals, getTimer์ ๋ํด ์ธํฐ๋ทฐ๋ฅผ ์งํํ๋ค.
์ฝ๋์ ๋๊ตฌ
JSON HERO
JSON ์์ ์จ์ด ์๋ ์ด๋ฏธ์ง, ๋ ์ง, ์์ ๋ฑ์ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ํ ์ ์๋ค. ๊ทธ๋ฟ๋ง ์๋๋ผ ๊ตฌ์กฐํ๋ JSON๋ ์ฝ๊ฒ ํ์ํ ์ ์๋ค.
- vscode extension ๋ ์์ด์ VS Code์์ ํ์ฉํ ์ ์๋ค.
Clipdrop Remove Background
์ฌ์ง์ ๋ฐฐ๊ฒฝ์ ๋จ ํ ๋ฒ์ ํด๋ฆญ๋ง์ผ๋ก ์ ๊ฑฐํ ์ ์๋ ์จ๋ผ์ธ ํด์ด๋ค.
Timeline JS
ํ์ ๋ผ์ธ์ ์ฝ๊ฒ ๋ง๋ค ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์คํ ๋ฆฌ๋ฅผ ๋ด๋ ํ์๋ผ์ธ์ ๊ฐ๋จํ ๋ง๋ค๊ณ ์ ํ๋ค๋ฉด ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด ๋ณด๊ธฐ ๋ฐ๋๋ค.
Fastify V4.2
๊ฐ์ฅ ๋น ๋ฅด๊ณ ์ ์ ์ค๋ฒํค๋๋ฅผ ์งํฅํ๋ ์น ํ๋ ์์ํฌ์ธ Fastify๊ฐ 4 ๋ฒ์ ์ด ๋ฆด๋ฆฌ์ค๋๋ค. V3์์ ๊ฐ์ง๊ณ ์๋ ์ฅ์ ์ Break Change์ ์ฑ๋ฅ ์ ํ ์์ด ๊ฐ๋ฐํ ํ์ ์ญ๋์ด ๋๋จํ๋ค.
์ต๊ทผ v4.2๊ฐ ๊ณต๊ฐํ๋ค. https://github.com/fastify/fastify/releases/tag/v4.2.0