์ ์ฒด ๊ธ(245)
-
ํ๋ก์ ํธ ์์ฑ
๋๋ ๊ฐ์ด ํ์ ํ๋ ๋๋ถ์ด ๊ณ์๋๋ฐ ํ ๋ถ์ ํ์ฌ์ ์๋์ค์๊ณ ํ ๋ถ์ ์๋ฆฌ์์ ์์ด์ง์๊ณ ๋๋ ์๋ฒ ์ ๊ทผ์ ๋ชปํด์ ๊ฐ๋ฐ์ ๋ชปํ๊ณ ์๋ค.. ์ค์ ์ ๋ฐ์ด๋ธ ์ฝ๋ฉ์ ์กฐ๊ธ ํ๋๋ฐ ์ด์ ์คํ ์ํ๊ณ ๊ฐ๋ฐํ๊ธฐ์๋ ํ๊ณ์ ๋ถ๋ชํ ๊ทธ๋์ ๊ณต๋ถํ ๊ฒธ ํ์ฌ ํ์ ์์ ์ฌ์ฉํ๋ ๋๊ตฌ๋ ๊ธฐ๋ฅ๋ค ๋๋ฌ๋ณด๊ณ ํผ์ ์งํํด๋ณด๋ ํ๋ก์ ํธ. ์ด๊ฑด Vite๋ก ์งํํ ๊ฑฐ๋คnpm create vite@latest ./vite๋ก ํ๋ก์ ํธ ์์ฑํ๊ณ React, TypeScript, ESLint ๋ฑ์ ๊ณจ๋ผ์ฃผ๊ฒ์จ ๋ค์์ผ๋ก ํด๋ ๊ตฌ์กฐ๋ฅผ ๋๊ฐ ์ก์๋๋ค ์ด์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ค์นํ๋คnpm install @mui/material @emotion/react @emotion/stylednpm install @reduxjs/toolkitnpm instal..
2026.07.08 -
ํ๋ก ํธ์๋ ํ ์คํธ ๋๊ตฌ
Unit: Vitest_or_Jest, Component: Testing Library, E2E: Playwright_or_Cypress๋ชฉ์ฐจ1. ํ ์คํธ ์ ํ2. ํ ์คํธ ๋๊ตฌ3. ํ ์คํธ ๋๊ตฌ ์กฐํฉ4. Unit ํ ์คํธ - Vitest, Jest5. Component ํ ์คํธ - Testing Library6. E2E ํ ์คํธ - Playwright, Cypress 1. ํ ์คํธ ์ ํํ๋ก ํธ์๋ ํ ์คํธ๋๊ตฌ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋๋๋ก ๋์ํ๋์ง ๊ฒ์ฆํ๋ ๋๊ตฌ์ด๋ค.UI๋ ๋ณ๊ฒฝ์ด ์ฆ๊ณ ์ํฅ ๋ฒ์๊ฐ ๋์๋ฐ ์๋ ํ ์คํธ๋ฅผ ํ๋ฉด ๋ฐ๋ณต ๋น์ฉ์ด ํฌ๊ณ ๋๋ฝ์ด ๋ฐ์ํ๊ธฐ ์ฝ๋ค.๋ฐ๋ผ์ ํ ์คํธ ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ ์๋ํ๋ ํ ์คํธ๋ก ์์ ์ฑ๊ณผ ๊ฐ๋ฐ ์๋๋ฅผ ํ๋ณดํ๋ ๊ฒ์ด๋ค. ํ๋ก ํธ์๋ ํ ์คํธ ์ ํ์ ์ธ ๊ฐ์ง๊ฐ ์๋ค.1. Unit ํ ์คํธ - ..
2026.04.24 -
ํ๋ก ํธ์๋ ์ํ๊ด๋ฆฌ
์ํ: UI ๋ ๋๋ง์ ์ํฅ์ ์ฃผ๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ฐ์ดํฐ / ์ํ ๊ด๋ฆฌ: ๊ณผ๋ํ ๋ฆฌ๋ ๋๋ง์ ๋ง๊ธฐ ์ํด ์ ๊ด๋ฆฌํ๋ ๊ฒ(์ข ๋ฅ - local, global, server)๋ชฉ์ฐจ1. ํ๋ก ํธ์๋์ ์ํ 1-1. ์ํ๋? 1-2. ์ํ์ ์ข ๋ฅ2. ์ํ(state) vs Ref3. ํ๋ก ํธ์๋ ์ํ๊ด๋ฆฌ4. React ๊ธฐ์ค ์ํ์ ํ๋ฆ 1. ํ๋ก ํธ์๋์ ์ํ1. ์ํ๋?ํ๋ก ํธ์์ ๋งํ๋ "์ํ"๋ UI ๋ ๋๋ง์ ์ํฅ์ ์ฃผ๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฅผ ๋งํ๋ค.์ํ๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ฆฌ์กํธ๋ ๊ทธ ์ํ๋ฅผ ๊ฐ์ง ์ปดํฌ๋ํธ๋ฅผ ์ฌ๋ ๋๋งํ์ฌ ์ต์ ์ํ๋ก ์ ์งํ๋๋ฐ,๋ฐ๋ผ์ ์ด ์ํ๋ฅผ ์ด๋ป๊ฒ ๊ด๋ฆฌํ๋๋์ ๋ฐ๋ผ ์๋น์ค์ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง๋ค. ์ผ๋ฐ ๋ณ์์ ๋ค๋ฅด๊ฒ ์ํ๋ ์๋์ ๊ฐ์ ์กฐ๊ฑด์ ๊ฐ์ง๋ค.๋ณ๊ฒฝ ๊ฐ๋ฅ (mutable)React์ ๊ฐ์ ํ๋ ..
2026.04.19 -
hoverํ ๋ ๋ฑ์ฅํ๋ ๋ฒํผ์ ์ฐ๊ทธ๋ฌ์ง ๋ฌธ์ (feat.flex-shrink ๋ก์ง)
flex-shrink์ ๋์ ์์ ์ดํดํ๊ธฐ๋ชฉ์ฐจ1. ๋ฌธ์ ์ํฉ: div ๋ด์์ hover ์ ๋ณด์ด๋ ์ปดํฌ๋ํธ๊ฐ ์ฐ๊ทธ๋ฌ์ง2. ํด๊ฒฐ1: ๊ณ ์ ๋๋น๋ฅผ ์ง์ฐ๊ณ IconButton์ shrink-0 ์ฃผ๊ธฐ3. ํด๊ฒฐ2: IconButton์ block ๋์ ์ flex ์ฃผ๊ธฐ1. ๋ฌธ์ ์ํฉ: div๋ด์์ hover ์ ๋ณด์ด๋ ์ปดํฌ๋ํธ๊ฐ ์ฐ๊ทธ๋ฌ์ง์ธ๋ค์ผ์์๋ ์๋ณด์ด๋ผ๊ณ IconButton์ ์ผ๋ถ๋ฌ ๊ฒ์ ์์ผ๋ก ๋๋๋ฐ, ์ค์ ๋์์ธ์ ์ผ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ฐฐ๊ฒฝ๊ณผ ๋น์ทํ ํ๋์์ด๋ค. ํฐ๊ฐ ์ ์๋๋ค๊ณ ์๊ฐํด์ ์ฐ๊ทธ๋ฌ์ง ์ํ๋ก ๋๊ณ ์ผ๋จ ๋ค๋ฅธ ๋ ๊ธํ ์์ ๋ค์ ์งํํ๋ค๊ฐํผ๋๋ฐฑ ๋ฐฉ์๋ ์ฌ๋ผ์ค๊ณ , ๋ ์ค์ํ ๊ธฐ๋ฅ๋ค์ด ์ข ์์ฑ์ด ๋ผ์ ๋๋์ด ๊ณ ์น๊ธฐ ์์.. ๊ฐ๋จํ ๋ถ๋ถ์ด์ง๋ง ์๊ทผ ํค๋ฉจ์์ด์ ๋ธ๋ก๊ทธ๋ฅผ ์์ฑํด๋ณธ๋ค. ํด๋น ๋ถ๋ถ์ ์๋์ ๊ฐ์ ํํ..
2026.04.11 -
๋ฌดํ์คํฌ๋กค ์ฑ๋ฅ ์ธก์ /๊ฐ์ ํ๊ธฐ(2)
useEffect ์์กด์ฑ ํด๊ฒฐ๋ก fetch ๋ฐ๋ณต ๋ฌธ์ ํด๊ฒฐ์ปจํ ์ด๋ ๋์ด ํ์คํ๊ฒ ์ก์์ ์คํฌ๋กค ์ fetch ๋๋๋ก ํด๊ฒฐ๋ชฉ์ฐจ1. ๊ธฐ์กด InfiniteScroll ์ํ2. ๋ฌธ์ 1) useEffect ๋ด๋ถ์์์ ๋ฐ๋ณต ํธ์ถ ๋ฌธ์ 3. ๋ฌธ์ 2) DOM ๋์ ๋ฌธ์ 4. ์์ ํ ์ฑ๋ฅ5. ๋ฐฐํฌ ํ ํ ์คํธ6. ์ ๋ฆฌ 1. ํ์ฌ ๋ณด์ด๋ ๋ฌธ์ ์ ๊ธฐ์กด InfiniteScroll ์ํ1. ํ์ฌ ๋ณด์ด๋ ๋ฌธ์ ๋๊ฐ์ง ์ํฉ์ด ๋ฐ๋ณต๋์ด์ ๋ํ๋๊ณ ์์๋ค.1. ์ฒ์ ํ์ด์ง ๋ก๋ ์ Fetch๊ฐ ์ฐ์ํด์ ์คํ๋์ด DOM์ ๋ชจ๋ ์นด๋๊ฐ ๋ ๋๋ง๋จ2. 1์ ํด๊ฒฐํด๋ณด๋ฉด Scroll์ ๋ฐ๋ฅ๊น์ง ๋ด๋ ค๋ fetch๊ฐ ์์ ๋์ง ์์ 2. ๊ธฐ์กด InfiniteScroll ์ํ์์ ์ ํ๊ณ ํ๋ค๊ฐ ๊ธฐ์กด ์ํ๋ ์๋์ ๊ฐ๋ค.์๊ฐ์ด ์ข ๋ถ์กฑํ ๊ด๊ณ๋ก ์ผ๋จ ๊ธฐ์กด ..
2026.04.04 -
๋ฌดํ์คํฌ๋กค ์ฑ๋ฅ ์ธก์ /๊ฐ์ ํ๊ธฐ(1)
ChromeDevTools, ์ฝ์๋ก ์ต์ ํ ์ ์์น ์ธก์ ํ๊ณ tanstack/react-virtual ํ์ฉํด์ ๊ฐ์ํ ๋ฃ์๋ชฉ์ฐจ1. ์ด๊ธฐ ์ํ2. ์ธก์ ๊ธฐ์ค ์ ์3. ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ ์ธก์ - Chrome DevTools4. ๊ฐ๋ฐ ์ฝ๋์ ์ฝ์ ์ฌ๊ธฐ 4-1. API Total Time 4-2. Scroll Fetch Latency 4-3. Render Time 4-4. ์ฝ์ ๋ก๊ทธ ํ์ธํ๊ธฐ5. InfiniteScroll์ ๊ฐ์ํ ์ ์ฉํ๊ธฐ 1. ์ด๊ธฐ ์ํ๋ฌดํ์คํฌ๋กค ์ต์ ํ ํ๊ธฐ ์ ํ ์ํ๋ฅผ ๋น๊ตํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ํ 500๊ฐ ๋ฃ์ด๋ณด์!ํ๊ณ ๋ฃ๋๋ฐํ 100๊ฐ๋ง ๋์ด๋ ์๋๊ฐ ๋๋ฌด ๋๋ ค์ ๋ฐ์ดํฐ ๋ฃ๋ ๊ฒ๋ ์ด๋ ค์ด ๊ฒ์ด๋ค.์ฒ์ ๋ ๋๋งํ ๋ 20๊ฐ๋ก ์์ํด์ ๊ด์ฐฎ์ผ๋, ์คํฌ๋กคํด์ 20๊ฐ์ฉ ๋ถ๋ฌ์ค๋ฉฐ 6..
2026.04.03 -
Claude Code Figma mcp ์ฐ๊ฒฐํ๊ธฐ
์์ฝ๋ชฉ์ฐจ1. ์น๊ตฌ ๊ณ์ ์ผ๋ก ํด๋ก๋ ๊ตฌ๋ ์ฒดํํ๊ธฐ2. Figma cowork ์ฐ๊ฒฐํ๊ธฐ1. ์น๊ตฌ ๊ณ์ ์ผ๋ก ํด๋ก๋ ๊ตฌ๋ ์ฒดํํ๊ธฐ๋ญ๊ฐ ํ๋ ค๊ณ ํด๋ก๋ ์ผ๋จ ๊ตฌ๋ ์ ํ๋๋ฐ ์ด ์ ์ด ์์ผ๋ ํ์ํ๋ฉด ๋งํ๋ผ๊ณ ํ ์น๊ตฌ๊ฐ ์์๋ค. (๊ทธ ๋ ๋ฅ์ฉ ๋ฐ์๊ฑธ)์๊ณ ์๋ค๊ฐ ์ต๊ทผ ์ข ์ค๋๊ฑธ๋ ธ๋๋ฐ ๋ต๋ ์๋ ์๋ฌ๋ฅผ ํด๊ฒฐํ๋ฉฐ ๊ทธ๊ฒ ์๊ฐ์ด ๋์ ๊ตฌ๊ฑธํ๋ค. vscode์ 5๋ฌ๋ฌ ์ง๋ฆฌ ํ ๋ฒ ์จ๋ณด๋๊น ์ง์ง ์ข๊ธธ๋.. ๊ทธ๋์ ์ ๋ฃ ํด๋ก๋๋ฅผ ์ป์ ๊น์ ์ด์ฌํ ํ์ฉํด๋ณด๋ ค๊ณ ํ๋ค.2. Figma cowork ์ฐ๊ฒฐํ๊ธฐ1. Claude Code์ผ๋จ ํด๋ก๋๋ฅผ ์ด์ด๋ณด์. ํด๋ก๋ ์ฌ์ด๋๋ฐ์ ๋ณด๋ฉด ์ด๋ ๊ฒ ์ฌ์ฉ์ ์ง์ ํญ์ด ์๋ค.๋๊ตฌ ์ฐ๊ฒฐ๋ก ๊ฐ๋ณด๋ฉด ๋ญ ์ด๊ฒ์ ๊ฒ ๋ง์๋ฐ ์ผ๋จ ๋๋ Figma๋ฅผ ์ฐ๊ฒฐํด๋ดค๋ค.๋ค์ด๊ฐ์ ํผ๊ทธ๋ง ๊ณ์ ๋ก๊ทธ์ธํ๋ฉด ๋ญ๊ฐ ๋๋จ. 2. F..
2026.03.12 -
401 Unauthorization ์๋ฌ์ ์์ธ ์ฐพ๊ธฐ
์์ฝmiddleware - bff - vercel - backend ์ฒดํฌํ๋ค vercel env์์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํจ๋ชฉ์ฐจ1. ์ํฉ: ๋ก์ปฌ์์๋ ๋ก๊ทธ์ธ์ด ์๋๋๋ฐ ๋ฐฐํฌ๋ณธ์์๋ ์๋๋ค2. ํ์ฌ์ ์ธ์ฆ ํ๋ฆ ์ ๋ฆฌํ๊ธฐ3. ๋ฌธ์ ๋ฐ์ ์ง์ ํ์ธํ๊ธฐ - middleware, serverApiClient4. Sentry ์ฐ๋ํ๊ธฐ5. Vercel env ๊ฐ ํ์ธํ๊ธฐ6. ๋ฐฐ์ด ๊ฒ1. ์ํฉ: ๋ก์ปฌ์์๋ ๋ก๊ทธ์ธ์ด ์๋๋๋ฐ ๋ฐฐํฌ๋ณธ์์๋ ์๋๋ค.๊ตฌ๊ธ OAuth ๋ก๊ทธ์ธ ํ ๋ฐฐํฌ์ฃผ์๋ก ๋ฐฑ์์ ๋ฆฌ๋ค์ด๋ ํธ ๋๋ ๊ฒ์ ์์ ์ด ๋ถ๊ฐ๋ฅํ๋ค ํ์ฌํ๋ก ํธ์์๋ ๋ฐฑ์๋๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ Docker๋ก http:localhost:8080์์ ํ ์คํธ๋ฅผ ํ๋ฉฐ ๊ฐ๋ฐ์ ์ญ ํ๊ณ ์์๋ค. ๋ฐฑ์๋ ๋ฌธ์ ๋ก ๋ฐฐํฌ์ฃผ์์์ ๋ก๊ทธ์ธ๋ง ํ๋ฉด ํ๊ธฐ๋ค๊ฐ ๊ทธ๊ฒ ํด๊ฒฐ์ด ๋ผ์ ๋๋์ด ..
2026.03.12 -
Docker ์ค์นํด์ ๋ฐฑ์๋ ๋ก์ปฌ๋ก ๋ก๊ทธ์ธ ํ ์คํธํ๊ธฐ [Linkiving]
Docker๋ก ๋ฐฑ์๋ ์๋ฒ๋ฅผ ๊ฐ์ ธ์์ ๊ตฌ๊ธ ๋ฆฌ๋ค์ด๋ ํธ ๋ก์ปฌ๋ก ์ฑ๊ณต์ํค๊ธฐ๋ชฉ์ฐจ1. ์ํฉ: ๊ตฌ๊ธ OAuth๋ก ๋ก๊ทธ์ธํ๋ฉด ๋ฐฐํฌ๋ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ์ ์ด ๋ฐ์2. ํด๊ฒฐ: ๋์ปค ํ์ผ์ ์ค์นํด ๋ฐฑ์๋ ๋ก์ปฌํธ์คํธ ์ฃผ์๋ก ๋ฆฌ๋ค์ด๋ ์ ์ํค๊ธฐ3. ๋์ปค ํ์ผ ์ค์น 1. ์ํฉ: ๊ตฌ๊ธ OAuth๋ก ๋ก๊ทธ์ธํ๋ฉด ๋ฐฐํฌ๋ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ์ ์ด ๋ฐ์1. ์ํฉ์ํฉ์ ์ด๋ ๋ค. ๋ฐฑ ์ธ์ฆ ๊ตฌํ์ด ์์ง ๋ฏธ์์ฑ๋ ์ํ์์ ํ๋ก ํธ๋ "๊ฐ๋ฐ์ฉ ๋ก๊ทธ์ธ" ๋ฒํผ์ ๋ง๋ค์ด์ ์ง์ ๋ก๊ทธ์ธ ํ ํฐ์ ๋ฃ์ด ๊ฐ๋ฐ์ ์งํํ๋ ์ค..๋๋์ด ๊ตฌ๊ธ ๋ก๊ทธ์ธ ๋ก์ง์ด ์ ๋๋ก ์์ฑ๋์๋ค๋ ์ฌ์ค! ๊ทธ๋์ ๋๋ ๊ธฐ์กด ์์๋ก ์์ฑ๋์ด ์ค๋ณต ์ฝ๋ ํฌ์ฑ์ด์ ์ฝํ ๋ณด์์ด ์ ๊ฒฝ์ฐ์๋, ํ๋ก ํธ์ธก ์ธ์ฆ ๋ก์ง์ ๊ฐํธํ๋ค.BFF ํจํด ์ ์ฉํ๊ณ ๋ ์ด์ด ๊ณ์ธต ๋๋๊ณ ์ด๊ฒ์ ๊ฒ.. ์ด๊ฑด ์ข ๋ณต์กํด์ ์ผ๋จ P..
2026.02.27 -
์ด๋ฏธ์ง ๋ค์ด ๋งํฌ ๋ฐ์ดํฐ ๋ฃ๊ธฐ (feat. cloudflare)
cloudflare๋ก ์ด๋ฏธ์ง ๋ค์ด๋ฐ๊ธฐ๋ชฉ์ฐจ1. cloudflare ๊ณ์ ์์ฑ ๋ฐ ๋ฒํท ์ถ๊ฐ2. data ์ถ๊ฐ3. ๋ค์ด๋ก๋ ๋งํฌ 1. cloudflare ๊ณ์ ์์ฑ ๋ฐ ๋ฒํท ์ถ๊ฐ์ด๋ฏธ์ง ๊ณต์ ๋งํฌ๋ฅผ ๋ง๋ค๊ธฐ์ cloudflare๊ฐ ๋ฌด๋ฃ๋ก ๋ด๊ฐ ํ์ํ ๋ฒ์๋ฅผ ์ ๊ณตํ๊ธฐ์ ๊ฐ์ฅ ์ ์ ํ๋ค๊ณ ์๊ฐํด์ cloudflare๋ก ์ ํํ๋ค.๋ด๊ฐ ํ์ํ ๊ฑด ํด๋ฆญ์ ํตํด์ ์ด๋ฏธ์ง ํ์ผ์ ๋ค์ด๋ฐ๋ ๊ฒ์ด ์ ๋ถ๊ณ , ๋ค์ด๋ก๋์์ด ์ ๋ฃํ๋๋งํผ ๋ง์์ง์ง ์์ ๊ฑฐ๋ผ ์๊ฐํ๋ค.https://www.cloudflare.com/ko-kr/ ๋ชจ๋ ๊ณณ์์ ์ฐ๊ฒฐํ๊ณ , ๋ณดํธํ๊ณ , ๊ตฌ์ถํ๊ธฐ๋ณต์ก์ฑ๊ณผ ๋น์ฉ์ ์ค์ด๋ฉด์ ์ง์, ์ ํ๋ฆฌ์ผ์ด์ , ๋คํธ์ํฌ๋ฅผ ์ด๋์์๋ ๋ ๋น ๋ฅด๊ณ ์์ ํ๊ฒ ๋ง๋ญ๋๋ค.www.cloudflare.com 1. domain ์ถ๊ฐ์์ง ๋๋ฉ์ธ ๊ตฌ๋งค๋ฅผ ..
2026.02.22 -
Three.js๋ก ์นํ์ด์ง์ 3D ๊ทธ๋ํฝ ๋ฃ๊ธฐ (feat.blender)
๋ธ๋ ๋๋ก 3D ์ค๋ธ์ ํธ ๋ง๋ค๊ณ Three.js๋ก ๋ฐ์ํ์ ๊ณ ๋ คํ ์น ๋ ๋๋ง ํ๊ธฐ๋ชฉ์ฐจ1. ์น ๋ฉ์ธ ํ์ด์ง์ ์ปค์๋ฅผ ์ถ์ ํ๋ 3D ์ค๋ธ์ ํธ ๋ฃ๊ธฐ2. ์ค๋น๋ฌผ: Three.js์ 3D ์ค๋ธ์ ํธ(๋ฅผ ์ง์ ๋ง๋ค์ด ๋ดค๋ค)3. blender๋ก 3D ์ค๋ธ์ ํธ ๋ง๋ค๊ธฐ4. Three.js๋ก ์นํ์ด์ง์ ๊ฐ์ฒด ๋ฃ๊ธฐ1. ์น ๋ฉ์ธ ํ์ด์ง์ ์ปค์๋ฅผ ์ถ์ ํ๋ 3D ์ค๋ธ์ ํธ ๋ฃ๊ธฐ์ผ๋จ ๊ธฐ์กด ํผ๊ทธ๋ง๋ก ๋์ถฉ ๋์์ธํ ๋ฉ์ธ ํ๋ฉด์ ์๋์ ๊ฐ์๋ค.์ด๋ ๊ฒ ๊ทธ๋ฅ ์ญ ์๋๋ก ์คํฌ๋กคํ๋ ๋ฉ์ธ ํ๋ฉด์ด๋ค. ๊ทธ๋ฐ๋ฐ ๋ฆฌํฉํ ๋ง์ผ๋ก ๋จ๊ฒจ๋๋ คํ์ง๋ง ๋ฉ์ธ ์์ ์ ์์ํ๋ ค๋ ๋๋ฌด ๋ชป์๊ฒจ์ ํ๊ธฐ๊ฐ ์ซ์ ๊ฑฐ๋ค.๊ทธ๋์ ์ผ๋จ ๊ณ ๋ ค๋ง ํ๋ Three.js๋ฅผ ๋ฐ๋ก ํฌ์ ํด๋ณด๊ธฐ๋ก ํ๋ค. ์ด์ฐจํผ ๊ฐ์์๊ฒ ๋ ๋ฉ์ธ์ด๋ผ๋ฉด.. ์คํธ๋ ์ค ๋ฐ์ง ๋ง๊ณ ๊ฐ์์๊ธฐ๋ก 2. ์ค๋น๋ฌผ: Three.j..
2026.02.02 -
ESLint + Prettier์์ Delete cr ์๋ฌ๊ฐ ๋๋ ์ด์
prettier, eslint์์ endOfLine์ "auto"๋ก ๋์๋ชฉ์ฐจ1. ์ํฉ: ๋งฅ์์๋ง ์์ฑํ๋ ์ฝ๋๋ฅผ ์๋์ฐ์ ํด๋ก ํ๋๋2. ์์ธ: eslint-plugin-prettier3. ํด๊ฒฐ: eslint.config.mjs์ prettier ์ธํ ์์ 1. ์ํฉ: ๋งฅ์์๋ง ์์ฑํ๋ ์ฝ๋๋ฅผ ์๋์ฐ์ ํด๋ก ํ๋๋Delete `โ` ์๋ฌ๊ฐ ์์ฒญ ๋ฌ๋ค ์๋์ฐ ํ๊ฒฝ์์ ESLint ์ฌ์ฉ ์ค Delete โ eslint(prettier/prettier) ์๋ฌ๊ฐ ๋ฐ์ํ๋ ์์ธ์ ์ค๋ฐ๊ฟ(CRLF ↔ LF) ๋ถ์ผ์น๋ค.โ๋ Windows์ CRLF ์ค๋ฐ๊ฟ์ ํฌํจ๋ Carriage Return(\r) ๋ฌธ์์ด๋ฉฐ,ESLint์์ ์คํ๋๋ Prettier ๊ท์น์ด LF๋ง ํ์ฉํ ๋ ๋ฐ์ํ๋ค. ํ์ฌ ์ฌ์ฉํ๋ eslint ๊ท์น์ด ๋ค๋ฅธ..
2026.01.28
GitHub