2022-08 
๋งํฌ & ์ฝ์๊ฑฐ๋ฆฌ
Fresh 1.0
Fresh๋ Deno์์ ๋์ํ๋ ์๋ก์ด full-stack ์น ํ๋ ์์ํฌ๋ก Deno ๊ฐ๋ฐํ์์ ๊ฐ๋ฐํ๋ค. Next.js์ ์ ์ฌํ ํ์ผ์์คํ ๋ผ์ฐํ ์ด ์ง์๋๋ฉฐ, ๋น๋ ๊ณผ์ ์ด ์๊ณ ๋ํดํธ๋ก ์ด๋ ํ JavaScript ์ฝ๋๋ ํด๋ผ์ด์ธํธ๋ก ๋ณด๋ด์ง ์๋๋ค. ๋๋ถ๋ถ์ ๋ ๋๋ง์ ์๋ฒ์์ ์ด๋ค์ง๋ฉฐ, ํด๋ผ์ด์ธํธ๋ ์ํธ์์ฉ์ ์ํด ์์ ์์ญ๋ค(small islands - Island ์ํคํ ์ฒ)์ ๋ํ ์ฌ๋ ๋๋ง์ ์ํํ๋ค.
์ฌ์ค์ Next.js์ Deno ๋ฒ์ ์ผ๋ก ๋ณผ ์ ์์ผ๋ฉฐ, Preact๋ฅผ ์ฌ์ฉํ๋ค.
์ฐธ๊ณ ๋งํฌ
Between the Wires: An interview with developer and entrepreneur Guillermo Rauch
Next.js๋ฅผ ๊ฐ๋ฐ(๋ํ socket.io, Mongoose๋ ๊ฐ๋ฐ)ํ Vercel์ ์ฐฝ์ ์์ธ Guillermo Rauch์ ๋ํ 2017๋ ์ธํฐ๋ทฐ ๋ด์ฉ์ด๋ค. ์๋ฅดํจํฐ๋ ์๋์ธ ๋ถ์๋ ธ์ค์์ด๋ ์ค ๊ทผ๊ต์์ ์ฑ์ฅํ๊ณ , ์คํ ํธ๋ ๊ณผ ์์ง๋์ด๋ง์ ๊ด์ฌ์ด ๋ง๋ ์๋ฒ์ง๋ก ์ธํด 7์ด ๋ ์ปดํจํฐ๋ฅผ ์ฒ์ ์ฌ์ฉํ๊ธฐ ์์ํ๋ค๊ณ ํ๋ค.
์ดํ 16์ด์ด ๋์์ ๋, ๋น์ ์ ๋ช ํ๋ MooTools ์ฝ์ด ๊ฐ๋ฐ์๋ก ํฉ๋ฅํ๊ฒ ๋์๊ณ ๊ทธ ๋ค์ ํด ์ค์์ค ์คํํธ์ ์ Front-end ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ง์์ ์ํด ์ฑ์ฉ๋์๊ณ , ์ดํ ์ํ๋์์ค์ฝ ์ฌ๋ฌด์ค์ ์ด๊ฒ ๋จ์ ๋ฐ๋ผ ๋ฏธ๊ตญ์ผ๋ก ์ด๋ํ๊ฒ ๋์๊ณ ์ดํ ์ฐฝ์ ์ ํตํด ์ค๋๋ ์ ์ด๋ฅด๊ฒ ๋์๋ค๊ณ ํ๊ณ ํ๋ค.
์ค๋๋ Front-end ์ฌ์์ ์ํฅ๋ ฅ์ ๊ฐ๋ ์ด์ ๊ถค์ ์ ์ฟ๋ณด๋ ๊ฒ์ ์ธ์ ๋ ํฅ๋ฏธ๋กญ๋ค.
์ถ๊ฐ๋ก ๋ค์์ ํ์บ์คํธ ์ธํฐ๋ทฐ๋ ๊ฐ์ด ๋ค์ด๋ณด๊ธฐ ๋ฐ๋๋ค.
Remix Conf 2022
์ง๋ 5์ 24~25์ผ, ์ฒ์ ๊ฐ์ต๋ Remix ์ฝํผ๋ฐ์ค ์ธ์ ๋ค์ ํ์ธํด ๋ณผ ์ ์๋ค.
The new wave of React state management
์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํด๊ฒฐํด์ผ ํ๋ ํต์ฌ ๋ฌธ์ ์ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์ด๋ป๊ฒ ์๋ก์ด ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฅผ ๋ค๋ฃจ๊ณ ์๋์ง ์ค๋ช ํ๋ ๊ธ์ด๋ค. ๋์ฒด์ ์ผ๋ก ์ ์ญ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค์์ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ ์ ์์ด์ผ ํ๋ค.
- ๊ตฌ์ฑ ์์ ํธ๋ฆฌ์ ๋ชจ๋ ์์น์์ ์ ์ฅ๋ ์ํ๋ฅผ ์ฝ์ ์ ์์ด์ผ ํ๋ค.
- ์คํ ์ด์์ ์ฝ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ ์ฅํ ์ ์์ด์ผ ํ๋ค.
- ๋ ๋๋ง ์ต์ ํ ๋ฉ์ปค๋์ฆ ์ ๊ณตํด์ผ ํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ต์ ํํ๋ ๋ฉ์ปค๋์ฆ ์ ๊ณตํด์ผ ํ๋ค.
Nate Moore: WebAssembly in the JavaScript Ecosystem
์ค๋๋ JavaScript ๊ฐ๋ฐ์์ ์ฌ์ฉํ๋ ์์กด์ฑ๋ค ์ค ์ผ๋ง๋ ๋ง์ ์์ญ์์ wasm์ ๋ฐฐํ์์ ํ์ฉํ๊ณ ์๋์ง๋ฅผ ์๋ค๋ฉด ๋๋ ๊ฒ์ด๋ค.
์ด ๋์์์ JavaScript์ TypeScript ์ํ๊ณ์์ wasm์ ์ฃผ๋ชฉํ ๋งํ ์ฉ๋๋ฅผ ์ดํด๋ณด๊ณ ์์ ํ ๋ค์ดํฐ๋ธ ๋๋ ์์ JavaScript ํด๋ฒ๊ณผ ๋น๊ตํด ํ์ด๋ธ๋ฆฌ๋ wasm/JS ๋๊ตฌ์ ์ด์ ์ ๋ํด ์ค๋ช ํ๋ค.
Front-end Web Performance: The Essentials
์๋ฆฌ์ฆ๋ก ๊ตฌ์ฑ๋(์์ง ์์ฑ๋์ง ์์) ๊ธ์ ํตํด ์ ์๋ ์น ์ฑ๋ฅ์ ์ํด ์ดํดํด์ผ ํ๋ ๋ณธ์ง์ ์์๋ค์ ํ๋์ฉ ์ค๋ช ํ๋ค.
์ฒซ ๋ฒ์งธ ์๋ฆฌ์ฆ ๊ธ์์ ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง ์ฌ์ดํด๊ณผ ํ๋์จ์ด ๊ฐ์, ํฉ์ฑ ๋ ์ด์ด ๋ฑ์ ๋ํ ์ ๋ฐ์ ์ธ ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง ๊ณผ์ ์ ๋ค๋ฃจ๋ฉฐ, ๋ ๋ฒ์งธ ๊ธ์์ ์ด๋ฒคํธ ๋ฃจํ, ๋น๋๊ธฐ ์ค์ผ์ค๋ง ๋ฑ์ ํตํด ๋ธ๋ผ์ฐ์ ์ ๋์์ ๋ธ๋ก ํ์ง ์๋ ๊ฒ์ ๋ํ ์ค๋ช ์ ์ด์ด ๊ฐ๋ค.
๋ ๋ฒ์งธ ์๋ฆฌ์ฆ ๊ธ:
Bun
Bun์ ์๋ก์ด JavaScript ๋ฐํ์์ด๋ฉด์ ๋์์ ๋ฒ๋ค๋ฌ, ํธ๋์คํ์ผ๋ฌ ๊ทธ๋ฆฌ๊ณ ํจํค์ง ๋งค๋์ ์ญํ ์ ์ํํ ์ ์๋ all-in-one ๋๊ตฌ์ด๊ธฐ๋ ํ๋ค.
์๋์ ์ด์ ์ ๋ง์ถฐ Node.js๋ Deno์๋ ๋ค๋ฅด๊ฒ WebKit์ JavaScriptCore ์์ง์ ํ์ฉํ๋ค. ์ฃผ์ํ Front-end ์ํ๊ณ์ ๋๊ตฌ์ ํ๊ฒฝ์ ๋ชจ๋ ์ง์ํ๋ฉฐ, TypeScript์ JSX, Jest-like ํ ์คํธ ๋ฌ๋๋ ๋นํธ์ธ ๋์ด ๊ธฐ๋ณธ ์ง์๋๋ค. Bun์ ๋ก์ฐ ๋ ๋ฒจ ์ธ์ด์ธ Zig๋ก ์์ฑ๋์์ผ๋ฉฐ, ์์ฒญ๋๊ฒ ๋ง์ ์๊ฐ์ ํฌ์ํด ํ๋กํ์ผ๋ง๊ณผ ์ต์ ํ ๊ทธ๋ฆฌ๊ณ Zig์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ํน์ฑ์ ์ต๋ํ ํ์ฉํด ๋ณด๋ค ๋จ์ํ๊ณ ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์์๋ค๊ณ ํ๋ค.
[์ฐธ๊ณ ]
How I Estimate NPM Package Market Share (and how Redux usage compares to other libraries)
์ ์๋ ์ต๊ทผ ๋ช ๋ ๊ฐ "Redux๋ React ์ฑ์์ 45~50% ์ ๋ ์ฌ์ฉ๋๊ณ ์๋ค"์ "Redux๋ React ์ฑ์์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ํ ๊ด๋ฆฌ ๋๊ตฌ์ด๋ค"๋ผ๋ ์๊ฒฌ์ ์๊ธฐํด ์์๊ณ , ์ด๋ป๊ฒ ๊ทธ๋ฌํ ๊ฒฐ๋ก ์ ๋์ถํด ๋ผ ์ ์์๋์ง์ ๋ํ ์ ๊ทผ ๋ฐฉ๋ฒ(๋ค์ํ ์ฐธ๊ณ ์งํ๋ค)์ ์๊ฐํ๋ค.
๊ธ์์ Redux๋ฅผ ๋์์ผ๋ก ํ์ง๋ง, ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ ํ๋์ง ๊ฒฐ์ ์ด ํ์ํ ๊ฒฝ์ฐ๋ผ๋ฉด ์ด ๊ฒฝํ์ด ๋์์ด ๋ ์ ์์ ๊ฒ์ด๋ค.
The Best Solution to Burnout Weโve Ever Heard
Slack, Netfliy ๊ทธ๋ฆฌ๊ณ Ambassador Labs์์ ์ผํ๋ ์์ง๋์ด๋ค๊ฐ์ ํ ๋ก ์ธ์ ํ์บ์คํธ๋ก ๋ฒ์์์ ๊ทน๋ณตํ๊ธฐ ์ํ ๊ฐ์ฅ ์ข์ ํด๋ฒ์ด ๋ฌด์์ธ์ง์ ๋ํ ์๊ธฐ๋ฅผ ๋ค์ด๋ณผ ์ ์๋ค.
Slack์ ์์ ์์ง๋์ด๋ ๊ฐ๋ฐ ๋ฒ์์์ ์ํ์ฑ์ ์ ๊ธฐ์ ์ธ ๋ฐฐํฌ/๋ฆด๋ฆฌ์ค ์งํ์ ํตํด ๊ฐ์๋๋ฉฐ, ์ฌ์์ ๊ณผ ๋ณ๋ชฉํ์์ ๋ง์ ์ ์ ์ ์๋์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก๋ถํฐ ๋ฐ์๋๋ฉฐ, ๊ฐ๋ฐ์๋ค์ด ์ฝ๋ฉํ์ง ๋ชปํ๊ฒ ํ๋ ๋ชจ๋ ๊ฒ์ ์ํด ์ด๋ป๊ฒ ๋ฒ์์์ด ๋ฐ์ํจ์ ์๊ธฐํ๋ค.
<popup> element explainer

MS Edge ์น ํ๋ซํผ ํ์ Melanie Richardson์ 21๋
1์ ์๋ก์ด <popup>
์์์ ๋ํ ์ ์๊ณผ ๊ทธ์ ๋ํ ์ค๋ช
(explainer) ๋ฌธ์๋ฅผ ๊ณต๊ฐํ์๋ค.
์ด ์์๋ ๋ฌธ์ ๋ด์ ๋ค๋ฅธ ์์๋ค๋ณด๋ค ์ต์์ ๋ ๋ฒจ์ ํํ๋๋ ๋ ์ด์ด๋ฅผ ์์ฑํ๊ณ ํํํ๋ ๊ฒ์ ๋ํ ๊ฒ์ผ๋ก, ESC ํค๋ฅผ ํตํด ์จ๊ฒจ์ง๊ณ ํ ๋ฒ์ ํ ๊ฐ์ ๋ ์ด์ด๋ง ๋ ธ์ถ๋์ด์ผ ํ๋ ์ํฉ์ ์ฌ์ฉ๋ ์ ์๋ ์์๋ค.
ํด๋น ์ ์์ ์ถ๊ฐ์ ์ธ ๋ ผ์ ์งํ์ ํตํด ๋ณ๋ ์์๊ฐ ์๋, ๊ธฐ์กด ์์์ ์์ฑ ํํ๋ก ์ ๊ณต๋๋ ์๋ก์ด ์ ์(Pop Up API (Explainer))์ผ๋ก ๋ ผ์๊ฐ ๋ณ๊ฒฝ๋์ด ์งํ ์ค์ ์๋ค.
์ด์ ๋ํ chromium ๊ตฌํ ์งํ์ํฉ์ Tracking bug for implementation of popup
attribute/API์ ํตํด ํ์ธํ ์ ์๋ค.
CSS in 2022
2022๋ ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉํ ์ ์๋(๋๋ ์ง์๋ ๊ฒ์ผ๋ก ๊ธฐ๋) ๋ค์ํ ์๋ก์ด CSS ๊ธฐ์ ๋ค์ ์๊ฐํ๋ค.
- Container Queries: ์ปจํ ์ด๋ ํฌ๊ธฐ์ ๋ฐ๋ผ ์คํ์ผ ์ ์ฉ
- Cascade Layers:
@layer
๋ฅผ ์ฌ์ฉํด ๋ ์ด์ด ๋จ์๋ก ์ฐ์ ์์๋ฅผ ์ง์ - Color Functions: ์๋์ ์์ ๊ฐ, ์์ ํผํฉ, ๋๋น ์์์ ์ง์ ํ๋ ํจ์๋ค
- New Viewport Units: ์๋ก์ด ๋ทฐํฌํธ ๋จ์
- svw/svh: Short Viewport
- lvw/lvh: Large Viewport
- dvw/dvh: Dynamic Viewport
- :has(): ํน์ ์์์ด ์๋ ๋ถ๋ชจ ์์๋ฅผ ์ ํ
- overscroll Behavior: overscroll ํ ๋์ ๋์์ ์ ์ด
- Subgrid: ๋ถ๋ชจ ๊ทธ๋ฆฌ๋์ ๊ฐ์ด ์ ๋ ฌ
- Accent Color: input ์์์ ์์์ ์ง์
- Media Query Ranges: ๋ฏธ๋์ด ์ฟผ๋ฆฌ์ ์ต๋/์ต์ ๋๋น ๋ฒ์๋ฅผ ์ง์
CSS Day 2022

์ง๋ 6์ 9~10์ผ ์์คํ ๋ฅด๋ด์์ ์งํ๋ CSS๋ง์ ๋ค๋ฃจ๋ ์ฝํผ๋ฐ์ค๋ค.
Neubrutalism is taking over the web

19๋ ๋๋ถํฐ ์์ฃผ ์ธ๊ธ๋๋ ๋ด๋ชจํผ์ฆ(Newmorphism)์ ์ฃผ์ํ UI ํธ๋ ๋๊ฐ ๋์๋ ๋ฌผ์๋ค๋ฉด ๊ทธ ๋๋ต์ ์์ง๊น์ง๋ "NO" ์ผ ๊ฒ์ด๋ค. (FE-news 2020๋ 4์ ํธ - "๋ด๋ชจํผ์ฆ์ ์๋ก์ด UI ํธ๋ ๋๊ฐ ๋ ์ ์์๊น" ์ฐธ๊ณ ) ๊ทธ๋ ๋ค ๋ด๋ชจํผ์ฆ๊ณผ ๊ธ๋์ค๋ชจํผ์ฆ(Glassmorphism)์ UI๋ฅผ ์๋ก์ด ๋ฐฉํฅ์ผ๋ก ์ด๋๊ณ ์ ํ์ง๋ง ํฌ๊ฒ ํฅํ์ง๋ ๋ชปํ๋ค๊ณ ํ ์ ์๋ค.
์ต๊ทผ์๋ ์ ๋์์ธ๊ณผ ์๋นํ ๋๋น๋๋ ํน์ง์ ๋ด๋ธ๋ฃจํ๋ฆฌ์ฆ(Neubrutalism)์ด ๋ ์ค๋ฅด๊ณ ์๋ค. ํน์ดํ๋ฉด์ ์ฑ๋ ๋์ ์์, ์์ ๊ฐ ๊ณ ๋ ๋๋น์ ๊ธฐ๋ฐํ ํ์ดํฌ๊ทธ๋ํผ, ๊ทธ๋ฆฌ๊ณ ์ ํต์ ์ธ ๋ ์ด์์์ด๋ผ๋ ํกํก ํ๋ ๊ฐ์ฑ์ ๊ฐ์ง๋ ๋ด๋ธ๋ฃจํ๋ฆฌ์ฆ์ ์๋ก์ด UI ํธ๋ ๋๊ฐ ๋ ์ ์์๊น?
[์ฐธ๊ณ ] ๋ด๋ธ๋ฃจํ๋ฆฌ์ฆ์ ๋ค์ํ ์ฌ์ดํธ๋ค์ ๋ณด๊ณ ์ถ๋ค๋ฉด ๋ค์ ๊ธ์์ ํ์ธ ๊ฐ๋ฅํ๋ค.
Why Efficient Hydration in JavaScript Frameworks is so Challenging

Hydration ๊ณผ์ ์ ์๋ฒ๋ก๋ถํฐ ์ ๋ฌ๋๊ณ ๋ ๋๋ง ๋ HTML์ ๋ํด ์ํธ์์ฉ์ ์ํ ์ด๋ฒคํธ ํธ๋ค๋ฌ ์ค์ ๊ณผ ์ด๊ธฐ ์ํ ์ค์ ๋ฑ๊ณผ ๊ฐ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ํ๊ธฐ ์ํด ํ์ํ ์ฒ๋ฆฌ ๊ณผ์ ์ ์๋ฏธํ๋ค. ๋๋ค์์ ๋ชจ๋ JavaScript ํ๋ ์์ํฌ๋ค์์ ์ด ๊ณผ์ ์ ์ํด ์๋นํ ์ด๊ธฐ ๋น์ฉ์ด ๋ฐ์๋๊ธฐ ๋๋ฌธ์, ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋์ง์ ๋ฐ๋ผ ์ฌ์ฉ์ ๊ฒฝํ์ ์ํฅ์ ํฐ ์ํฅ์ ๋ฏธ์น๊ฒ ๋๋ค.
์ด ๊ธ์ ๋ณด๋ค ํจ์จ์ ์ธ hydration์ ์ํด ๋ค์ํ ํ๋ ์์ํฌ๋ค์ด ์ฑํํ๊ณ ์๋ ์ ๊ทผ ๋ฐฉ๋ฒ๋ค์ ์๊ฐํ๊ณ ์๋ค.
ํํ ๋ฆฌ์ผ
Get started analyzing runtime performance
๋ธ๋ผ์ฐ์ ์ ๊ฐ๋ฐ์ ๋๊ตฌ ๋ด์ Performance ๋๊ตฌ๋ฅผ ์ฌ์ฉํด ๋ฐํ์ ์ฑ๋ฅ์ ๋ถ์ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ค.
๋ค์ ๋ฐ๋ชจ์์ ๋ณด์ด๋ ๋๋ฆฟํ๊ฒ ์คํ๋๋ ์ ๋๋ฉ์ด์ ์์ ๋ณ๋ชฉ์ง์ ์ ํ๋กํ์ผ๋ง์ ํตํด ํ์ธํ๊ณ , ์์ค ๋ ๋ฒจ์์ ๋ณ๋ชฉ์ง์ ์ ์ฐพ๋ ๊ณผ์ ์ ํ์ธํด ๋ณผ ์ ์๋ค.
The System Design Primer
์์คํ ์ค๊ณ๋ ๊ด๋ฒ์ํ ์ฃผ์ ์ง๋ง ํ์ฅ ๊ฐ๋ฅํ ์์คํ ์ ์ค๊ณํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ด๋ค๋ฉด ๋ ๋์ ์์ง๋์ด๊ฐ ๋ ์ ์์ ๊ฒ์ด๋ค.
์ด ์ ์ฅ์๋ ๊ท๋ชจ์ ๋ง๋ ์์คํ ๊ตฌ์ถ ๋ฐฉ๋ฒ์ ํ์ตํ๋ ๋ฐ ๋์์ด ๋๋ ๋ค์ํ ๋ฆฌ์์ค๋ค์ ํ๊ณณ์์ ํ์ธํ ์ ์์ผ๋ฉฐ, ๋ค์ํ ์ฌ๋ก๋ณ ์์คํ ๊ตฌ์ถ์ ๋ํ ๋ชจ๋ฒ์ ์ธ ํด๋ฒ๋ ์ผ๋ถ ์ ๊ณตํ๋ค.
Roll your own JavaScript runtime
์ด ํํ ๋ฆฌ์ผ์ runjs
๋ผ ๋ถ๋ฆฌ๋ ์์ฃผ ๋จ์ํ๋ Deno์ ๊ฐ์ JavaScript ๋ฐํ์์ ์ง์ ๋ง๋ค์ด ๋ณด๋ ๋ด์ฉ์ ์ค๋ช
ํ๋ค.
๊ฐ๋ฐ๋ ๋ฐํ์์ CLI๋ฅผ ํตํด ํ์ผ์ ์ฝ๊ธฐ, ์ฐ๊ธฐ, ์ญ์ ํ ์ ์๋ API๊ฐ ์ ๊ณต๋๋ฉฐ, ๊ทธ๋ฆฌ๊ณ ์ฌํํ console API๋ฅผ ์ ๊ณตํ๋ค.
Build your own X
์ด ์ ์ฅ์๋ ์ฐ๋ฆฌ๊ฐ ์ข์ํ๊ฑฐ๋ ๋งค์ผ ํ์ฉํ๋ ๊ธฐ์ ์ ์ฒ์๋ถํฐ ๋ค์ ๋ง๋ค์ด ๋ณผ ์ ์๋ ๋ฐฉ๋ํ ๋ฆฌ์์ค๋ค์ ๋ํ ๋ชจ์์ ์ ๊ณตํ๋ค.
Adding Custom GitHub Badges to Your Repo

GitHub ํ๋ก์ ํธ readme ํ์ผ์ ์ปค์คํ ๋ฐฐ์ง(badge)๋ฅผ ์ถ๊ฐํ ์ ์๋ ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ ์๊ฐํ๋ค.
CSS Specificity Demo
CSS specifity๋ CSS ์ ํ์์ ์ฐ์ ์์๋ฅผ ๋ํ๋ด๋ ๊ฐ์ค์น๋ฅผ ๋ํ๋ธ๋ค.
๊ทธ๋ฌ๋ ์ ํ์์ ๋ฐ๋ฅธ ๊ฐ์ค์น๊ฐ ์ด๋ป๊ฒ ๋ถ์ฌ๋๋์ง์ ๋ํด์๋ ์ฝ๊ฒ ์์์ฐจ๋ฆฌ๊ธฐ ์ด๋ ค์ด ์ ์ด ์์ผ๋ฉฐ, ์ด ๋ฐ๋ชจ๋ ์ด๋ฅผ ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก ๋์์ค๋ค.
์ฝ๋์ ๋๊ตฌ
Qwik
HTML ์ฐ์ ์ฃผ์๋ฅผ ํ๋ฐฉํ๋ ํ๋ ์์ํฌ๋ก, AngularJS๋ฅผ ๊ฐ๋ฐํ Miลกko Hevery์ Stencil์ ๊ฐ๋ฐํ๋ Manu Almeida ๊ทธ๋ฆฌ๊ณ Ionic/Stencil ๊ฐ๋ฐ์ ์ฐธ์ฌํ๋ Adam Bradley๊ฐ ์ฐธ์ฌํ๋ค.
ํน์ง์ผ๋ก๋ ๋น hydration, ์๋ lazy-loading ์ง์, SSR/SSG๋ก ์์ฑ๋ HTML๋ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ํฌํจ์ํค๊ธฐ ๋๋ฌธ์ ์ธ์ ๋ ์คํ์ ์ฌ๊ฐํ ์ ์๋(resumable) ๊ธฐ๋ฅ์ ์ง์ํ๋ค.
JSX๋ฅผ ๊ธฐ๋ณธ ์ง์ํ๋ฉฐ, React๋ฅผ ์๊ณ ์๋ค๋ฉด ์ฝ๊ฒ ์ ๊ทผํ ์ ์๋ค.
[์ฐธ๊ณ ] ๋ณด๋ค ๊น๊ฒ ์๊ณ ์ถ๋ค๋ฉด, ๋ค์์ ๋งํฌ๋ค์ ์ถ๊ฐ๋ก ์ฐธ๊ณ ํ๋ผ.
- Miลกko Hevery๊ฐ ์์ฑํ 8๊ฐ ์๋ฆฌ์ฆ๋ก ๊ตฌ์ฑ๋ ์๊ฐ๊ธ: A first look at Qwik - the HTML first framework
- Qwik Tutorial
fnm (Fast Node Manager)
Rust๋ก ์์ฑ๋ node ๋ฒ์ ๋งค๋์ ๋ก ๋จ์ผ ํ์ผ๋ก ์ ๊ณต๋๋ค. ํฌ๋ก์ค ํ๋ซํผ์ด ๊ธฐ๋ณธ ์ง์๋๋ฉฐ, .node-version
๊ณผ .nvmrc
์ค์ ํ์ผ๊ณผ ํธํ๋๋ค.
Snake in Favicon
์์ ์๊ฒ ์ฃผ์ ์ฅ์ ๋ฌผ์ด ๋๋ ์ฑ์ฅํ๋ ๋ผ์ธ์ ์กฐ์ข ํ๋ ๊ฒ์ ์ฅ๋ฅด์ธ ์ค๋ค์ดํฌ ๊ฒ์์ ๋ธ๋ผ์ฐ์ ์ favicon ์์ญ์์ ํ๋ ์ดํ ์ ์๋ค.
wayne
Service Worker๋ HTTP ์์ฒญ์ ์บ์ฑ ํด ์คํ๋ผ์ธ ์ํ์์๋ ์ฑ์ด ๋์ํ๋๋ก ๋ง๋ค ์ ์์ผ๋ฉฐ, wayne์ ๋ง์น express.js์ ๊ฐ์ด Service Worker ์์ฒญ๋ค์ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๋ ๋ผ์ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
act
GitHub Actions๊ฐ ํธ๋ฆฌํ๋ค๋ ๊ฒ์ ๋ค๋ค ์๊ณ ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ GitHub Actions๋ฅผ ๊ฐ๋ฐ/ํ ์คํธํ๊ธฐ ์ํด ๋งค๋ฒ GitHub Repo์ commit ํด์ผ ํ๋ค๋ ๊ฒ์ ์ฌ๊ฐ ๊ท์ฐฎ์ ์ผ์ด ์๋๋ค.
act
๋ฅผ ์ด์ฉํ๋ฉด ๋ก์ปฌ์์ docker๋ฅผ ์ด์ฉํด GitHub Actions๋ฅผ ์คํํด ๋ณผ ์ ์๋ค.
Flexbox Playground
CSS๋ฅผ ์ฌ์ฉํ ๋ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋ ์ด์์ ์ค ํ๋์ธ flexbox๋ ์ฒ์์ ์ต์ํด์ง๊ธฐ๊ฐ ์ฝ์ง ์๋ค. ์ต์ํ์ง ์์ ๋ Flexbox Playground๋ฅผ ํ์ฉํด ์์ดํ ์ ์ด๊ณณ์ ๊ณณ ๋ฐฐ์นํด ๋ณด๋ฉฐ ํ์ตํด ๋ณด์.
๐ Fireworks.js 2.0
๋ง ๊ทธ๋๋ก ์น์ฌ์ดํธ ๋ด์์ ๋ถ๊ฝ๋์ด ํจ๊ณผ๋ฅผ ๊ตฌํํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค. ๋ฐ๋ชจ ์น์ฌ์ดํธ์ ๋ค์ด๊ฐ๋ฉด ํ๋ํ ๋ถ๊ฝ๋์ด๋ฅผ ๊ฐ์ํ ์ ์๋ค. ๋ํ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํด ๋ณด๋ฉด์ ์ดํํธ๋ฅผ ๋ณ๊ฒฝํ ์๋ ์๋ค. React, Vue, Angular ๋ฑ ์ฌ๋ฌ ํ๋ ์์ํฌ์ ์ปดํฌ๋ํธ๋ฅผ ์ง์ํ๊ณ ์๋ค.
Million.js
์์ฑํด ์ง์ญ ๊ณ ๋ฑํ๊ต์ ์ฌํ ์ค์ธ Aden Bai๊ฐ ๊ฐ๋ฐํ Million.js๋ 1kb ๋ฏธ๋ง์ VDOM ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ์ปดํ์ผ๋ฌ๋ฅผ ํตํด ๋ถํ์ํ ๋ถ๋ถ์ ์ ๊ฑฐํด ๋ ์์ ํฌ๊ธฐ์ ๋ฒ๋ค์ ์์ฑํ ์ ์๋ค.
๋ํ React์ ์ ์ฌํ API๋ฅผ ์ ๊ณตํ๊ณ ์์ด, ๊ธฐ์กด React ์ฌ์ฉ์๋ผ๋ฉด ์ฝ๊ฒ ์ ๊ทผํ ์ ์๋ค.
[์ฐธ๊ณ ] VDOM๊ณผ Million.js ๊ฐ๋ฐ์ ๊ธฐ์ ์ ๋ฐฐ๊ฒฝ์ ๋ํด์๋ ๋ค์ ๊ธ์ ์ถ๊ฐ๋ก ์ฐธ๊ณ ํ๋ฉด ์ข๋ค.