๐ป๊ฐ๋ฐ
-
JSDoc๐ป๊ฐ๋ฐ/Javascript 2024. 9. 27. 17:18
JSDoc?JSDoc์ JavaScript ์ฝ๋์ ์ฃผ์์ ์ถ๊ฐํ์ฌ ์ฝ๋์ ๊ตฌ์กฐ์ ๊ธฐ๋ฅ์ ๋ฌธ์ํํ๋ ๋๊ตฌ์ ๋๋ค.JSDoc ์ฃผ์์ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๋์ด๊ณ , ์๋์ผ๋ก API ๋ฌธ์๋ฅผ ์์ฑํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.JSDoc ์ฃผ์์ ์ผ๋ฐ์ ์ผ๋ก /** ... */ ํ์์ผ๋ก ์์ฑ๋ฉ๋๋ค. JSDoc ํ๊ทธ@param: ํจ์์ ๋งค๊ฐ๋ณ์๋ฅผ ์ค๋ช ํฉ๋๋ค.@returns: ํจ์์ ๋ฐํ ๊ฐ์ ์ค๋ช ํฉ๋๋ค.@typedef: ์ฌ์ฉ์ ์ ์ ํ์ ์ ์ ์ํฉ๋๋ค.@property: ๊ฐ์ฒด์ ์์ฑ์ ์ค๋ช ํฉ๋๋ค.@class: ํด๋์ค๋ฅผ ์ค๋ช ํฉ๋๋ค.@method: ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ค๋ช ํฉ๋๋ค. ์ฌ์ฉ ์์ํจ์ ์ฃผ์:/** * ๋ ์๋ฅผ ๋ํฉ๋๋ค. * @param {number} a - ์ฒซ ๋ฒ์งธ ์ซ์. * @param {number} b - ๋ ๋ฒ์งธ ์ซ์. * @..
-
React.memo, useMemo, useCallback ์ธ์ ์จ์ผ ํ ๊น?๐ป๊ฐ๋ฐ/React 2024. 9. 22. 18:47
1. ์น์์ ๋ ๋๋ง์ด๋?์น ๋ธ๋ผ์ฐ์ ๊ฐ HTML, CSS, Javascript ๋ฑ์ ์น ์์์ ํด์ํด ์ฌ์ฉ์์๊ฒ ์์์ ์ผ๋ก ํ์ํ๋ ๊ณผ์ ์ฃผ์ ๋จ๊ณHTML ํ์ฑ -> DOM(Document Object Model) ํธ๋ฆฌ ์์ฑDOM: ๋ฌธ์ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๋ ํธ๋ฆฌ ํํ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ, ๊ฐ ์์๋ ๋ ธ๋๋ก ํํCSS ํ์ฑ -> CSSOM(CSS Object Model) ํธ๋ฆฌ ์์ฑ์คํ์ผ ๊ท์น์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ ์์์ ์ ์ฉ๋ ์คํ์ผ ์ ๋ณด ํฌํจRender ํธ๋ฆฌ ์์ฑDOM + CSSOM = Render ํธ๋ฆฌํ๋ฉด์ ์ค์ ๋ก ํ์๋ ์์๋ง ํฌํจ, ๊ฐ ์์ ์คํ์ผ ํฌํจ(display: none ์ด๋ฉด ํฌํจ ์๋จ)Layout (Reflow)๊ฐ ์์ ์์น์ ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํ๋ ๊ณผ์ , ํ๋ฉด ๋ฐฐ์น ๊ฒฐ์ (DOM, CSSOM์ด ๋ณ๊ฒฝ๋๋ฉด ๋ค์ ์ํ๋จ)..
-
-
๊ฐ๋ฐ ๋ชจ๋์์ API ์์ฒญํ ๋ ํ๋ก์ ์ค์ ํ๊ธฐ Proxying API Requests in Development๐ป๊ฐ๋ฐ/React 2023. 7. 11. 13:48
Proxying API Requests in Development | Create React App Note: this feature is available with react-scripts@0.2.3 and higher. create-react-app.dev * ์ฐธ๊ณ : ์ด ๊ธฐ๋ฅ์ react-scripts@0.2.3 ์ด์์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ๋๋ค์ ์ข ์ข ๋ฐฑ์๋ ๊ตฌํ๊ณผ ๋์ผํ ํธ์คํธ ๋ฐ ํฌํธ์์ ํ๋ฐํธ ์๋ React ์ฑ์ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฑ์ด ๋ฐฐํฌ๋ ํ ํ๋ก๋์ ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค. / - static server returns index.html with React app /todos - static server returns index.html with React app /..
-
Express๋ก ์๋ฒ ๊ฐ๋ฐํ๋๋ฐ ์๋ฌ๊ฐ ์ ๋๋ก ์ ์กํ ๋..๐ป๊ฐ๋ฐ/๊ธฐํ 2023. 7. 3. 17:41
Express๋ async/await ๋ฌธ๋ฒ ์ฌ์ฉ ๊ฐ๋ฅํ์ง๋ง ์ค๋ฅ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์ด ์ ๋๋ก ์๋ํ์ง ์์ ์ ์์ ๋ฐฑ์๋ ๊ฐ๋ฐ ํ๋ฉด์ ์์์น ๋ชปํ ์๋ฌ ์ ๋๋ก ์ก์๋ด๋ ค๋ฉด express-async-errors๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐ๋ก ์ฌ์ฉํด์ผ ํจ ์๋๋ฉด async/await์ ์ ์์ผ๋ก ์ง์ํ๋ Koa๋ฅผ ์ฐ๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด ๋ ์ ์์
-
์ฝ๋ ์คํ๋ฆฌํ Code Splitting & ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง Server Side Rendering๐ป๊ฐ๋ฐ/React 2023. 7. 3. 14:19
์ฝ๋ ์คํ๋ฆฌํ ์ปดํฌ๋ํธ๋ฅผ ๋ถ๋ฆฌ๋ ํ์ผ๋ก ์ ์ฅํ๋ ๊ฒ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง X: React.lazy Suspense๋ก ๊ตฌํ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง O: Loadable Components ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ ๊ถ์ฅ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง ๋จ์ : ์น ๋ธ๋ผ์ฐ์ ์ผ์ ์๋ฒ๊ฐ ๋์ ์ฌ์ฉํ๋ ์๋ฒ ๋ฆฌ์์ค ์ฌ์ฉ๋จ → ๋์์ ๋ง์ ์ฌ์ฉ์ ์ ์ํ๋ฉด ์๋ฒ ๊ณผ๋ถํ ๋ฐ์ ๊ฐ๋ฅ์ฑ ์์ ๋ณด์: ์ฌ์ฉ์๊ฐ ๋ง์ ๊ฒฝ์ฐ ์บ์ฑ๊ณผ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ํตํด ์ฑ๋ฅ ์ต์ ํ ํ์ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง๊ณผ ์ฝ๋ ์คํ๋ฆฌํ ํจ๊ป ์ฌ์ฉ์ ์ถฉ๋์ด ์์(์ฝ๋ ์คํ๋ฆฌํ ๊น๋นก์ ํ์) ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง๋ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ธ๋ผ์ฐ์ ์ ๋ํ๋จ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ ๋ก๋ฉ ์์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋๋ฉด์ ์์ง ๋ถ๋ฌ์ค์ง ์์ ์ปดํฌ๋ํธ๋ฅผ null๋ก ๋ ๋๋งํจ ํ์ด์ง์ ์ฝ๋ ์คํ๋ฆฌํ ๋ ์ปดํฌ๋ํธ๋ค ์ฌ๋ผ์ง ์ฝ๋ ..
-
-
vscode setting๐ผ .prettierrc ํ์ผ jsconfig.json ํ์ผ ์ค์ ๐ป๊ฐ๋ฐ/๊ธฐํ 2023. 7. 3. 14:15
.prettierrc { "singleQuote": true, "semi": true, "useTabs": false, "tabWidth": 2, "trailingComma": "all", "printWidth": 80 } jsconfig.json { "compilerOptions": {"target": "ES6"} } "compilerOptions": {"target": "ES6"} ํ๋ฉด Ctrl + Space ํ์ ๋ ์๋ ์์ฑ๋จ(import)