2020-06 
๋งํฌ & ์ฝ์๊ฑฐ๋ฆฌ
Recoil: State Management library for React
์ง๋ 5์ 14์ผ ์จ๋ผ์ธ์ผ๋ก ์ด๋ฆฐ ReactEurope ์ฝํผ๋ฐ์ค์์ ํ์ด์ค๋ถ์ ์๋ก์ด ์ํ ๊ด๋ฆฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Recoil์ ๊ณต๊ฐํ๋ค.
๋ฐํ์์: Recoil: State Management for Today's React
Recoil์ ๊ธฐ์กด ์ํ ๊ด๋ฆฌ์๋ค๋ง์ผ๋ก ํด๊ฒฐํ๊ธฐ ์ด๋ ค์ ๋ ๋ค์์ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ๋ฐ๋์๋ค๊ณ ๊ทธ ์ด์ ๋ฅผ ๋ฐํ๊ณ ์๋ค.
- Flexible shared state
- Derived data and queries
- App-wide state observation
๋ค์์ Egghead์์ ์ ๊ณต๋๋ ์ด 6๋ถ ๋ด์ธ์ ์งง์ ์จ๋ผ์ธ ํํ ๋ฆฌ์ผ์ ํตํด ๊ธฐ๋ณธ์ ์ธ Recoil์ ์ฌ์ฉ๋ฐฉ๋ฒ์ ๋น ๋ฅด๊ฒ ๋ฐฐ์ธ ์ ์๋ค.
Implementing Dark Mode In React Apps Using styled-components
๋ง์ ์น์ฌ์ดํธ๊ฐ ๋คํฌ ๋ชจ๋๋ฅผ ์ง์ํ๋ ์ถ์ธ๋ค. ๋คํฌ ๋ชจ๋๋ ์ฌ์ฉ์์ ๋์ ํผ๋ก๋ฅผ ์ค์ฌ์ค ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์ ๋๋ฐ์ด์ค์ ์ ๋ ฅ ์๋ชจ๋ฅผ ์ค์ด๋ ๋ฐ์๋ ๋์์ ์ค ์ ์๋ค. ์ด ๊ธ์์๋ CSS-in-JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋์ธ styled-components๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๋จํ๊ฒ React ํ๊ฒฝ์์ Dark Mode๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์๋ฅผ ์ํ AST(๋ฒ์ญ)
AST(Abstract Syntax Tree)๊ฐ ๋ฌด์์ธ์ง, ๋, ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ ์ด๋ป๊ฒ AST๋ก ๋ณํ์ด ๋๋์ง ์ค๋ช ํ๋ ๊ธ์ด๋ค. AST๊ฐ ์ด๋ป๊ฒ ํ์ฉ๋ ์ ์๋์ง Babel, Prettier ๋ฑ์ ๊ฐ๋จํ๊ฒ ์๋ก ๋ค์ด ๋ณด์ฌ์ค๋ค.
Become a better godfather for your React components
React Component๋ฅผ ๋๋ฒ๊น ํ๋ค ๋ณด๋ฉด ํ ๋ฒ์ฏค์ React Developer Tools์์ Anonymous Component๋ฅผ ๋ง์ฃผํ ์ ์ด ์์ ๊ฒ์ด๋ค. ์ด๋ React ๋๋ฒ๊น ์ ์์ง ์์ ๋ฐฉํด ์์๋ค. ์ด ๊ธ์์๋ ์ด๋ป๊ฒ ํ๋ฉด Anonymous Component๋ฅผ ํผํ ์ ์๋์ง ๊ฐ๋จํ ์์์ ํจ๊ป ์ค๋ช ํ๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์์ AbortController ๋ฅผ ํ์ฉํ์ฌ ๋น๋๊ธฐ ์์ ์ค๋จํ๊ธฐ
์๋ฐ์คํฌ๋ฆฝํธ์์ ๋น๋๊ธฐ ์์ ์ ๋์ค์ ์ค๋จํ๊ธฐ๋ ๋ณดํต ์ด๋ ค์ด ์ผ์ด ์๋๋ค. ์ด ๊ธ์์๋ ๋ธ๋ผ์ฐ์ ์ AbortController API๋ฅผ ์ด์ฉํ์ฌ ์๋ฐ์คํฌ๋ฆฝํธ ๋น๋๊ธฐ ์์ ์ ๋์ค์ ์ค๋จํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ ์ฝ๋์ ํจ๊ป ์ค๋ช ํ๋ค.
What's New in Lighthouse 6.0
Chrome DevTools์ ์น ์ฌ์ดํธ ์ง๋จ ๋๊ตฌ์ธ Lighthouse๊ฐ 6.0 ๋ฒ์ ์ ๋ฆด๋ฆฌ์คํ์๋ค. Chrome 84 ๋ฒ์ ๋ถํฐ ํ์ฌ ๋๋ค๊ณ ํ๋ค. ์ด ๊ธ์์๋ 6.0 ๋ฒ์ ์์ ์ด๋ค ๊ฒ๋ค์ด ๋ฐ๋์๋์ง ์ค๋ช ํ๋ค.
Text fields & Forms design โ UI components series
FE ๊ฐ๋ฐ์๋ค์ด ๋น๋ฒํ๊ฒ ๊ฐ๋ฐํ๋ form. ์ฐ๋ฆฌ๋ ๊ทธ๋์ ์ต์ํจ์ ๋ ๊ด์ฑ์ ์ผ๋ก form์ ๊ฐ๋ฐํ๊ณ ์์ง๋ ์์๋๊ฐ?
์ด ๊ธ์์๋ form์์ ๊ฐ์ข ์์๋ค์ด ์ด๋ป๊ฒ ์ ๋ ฌ๋๋์ง, ์ด๋ป๊ฒ ์์นํ๊ณ ์๋์ง ๋ฑ์ ๋ฐ๋ผ ์ฅ๋จ์ ์ ์๋ ค์ค๋ค. ๋ํ ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ํ form์ ๋ง๋ค๊ธฐ ์ํด ์ด๋ค ๋ฐฉ๋ฒ๋ค์ด ์๋์ง ์ข์ ์ฌ๋ก์ ๋์ ์ฌ๋ก๋ฅผ ๋น๊ตํ๋ฉฐ ์์ธํ๊ฒ ์ค๋ช ํด ์ค๋ค.
FE-news๋ฅผ ํตํด ์ง๋ 3์์ ๊ณต์ ํ Design Better Forms๋ฅผ ํจ๊ป ์ฝ์ด๋ณด๋ฉด ์ฌ์ฉ์๊ฐ ์ด์ฉํ๊ธฐ ํธ๋ฆฌํ form์ ๋ง๋๋๋ฐ ํฐ ๋์์ด ๋ ๊ฒ์ด๋ค.
web.dev - LIVE
๊ตฌ๊ธ ์น ํ๋ซํผ ํ์์ 3์ผ(6/30 ~ 7/2) ๋์ ์จ๋ผ์ธ ์ด๋ฒคํธ๋ฅผ ์งํํ ์์ ์ด๋ค.
๋น๋ ๋๊ตฌ๋ถํฐ CSS, ์ด๋ฏธ์ง ์์ถ, ํฌ๋กฌ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํ์ฉํ ๋ฌธ์ ์ ๋ฐ๊ฒฌ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ, PWA๋ฅผ ์๋๋ก์ด๋ ์ฑ์ผ๋ก ๋ฐฐํฌํ๊ธฐ ๋ฑ๋ฑ ์น ๊ฐ๋ฐ์ ์ ์ตํ ๋ค์ํ ๋ชจ๋ ์น ๊ธฐ์ ๊ณผ ํ ํฌ๋ ์ธ์ ๋ค์ด ์์ ๋์ด ์๋ค.
Standard IO Under the Hood
์ฐ๋ฆฌ๊ฐ console.log()
๋ฅผ ์ฌ์ฉํ ๋ ์ค์ ๋ก๋ ์ด๋ค ๊ณผ์ ์ ๊ฑฐ์ณ ํธ์ถ์ด ์คํ๋ ๊น?
C++๋ก ์์ฑ๋ JavaScript ๋ฐํ์ V8์ ์ฝ๋๋ฅผ ํตํด ์ ์ฒด ์คํ ๊ณผ์ ์ ๋ํ ์ค๋ช ์ ํ์ธํ ์ ์๋ค. C++์ ๋ํ ๊ฒฝํ์ด ์๋ค๋ฉด ์ดํดํ๊ธฐ ์ด๋ ค์ธ ์๋ ์์ง๋ง, ์ฐ๋ฆฌ๊ฐ ๋งค์ผ ์์ฑํ๋ JavaScript ์ฝ๋๊ฐ ์ด๋ป๊ฒ ์คํ๋๋๊ฐ์ ๋ํ ํธ๊ธฐ์ฌ์ ์ถฉ์กฑ์์ผ ์ค ์ ์๋ค.
Why is immutability so important (or needed) in JavaScript?
๋ถ๋ณ์ฑ(Immutability)์ JavaScript์์ ํ์์ ์ด๋ผ๊ธฐ๋ณด๋ค๋ ํจ์ ํธ๋ ๋์ ๊ฐ๊น๊ณ , React๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ํ ๊ด๋ฆฌ์์ ์ผ๋ถ ํผ๋์ค๋ฌ์ด ์ค๊ณ์ ๋ํ ๊น๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ ๊ณตํ ์ ์์ง๋ง ๋๋ถ๋ถ์ ๋ค๋ฅธ ์ํฉ์์๋ ๋์ ์ ๋ฐ๋ฅธ ๋ณต์ก์ฑ์ด ์ถฉ๋ถํ ๊ฐ์น๋ฅผ ๋ํด์ฃผ์ง ๋ชปํ๋ค๋ ์๊ฒฌ์ ๋ฐํ๊ณ ์๋ค.
ํํ ๋ฆฌ์ผ
A Visual Guide To React Mental Models
React์ ๊ฐ ํน์ง์ ์์๋ค๊ณผ ๋์ ๋ฐฉ์์ ์๊ฐ์ ์ด๋ฏธ์ง๋ก ์ค๋ช ํ โReact Mental Modelโ ๊ฐ์ด๋๋ค.
Mental Model ์ด๋ ์ฐ๋ฆฌ๊ฐ โ์ธํฐ๋ทโ์ ๋จธ๋ฆฟ์์ผ๋ก ๋ ์ฌ๋ ธ์ ๋ ๊ทธ ๊ฑฐ๋ํ ๋คํธ์ํฌ๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ์์ฃผ ์ธ์ธํ ์์ง ๋ชปํ์ง๋ง ๋๋ต์ ๋์ ๋ฐฉ์์ ์ดํดํ๊ณ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ, ๊ฐ์ ํ ์ ์๋ ์ฌ๊ณ ๊ณผ์ ์ด๋ผ ํ ์ ์๋ค.
๊ฐ์ด๋๋ React์ ๊ธฐ๋ณธ์ ๊ฐ๋ ๊ณผ ๋์ ๋ฐฉ์ ๋ฑ์ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ํ์ด๋ณผ ์ ์๋๋ก ์๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ํ์ฉํด, React๋ฅผ ์ฒ์ ์ ํ๋ ์ด๋ค๊ณผ ์ ์ฒด ํ๋ฆ์ ์ดํดํ๊ณ ์ ํ๋ ์ด๋ค์๊ฒ ํฐ ๋์์ ์ค๋ค.
Deno Handbook
์ง๋ 5์ 14์ผ 1.0 ๋ฒ์ ์ด ๋ฆด๋ฆฌ์ค๋ ์๋ก์ด TypeScript ๋ฐํ์ Deno์ ๋ํ ํธ๋๋ถ์ ์ ๊ณตํ๋ค. ๊ฐ๊ฒฐํ ์๊ฐ์ ํจ๊ป Node.js์์ ๋น๊ต๋ฅผ ํตํ ์ฐจ์ด์ , ์์ ์ฝ๋๋ฅผ ํตํ ์ฌ์ฉ๋ฐฉ๋ฒ ๋ฑ์ ํ์ธํ ์ ์๋ค.
Deconstructing React || Tejas Kumar
React API๋ค์ Vanilla JS๋ฅผ ์ด์ฉํด ๊ฐ๋จํ๊ฒ ๋ง๋ค์ด ๋ณด๋ฉฐ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ค๋ช ํ๋ค. Virtual DOM(render), Hooks, Suspense์ ๋ํด ๋ค๋ฃฌ๋ค.
์ฝ๋์ ๋๊ตฌ
Responsively
๋ฐ์ํ ์ฌ์ดํธ ๊ฐ๋ฐ ์, ๋ค์ํ ํฌ๊ธฐ์ ๋๋ฐ์ด์ค์์ ๋ ๋๋ง ๋๋ ํ๋ฉด์ ํ ๋ฒ์ ๋ณด๊ณ ๊ฐ๋ฐํ ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ๋ก Electron์ผ๋ก ๊ฐ๋ฐ๋์๋ค.
Appy Dev
์๋ ๊ฐ์ ํ๋ ์ด์ ์ ํตํด ์์ง๋ ๋ค์ํ ์น ๊ฐ๋ฐ ๋๊ตฌ, ์ ํธ๋ฆฌํฐ, ๋ฆฌ์์ค ๋ค์ ๋งํฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋ฆฌ์คํธ์์ ํ์ธํ ์ ์๋ ๋ช๋ช ๋๊ตฌ๋ค์ ๋ค์๊ณผ ๊ฐ๋ค.
- Keyframes: CSS ์ ๋๋ฉ์ด์ ๊ณผ shadow ๋ฑ์ ๊ฐ๋ฐ์ ๋์์ฃผ๋ ์๊ฐ์ ๋๊ตฌ
- Picular: ์ฌ์ฉ์ ์ ๋ ฅ ํค์๋๋ฅผ ๊ตฌ๊ธ ์ด๋ฏธ์ง ๊ฒ์์ผ๋ก ๊ฒ์ํ ๊ฒฐ๊ด๊ฐ ์ด๋ฏธ์ง๋ค์์ ์ฌ์ฉ๋ ์ฃผ์ ์์ ๊ฐ๋ค์ ์ถ์ถํด ์ ๊ณตํ๋ ๋๊ตฌ
- HEAD: HTML5
<head>
์์์ ๋ํ ์ฌ์ฉ ๊ฐ์ด๋
pico
client side์์ ์คํฌ๋ฆฐ์์ ์ฐ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. viewport์ ๋ง์ถฐ cross origin image, web fonts ๋ฑ headless browser๋ฅผ ์ด์ฉํด์๋ ์ป์ ์ ์๋ ์ ๋ณด๋ค์ ํฌํจํ์ฌ ๋ณด๋ค ์ ํํ๊ฒ ์คํฌ๋ฆฐ์ ์ฐ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค๊ณ ํ๋ค.
motion
React์์ ๋จ์ง props๋ก ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ผ๋ก, animation๊ณผ gesture๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
react-error-boundary
React ๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด ๊ฐํน DOM๊ณผ sync๊ฐ ์ ๋ง๋ ๋ฑ์ ์ด์ ๋ก ๋ ๋๋ง ์ค ์๋ฌ๋ฅผ ๋ฑ์ผ๋ฉฐ ํฐ ํ๋ฉด์ด ๋ํ๋๋ ๊ฒฝ์ฐ๋ฅผ ๊ฒช์ ์ ์๋ค. ์ด๋ฐ ์์ธ์ ์ธ ์ํฉ์ ๋์ฒํ๊ธฐ ์ํด React v16์์ ErrorBoundary API๊ฐ ์๊ฐ๋์๋๋ฐ, ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ๋ฉด ErrorBoundary๋ฅผ ์ข ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค.