2021-02 
๋งํฌ & ์ฝ์๊ฑฐ๋ฆฌ
JavaScript Frameworks, Performance Comparison 2020
์ด 20๊ฐ์ ๋ค์ํ ํ๋ ์์ํฌ๋ค์ ๋ํ ์ฑ๋ฅ ๋น๊ต๋ฅผ ์ํํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์๊ฐํ๋ ๊ธ์ด๋ค. ๋ฒค์น๋งํฌ๋ ํฌ๊ฒ ๋ค์์ 3๊ฐ์ง ์์ญ์ ๋ํ ์คํ์ ํตํด ๋น๊ต๋ฅผ ์ํํ๋ค.
- DOM ์ฑ๋ฅ
- ์ด๊ธฐ ์์ ๋ฉํธ๋ฆญ
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋
๋ํ ๊ฐ ํญ๋ชฉ๋ค์ ์๋์ ๋น๊ต๋ฅผ ์ํด, ๊ฐ์ฅ ์ต์ ํ๋ Vanilla๋ก ๊ตฌํ์ฒด์ ๊ฒฐ๊ด๊ฐ์ด ์ ๊ณต๋๋ค.
์ต์ข ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ๋ ๋ค์ ๋งํฌ๋ฅผ ํตํด ํ์ธํ ์ ์๋ค. https://krausest.github.io/js-framework-benchmark/index.html
Tao of React - Software Design, Architecture & Best Practices
์ํํธ์จ์ด์ ์ํคํ ์ฒ์ ๋์์ธ์ ์์ฐ์ฑ๊ณผ ์ ์ฐ์ฑ์ ์ ๊ณตํด ๊ฐ๋ฐ์๋ค์ด ํจ์จ์ ์ผ๋ก ์ฝ์ด๋ฅผ ์ฌ์์ฑํ๋ ์ผ์ด ์๋๋ก ๋ง๋๋ ๊ฒ์ด ๊ฐ์ฅ ํฐ ๋ชฉํ๋ผ ํ ์ ์๋ค.
๊ธ์ ์ ์๋ 2016๋ ๋ถํฐ React๋ฅผ ์ฌ์ฉํ ๊ฐ๋ฐ ๊ฒฝํ์ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์กฐ(์ํคํ ์ฒ)์ ๋์์ธ ์ธก๋ฉด์์์ ๋ชจ๋ฒ์ฌ๋ก๋ฅผ ์ ์ํ๋ค.
// ex) ํฌํผ ํจ์๋ค์ ๋ํ ์ ๋ฆฌ
// ๐ ํด๋ก์ ๋ฅผ ์ ์งํ ํ์๊ฐ ์๋ ์ค์ฒฉ ํจ์๋ฅผ ํผํ๋ผ.
function Component({ date }) {
function parseDate(rawDate) {
...
}
return <div>Date is {parseDate(date)}</div>
}
// ๐ ํฌํผ ํจ์๋ค์ ์ปดํฌ๋ํธ ์์ ๋ฐฐ์นํ๋ผ.
function parseDate(date) {
...
}
function Component({ date }) {
return <div>Date is {parseDate(date)}</div>
}
Running Rust in WebAssembly in a Pool of Concurrent Web Workers in JavaScript
๋ ์ด ํธ๋ ์ด์ฑ์ ์ฌ์ฉํ๋ 3D ์ฅ๋ฉด์ ๊ตฌ์ฑํ๋ ๋จ์ผ ํ๋ ์์ ๋ ๋๋ง ํ๋ ์คํ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌํ์ ํตํด, ์ผ๋ จ์ ๋ฌด๊ฑฐ์ด ์์ ๋ค์ ๋น ๋ฅด๊ฒ ์คํํ ์ ์๋์ง์ ๋ํ POC(Proof Of Concept)์ด๋ค.
wasm ๋ชจ๋๋ก ์ปดํ์ผ๋ Rust ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์น ์์ปค ํ์ ํตํด ๋ค์์ ์์ ์ ๋์์ ์คํ๋๋๋ก ํด ๋ฌด๊ฑฐ์ด ์์ ๋ค์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์์์ ์ฆ๋ช ํ๋ค.
๋ฐ๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ ๋งํฌ๋ฅผ ํตํด ์ง์ ์คํํด ๋ณผ์ ์๋ค.
- https://alesgenova.github.io/ray-tracer-app/
How we built the GitHub globe
์ด 5๊ฐ ์๋ฆฌ์ฆ๋ฅผ ํตํด GitHub์ ์๋ก์ด ํํ์ด์ง ๊ฐ๋ฐ ๊ณผ์ ์ ์๊ฐํ๋ค. ์ฒซ ๋ฒ์งธ ์๋ฆฌ์ฆ์์๋ ๋ฉ์ธ ํ์ด์ง์ ์ถ๊ฐ๋ ์ง๊ตฌ๋ณธ์ ํตํด ์ ์ธ๊ณ์์ ๋ฐ์๋๋ PR์ ์๊ฐํํ๊ธฐ ์ํ ๊ฐ๋ฐ ๊ณผ์ ์ ๋ค๋ฃจ๊ณ ์๋ค.
Why React Context is Not a "State Management" Tool (and Why It Doesn't Replace Redux)
"Context vs Redux"์ ๋ํ ์ฃผ์ ๋ React Context API๊ฐ ๋ฆด๋ฆฌ์ค๋ ์ด๋, ํญ์ ๋ง์ ์ด๋ค์ ์ด๋ค ํ ๋ก ์ ์ด๋์ด ๋๋ ๋จ๊ณจ ์ฃผ์ ์ค ํ๋์์ผ๋ฉฐ, ์ด๋ค "ํ ๋ก "์ ๋๋ถ๋ถ์ 2๊ฐ์ง ๋๊ตฌ๊ฐ ๊ฐ๋ ๋ชฉ์ ๊ณผ ์ฌ์ฉ ์ฌ๋ก์ ๋ํ ํผ๋์์ ๋น๋กฏ๋์์์ ๊ธ์์ ์ง์ ํ๋ค.
๊ธ์ ์ ์๋ ์์ ์ด ์์ฑํ๋ ๋ต๊ธ๋ค์ ์ ๋ฆฌํด ์ด๋ค ๊ฒฝ์ฐ์ ์ด๋ค์ด ์ฌ์ฉ๋์ด์ผ ํ๊ณ , ๋ฌด์์ด ๋ค๋ฅธ์ง ๊ทธ๋ฆฌ๊ณ ์ด๋ค ๊ฒฝ์ฐ์ ์ฌ์ฉ๋์ด์ผ ํ๋์ง๋ฅผ ์์ธํ๊ฒ ์๊ฐํ๋ค.
How to ace your next Javascript interview
7๋ถ ๋ด์ธ์ ์งง์ ๋์์์ ํตํด ์ ์๋ ์ง๋ 10์ฌ ๋ ๊ฐ์ ๊ฒฝ๋ ฅ์์ ๊ฒฝํํ๋ ์๋ง์ ์ธํฐ๋ทฐ ์ฐธ์ฌ๋ฅผ ํตํด ๋ชจ๋ ์ธํฐ๋ทฐ๋ค์์ ๊ฐ๋ ์ผ๋ฐ์ ์ธ ํจํด๋ค์ด ์กด์ฌํ๋ฉฐ, ์ด๋ค ํจํด๋ค์ ์ ์ดํดํ๊ณ ๊ณต๋ถํ๋ค๋ฉด ์ฌ๋ฌ๋ถ๋ค๋ ์ถฉ๋ถํ ๋ค์ ์ธํฐ๋ทฐ์์ ์ฑ๊ณตํ ์ ์์ ๊ฒ์ด๋ผ ๋งํ๋ค.
๋๋ค์ ์ธํฐ๋ทฐ์์ ๊ด์ฐฐ๋๋ ์ผ๋ฐ์ ์ธ ํจํด๋ค์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ต์ํ ํ ๊ฐ์ง ์ด์์ ๊น๋ค๋ก์ด ๋ฌธ์ (tricky question)๊ฐ ์กด์ฌํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ํ ๊ฐ ์ด์์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๊ฐ ํฌํจ๋๋ค.
- ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ๋ด์ ํฌํจ๋๋ ์์(์ผ๋ถ) ๊ธฐ๋ฅ ๊ตฌํ์ ์์ฑํด ๋ณด๋๋ก ์๊ตฌ๋๋ค.
- JavaScript์ ๊ฒฝ์ฐ, vanilla JS๋ก ์์ฑํ ๊ฒ์ด ์๊ตฌ๋๋ค.
2020 ์ค๋ฌธ์กฐ์ฌ
๋ ๋ค๋ฅธ ์ํด๊ฐ ์์๋์๋ค. ์ง๋ 1๋ ๊ฐ Front-end ์์ญ์์์ ๋ณํ๊ฐ ๋ฌด์์ผ์ง, ๊ทธ๋ฆฌ๊ณ ์์ผ๋ก์ ์ ๋ง์ ์ด๋ป๊ฒ ๋ ์ง ๊ฐ์ฅ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์์๋ณผ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ก ๋ค์ํ ์ด๋ค์ ์๊ฐ์ ์ดํด๋ณด๋ ๊ฒ์ด๋ค.
๋งคํด ์งํ๋๋ ๋ค์์ ๋ค์ํ ์ค๋ฌธ์กฐ์ฌ ๊ฒฐ๊ณผ๋ค์ ์ฌ๋ฌ๋ถ๋ค์ ๊ถ๊ธ์ฆ์ ๋ํ ํด๋ต์ ๋ค๋ ค์ค ๊ฒ์ด๋ค.
- State of Frontend 2020
- 2020 State Of JS
- 2020 State Of CSS
- 2020 JavaScript Rising Stars
- 2020 Design Systems Survey
The Top 100+ Developer Tools 2020
๊ฐ๋ฐ ํ์ฌ์ ๊ฐ๋ฐํ์์ ์ด๋ค ์คํ์์ค์ ๋๊ตฌ๋ค์ ์ฌ์ฉํ๊ณ ์๋์ง ๊ณต์ ํ๊ณ ํ์ ํ ์ ์๋ stackshare ์ฌ์ดํธ์์ ์๋ (2020) ํ ํด ๋์ ์ปค๋ฎค๋ํฐ์์ ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ๋ฐ์ ๊ธฐ์ ๋ค์ ๋ํด ์์๋ฅผ ๋ฉ๊ฒผ๋ค.
์ด ์์๋ ์ปค๋ฎค๋ํฐ์์ ์ป์ 8๋ฐฑ๋ง ๊ฐ ์ด์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํด์ ์ ๊ณตํ ๊ฒ์ด๋ผ๊ณ ํ๋ค. ์ธ์ด, ํ๋ ์์ํฌ, ํ์ , ์ปค๋ฎค๋์ผ์ด์ , ๋ชจ๋ํฐ๋ง ๋ฑ ๊ฐ์ข ๋ถ์ผ์์ ์ด๋ค ๊ธฐ์ ๋ค์ด ์ธ๊ธฐ ์์๋์ง ํ์ธํ ์ ์๊ณ , ์คํ์์ค์ ๊ธฐ์ ๋๊ตฌ๋ค์ ํธ๋ ๋์ ํ๋ฆ์ ํ๋์ ํ์ ํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ด๋ค.
์นด์นด์ค FE๊ฐ๋ฐ์์ ์ฑ์ฅ ์คํ ๋ฆฌ
์นด์นด์ค FE ๊ฐ๋ฐ์๋ค์ ์ฑ์ฅ ์คํ ๋ฆฌ์ ๋ํ ์๋ฆฌ์ฆ ๊ธ๋ก, ๋ค์ํ ๊ธฐ์ ์ ๊ณต์ ์ ๊ฒฝํ ๋ฑ์ ์๊ฐํ๋ค.
- 01: Judy, ์ฒซ ์ปจํผ๋ฐ์ค์ ๊ฐ๋ค(feat. JSConf korea 2020)
- 02: Babel7๊ณผ corejs3 ์ค์ ์ผ๋ก ์ ์ญ ์ค์ผ ์๋ ํด๋ฆฌํ ์ฌ์ฉํ๊ธฐ
- 03: ์นด์นด์ค ์ด๋๋ฏผ UI ์ปดํฌ๋ํธ๋ฅผ ๋ชจ๋ ธ๋ ํฌ๋ก ๊ฐ๋ฐํ์ฌ ์ป์ ๊ฒ๋ค
- 04: ๊ณต๋์ฒด FE ์จ๋ผ์ธ ์ธ์ ํ๊ธฐ
- 05: ์์กด๊ด๊ณ๋ฅผ ์ด์ฉํด ๊ตฌ์กฐ์ ๋ฆฌํฉํ ๋ง ํฌ์ธํธ ์ฐพ๊ธฐ
- 06: 2021๋ Chrome์ ์๋ก์ด ๋ณํ โ Schemeful same-site์ ๋์ํ์
๋ค์ดํฐ๋ธ ์ฑ โ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ์ฑ ์ ํ ๊ทธ๋ฆฌ๊ณ 1๋ ํ
Android์ iOS ๊ฐ๊ฐ ๋ณ๋๋ก ๊ตฌํ๋์๋ ์ฑ์ React Native๋ก ํตํฉํ ๊ณผ์ ๊ณผ ๊ทธ ํ 1๋ ๊ฐ์ ๋ํ ํ๊ณ ๋ฅผ ๋ค๋ฃฌ๋ค.
Naming cheatsheet
๊ตฌ์ฒด์ ์ธ ๊ฐ์ด๋๋ ์ฝ๋ ์ปจ๋ฒค์ ์์ด ๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด ์ ์ข์ ๋ค์ด๋ฐ ๋ฐฉ๋ฒ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค.
์ด ์ํฐํด์ ๊ฝค๋ ๋ณดํธ์ ์ผ๋ก ํต์ฉ๋๋ ๋ค์ด๋ฐ ๊ฐ์ด๋๋ฅผ ์์ ์ ํจ๊ป ์ ์ํ๊ณ ์๋ค. ์์ ์ด ์์ฑํ ์ฝ๋์์ ๋ค์ด๋ฐ์ ๋ํ ์์ฌ์ด ์๋ค๋ฉด ํ๋ฒ ์ฝ์ด๋ณด๋ ๊ฒ์ ์ถ์ฒํ๋ค.
/* Bad */
const a = 5 // "a" could mean anything
const isPaginatable = a > 10 // "Paginatable" sounds extremely unnatural
const shouldPaginatize = a > 10 // Made up verbs are so much fun!
/* Good */
const postCount = 5
const hasPagination = postCount > 10
const shouldDisplayPagination = postCount > 10 // alternatively
You Should Use React.memo More!
React์์ ์ปดํฌ๋ํธ์ ๋ณ๊ฒฝ์ด ์ผ์ด๋๋ฉด ๋ ๋๋ง์ด ๋ฐ์ํ๋ฉฐ, ํด๋น ์ปดํฌ๋ํธ์ ํ์ ์ปดํฌ๋ํธ๋ ๋ณ๊ฒฝ ์ฌ๋ถ์ ์๊ด์์ด ๋ ๋๋ง์ด ๋ค์ ๋๋ค.
์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ React.memo
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
์ด ์์์์๋ memo๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ์์ ํ๋ก์ ํธ๋ฅผ ํตํด ๋ณด์ฌ์ฃผ๋ฉฐ ๋ฉ๋ชจ๊ฐ ์ ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ๋ ์ฝ๊ฒ ์ค๋ช ํด ์ค๋ค.
๊ท๋ชจ๊ฐ ํฐ ํ๋ก์ ํธ์์ ์ด๋ฐ ์ฌ์ํ ๊ฒ์ด ํฐ ์ฑ๋ฅ ๋ณํ๋ฅผ ์ผ์ผํฌ ์ ์๋ค. React ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ ์๋ค๋ฉด memo๋ฅผ ๋ ์ ๊ทน์ ์ผ๋ก ์ ์ฉํด ๋ณด๋ ๊ฒ์ ์ด๋จ๊น?
[JS] ํ๊ธ๋ ์ง์ํ๋ ํผ์ง ๋ฌธ์์ด ๊ฒ์
์ข ์ข ์ด๋ค ํค์๋๋ฅผ ๊ฒ์ํ๊ณ ์ถ์๋ฐ ํด๋น ํค์๋ ์ ์ฒด๊ฐ ๊ธฐ์ต๋์ง ์์ ๋๊ฐ ์๋ค. ๊ทธ๋ด ๋๋ฉด ์ ๋นํ ์๊ฐ๋๋ ์ด์ฑ ๋ฑ๋ง์ ์ ๋ ฅํ์ฌ ๊ฒ์์ ํ๊ฒ ๋๋๋ฐ, ์ด๋ฌํ ๋๋ต์ ์ธ ๊ฒ์ ๋ฐฉ์์ ํผ์ง ๊ฒ์์ด๋ผ๊ณ ํ๋ค.
์ด ๊ธ์ ํ๊ธ ํผ์ง ๊ฒ์์ ๋ํ ๊ธ์ด๋ค. ํ๋์ฉ ์ฐจ๊ทผ์ฐจ๊ทผ ์ค๋ช ํ๋ฉฐ ์ต์ข ๊ตฌํ ๋ฐ๋ชจ ํ์ด์ง๊น์ง ์ ๊ณตํ๋ค.
๋ฆฌ๋์ค ์ ์ฐ๊ณ ๊ณ์๋์?

React ๊ฐ๋ฐ์ ์ด์ฐฝ๊ธฐ์๋ React ํ๋ก์ ํธ์์ Redux๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋น์ฐ์๋์ด ์๋ค. ํ์ง๋ง, ์ด์ ๋ ๋ฆฌ์กํธ ์์ฒด์ ์ธ ๊ธฐ๋ฅ๋ฟ ์๋๋ผ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋์์ ๋ฐ์ ํจ์ฌ ํธํ๊ฒ ๊ฐ๋ฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค.
์ด ๊ธ์ Redux๋ฟ๋ง ์๋๋ผ Constate, Recoil, Jลtai ๋ฑ ๋ค๋ฅธ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ฒด์ฌ๋ค์ ์๊ฐํ๊ณ ์๊ณ ๊ฐ์ ๊ตฌํ์ฒด๋ฅผ ์ฌ๋ฌ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฝ๋๋ก ์์ฑํ๊ณ ์์ด ๊ฐ๋จํ ๋น๊ตํ๊ธฐ ์ข๋ค. React ํ๋ก์ ํธ์์ ์ด๋ค ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์ ํ ์ง ๊ฒํ ์ค์ผ ๋ ์ฐธ๊ณ ํ๊ธฐ ์ข์ ๊ธ์ด๋ค.
๋ํ, Redux๋ฅผ ์ฌ์ฉํ ๋ ์ฐธ๊ณ ํ ๋งํ ํ๋ฅญํ ํ๋ค์ ๋ง์ด ์๊ฐํ๊ณ ์๋ค.
ํํ ๋ฆฌ์ผ
Building a Real-Time Commenting System in React
์ด 3๊ฐ์ ์๋ฆฌ์ฆ๋ก ๊ตฌ์ฑ๋ ์ค์๊ฐ ๋๊ธ ๊ฐ๋ฐ ๊ณผ์ ์ ์๊ฐํ๋ ํํ ๋ฆฌ์ผ์ด๋ค.
- ์์ค์ฝ๋: https://github.com/PandaSekh/React-Commenting-System
- ์จ๋ผ์ธ ๋ฐ๋ชจ: https://react-commenting-system.vercel.app/
ํํ ๋ฆฌ์ผ์ ํตํด ๋ฌด์ ํ ๋๋๊ธ, ์ด๋ชจํฐ์ฝ, ๋งํฌ๋ค์ด ๋ฌธ๋ฒ ์ง์, ํ์ด์ง ์๋ก ๊ณ ์นจ ์์ด ํํ๋๋ ์ค์๊ฐ ์ ๋ฐ์ดํธ ๋ฑ์ ๊ธฐ๋ฅ์ด ์ง์๋๋ ๋๊ธ ๊ฐ๋ฐ์ ๋ฐ๋ผ ํด ๋ณผ ์ ์๋ค.
The definitive guide to JavaScript Debugging [2021 Edition]
JavaScript ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ฒ๊น ํ๊ธฐ ์ํด ์์์ผ ํ๋ ๊ฐ๋ฐ์ ๋๊ตฌ์ ์ฌ์ฉ๋ฒ๊ณผ ์๋ฏธ๋ฅผ ๊ฐ๋ตํ๊ฒ ์๊ฐํ๋ ์ข ํฉ์ ๋๋ฒ๊น ๊ฐ์ด๋๋ค.
ํฌ๋กฌ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์์ง๋ง, ํ ๋ธ๋ผ์ฐ์ ๋ค์ ๊ฐ๋ฐ์ ๋๊ตฌ๋ค๋ ๋ชจ๋ ์ ์ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์์ผ๋ฏ๋ก ํ์ต ๋ด์ฉ์ ํ์ฉํ๋ ๊ฒ์ ์ ํ ๋ฌธ์ ๋์ง ์์ ๊ฒ์ด๋ค.
์ฝ๋์ ๋๊ตฌ
Forgo
4KB ํฌ๊ธฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, JSX(React์ ๊ฒ๊ณผ ์ ์ฌํ)๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ฏธ ์ฌ๋ฌ๋ถ์ด ์๊ณ ์๋ DOM API์ ํ๋ ์ธ JS๋ฅผ ์ฌ์ฉํด ๋ชจ๋ ์น์ฑ ๊ฐ๋ฐ์ ํ ์ ์๊ฒ ํ๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ๋ฌ๋ ์ปค๋ธ ์์ด ๋น ๋ฅด๊ฒ ๊ฐ๋ฐ์ ์์ํ ์ ์๋ค.
Moiva
npm ํจํค์ง์ ๋ค์ด๋ก๋ ์, ๋ฆด๋ฆฌ์ค ํ์ ๋ฑ ํจํค์ง์ ๋ํ ์ ๋ฐ์ ์ํ์ ๋ํ ์งํ๋ฅผ ํ์ธํด ๋ณผ ์ ์๋ค. ์ด๋ค ์งํ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ค๋ฅธ ํจํค์ง์์ ๋น๊ต๋ฅผ ํตํด ํจํค์ง ์ ํ์ ๋์์ ๋ฐ์ ์ ์๋ค.
[์ฐธ๊ณ ] ์ ์ฌํ ๋๊ตฌ๋ก๋ ๋ค์์ ํจ๊ป ์ฐธ๊ณ ํ๋ผ.
CodeSwing
์ฝ๋ ์์ ์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํด ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ํ ์ ์๋ CodePen, JSFiddle๊ณผ ๊ฐ์ playground ๋๊ตฌ์ ๊ฐ์ด VS Code ๋ด์์ ์ํธ ๋์ํ๋ ์ฝ๋ฉ ํ๊ฒฝ์ ๋ง๋ค์ด ์ฃผ๋ ํ๋ฌ๊ทธ์ธ์ด๋ค.
Handsfree
๋ณ๋์ ์ ๋ ฅ์ฅ์น๋ฅผ ์ฌ์ฉํ์ง ์๋ ํธ์ฆํ๋ฆฌ ํ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ตฌ์ฑํ ์ ์๊ฒ ๋์์ฃผ๋ ๋๊ตฌ๋ค.
์ฌ์ฉ์์ ์น์บ ์ ํตํด ์ฌ์ฉ์์ ์์ง์(์ผ๊ตด, ์, ๋ชธ์ง ๋ฑ)์ ์ธ์ํ๋ฉฐ, ํน์ ์ ์ค์ฒ๋ฅผ ์ธ์ํด ํ์ด์ง ์คํฌ๋กค, ๊ฒ์ ์กฐ์ ๋ฑ์ ํ ์ ์๋ค.
๋ณด๋ค ์์ธํ ๋ด์ฉ์ ๋ค์์ ์๊ฐ ๊ธ์ ๊ฐ์ด ์ฐธ๊ณ ํ๋ผ.
<!-- CDN์์ ๊ด๋ จ ํ์ผ์ ๋ก๋ฉ -->
<link rel="stylesheet" href="https://unpkg.com/handsfree@8.2.2/build/lib/assets/handsfree.css" />
<script src="https://unpkg.com/handsfree@8.2.2/build/lib/handsfree.js"></script>
<script>
// ์ด๊ธฐํ
const handsfree = new Handsfree({hands: true})
handsfree.enablePlugins('browser')
handsfree.start()
</script>
Create App: Frontend build config generator
webpack, Parcel, Snowpack์ ํ๊ฒฝ ๊ตฌ์ฑ์ ํธ๋ฆฌํ๊ฒ ํด์ฃผ๋ ๋๊ตฌ๋ค.
React, Svelte, Vue์ ์ค์ ์ ์ง์ํ๋ฉฐ, ์ด์ธ์๋ UI, Test, Transpiler, Style, Image, Utilities, Linting์ ์ค์ ๋ ๊ฐ๋ฅํ๋ค. ๋ชจ๋ ์ค์ ์ด ๋๋ ๋ค์๋ ๋ค์ด๋ก๋ํ๊ฑฐ๋, How to create your project yourself
๊ฐ์ด๋๋ฅผ ๋ฐ๋ผ ํ๋ฉด ๋๋ค.