๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

728x90

์›ํ‹ฐ๋“œ ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ

(3)
[์›ํ‹ฐ๋“œ ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ] ํฌํŠธํด๋ฆฌ์˜ค ์ž‘์„ฑ์„ ์œ„ํ•œ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ ๊ณ ๋„ํ™” - 4ํšŒ์ฐจ ์˜ค๋Š˜์˜ Agenda๋Š” ์„ฑ๋Šฅ๊ณผ ์ตœ์ ํ™”๋ฅผ ํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ• ์ด๋ฏธ์ง€ ์ตœ์ ํ™”, ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…, ์ง€๋‚œ ๊ฐ•์˜๋•Œ, ์„ฑ๋Šฅ์„ ์–ด๋–ป๊ฒŒ ์ธก์ •ํ•˜๋Š”์ง€ ๋ฐฐ์› ๋‹ค๋ฉด, ์ด๋ฒˆ ๊ฐ•์˜์—๋Š” ์„ฑ๋Šฅ์„ ์–ด๋–ป๊ฒŒ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์„์ง€๋ฅผ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค! ์ด๋ฏธ์ง€ ์ตœ์ ํ™”, ์ด๋ฏธ์ง€ ์šฉ๋Ÿ‰์ด ๋„ˆ๋ฌด ํฌ๋‹ค๋ฉด, ๋กœ๋”ฉ๋„ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ๋ธŒ๋ผ์šฐ์ €์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฌ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์Šคํ† ๋ฆฌ์ง€์— ํ™”๋ฉด์— ํ•„์š”ํ•œ ์‚ฌ์ด์ฆˆ๋ณ„๋กœ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ , ํ•ด๋‹น ์˜์—ญ์— ํฌ๊ธฐ์˜ ๋งž๋Š” URL๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ํŒŒ์ผํ™•์žฅ์ž๋Š” [svg, png, webp] ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €ํฌ ํ”„๋กœ์ ํŠธ์—์„  svg ํŒŒ์ผ์€ ๋”ฐ๋กœ ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋กœ์ ํŠธ์— ์ฝ”๋“œ๋กœ ์ €์žฅ(local)ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ณ , ๋Œ€๋‹ค์ˆ˜์˜ ์ด๋ฏธ์ง€ ํŒŒ์ผ์€ ์„œ๋ฒ„์—์„œ ๋ฐ›์€ png ํŒŒ์ผ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ์ˆ˜์—…์ดํ›„ ์ด๋ฏธ์ง€ ํŒŒ์ผ๋“ค์„ webp๋กœ ์ˆ˜์ •ํ–ˆ๋Š”๋ฐ์š”..
[์›ํ‹ฐ๋“œ ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ] ํฌํŠธํด๋ฆฌ์˜ค ์ž‘์„ฑ์„ ์œ„ํ•œ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ ๊ณ ๋„ํ™” - 3ํšŒ์ฐจ ์˜ค๋Š˜์˜ Agenda๋Š” ์„ฑ๋Šฅ๊ณผ ์ตœ์ ํ™”! Lighthouse : ์›น ์„ฑ๋Šฅ์„ ๋ถ„์„ํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ์„ฑ๋Šฅ ๋ถ„์„, ์ ‘๊ทผ์„ฑ ๊ฒ€์‚ฌ, SEO ํ‰๊ฐ€, PWQ ๊ธฐ์ค€ ํ‰๊ฐ€๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Lighthouse๋Š” ๊ฐœ๋ฐœ์ž ๋„๊ตฌ(F12)์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค Ligthhouse ํŽ˜์ด์ง€ ๋กœ๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด, [ ์ค‘๋ณต ๋ชจ๋“ˆ ์ œ๊ฑฐ → ๋นŒ๋“œ → ์‹œํฌ๋ฆฟ ๋ชจ๋“œ ์‹คํ–‰ → Lighthouse ์‹คํ–‰ ] ์ˆœ์„œ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. $ npm dedupe : npm ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์—์„œ ์ค‘๋ณต๋œ ์˜์กด์„ฑ์„ ์ค„์ด๋Š” ๋ช…๋ น์–ด node_modules ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ค‘๋ณต๋œ ๋ชจ๋“ˆ์„ ์ œ๊ฑฐํ•ด ํ”„๋กœ์ ํŠธ ํฌ๊ธฐ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค. ( yarn์„ ์‚ฌ์šฉํ•˜์‹œ๋ฉด, ์ž์ฒด์ ์œผ๋กœ ์˜์กด์„ฑ ํ•ด๊ฒฐ ๋ฐ ํŠธ๋ฆฌ๊ตฌ์กฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด ์ค‘๋ณต๋œ ๋ชจ๋“ˆ์„ ์ตœ์†Œํ™”ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค) $ yarn build production bu..
[์›ํ‹ฐ๋“œ ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ] ํฌํŠธํด๋ฆฌ์˜ค ์ž‘์„ฑ์„ ์œ„ํ•œ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ ๊ณ ๋„ํ™” - 1ํšŒ์ฐจ ์˜ค๋Š˜์˜ Agenda๋Š” 1. ์ง€์—ญ๋ณ€์ˆ˜์™€ ์ „์—ญ๋ณ€์ˆ˜ 2. Context API, Redux, Recoil, Zustand 3. React Query 1. ์ง€์—ญ๋ณ€์ˆ˜ vs ์ „์—ญ๋ณ€์ˆ˜ ์ œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” [ Container, Presenter ๋ฐฉ์‹+ redux ] ๋ฅผ ์‚ฌ์šฉํ•ด์™”์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ์ดํ„ฐ๋ฅผ props๋กœ ๋„˜๊ฒจ์ฃผ์–ด์•ผํ• ์ง€, redux๋กœ ์ €์žฅํ•ด์•ผํ• ์ง€ ๊ณ ๋ฏผ์ด ๋งŽ์ด ๋˜์—ˆ๋Š”๋ฐ, ์˜ค๋Š˜ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด์„œ ๊ทธ ๊ณ ๋ฏผ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์–ด์š”.๐Ÿคฉ 2depts์ด์ƒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ด์•ผํ• ๋• redux๋ฅผ ์‚ฌ์šฉํ•ด๋ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค~ Container, Presenter ํŒจํ„ด Flux && Redux 2. Context API, Redux, Recoil, Zustand ํ”„๋กœ์ ํŠธ์—์„œ redux๋งŒ ์‚ฌ์šฉํ•ด์„œ Context API ๋‚ด์šฉ์„ ์˜ค๋žœ๋งŒ์— ๋“ค์œผ๋‹ˆ ์ƒ์†Œํ•˜..

728x90