diff --git a/00_Raw/Clean Code Principles.md b/00_Raw/Clean Code Principles.md new file mode 100644 index 00000000..133c2ea8 --- /dev/null +++ b/00_Raw/Clean Code Principles.md @@ -0,0 +1,28 @@ +# [[Clean Code Principles]] + +## ๐Ÿ“Œ Brief Summary +Clean Code ์›์น™์€ ์ฝ”๋“œ๋ฅผ ์ฝ๊ธฐ ์‰ฝ๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์ข‹๊ฒŒ, ๋ช…ํ™•ํ•˜๊ณ  ๋‹จ์ˆœํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง์˜ ํ•ต์‹ฌ ์ง€์นจ์ž…๋‹ˆ๋‹ค [1]. ํ”„๋ก ํŠธ์—”๋“œ ๋ฐ React ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ์ด ์›์น™๋“ค์€ ์ปดํฌ๋„ŒํŠธ์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๊ณ  ๋กœ์ง์„ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€ํ•˜์—ฌ ์žฅ๊ธฐ์ ์ธ ํ™•์žฅ์„ฑ์„ ํ™•๋ณดํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค [2, 3]. ๋Œ€ํ‘œ์ ์œผ๋กœ DRY, KISS, YAGNI ์›์น™ ๋“ฑ์ด ์žˆ์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ์›์น™๋“ค์„ ๊ท ํ˜• ์žˆ๊ฒŒ ์ ์šฉํ•˜์—ฌ ๋„ˆ๋ฌด ์ด๋ฅธ ์ตœ์ ํ™”๋‚˜ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ์˜ ์ฆ๊ฐ€๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค [4, 5]. + +## ๐Ÿ“– Core Content +* **Clean Code์˜ ๊ธฐ๋ณธ ๊ฐœ๋…:** + ์ฝ”๋“œ๋Š” ํ•ญ์ƒ ๋ช…ํ™•ํ•˜๊ณ  ๋‹จ์ˆœํ•˜๊ฒŒ ์ž‘์„ฑํ•˜์—ฌ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค [1]. React ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋Š” ๊ฐ„๊ฒฐํ•˜๊ณ  ์ด๋ฆ„์„ ์ž˜ ์ง€์–ด์•ผ ํ•˜๋ฉฐ, ๊นŠ๊ฒŒ ์ค‘์ฒฉ๋œ ๊ตฌ์กฐ๋ฅผ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [5]. ๋˜ํ•œ ํ•จ์ˆ˜์˜ ํฌ๊ธฐ๋Š” ์ž‘๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ์ˆœํ™˜ ๋ณต์žก๋„(cyclometric complexity)๋ฅผ ๋‚ฎ์ถ”๋ฉฐ, ํ•จ์ˆ˜์™€ ๋ณ€์ˆ˜ ์ด๋ฆ„์€ ์„œ์ˆ ์ ์œผ๋กœ ๋ช…ํ™•ํ•˜๊ฒŒ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [6]. + +* **DRY (Don't Repeat Yourself):** + ๋™์ผํ•œ ์ฝ”๋“œ๋ฅผ ๋‘ ๋ฒˆ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  ์ค‘๋ณต์„ ํ”ผํ•˜๋Š” ์›์น™์ž…๋‹ˆ๋‹ค [1]. React์—์„œ๋Š” ๋ฐ˜๋ณต๋˜๋Š” ๋กœ์ง์„ ์ปค์Šคํ…€ ํ›…(Custom Hooks)์ด๋‚˜ ๊ณ ์ฐจ ์ปดํฌ๋„ŒํŠธ(HOC)๋กœ ์ถ”์ถœํ•˜์—ฌ ์žฌ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [4, 5]. ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•  ๋•Œ ์—ฌ๋Ÿฌ ๊ณณ์„ ์ผ์ผ์ด ๋ณ€๊ฒฝํ•  ํ•„์š” ์—†์ด ํ•œ ๊ณณ์—์„œ๋งŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์–ด ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•ด์ง‘๋‹ˆ๋‹ค [7]. + +* **KISS (Keep It Simple, Stupid):** + ๋ณต์žก์„ฑ๋ณด๋‹ค ๋‹จ์ˆœ์„ฑ์„ ์ตœ์šฐ์„ ์œผ๋กœ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค๋Š” ์›์น™์ž…๋‹ˆ๋‹ค [1]. ๊ธฐ๋Šฅ์ด๋‚˜ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋„ˆ๋ฌด ์ปค์ง€๋ฉด ๋” ์ž‘๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๋…ผ๋ฆฌ์  ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [7]. ๋„ˆ๋ฌด ์ด๋ฅธ ์ตœ์ ํ™”(premature optimization)๋ฅผ ํ”ผํ•˜๊ณ  ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์˜ ๋กœ์ง์„ ์ง๊ด€์ ์ด๊ณ  ๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค [5]. + +* **YAGNI (You Aren't Gonna Need It):** + ์‹ค์ œ๋กœ ํ•„์š”ํ•ด์ง€๊ธฐ ์ „๊นŒ์ง€๋Š” ๊ธฐ๋Šฅ์„ ๋ฏธ๋ฆฌ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š” ์›์น™์ž…๋‹ˆ๋‹ค [1]. ์• ์ž์ผ(Agile) ํ™˜๊ฒฝ์—์„œ ํŠนํžˆ ์ค‘์š”ํ•œ ์ด ์›์น™์€, ๋ฏธ๋ž˜์— ์‚ฌ์šฉ๋ ์ง€๋„ ๋ชจ๋ฅธ๋‹ค๋Š” ์ด์œ ๋กœ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์„ ์ง€์–‘ํ•ฉ๋‹ˆ๋‹ค [8]. ๋ฏธ๋ฆฌ ๋งŒ๋“  ๊ธฐ๋Šฅ์€ ๊ฒฐ๊ตญ ์“ฐ์ด์ง€ ์•Š๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ, ์ด๋Š” ๊ฐœ๋ฐœ ์‹œ๊ฐ„ ๋‚ญ๋น„์™€ ์œ ์ง€๋ณด์ˆ˜ํ•ด์•ผ ํ•  ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ(dead code)์˜ ์ฆ๊ฐ€๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค [8, 9]. ๋”ฐ๋ผ์„œ ์ปดํฌ๋„ŒํŠธ๋Š” ์˜ค๋Š˜ ๋‹น์žฅ ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ๊ตฌํ˜„ํ•˜๊ณ  ํ™•์žฅ์€ ๋‚˜์ค‘์œผ๋กœ ๋ฏธ๋ค„์•ผ ํ•ฉ๋‹ˆ๋‹ค [5]. + +* **DRY์™€ KISS์˜ ๊ท ํ˜• ์œ ์ง€:** + ์ค‘๋ณต์„ ํ”ผํ•˜๋Š” DRY ์›์น™์€ ์œ ์šฉํ•˜์ง€๋งŒ, ์ง€๋‚˜์น˜๊ฒŒ ๋‚จ์šฉํ•˜์—ฌ ๊ณผ๋„ํ•˜๊ฒŒ ์ถ”์ƒํ™”ํ•  ๊ฒฝ์šฐ ์ฝ”๋“œ์˜ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•˜์—ฌ ๋‹จ์ˆœ์„ฑ์„ ์ถ”๊ตฌํ•˜๋Š” KISS ์›์น™์„ ์œ„๋ฐ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4]. ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ถ”์ƒํ™” ์ฝ”๋“œ๊ฐ€ ์›๋ž˜์˜ ์ค‘๋ณต ์ฝ”๋“œ๋ณด๋‹ค ์˜คํžˆ๋ ค ์ดํ•ดํ•˜๊ธฐ ๋” ์–ด๋ ต๋‹ค๋ฉด ์‹คํŒจํ•œ ์„ค๊ณ„์ž…๋‹ˆ๋‹ค [3, 4]. ๋”ฐ๋ผ์„œ ๋™์ผํ•œ ํŒจํ„ด์ด ์ตœ์†Œ ์„ธ ๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ ํ›„ ์ถ”์ƒํ™”๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์กฐ๊ธฐ ์ตœ์ ํ™”๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์œ ์ง€ํ•˜๋Š” ์ข‹์€ ์ง€์นจ์ž…๋‹ˆ๋‹ค [4]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[SOLID Principles]], [[Refactoring Techniques]], [[React Folder Structure]] +- **Projects/Contexts:** [[Scalable Frontend Systems]], [[Agile Environments]] +- **Contradictions/Notes:** DRY ์›์น™์„ ์—„๊ฒฉํ•˜๊ฒŒ ์ ์šฉํ•˜์—ฌ ๋ฐ˜๋ณต์„ ์ค„์ด๋ ค๋Š” ์‹œ๋„๊ฐ€ ์˜คํžˆ๋ ค ๊ณผ๋„ํ•˜๊ณ  ๋ณต์žกํ•œ ์ถ”์ƒํ™”๋ฅผ ๋‚ณ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3, 4]. ๋”ฐ๋ผ์„œ DRY๋ฅผ ๋งน๋ชฉ์ ์œผ๋กœ ๋”ฐ๋ฅด๊ธฐ๋ณด๋‹ค๋Š” KISS ์›์น™๊ณผ ํ•จ๊ป˜ ๊ณ ๋ คํ•˜์—ฌ ๋‹จ์ˆœ์„ฑ์„ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/Frontend Performance Optimization.md b/00_Raw/Frontend Performance Optimization.md index f22bcb76..7c519490 100644 --- a/00_Raw/Frontend Performance Optimization.md +++ b/00_Raw/Frontend Performance Optimization.md @@ -1,30 +1,32 @@ # [[Frontend Performance Optimization]] ## ๐Ÿ“Œ Brief Summary -ํ”„๋ก ํŠธ์—”๋“œ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋Š” ์›น์‚ฌ์ดํŠธ์˜ ๋กœ๋”ฉ ์†๋„, ์ƒํ˜ธ์ž‘์šฉ์„ฑ, ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ์„ ํ–ฅ์ƒ์‹œ์ผœ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ๊ฒ€์ƒ‰ ์—”์ง„ ์ˆœ์œ„(SEO)๋ฅผ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ • ๋ฐ ๊ธฐ์ˆ ์  ์‹ค์ฒœ์„ ์˜๋ฏธํ•œ๋‹ค [1-3]. 2025๋…„์„ ๊ธฐ์ค€์œผ๋กœ ํ•ต์‹ฌ ์›น ๋ฐ”์ดํƒˆ(Core Web Vitals)์˜ ์ตœ์‹  ์ง€ํ‘œ์ธ LCP, INP, CLS๋ฅผ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ์ง€ ๋ฐ ๋ฆฌ์†Œ์Šค ์ตœ์ ํ™”, ์ฝ”๋“œ ๋ถ„ํ• (Code Splitting), ๋ Œ๋”๋ง ์ฐจ๋‹จ ์š”์†Œ ์ œ๊ฑฐ, ํšจ์œจ์ ์ธ ๋ Œ๋”๋ง ์ „๋žต(SSR, SSG) ๋“ฑ์ด ๋™์›๋œ๋‹ค [1, 4-7]. ์ด๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ์›น์‚ฌ์ดํŠธ์˜ ์ดํƒˆ๋ฅ ์„ ์ค„์ด๊ณ  ๊ถ๊ทน์ ์œผ๋กœ ์ „ํ™˜์œจ ๋ฐ ์ˆ˜์ต์„ฑ์„ ๋Œ€ํญ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค [8, 9]. +ํ”„๋ก ํŠธ์—”๋“œ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ Œ๋”๋ง ๊ฒฝ๋กœ๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ๋ถˆํ•„์š”ํ•œ ์žฌ๋ Œ๋”๋ง์„ ๋ฐฉ์ง€ํ•˜๋ฉฐ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ํ•ต์‹ฌ ๊ณผ์ •์ž…๋‹ˆ๋‹ค [1, 2]. ์ด๋ฅผ ์œ„ํ•ด ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…, ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading), ํšจ์œจ์ ์ธ ์ƒํƒœ ๊ด€๋ฆฌ, ์ปดํฌ๋„ŒํŠธ ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ๋“ฑ์˜ ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜์—ฌ ์ดˆ๊ธฐ JavaScript ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ  ์‹คํ–‰ ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค [3-5]. ํŠนํžˆ React ๋ฐ ์ตœ์‹  ์›น ํ™˜๊ฒฝ์—์„œ๋Š” ์„ฑ๋Šฅ ํ”„๋กœํŒŒ์ผ๋ง ๋„๊ตฌ๋ฅผ ํ†ตํ•œ ๋ณ‘๋ชฉ ์ง€์  ํŒŒ์•…๊ณผ Core Web Vitals(LCP, FID, CLS, INP) ์ง€ํ‘œ์˜ ์ง€์†์ ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ฐœ์„ ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค [6, 7]. ## ๐Ÿ“– Core Content +* **๋ Œ๋”๋ง ๋ฐ ์ƒํƒœ ๊ด€๋ฆฌ ์ตœ์ ํ™”** + * React ์ปดํฌ๋„ŒํŠธ์˜ ๋ถˆํ•„์š”ํ•œ ์žฌ๋ Œ๋”๋ง์„ ๋ง‰๊ธฐ ์œ„ํ•ด `React.memo()`, `useMemo`, `useCallback`์„ ์ „๋žต์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [4, 8, 9]. ํ•˜์ง€๋งŒ ์žฆ์€ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ๋Š” ๋‹จ์ˆœ ์ปดํฌ๋„ŒํŠธ์— ๋ฌด๋ถ„๋ณ„ํ•˜๊ฒŒ ์ ์šฉํ•˜๋ฉด ๋น„๊ต ์—ฐ์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ๋กœ ์ธํ•ด ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ์•…ํ™”๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ”„๋กœํŒŒ์ผ๋ง์„ ํ†ตํ•œ ์ธก์ •์ด ์„ ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [10, 11]. + * ์ƒˆ๋กญ๊ฒŒ ๋„์ž…๋œ React Compiler๋Š” ๋นŒ๋“œ ํƒ€์ž„์— ์ปดํฌ๋„ŒํŠธ ๋ฐ JSX ์š”์†Œ๋ฅผ ์ž๋™์œผ๋กœ ๋ฉ”๋ชจ์ด์ œ์ด์…˜ํ•˜์—ฌ, ๋ณต์žกํ•œ ์ˆ˜๋™ ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ๋กœ์ง์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋ Œ๋”๋ง ์„ฑ๋Šฅ(INP ๋“ฑ)์„ ๊ฐœ์„ ํ•ด ์ค๋‹ˆ๋‹ค [12-14]. + * ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ ์‹œ Context API๋Š” ์ผ๋ถ€ ๊ฐ’์ด ๋ณ€๊ฒฝ๋  ๋•Œ ํ•˜์œ„์˜ ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๋ฅผ ์žฌ๋ Œ๋”๋ง์‹œํ‚ค๋Š” ๋ฌธ์ œ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [15, 16]. ๋”ฐ๋ผ์„œ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ณ€ํ•˜๋Š” ์ƒํƒœ์—๋Š” ์„ ํƒ๊ธฐ(selector)๋ฅผ ์‚ฌ์šฉํ•ด ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธํ•˜๋„๋ก ๋•๋Š” Zustand ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค [17-19]. -* **ํ•ต์‹ฌ ์›น ๋ฐ”์ดํƒˆ(Core Web Vitals) ์ตœ์ ํ™” ์ „๋žต:** - * **LCP (Largest Contentful Paint):** ํŽ˜์ด์ง€์˜ ์ฃผ์š”(๊ฐ€์žฅ ํฐ) ์ฝ˜ํ…์ธ ๊ฐ€ ์‹œ๊ฐ์ ์œผ๋กœ ๋กœ๋“œ๋˜๋Š” ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๋ฉฐ, 2.0์ดˆ ๋˜๋Š” 2.5์ดˆ ์ด๋‚ด๋กœ ์ตœ์ ํ™”ํ•ด์•ผ ํ•œ๋‹ค [2, 5, 10]. LCP๋ฅผ ๊ฐœ์„ ํ•˜๋ ค๋ฉด WebP๋‚˜ AVIF์™€ ๊ฐ™์€ ์ฐจ์„ธ๋Œ€ ์ด๋ฏธ์ง€ ํฌ๋งท ์‚ฌ์šฉ, ์ค‘์š” ๋ฆฌ์†Œ์Šค ์‚ฌ์ „ ๋กœ๋“œ(preload), CDN(์ฝ˜ํ…์ธ  ์ „์†ก ๋„คํŠธ์›Œํฌ) ํ™œ์šฉ, ์„œ๋ฒ„ ์‘๋‹ต ์‹œ๊ฐ„(TTFB) ์ตœ์ ํ™”, ๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR) ์ ์šฉ์ด ํ•„์š”ํ•˜๋‹ค [11-15]. - * **INP (Interaction to Next Paint):** 2025๋…„๋ถ€ํ„ฐ ๊ธฐ์กด FID๋ฅผ ๋Œ€์ฒดํ•œ ์ง€ํ‘œ๋กœ, ๋ฒ„ํŠผ ํด๋ฆญ์ด๋‚˜ ํ‚ค๋ณด๋“œ ์ž…๋ ฅ ๋“ฑ ์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ ํ›„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ™”๋ฉด์„ ์—…๋ฐ์ดํŠธํ•  ๋•Œ๊นŒ์ง€์˜ ์ „์ฒด ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๋ฉฐ 150ms~200ms ์ดํ•˜ ์œ ์ง€๊ฐ€ ๋ชฉํ‘œ์ด๋‹ค [1, 2, 4, 5, 16]. ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๋ฌด๊ฑฐ์šด JavaScript ์‹คํ–‰์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ์ž‘์—…์„ 50ms ์ดํ•˜์˜ ์ฒญํฌ๋กœ ๋ถ„ํ• ํ•˜๊ฑฐ๋‚˜ Web Workers๋ฅผ ํ†ตํ•ด ์—ฐ์‚ฐ์„ ๋ถ„๋ฆฌํ•˜๊ณ  ๋ถˆํ•„์š”ํ•œ ์„œ๋“œํŒŒํ‹ฐ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ง€์—ฐ(defer)์‹œ์ผœ์•ผ ํ•œ๋‹ค [16-20]. - * **CLS (Cumulative Layout Shift):** ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋“œ๋˜๋Š” ๋™์•ˆ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋ ˆ์ด์•„์›ƒ ์ด๋™์„ ์ธก์ •ํ•˜๋ฉฐ, ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด 0.08์—์„œ 0.1 ๋ฏธ๋งŒ์œผ๋กœ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค [2, 5, 11, 12]. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์ด๋ฏธ์ง€ ๋ฐ ๋น„๋””์˜ค์— ๋ช…์‹œ์ ์ธ `width`์™€ `height` ์†์„ฑ์„ ์ง€์ •ํ•˜๊ณ , ๋™์  ๊ด‘๊ณ ๋‚˜ ์ฝ˜ํ…์ธ ๊ฐ€ ๋“ค์–ด๊ฐˆ ๊ณต๊ฐ„์„ ๋ฏธ๋ฆฌ ํ™•๋ณดํ•ด์•ผ ํ•˜๋ฉฐ, ํฐํŠธ ๋กœ๋“œ ์‹œ `font-display: swap` ๋˜๋Š” `optional`์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค [12, 21-23]. +* **๋ฒˆ๋“ค ํฌ๊ธฐ ์ถ•์†Œ ๋ฐ ๋กœ๋”ฉ ์ „๋žต** + * ๊ฑฐ๋Œ€ํ•œ JavaScript ๋ฒˆ๋“ค์€ ์ดˆ๊ธฐ ํŽ˜์ด์ง€ ๋กœ๋“œ์™€ TTI(Time to Interactive)๋ฅผ ํฌ๊ฒŒ ์ง€์—ฐ์‹œํ‚ต๋‹ˆ๋‹ค [3, 20]. `React.lazy()`์™€ `Suspense`๋ฅผ ํ™œ์šฉํ•ด ๋ผ์šฐํŠธ ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…์ด๋‚˜ ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„ ์ง€์—ฐ ๋กœ๋”ฉ์„ ์ ์šฉํ•˜๋ฉด ์ดˆ๊ธฐ ๋กœ๋”ฉ ์‹œ ํ•„์š”ํ•œ ์ฝ”๋“œ๋งŒ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [5, 21, 22]. + * Vite์™€ ๊ฐ™์€ ๋นŒ๋“œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, `manualChunks` ์„ค์ •์„ ํ†ตํ•ด ๋ณ€๊ฒฝ ๋นˆ๋„๊ฐ€ ๋‚ฎ์€ ๋ฌด๊ฑฐ์šด ๋ฒค๋” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(์˜ˆ: React ์ฝ”์–ด)๋ฅผ ๋ณ„๋„ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์˜ ์บ์‹ฑ ํšจ์œจ์„ ๊ทน๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [22-24]. + * Next.js ํ™˜๊ฒฝ์—์„œ๋Š” React Server Components (RSC)๋ฅผ ํ™œ์šฉํ•ด ์„œ๋ฒ„์—์„œ ๋ Œ๋”๋ง์„ ์™„๋ฃŒํ•จ์œผ๋กœ์จ ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†ก๋˜๋Š” JavaScript์˜ ์–‘์„ ํš๊ธฐ์ ์œผ๋กœ ์ค„์ด๊ณ  ์ดˆ๊ธฐ ํŽ˜์ธํŠธ ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค [25-27]. -* **์ฝ”๋“œ ๋ถ„ํ• (Code Splitting) ๋ฐ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading):** - * ์ดˆ๊ธฐ ๋กœ๋”ฉ ์‹œ ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ํ•œ ๋ฒˆ์— ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ํฐ ๋ฒˆ๋“ค ์‚ฌ์ด์ฆˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ์ฝ”๋“œ๋ฅผ ๋” ์ž‘์€ ์ฒญํฌ(chunk)๋กœ ๋‚˜๋ˆ„์–ด ํ•„์š”ํ•  ๋•Œ๋งŒ ๋กœ๋“œํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค [6]. - * React ํ™˜๊ฒฝ์—์„œ๋Š” `React.lazy`์™€ `Suspense`๋ฅผ ๊ฒฐํ•ฉํ•˜๊ฑฐ๋‚˜ ๋ผ์šฐํŠธ ๊ธฐ๋ฐ˜ ๋ถ„ํ• (Route-Based Splitting)์„ ํ†ตํ•ด ํŠน์ • ๋ผ์šฐํŠธ๋‚˜ ๋ฌด๊ฑฐ์šด ์ปดํฌ๋„ŒํŠธ(์˜ˆ: ์ฐจํŠธ, ์—๋””ํ„ฐ ๋“ฑ)์—๋งŒ ์ง€์—ฐ ๋กœ๋”ฉ์„ ์ ์šฉํ•œ๋‹ค [24-28]. - * ์ด๋Š” ์ดˆ๊ธฐ ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ 50~100KB ์ˆ˜์ค€์œผ๋กœ ์ค„์—ฌ TTFB์™€ TTI(Time to Interactive)๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค [29, 30]. ๋‹จ, ํ™”๋ฉด ์ƒ๋‹จ(Above-the-fold)์˜ ์ค‘์š”ํ•œ ์ฝ˜ํ…์ธ ๋‚˜ ์˜์›… ์ด๋ฏธ์ง€(Hero image)๋ฅผ ์ง€์—ฐ ๋กœ๋”ฉํ•  ๊ฒฝ์šฐ ์˜คํžˆ๋ ค LCP๊ฐ€ ์•…ํ™”๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค [31]. +* **๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ ๋ฐ ๋ฆฌ์†Œ์Šค ์ตœ์ ํ™”** + * ์ˆ˜์ฒœ ๊ฐœ์˜ ํ•ญ๋ชฉ์ด ์žˆ๋Š” ๋Œ€์šฉ๋Ÿ‰ ๋ฆฌ์ŠคํŠธ๋Š” DOM ๋น„๋Œ€ํ™”๋ฅผ ์ดˆ๋ž˜ํ•˜๋ฏ€๋กœ ํ™”๋ฉด์— ๋ณด์ด๋Š” ํ•ญ๋ชฉ๋งŒ ๋ Œ๋”๋งํ•˜๋Š” ๊ฐ€์ƒํ™”(Virtualization ๋˜๋Š” Windowing) ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, ๋ Œ๋”๋ง ์‹œ์—๋Š” ์•ˆ์ •์ ์ธ ๊ณ ์œ  `key` ์†์„ฑ์„ ๋ถ€์—ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [28-32]. + * ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์ด๋‚˜ ์Šคํฌ๋กค ์ด๋ฒคํŠธ ์‹œ ๋ฌด๊ฑฐ์šด API ์—ฐ์‚ฐ ๋“ฑ์ด ๊ณผ๋„ํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ๋””๋ฐ”์šด์‹ฑ(Debouncing) ๋ฐ ์Šค๋กœํ‹€๋ง(Throttling) ๊ธฐ๋ฒ•์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [6, 29]. + * React 18 ์ดํ›„์˜ Concurrent ๋ Œ๋”๋ง ๊ธฐ๋Šฅ์ธ `useTransition` ๋ฐ `useDeferredValue`๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋œ ๊ธด๊ธ‰ํ•œ UI ์—…๋ฐ์ดํŠธ๋ฅผ ์ง€์—ฐ์‹œํ‚ด์œผ๋กœ์จ ์‚ฌ์šฉ์ž์˜ ์ฆ‰๊ฐ์ ์ธ ์ƒํ˜ธ์ž‘์šฉ(ํƒ€์ดํ•‘, ํด๋ฆญ ๋“ฑ)์ด ์ฐจ๋‹จ๋˜์ง€ ์•Š๋„๋ก ์šฐ์„ ์ˆœ์œ„๋ฅผ ์กฐ์œจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [33-35]. -* **๋ Œ๋”๋ง ์•„ํ‚คํ…์ฒ˜ (Rendering Architecture):** - * ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ™”๋ฉด์„ ์ „๋ถ€ ๊ตฌ์„ฑํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(CSR)์€ ๋นˆ HTML ์Šค์ผˆ๋ ˆํ†ค์„ ๋จผ์ € ์ œ๊ณตํ•˜๋ฏ€๋กœ ๊ฒ€์ƒ‰ ์—”์ง„ ํฌ๋กค๋ง๊ณผ ์„ฑ๋Šฅ ์ง€ํ‘œ(FCP)์— ์•…์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค [32, 33]. - * ๋Œ€์‹  ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR)์ด๋‚˜ ์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ(SSG), ์ ์ง„์  ์ •์  ์žฌ์ƒ์„ฑ(ISR)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏธ๋ฆฌ ๋ Œ๋”๋ง๋œ ์™„๋ฒฝํ•œ HTML์„ ๋ธŒ๋ผ์šฐ์ €๋‚˜ ํฌ๋กค๋Ÿฌ์— ์ „๋‹ฌํ•˜๋ฉด ๋กœ๋”ฉ ์†๋„์™€ SEO ๋ฌธ์ œ๋ฅผ ๋™์‹œ์— ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค [34-36]. +* **๋””๋ฒ„๊น… ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€** + * ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์ด ์ ์ง„์ ์œผ๋กœ ์ €ํ•˜๋œ๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜(Memory Leak)๋ฅผ ์˜์‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [36, 37]. Chrome DevTools์˜ Task Manager, Heap Snapshots, Allocation Timelines๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ œ๊ฑฐ๋˜์ง€ ์•Š์€ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋‚˜ ๋ถ„๋ฆฌ๋œ DOM ํŠธ๋ฆฌ(Detached DOM nodes)๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ํ•ด์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [38-41]. + * ์ตœ์ ํ™” ์ „ํ›„์—๋Š” ๋ฐ˜๋“œ์‹œ React DevTools Profiler, why-did-you-render ํŒจํ‚ค์ง€, Chrome ์„ฑ๋Šฅ ํƒญ ๋“ฑ์„ ์กฐํ•ฉํ•˜์—ฌ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•ด์•ผ ํ•˜๋ฉฐ ๋งน๋ชฉ์ ์ธ ์ตœ์ ํ™”๋Š” ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [42-45]. ## ๐Ÿ”— Knowledge Connections -- **Related Topics:** [[Core Web Vitals]], [[Code Splitting]], [[Server-Side Rendering (SSR)]], [[Lazy Loading]], [[React Router]] -- **Projects/Contexts:** [[ํ™ˆํŽ˜์ด์ง€ ๊ตฌ์กฐ & UX modern website architecture best practices landing page UX patterns examples homepage layout structure case study react router best practices seo basics for react websites web performance optimization frontend checklist core web vitals optimization guide]] -- **Contradictions/Notes:** - - ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ์˜ ์—„๊ฒฉ์„ฑ์— ๋Œ€ํ•œ ์ฐจ์ด: ์†Œ์Šค [5]๋Š” 2025๋…„ ๊ธฐ์ค€ LCP๋ฅผ 2.0์ดˆ ๋ฏธ๋งŒ, CLS๋ฅผ 0.08 ๋ฏธ๋งŒ์œผ๋กœ ๋”์šฑ ์—„๊ฒฉํ•ด์ง„ ์ž„๊ณ„๊ฐ’์„ ์ œ์‹œํ•˜์ง€๋งŒ, ์†Œ์Šค [2] ๋ฐ [10] ๋“ฑ์—์„œ๋Š” ์—ฌ์ „ํžˆ LCP 2.5์ดˆ ์ดํ•˜, CLS 0.1 ์ดํ•˜๋ฅผ ์–‘ํ˜ธํ•œ(Good) ๊ธฐ์ค€์œผ๋กœ ๋ช…์‹œํ•˜๊ณ  ์žˆ์–ด ์†Œ์Šค ๊ฐ„ ๊ธฐ์ค€ ์ž„๊ณ„๊ฐ’์— ์•ฝ๊ฐ„์˜ ํŽธ์ฐจ๊ฐ€ ์กด์žฌํ•œ๋‹ค. - - ๋™์  ๋ Œ๋”๋ง(Dynamic Rendering)์— ๋Œ€ํ•œ ํ‰๊ฐ€: ์†Œ์Šค [34]์€ ๋™์  ๋ Œ๋”๋ง์„ ๋ด‡ ํŠธ๋ž˜ํ”ฝ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์ฐจ์„ ์ฑ…('Good' SEO Impact)์œผ๋กœ ์†Œ๊ฐœํ•˜์ง€๋งŒ, ์†Œ์Šค [37]๋Š” 2026๋…„ ๊ธฐ์ค€ ์ด๋Š” ์‚ฌ์šฉ์ž ๋Œ€์ƒ๊ณผ ๋ด‡ ๋Œ€์ƒ์„ ๋‹ค๋ฅด๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ํด๋กœํ‚น(Cloaking)์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์–ด ๊ตฌ๊ธ€์ด ๋ช…์‹œ์ ์œผ๋กœ ์‚ฌ์šฉ ์ค‘๋‹จ(Deprecated)์„ ๊ถŒ์žฅํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋ผ๊ณ  ๊ฒฝ๊ณ ํ•œ๋‹ค. +- **Related Topics:** [[React Architecture]], [[State Management]], [[Clean Code Principles]], [[Debugging Methods]], [[Bundle Size Optimization]] +- **Projects/Contexts:** [[Vite Build System]], [[Next.js App Router]], [[React 18 Concurrent Features]] +- **Contradictions/Notes:** ์†Œ์Šค์— ๋”ฐ๋ฅด๋ฉด ์ˆ˜๋™ ๋ฉ”๋ชจ์ด์ œ์ด์…˜(`React.memo`, `useMemo`, `useCallback`)์€ ๋ถˆํ•„์š”ํ•œ ๋ Œ๋”๋ง์„ ์ค„์ด๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ด์ง€๋งŒ, ๋ฌด๋ถ„๋ณ„ํ•˜๊ฒŒ ์ ์šฉํ•  ๊ฒฝ์šฐ ๋น„๊ต ๋กœ์ง ์ž์ฒด๊ฐ€ ์˜ค๋ฒ„ํ—ค๋“œ๋กœ ์ž‘์šฉํ•˜์—ฌ ์˜คํžˆ๋ ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ชจ์ˆœ์ ์ธ ์ฃผ์˜์ ์ด ๊ฐ•์กฐ๋ฉ๋‹ˆ๋‹ค [10, 11]. ๋˜ํ•œ, Context API๋Š” ์™ธ๋ถ€ ์ข…์†์„ฑ ์—†์ด ์ •์  ์ƒํƒœ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ์—” ํ›Œ๋ฅญํ•˜์ง€๋งŒ ๋™์ ์œผ๋กœ ์ž์ฃผ ๋ณ€ํ•˜๋Š” ์ƒํƒœ์— ์‚ฌ์šฉํ•˜๋ฉด ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ๋ชฉ์ ์— ๋งž๊ฒŒ Zustand ๋“ฑ๊ณผ ํ˜ผ์šฉํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค [15, 46-48]. --- *Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/React Context API.md b/00_Raw/React Context API.md new file mode 100644 index 00000000..884845c0 --- /dev/null +++ b/00_Raw/React Context API.md @@ -0,0 +1,33 @@ +# [[React Context API]] + +## ๐Ÿ“Œ Brief Summary +React Context API๋Š” ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ์˜ ๋ชจ๋“  ๋ ˆ๋ฒจ์„ ํ†ตํ•ด prop์„ ์ผ์ผ์ด ์ „๋‹ฌํ•ด์•ผ ํ•˜๋Š” 'prop drilling' ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…๋œ React์˜ ๋‚ด์žฅ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค [1, 2]. `React.createContext()`๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋˜๋ฉฐ, `Provider`๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•˜๊ณ  ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ `useContext()`๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 3]. ๊ทธ๋Ÿฌ๋‚˜ Context API๋Š” ๊ทธ ์ž์ฒด๋กœ ๋…๋ฆฝ์ ์ธ ์ƒํƒœ ๊ด€๋ฆฌ ์†”๋ฃจ์…˜์€ ์•„๋‹ˆ๋ฉฐ, ์‹ค์ œ ์ƒํƒœ์˜ ๋ณ€๊ฒฝ ๋ฐ ๊ด€๋ฆฌ๋Š” ์—ฌ์ „ํžˆ `useState`๋‚˜ `useReducer`์— ์˜์กดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [2]. + +## ๐Ÿ“– Core Content +* **์ž‘๋™ ๋ฐฉ์‹ ๋ฐ ์ฃผ์š” ํŠน์ง•**: + Context API๋Š” ์ผ์ข…์˜ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋ผ๋””์˜ค ํƒ€์›Œ์ฒ˜๋Ÿผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค [3]. ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ๋ฅผ `Provider`๋กœ ๊ฐ์‹ธ๊ณ  ๊ณต์œ ํ•  ๊ฐ’์„ prop์œผ๋กœ ์ „๋‹ฌํ•˜๋ฉด, ํŠธ๋ฆฌ ๋‚ด์˜ ์–ด๋–ค ์ปดํฌ๋„ŒํŠธ๋“  ๊นŠ์ด์™€ ์ƒ๊ด€์—†์ด `useContext()`๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2]. ์™ธ๋ถ€ ํŒจํ‚ค์ง€ ์„ค์น˜๊ฐ€ ํ•„์š” ์—†๋Š” 'Zero dependency' ์†”๋ฃจ์…˜์ด๋ผ๋Š” ํฐ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค [4]. + +* **์„ฑ๋Šฅ์  ํ•œ๊ณ„์™€ ๋ฆฌ๋ Œ๋”๋ง ํญํ’ (Re-render Storm)**: + Context API์˜ ๊ฐ€์žฅ ์น˜๋ช…์ ์ธ ๋‹จ์ ์€ ์ปจํ…์ŠคํŠธ ๊ฐ’์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ์ปจํ…์ŠคํŠธ๋ฅผ ๊ตฌ๋…ํ•˜๋Š” **๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ฌด์กฐ๊ฑด ๋ฆฌ๋ Œ๋”๋ง**๋œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค [5]. ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๊ฐ์ฒด์˜ ํŠน์ • ๋ถ€๋ถ„(์˜ˆ: `user` ์ •๋ณด)๋งŒ ์‚ฌ์šฉํ•˜๋”๋ผ๋„, ๊ฐ™์€ ์ปจํ…์ŠคํŠธ ๋‚ด์˜ ๋‹ค๋ฅธ ๊ฐ’(์˜ˆ: `theme`)์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋ถˆํ•„์š”ํ•œ ๋ Œ๋”๋ง์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [6]. React๋Š” ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ๋น„๊ตํ•˜์—ฌ ๋ Œ๋”๋ง์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ธฐ๋Šฅ์„ ์ž์ฒด์ ์œผ๋กœ ์ œ๊ณตํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์ „์ฒด ํ™”๋ฉด์ด ์ผ์‹œ์ ์œผ๋กœ ๋ฉˆ์ถ”๋Š” ๋“ฑ์˜ ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [7, 8]. + +* **์ ํ•ฉํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€**: + ์ด๋Ÿฌํ•œ ๋ Œ๋”๋ง ํŠน์„ฑ ๋•Œ๋ฌธ์— Context API๋Š” ๋ณ€๊ฒฝ์ด ๊ฑฐ์˜ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” **์ •์ ์ธ ์ „์—ญ ์ƒํƒœ**๋ฅผ ๊ณต์œ ํ•  ๋•Œ ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค [4]. + - ํ…Œ๋งˆ ์„ค์ • (๋ผ์ดํŠธ/๋‹คํฌ ๋ชจ๋“œ) [4, 9] + - ๋‹ค๊ตญ์–ด ์ง€์› (Locale) ๋ฐ ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ(Feature flags) [4, 9] + - ๋ฆฌ๋ Œ๋”๋ง ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ์†Œ๊ทœ๋ชจ ์•ฑ์ด๋‚˜ ์™ธ๋ถ€ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ [4] + +* **๋ถ€์ ํ•ฉํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€ ๋ฐ ๋Œ€์•ˆ (Zustand & Redux)**: + ์žฅ๋ฐ”๊ตฌ๋‹ˆ, ์•Œ๋ฆผ, ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋“ฑ **๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ณ€๊ฒฝ๋˜๋Š” ๋™์  ์ƒํƒœ**๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ๋Š” Context API ์‚ฌ์šฉ์„ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [10-12]. + - **Zustand**: Context API์˜ ๋ฆฌ๋ Œ๋”๋ง ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž์‹ ์ด ํ•„์š”ํ•œ ์ƒํƒœ ์กฐ๊ฐ(slice)๋งŒ ์„ ํƒ(select)ํ•˜์—ฌ ๊ตฌ๋…ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ƒํƒœ๊ฐ€ React ๋ Œ๋”๋ง ์‚ฌ์ดํด ์™ธ๋ถ€์—์„œ ๊ด€๋ฆฌ๋˜๋ฏ€๋กœ ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค [5, 6, 13]. + - **Redux**: ๋ณต์žกํ•œ ๋น„๋™๊ธฐ ์ž‘์—…, ํŒŒ์ƒ ์ƒํƒœ ๊ด€๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ์—„๊ฒฉํ•œ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•œ Time-Travel ๋””๋ฒ„๊น… ๋“ฑ์ด ํ•„์š”ํ•œ ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ํŒ€ ํ™˜๊ฒฝ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค [14, 15]. Context API๋Š” ๋””๋ฒ„๊น… ๋„๊ตฌ๊ฐ€ ๋ถ€์กฑํ•˜๊ณ  ํ…Œ์ŠคํŠธ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๊ฐ€ ๊นจ์ง€๊ธฐ ์‰ฌ์šด ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค [14]. + +* **๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฐ ๋ฆฌํŒฉํ† ๋ง ์ „๋žต**: + ์„ฑ๋Šฅ ๋ฌธ์ œ๋กœ ์ธํ•ด Context API์—์„œ Zustand ๋“ฑ์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ๋•Œ๋Š” ์‹œ์Šคํ…œ ์ „์ฒด๋ฅผ ํ•œ ๋ฒˆ์— ์žฌ์ž‘์„ฑ(rewrite)ํ•˜๊ธฐ๋ณด๋‹ค๋Š”, ์•Œ๋ฆผ๊ณผ ๊ฐ™์€ ๋‹จ์ˆœํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์ ์ง„์ ์œผ๋กœ ์Šคํ† ์–ด๋ฅผ ์˜ฎ๊ธฐ๋Š” ๋ฐฉ์‹(๋ฆฌํŒฉํ† ๋ง)์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [16]. ํ˜„์‹ค์ ์œผ๋กœ๋Š” ์ •์  ๋ฐ์ดํ„ฐ์—๋Š” Context API๋ฅผ, ๋™์  ์ƒํƒœ์—๋Š” Zustand๋ฅผ ํ•จ๊ป˜ ํ˜ผ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ„ด์ด ๋งค์šฐ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค [17]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[Prop Drilling]], [[State Management]], [[Zustand]], [[Redux]], [[Performance Optimization]] +- **Projects/Contexts:** [[Frontend Architecture]], [[React Scalability]], [[Refactoring]] +- **Contradictions/Notes:** ์†Œ์Šค์— ๋”ฐ๋ฅด๋ฉด Context API๋Š” ๋ฒˆ๋“ค ํฌ๊ธฐ๊ฐ€ 0KB๋ผ๋Š” ์žฅ์  ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ์„ ํƒ์ง€๋กœ ๋งค๋ ฅ์ ์œผ๋กœ ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ƒํƒœ๊ฐ€ ๋นˆ๋ฒˆํžˆ ๋ณ€๊ฒฝ๋˜๋Š” ์•ฑ์— ์ ์šฉํ•  ๊ฒฝ์šฐ, ๋ฆฌ๋ Œ๋”๋ง ๋ฌธ์ œ(`useMemo` ๋“ฑ์„ ํ†ตํ•œ ์ˆ˜๋™ ์ตœ์ ํ™”)๋ฅผ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ ๋ง‰๋Œ€ํ•œ ๊ฐœ๋ฐœ์ž ์‹œ๊ฐ„์ด ๋‚ญ๋น„๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ "๋ฒˆ๋“ค ํฌ๊ธฐ๋งŒ์œผ๋กœ ์ƒํƒœ ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์€ ํŽ˜์ธํŠธ ๋ฌด๊ฒŒ๋ฅผ ๋ณด๊ณ  ์ฐจ๋ฅผ ๊ณ ๋ฅด๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค"๊ณ  ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค [7, 9, 18]. + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/React Hooks.md b/00_Raw/React Hooks.md new file mode 100644 index 00000000..3263c966 --- /dev/null +++ b/00_Raw/React Hooks.md @@ -0,0 +1,32 @@ +# [[React Hooks]] + +## ๐Ÿ“Œ Brief Summary +React Hooks๋Š” ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ ์ƒํƒœ(state)์™€ ์‚ฌ์ด๋“œ ์ดํŽ™ํŠธ(side effects)๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ํŒจ๋Ÿฌ๋‹ค์ž„์ž…๋‹ˆ๋‹ค [1]. ๋Œ€๊ทœ๋ชจ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(scalable apps)์—์„œ Hooks๋Š” ๋ฐ์ดํ„ฐ ์ ‘๊ทผ, ๋„๋ฉ”์ธ ๊ทœ์น™ ๋ฐ ๋ถ€์ˆ˜ ํšจ๊ณผ ๋กœ์ง์„ ์บก์Аํ™”ํ•˜๋Š” ํ•ต์‹ฌ ์•„ํ‚คํ…์ฒ˜ ๋นŒ๋”ฉ ๋ธ”๋ก ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค [2]. ๊ณตํ†ต ๋กœ์ง์„ ์ปค์Šคํ…€ ํ›…(Custom Hooks)์œผ๋กœ ์ถ”์ถœํ•จ์œผ๋กœ์จ DRY(Don't Repeat Yourself) ๊ฐ™์€ ํด๋ฆฐ ์ฝ”๋“œ ์›์น™์„ ์ค€์ˆ˜ํ•˜๊ณ , UI์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ฝ”๋“œ์˜ ๋ชจ๋“ˆ์„ฑ๊ณผ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3, 4]. + +## ๐Ÿ“– Core Content + +* **์•„ํ‚คํ…์ฒ˜ ๋ฐ ํด๋” ๊ตฌ์กฐ(Folder Structure)์—์„œ์˜ ์—ญํ• ** + * React์—์„œ Hooks๋Š” ๋‹จ์ˆœํžˆ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์„ ๋„˜์–ด ์‹œ์Šคํ…œ ์„ค๊ณ„์˜ ํ•„์ˆ˜ ์š”์†Œ์ž…๋‹ˆ๋‹ค [2]. ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ํ›…์ด ์ „์—ญ์— ๋ฌด๋ถ„๋ณ„ํ•˜๊ฒŒ ํฉ์–ด์ง€๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด '๋ˆ„๊ฐ€ ์–ด๋–ค ํ›…์„ ์‚ฌ์šฉํ•˜๊ณ  ์–ด๋””์— ๋ฐฐ์น˜ํ• ์ง€'์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ๊ตฌ์กฐ์  ๊ทœ์น™์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค [2]. + * ์ผ๋ฐ˜์ ์œผ๋กœ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปค์Šคํ…€ ํ›…(์˜ˆ: `useAuth`, `useForm` ๋“ฑ)์€ `src/hooks/` ํด๋”์— ์ค‘์•™ ์ง‘์ค‘ํ™”ํ•˜์—ฌ ์ €์žฅํ•˜๋ฉฐ, ์ด๋Š” ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ์„ ์ด‰์ง„ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค [5-7]. + * ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜(Naming Conventions)์— ๋”ฐ๋ผ ์ปค์Šคํ…€ ํ›…์€ ๋ฐ˜๋“œ์‹œ `camelCase`๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  `use` ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์—ฌ ๋ช…๋ช…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [8, 9]. + +* **๋ฆฌํŒฉํ† ๋ง ๊ธฐ๋ฒ•(Refactoring Techniques)์œผ๋กœ์„œ์˜ Hooks** + * ํ˜„๋Œ€ React ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ ์ปค์Šคํ…€ ํ›…์€ ๋ฆฌํŒฉํ† ๋ง์˜ 1์ฐจ ๋‹จ์œ„(primary unit of refactoring)๊ฐ€ ๋ฉ๋‹ˆ๋‹ค [4]. ํฌ๊ณ  ๋ณต์žกํ•œ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ฐ์ดํ„ฐ ํŽ˜์นญ์ด๋‚˜ ํผ ์ฒ˜๋ฆฌ ๊ฐ™์€ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ปค์Šคํ…€ ํ›…์œผ๋กœ ์ถ”์ถœํ•˜๋ฉด, ์ปดํฌ๋„ŒํŠธ๋Š” UI ๋ Œ๋”๋ง์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP)์„ ์ง€ํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4, 10]. + * ์ด๋Ÿฌํ•œ ์ถ”์ถœ ์ž‘์—…์€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋…๋ฆฝ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์‹คํ–‰ ์†๋„๊ฐ€ ๋А๋ฆฐ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋Œ€์‹  ๋น ๋ฅธ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค [4]. + +* **ํ›… ์‚ฌ์šฉ ์‹œ ํ”ํ•œ ํ•จ์ •(Common Pitfalls) ๋ฐ ๋””๋ฒ„๊น…** + * **Rules of Hooks:** ํ›…์€ ๋ฐ˜๋“œ์‹œ React ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋‚˜ ์ปค์Šคํ…€ ํ›… ๋‚ด์˜ ์ตœ์ƒ์œ„ ๋ ˆ๋ฒจ์—์„œ๋งŒ ํ˜ธ์ถœ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์กฐ๊ฑด๋ฌธ์ด๋‚˜ ๋ฐ˜๋ณต๋ฌธ ๋‚ด๋ถ€์—์„œ ํ˜ธ์ถœํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค [11]. + * **`useEffect`์˜ ์˜ค์šฉ:** ์ข…์†์„ฑ ๋ฐฐ์—ด(dependency array)์„ ์ž˜๋ชป ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋“ฑ์˜ ํด๋ฆฐ์—…(cleanup) ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜(memory leaks)์™€ ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [11-13]. ๋ถˆํ•„์š”ํ•œ ๋ฆฌ๋ Œ๋”๋ง์„ ์œ ๋ฐœํ•˜๋Š” `useEffect` ๋‚จ์šฉ์„ ํ”ผํ•˜๊ณ , ๊ฐ€๋Šฅํ•˜๋ฉด `useMemo`๋‚˜ `useCallback`์œผ๋กœ ๋Œ€์ฒดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [12, 14]. + * **`useState`์˜ ์˜ค์šฉ:** ์ด์ „ ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ํ•จ์ˆ˜ํ˜• ์—…๋ฐ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, ๋ณต์žกํ•œ ์ƒํƒœ ๊ด€๋ฆฌ์— `useState`๋ฅผ ๊ณ ์ง‘ํ•˜๋Š” ๊ฒƒ์€ ๋ฒ„๊ทธ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ƒํ™ฉ์— ๋”ฐ๋ผ `useReducer`๋‚˜ ์ปค์Šคํ…€ ํ›…์„ ํ™œ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [15]. + +* **์„ฑ๋Šฅ ์ตœ์ ํ™”(Performance Optimization)** + * `useCallback`๊ณผ `useMemo`: ๋ Œ๋”๋ง ๊ฐ„ ๊ฐ์ฒด๋‚˜ ํ•จ์ˆ˜์˜ ์ฐธ์กฐ ์•ˆ์ •์„ฑ(reference stability)์„ ์œ ์ง€ํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์˜ ๋ฆฌ๋ Œ๋”๋ง์„ ๋ง‰๊ฑฐ๋‚˜ ๋น„์šฉ์ด ํฐ ์—ฐ์‚ฐ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค [12, 16-18]. + * `useTransition` ๋ฐ `useDeferredValue`: React 18 ์ด์ƒ์˜ ๋™์‹œ์„ฑ ๋ Œ๋”๋ง(Concurrent Rendering) ํ›…์œผ๋กœ, ๋ฌด๊ฑฐ์šด ํ•„ํ„ฐ๋ง์ด๋‚˜ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์ง€์—ฐ(defer)์‹œํ‚ค๊ณ  ํƒ€์ดํ•‘์ด๋‚˜ ํด๋ฆญ ๊ฐ™์€ ์‚ฌ์šฉ์ž์˜ ์ฆ‰๊ฐ์ ์ธ ์ธํ„ฐ๋ž™์…˜์„ ์šฐ์„ ์‹œํ•˜์—ฌ UI์˜ ๋ฐ˜์‘์„ฑ์„ ๋†’๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค [19-21]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[React Architecture]], [[Clean Code Principles]], [[Performance Optimization]], [[Refactoring Techniques]], [[Folder Structure Best Practices]] +- **Projects/Contexts:** [[Feature-Sliced Design]], [[Concurrent Rendering in React 18+]] +- **Contradictions/Notes:** ์ˆ˜๋™์œผ๋กœ `useMemo`๋‚˜ `useCallback`์„ ์‚ฌ์šฉํ•˜๋Š” ์ตœ์ ํ™” ๋ฐฉ์‹์€ ์ฝ”๋“œ๋ฅผ ์–ด์ˆ˜์„ ํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2025๋…„ ๊ธฐ์ค€, React Compiler์˜ ๋„์ž…์œผ๋กœ ์ธํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ด๋Ÿฌํ•œ ํ›…์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋นŒ๋“œ ํƒ€์ž„์— ์ž๋™์œผ๋กœ ์„ธ๋ถ„ํ™”๋œ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์ด ์ˆ˜ํ–‰๋˜์–ด ์ˆ˜๋™ ํ›… ์ตœ์ ํ™”์˜ ํ•„์š”์„ฑ์ด ์ค„์–ด๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [22-25]. + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/React Performance Optimization.md b/00_Raw/React Performance Optimization.md new file mode 100644 index 00000000..cf4e1fb1 --- /dev/null +++ b/00_Raw/React Performance Optimization.md @@ -0,0 +1,27 @@ +# [[React Performance Optimization]] + +## ๐Ÿ“Œ Brief Summary +React ์„ฑ๋Šฅ ์ตœ์ ํ™”๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ถˆํ•„์š”ํ•œ ๋ฆฌ๋ Œ๋”๋ง์„ ๋ฐฉ์ง€ํ•˜๊ณ  ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ ๋น ๋ฅด๊ณ  ๋ถ€๋“œ๋Ÿฌ์šด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” ์ผ๋ จ์˜ ๊ธฐ๋ฒ•์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์ตœ์ ํ™” ๋Œ€์ƒ์œผ๋กœ๋Š” ์ƒํƒœ(state)๋‚˜ ์ปดํฌ๋„ŒํŠธ ์†์„ฑ(props) ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋ Œ๋”๋ง ๋น„์šฉ, ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก ์ฒ˜๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ๊ฑฐ๋Œ€ํ•œ JavaScript ๋ฒˆ๋“ค ๋‹ค์šด๋กœ๋“œ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ์—๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์ ์šฉํ•˜๋Š” ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ํ›…(`React.memo`, `useMemo`)๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, React Compiler๋ฅผ ํ†ตํ•œ ์ž๋™ ์ตœ์ ํ™” ๋ฐ Next.js์˜ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ(Server Components) ๋“ฑ์„ ํ™œ์šฉํ•ด ์ดˆ๊ธฐ ๋กœ๋“œ ์†๋„์™€ ๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. + +## ๐Ÿ“– Core Content + +* **๋ฆฌ๋ Œ๋”๋ง์˜ ์ดํ•ด ๋ฐ ์ˆ˜๋™ ๋ฉ”๋ชจ์ด์ œ์ด์…˜** + React๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒํƒœ๋‚˜ props๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ, ๋˜๋Š” ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง๋  ๋•Œ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‹ค์‹œ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค [1]. ๋นˆ๋ฒˆํ•˜๊ณ  ๋ถˆํ•„์š”ํ•œ ๋ฆฌ๋ Œ๋”๋ง์€ ์„ฑ๋Šฅ ์ €ํ•˜์˜ ์ฃผ๋ฒ”์ด ๋˜๋ฏ€๋กœ, ์ปดํฌ๋„ŒํŠธ์˜ ๋ Œ๋”๋ง ๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑํ•˜๋Š” `React.memo()`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ props๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์„ ๋•Œ์˜ ๋ Œ๋”๋ง์„ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 3]. ๋˜ํ•œ `useCallback`๊ณผ `useMemo`๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ์ฒด์™€ ํ•จ์ˆ˜์˜ ์ฐธ์กฐ๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€ํ•จ์œผ๋กœ์จ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ์˜ ๋ถˆํ•„์š”ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4-6]. ๋‹จ, ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ์œ„ํ•œ ๋น„๊ต ์—ฐ์‚ฐ ์ž์ฒด๊ฐ€ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํ•ญ์ƒ ํ”„๋กœํŒŒ์ผ๋ง์„ ํ†ตํ•ด ๋ณ‘๋ชฉ์ด ํ™•์ธ๋œ ๊ณณ์—๋งŒ ์„ ๋ณ„์ ์œผ๋กœ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [4, 7, 8]. +* **์ƒํƒœ ๊ด€๋ฆฌ์™€ React Context ์ตœ์ ํ™”** + React์˜ ๋‚ด์žฅ Context API๋Š” ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ํ•ด๋‹น ์ปจํ…์ŠคํŠธ๋ฅผ ๊ตฌ๋…ํ•˜๋Š” ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ์˜ ๋ฆฌ๋ Œ๋”๋ง์„ ์œ ๋ฐœํ•˜๋Š” ๊ตฌ์กฐ์  ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค [9-12]. ์ด๋ฅผ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ƒํƒœ์˜ ๋„๋ฉ”์ธ๋ณ„๋กœ ์ปจํ…์ŠคํŠธ๋ฅผ ์ž˜๊ฒŒ ์ชผ๊ฐœ๊ฑฐ๋‚˜ [12], ์„ ํƒ์ž(selector) ํŒจํ„ด์„ ํ†ตํ•ด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๊ด€์‹ฌ ์žˆ๋Š” ํŠน์ • ์ƒํƒœ๋งŒ ๊ตฌ๋…ํ•˜์—ฌ ๋ฆฌ๋ Œ๋”๋ง์„ ๋ฐฉ์ง€ํ•˜๋Š” Zustand, Jotai ๊ฐ™์€ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋„์ž…ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค [13-16]. +* **์ฝ”๋“œ ๋ถ„ํ• (Code Splitting) ๋ฐ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)** + ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„(LCP ๋“ฑ)๋ฅผ ํ–ฅ์ƒํ•˜๋ ค๋ฉด ๋Œ€๊ทœ๋ชจ JavaScript ๋ฒˆ๋“ค์„ ๋” ์ž‘์€ ์ฒญํฌ๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [17, 18]. `React.lazy()`์™€ `Suspense`๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํŠน์ • ๋ผ์šฐํŠธ๋‚˜ ๋ฌด๊ฑฐ์šด ์ปดํฌ๋„ŒํŠธ(์ฐจํŠธ, ์—๋””ํ„ฐ ๋“ฑ)๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”๋กœ ํ•  ๋•Œ๋งŒ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [19-21]. ๋˜ํ•œ Vite์™€ ๊ฐ™์€ ์ตœ์‹  ๋นŒ๋“œ ๋„๊ตฌ์˜ `manualChunks` ์„ค์ •์„ ํ†ตํ•ด ๋ณ€๊ฒฝ์ด ์ ์€ ๋ฒค๋” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(React ์ฝ”์–ด ๋ชจ๋“ˆ ๋“ฑ)๋ฅผ ๋ณ„๋„์˜ ์ฒญํฌ๋กœ ๋ถ„๋ฆฌํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ € ์บ์‹ฑ ํšจ์œจ์„ ํฌ๊ฒŒ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [21-23]. +* **๋Œ€๊ทœ๋ชจ ๋ชฉ๋ก ๊ฐ€์ƒํ™”(Virtualization)** + ์ˆ˜๋ฐฑ์—์„œ ์ˆ˜์ฒœ ๊ฐœ์˜ ํ•ญ๋ชฉ์ด ํฌํ•จ๋œ ๊ธด ๋ชฉ๋ก์„ ๋ Œ๋”๋งํ•  ๊ฒฝ์šฐ, DOM ๋น„๋Œ€ํ™”๋กœ ์ธํ•ด ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [24, 25]. `react-window`์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž์˜ ํ™”๋ฉด(viewport)์— ๋ณด์ด๋Š” ํ•ญ๋ชฉ๋งŒ ๋™์ ์œผ๋กœ ๋ Œ๋”๋งํ•˜๋Š” ๊ฐ€์ƒํ™”(Windowing) ๊ธฐ๋ฒ•์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [24, 26, 27]. ๋”๋ถˆ์–ด ๋ชฉ๋ก ํ•ญ๋ชฉ์„ ๋ Œ๋”๋งํ•  ๋•Œ๋Š” ๊ณ ์œ ํ•˜๊ณ  ์•ˆ์ •์ ์ธ `key` ๊ฐ’์„ ๋ถ€์—ฌํ•˜์—ฌ React์˜ ์žฌ์กฐ์ •(Reconciliation) ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ Œ๋”๋ง ๋น„์šฉ์„ ์ค„์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค [28]. +* **๋™์‹œ์„ฑ ๊ธฐ๋Šฅ(Concurrent Features) ํ™œ์šฉ** + React 18 ์ด์ƒ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋™์‹œ์„ฑ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด UI์˜ ์‘๋‹ต์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [29, 30]. `useTransition` ํ›…์„ ์‚ฌ์šฉํ•ด ๋œ ์ค‘์š”ํ•œ ๋ Œ๋”๋ง ์—…๋ฐ์ดํŠธ๋ฅผ ์ง€์—ฐ์‹œํ‚ค๊ณ , ์‚ฌ์šฉ์ž์˜ ํƒ€์ดํ•‘์ด๋‚˜ ํด๋ฆญ ๋“ฑ ์ค‘์š” ์ƒํ˜ธ์ž‘์šฉ์ด ๋Š๊น€ ์—†์ด ์ฒ˜๋ฆฌ๋˜๋„๋ก ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [31, 32]. +* **์ž๋™ํ™”๋œ ์ตœ์ ํ™” ๋„๊ตฌ: React Compiler & Server Components** + 2025๋…„ ๊ธฐ์ค€ React ์ƒํƒœ๊ณ„์˜ ์ฃผ์š” ๋ณ€ํ™”๋กœ, ๋นŒ๋“œ ๋‹จ๊ณ„์—์„œ ์ž๋™์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ๊ฐœ๋ณ„ JSX ์š”์†Œ์™€ ์—ฐ์‚ฐ์„ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ์บ์‹ฑํ•˜๋Š” React Compiler๊ฐ€ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค [33, 34]. ์ด ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ˆ˜๋™ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์˜ ์œ ์ง€๋ณด์ˆ˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค [35, 36]. ํ•œํŽธ Next.js์—์„œ๋Š” ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ(Server Components)๋ฅผ ํ™œ์šฉํ•ด ์ƒํ˜ธ์ž‘์šฉ์ด ์—†๋Š” ์ •์  UI๋ฅผ ์„œ๋ฒ„์—์„œ ์ „์ ์œผ๋กœ ๋ Œ๋”๋งํ•จ์œผ๋กœ์จ ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†ก๋˜๋Š” JavaScript์˜ ์–‘์„ ํš๊ธฐ์ ์œผ๋กœ ์ค„์—ฌ ์ดˆ๊ธฐ ๊ตฌ๋™ ์‹œ๊ฐ„์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค [37-39]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[React State Management]], [[Clean Code Principles]], [[Debugging Frontend Applications]], [[Scalable React Architecture]], [[React Compiler]] +- **Projects/Contexts:** [[Next.js App Router]], [[Vite Build Tool]], [[Zustand]], [[React DevTools Profiler]] +- **Contradictions/Notes:** ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์Šต๊ด€์ ์œผ๋กœ `useCallback`์ด๋‚˜ `useMemo`๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์†Œ์Šค์—์„œ๋Š” ๋น„๊ต ์—ฐ์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ๋กœ ์ธํ•ด ์ž˜๋ชป ์‚ฌ์šฉ๋  ๊ฒฝ์šฐ ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค [7, 8]. ๋˜ํ•œ ์ตœ๊ทผ ์ •์‹ ๋„์ž…๋œ React Compiler๊ฐ€ ์ˆ˜๋™ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ๋Œ€์‹  ์ฒ˜๋ฆฌํ•ด์ฃผ์–ด `React.memo` ๋“ฑ์˜ ์‚ฌ์šฉ์ด ๋ถˆํ•„์š”ํ•ด์ง€๋Š” ์ถ”์„ธ์ž„์ด ๊ฐ•์กฐ๋ฉ๋‹ˆ๋‹ค [22, 33, 40]. + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/Redux Toolkit.md b/00_Raw/Redux Toolkit.md new file mode 100644 index 00000000..d6186f46 --- /dev/null +++ b/00_Raw/Redux Toolkit.md @@ -0,0 +1,18 @@ +# [[Redux Toolkit]] + +## ๐Ÿ“Œ Brief Summary +Redux Toolkit(RTK)์€ ๋ถˆ๋ณ€์„ฑ ์—…๋ฐ์ดํŠธ, ์•ก์…˜ ๋””์ŠคํŒจ์น˜ ๋ฐ ๋ฆฌ๋“€์„œ๋ฅผ ํ†ตํ•ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋ฅผ ์ปจํ…Œ์ด๋„ˆ ํ˜•ํƒœ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์—…๊ณ„ ํ‘œ์ค€์˜ ์ƒํƒœ ๊ด€๋ฆฌ ์†”๋ฃจ์…˜์ด๋‹ค [1]. ๋น„๋ก ์ดˆ๊ธฐ ์„ค์ •๊ณผ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๊ฐ€ ์š”๊ตฌ๋˜์ง€๋งŒ, ๋Œ€๊ทœ๋ชจ ํŒ€ ํ™˜๊ฒฝ์—์„œ ์ผ๊ด€๋œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์—๋Ÿฌ ๊ด€๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ•์ œํ•˜์—ฌ ๋ณต์žกํ•œ ๋ฒ„๊ทธ๋ฅผ ์˜ˆ๋ฐฉํ•œ๋‹ค [2]. ํŠนํžˆ ๋‚ด์žฅ๋œ RTK Query๋ฅผ ํ†ตํ•ด ๋น„๋™๊ธฐ ์ž‘์—…์— ํ•„์ˆ˜์ ์ธ ์บ์‹ฑ, ์ค‘๋ณต ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ, ์ž๋™ ๋ฆฌํŒจ์นญ ๋“ฑ์„ ์ œ๊ณตํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ ํ”„๋ก ํŠธ์—”๋“œ ์‹œ์Šคํ…œ์˜ ๊ฐœ๋ฐœ ํšจ์œจ์„ ํฌ๊ฒŒ ๋†’์—ฌ์ค€๋‹ค [3]. + +## ๐Ÿ“– Core Content +* **๊ตฌ์กฐ์™€ ์ผ๊ด€์„ฑ์˜ ์ œ๊ณต:** Redux๋Š” ์˜ค๋žซ๋™์•ˆ ์ƒํƒœ ๊ด€๋ฆฌ์˜ ๊ธฐ๋ณธ ์†”๋ฃจ์…˜์ด์—ˆ์œผ๋‚˜ ์ดˆ๊ธฐ์— ๋งŽ์€ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ์ฝ”๋“œ๋ฅผ ์š”๊ตฌํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ๋‹ค [4]. ํ•˜์ง€๋งŒ ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(500๊ฐœ ์ด์ƒ์˜ ์ปดํฌ๋„ŒํŠธ)์ด๋‚˜ 10๋ช… ์ด์ƒ์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฐธ์—ฌํ•˜๋Š” ํŒ€์—์„œ๋Š” ์ด ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๊ฐ€ ์˜คํžˆ๋ ค ์ผ๊ด€๋œ ํŒจํ„ด์„ ๊ฐ•์ œํ•˜๋Š” '๊ตฌ์กฐ'๋กœ ์ž‘์šฉํ•œ๋‹ค [2, 5]. ๋ชจ๋“  ํŒ€์›์ด Thunk๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋น„๋™๊ธฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ์ฝ”๋“œ ํŒŒ์•…๊ณผ ์—๋Ÿฌ ์ฒ˜๋ฆฌ๊ฐ€ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•ด์ง„๋‹ค [2]. +* **๊ฐ•๋ ฅํ•œ ๋””๋ฒ„๊น… ์ƒํƒœ๊ณ„:** Redux DevTools๋ฅผ ํ†ตํ•ด ์ƒํƒœ ๊ธฐ๋ก ๊ฒ€์‚ฌ, ์•ก์…˜ ์žฌ์ƒ, ํŠน์ • ์‹œ์ ์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ์‹œ๊ฐ„ ์ด๋™(Time-travel) ๋””๋ฒ„๊น…์ด ๊ฐ€๋Šฅํ•˜๋‹ค [6]. ์ด ๋•๋ถ„์— ๋‹ค๋ฅธ ๋„๊ตฌ(์˜ˆ: Zustand, Context API)๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ช‡ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ณต์žกํ•œ ๋น„๋™๊ธฐ ์ƒํƒœ ๋ฒ„๊ทธ์˜ ์›์ธ์„ ๋‹จ ๋ช‡ ๋ถ„ ๋งŒ์— ์‹œ๊ฐ์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค [2]. +* **RTK Query์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ํ˜์‹ :** ํ˜„๋Œ€ ํ”„๋ก ํŠธ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณต์žก์„ฑ์€ ๋Œ€๋ถ€๋ถ„ ๋น„๋™๊ธฐ ํ†ต์‹ ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค. RTK Query๋Š” ๋น„๋™๊ธฐ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๋ฅผ ๊ฑฐ์˜ ์ œ๊ฑฐํ•˜๋ฉฐ ์บ์‹ฑ, ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์š”์ฒญ ์ œ๊ฑฐ, ์ž๋™ ๋ฆฌํŒจ์นญ, ์บ์‹œ ๋ฌดํšจํ™” ๊ธฐ๋Šฅ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค [3]. API ์—”๋“œํฌ์ธํŠธ๊ฐ€ 5๊ฐœ ์ด์ƒ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ, ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” Zustand ๋Œ€๋น„ ์ˆ˜์ฃผ ๊ฐ„์˜ ์ž‘์—… ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•ด ์ค€๋‹ค [3]. +* **๊ณ ๋ คํ•ด์•ผ ํ•  ํ•œ๊ณ„์ (Gotchas):** RTK๊ฐ€ ๊ธฐ์กด Redux์˜ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๋ฅผ ์ค„์—ฌ์ฃผ๊ธด ํ•˜์ง€๋งŒ, ๋ณต์žก์„ฑ์„ ์™„์ „ํžˆ ์ œ๊ฑฐํ•˜์ง€๋Š” ๋ชปํ•œ๋‹ค [7]. ๊ตฌ์กฐ๊ฐ€ ๊ฐ•์ œ๋˜๋Š” ๋งŒํผ, ์†Œ๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ๋น ๋ฅธ ํ”„๋กœํ† ํƒ€์ž…(MVP) ๊ฐœ๋ฐœ ์‹œ์—๋Š” ๊ณผ๋„ํ•œ ๊ธฐ์ˆ  ๋„์ž…(Overkill)์ด ๋˜์–ด ๋ฐฐํฌ ์†๋„๋ฅผ ๋Šฆ์ถœ ์ˆ˜ ์žˆ๋‹ค [8]. ๋˜ํ•œ ์ •๊ทœํ™”๋œ ์ƒํƒœ ๊ด€๋ฆฌ์˜ ๋ณต์žก์„ฑ, ์•ก์…˜ ๊ฒฐํ•ฉ, ๋ฏธ๋“ค์›จ์–ด ์ˆœ์„œ ๋ฌธ์ œ, ์„ ํƒ์ž(Selector) ๋ฉ”๋ชจ์ด์ œ์ด์…˜์˜ ์ทจ์•ฝ์„ฑ ๋“ฑ์€ ์—ฌ์ „ํžˆ ์ฃผ์˜ํ•ด์•ผ ํ•  ์š”์†Œ๋‹ค [7]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[Redux]], [[Zustand]], [[Context API]], [[State Management]] +- **Projects/Contexts:** [[๋Œ€๊ทœ๋ชจ ํ”„๋ก ํŠธ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜]], [[๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ]] +- **Contradictions/Notes:** ์ƒํƒœ ๊ด€๋ฆฌ์— ์žˆ์–ด Redux Toolkit์€ ๊ฐ•๋ ฅํ•œ ๋ฏธ๋“ค์›จ์–ด ์ƒํƒœ๊ณ„์™€ DevTools๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉํ•˜์ง€๋งŒ [5], ๋‹จ์ˆœํ•˜๊ณ  ๊ฐ€๋ฒผ์šด ์ƒํƒœ ๊ณต์œ ๊ฐ€ ๋ชฉ์ ์ธ ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๊ณผ๋„ํ•œ ์„ค์ • ์ž‘์—…์œผ๋กœ ์ธํ•ด ์ƒ์‚ฐ์„ฑ์„ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ”„๋กœํ† ํƒ€์ž…์ด๋‚˜ ์ž‘์€ ํŒ€์—์„œ๋Š” Zustand ๋“ฑ ๋‹ค๋ฅธ ๋„๊ตฌ๊ฐ€ ๋” ๊ถŒ์žฅ๋œ๋‹ค [8, 9]. + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/Refactoring Legacy React Codebases.md b/00_Raw/Refactoring Legacy React Codebases.md new file mode 100644 index 00000000..0b2905e6 --- /dev/null +++ b/00_Raw/Refactoring Legacy React Codebases.md @@ -0,0 +1,23 @@ +# [[Refactoring Legacy React Codebases]] + +## ๐Ÿ“Œ Brief Summary +๋ ˆ๊ฑฐ์‹œ React ์ฝ”๋“œ๋ฒ ์ด์Šค ๋ฆฌํŒฉํ† ๋ง์€ ๊ธฐ์กด ์•ฑ์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์˜ค๋ž˜๋˜๊ณ  ๋ณต์žกํ•œ ์ฝ”๋“œ๋ฅผ ์œ ์ง€๋ณด์ˆ˜์™€ ํ™•์žฅ์ด ์‰ฌ์šด ํ˜„๋Œ€์ ์ธ ๊ตฌ์กฐ๋กœ ๊ฐœ์„ ํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค [1-3]. ์ด ๊ณผ์ •์€ ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์˜ ์ „ํ™˜, ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ(TypeScript) ๋„์ž…, ์ตœ์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—…๋ฐ์ดํŠธ ๋ฐ ์ƒํƒœ ๊ด€๋ฆฌ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ๋†’์ด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค [4]. ์„ฑ๊ณต์ ์ธ ๋ฆฌํŒฉํ† ๋ง์„ ์œ„ํ•ด์„œ๋Š” ์‚ฌ์ „์— ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์™„๋ฒฝํžˆ ํŒŒ์•…ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ํšŒ๊ท€(regression)๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค [5, 6]. + +## ๐Ÿ“– Core Content + +* **์‚ฌ์ „ ๋ถ„์„ ๋ฐ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋„์ž…** + ๋ฆฌํŒฉํ† ๋ง์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, ๋ผ์šฐํŒ…, ์ธ์ฆ ๋ฐ API ํ˜ธ์ถœ ๋ฐฉ์‹์„ ์™„์ „ํžˆ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [6, 7]. ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด์„œ ๊ธฐ์กด ๊ธฐ๋Šฅ์ด ๋ง๊ฐ€์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ๋จผ์ € ๋‹จ์œ„ ํ…Œ์ŠคํŠธ(Unit Test)๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [5, 8, 9]. `testing-library` ๋“ฑ์„ ํ™œ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ๊ฐ•์ œ๋กœ ํ•™์Šตํ•˜๊ฒŒ ๋˜๋Š” ์ด์ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค [8]. +* **์ปดํฌ๋„ŒํŠธ ๋ฐ ์ฝ”๋“œ ๋ฒ ์ด์Šค ํ˜„๋Œ€ํ™”** + ์ฝ”๋“œ๋ฒ ์ด์Šค๊ฐ€ JavaScript๋กœ ์ž‘์„ฑ๋˜์—ˆ๋‹ค๋ฉด TypeScript๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค [4]. ๋˜ํ•œ, ์˜ค๋ž˜๋œ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์™€ ํ›…(Hooks)์œผ๋กœ ์ „ํ™˜ํ•˜๊ณ , ์‚ฌ์šฉ์ด ์ค‘๋‹จ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ React ๋ฒ„์ „์„ ์ตœ์‹ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [4]. ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ํ˜ผ์žฌ๋˜์–ด ์žˆ๋Š” CSS ์Šคํƒ€์ผ๋ง ๋ฐฉ์‹(์˜ˆ: ์™ธ๋ถ€ CSS, sx, style ํƒœ๊ทธ ๋“ฑ)์€ ํ•˜๋‚˜๋กœ ํ†ต์ผํ•˜์—ฌ ํ‘œ์ค€ํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [10-12]. +* **์ƒํƒœ ๊ด€๋ฆฌ ์ตœ์ ํ™” ๋ฐ ์ ์ง„์  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜** + ๋ถˆํ•„์š”ํ•œ `useEffect` ์‚ฌ์šฉ์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜์—ฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [4]. ๊ธฐ์กด์˜ ๋ฌด๊ฑฐ์šด ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ(์˜ˆ: Redux)๋ฅผ ๋œ์–ด๋‚ด๊ณ , ์„œ๋ฒ„ ์ƒํƒœ ๊ด€๋ฆฌ๋Š” TanStack Query๋กœ, ์ „์—ญ ํด๋ผ์ด์–ธํŠธ ์ƒํƒœ๋Š” Context๋‚˜ Zustand๋กœ, ๋กœ์ปฌ ์ƒํƒœ๋Š” ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€๋กœ ์œ„์น˜์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค [4]. ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ๋Š” "์ „๋ฉด ์žฌ์ž‘์„ฑ(Rewrite)"์ด ์•„๋‹Œ, ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์Šคํ† ์–ด๋‚˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ์”ฉ ๋ณ€๊ฒฝํ•˜๋Š” "์ ์ง„์  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜" ์ „๋žต์„ ์ทจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [1]. +* **ํด๋ฆฐ ์ฝ”๋“œ ๋ฐ ์—”์ง€๋‹ˆ์–ด๋ง ์›์น™ ์ ์šฉ** + ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ์— ํ˜ผ์žฌ๋œ ์—ฌ๋Ÿฌ ์ฑ…์ž„๋“ค์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ปดํฌ๋„ŒํŠธ์˜ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค [13]. ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ํŽ˜์นญ์ด๋‚˜ ํผ ํ•ธ๋“ค๋ง ๊ฐ™์€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์€ ์ปค์Šคํ…€ ํ›…(Custom Hooks)์œผ๋กœ ์ถ”์ถœํ•˜์—ฌ ๋ชจ๋“ˆ์„ฑ๊ณผ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค [14]. ๋˜ํ•œ, ESLint๋ฅผ ๋„์ž…ํ•˜์—ฌ ๋ชจ๋ฒ” ์‚ฌ๋ก€์™€ ์Šคํƒ€์ผ์„ ๊ฐ•์ œํ•˜๊ณ , DRY(Don't Repeat Yourself) ๋ฐ YAGNI(You Aren't Gonna Need It) ์›์น™์„ ์ ์šฉํ•ด ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค [15, 16]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[Clean Code Principles]], [[State Management]], [[Software Engineering Principles]], [[Unit Testing]] +- **Projects/Contexts:** [[React Frontend Development]], [[Legacy System Migration]] +- **Contradictions/Notes:** ์•ฑ์˜ ๊ทœ๋ชจ๊ฐ€ ์ž‘์„ ๊ฒฝ์šฐ, ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ฐจ๋ผ๋ฆฌ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ์•ฑ์„ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์šธ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์˜๊ฒฌ๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [17]. ๋˜ํ•œ ์ฝ”๋“œ๋ฅผ ์ „๋ฉด ์žฌ์ž‘์„ฑ(Rewrite)ํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์•ˆ์ „ํ•œ ์ ์ง„์  ๋ฆฌํŒฉํ† ๋ง(Incremental Migration)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ ์ธก๋ฉด์—์„œ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [1]. + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/TanStack Query.md b/00_Raw/TanStack Query.md new file mode 100644 index 00000000..27b32092 --- /dev/null +++ b/00_Raw/TanStack Query.md @@ -0,0 +1,18 @@ +# [[TanStack Query]] + +## ๐Ÿ“Œ Brief Summary +TanStack Query(๋˜๋Š” React Query)๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ์™€ ๊ทผ๋ณธ์ ์œผ๋กœ ๋‹ค๋ฅธ '์„œ๋ฒ„ ์ƒํƒœ(server state)'๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์‹ค์ƒ์˜ ํ‘œ์ค€(de facto standard) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค [1]. API์—์„œ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ์˜ ์บ์‹ฑ, ๋™๊ธฐํ™”, ๋กœ๋”ฉ ๋ฐ ์—๋Ÿฌ ์‚ฌ์ดํด ์ฒ˜๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋ฉฐ ๋ฌดํ•œ ์Šคํฌ๋กค์ด๋‚˜ ๋‚™๊ด€์  ์—…๋ฐ์ดํŠธ(optimistic updates)์™€ ๊ฐ™์€ ๋ณต์žกํ•œ ๊ธฐ๋Šฅ์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค [1, 2]. ๋ณต์žกํ•œ Redux ๊ตฌํ˜„์„ ๋Œ€์ฒดํ•˜์—ฌ ํ”„๋ก ํŠธ์—”๋“œ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋ฆฌํŒฉํ† ๋งํ•˜๋Š” ๋ฐ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค [3]. + +## ๐Ÿ“– Core Content +- **์„œ๋ฒ„ ์ƒํƒœ(Server State)์˜ ๋ถ„๋ฆฌ ๊ด€๋ฆฌ:** ํ˜„๋Œ€ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์—์„œ๋Š” ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ์—์„œ ์„œ๋ฒ„ ์ƒํƒœ์™€ ํด๋ผ์ด์–ธํŠธ ์ƒํƒœ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๋ณ€ํ™”๋กœ ์ž๋ฆฌ ์žก์•˜์Šต๋‹ˆ๋‹ค. TanStack Query๋Š” ๋ฐ์ดํ„ฐ ์บ์‹ฑ, ๋™๊ธฐํ™”, ๋กœ๋”ฉ/์—๋Ÿฌ ์‚ฌ์ดํด ๊ด€๋ฆฌ ๋“ฑ ์„œ๋ฒ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ํŠนํ™”๋˜์–ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค [1]. +- **๊ฐ•๋ ฅํ•œ ์บ์‹ฑ๊ณผ ์„ฑ๋Šฅ ์ตœ์ ํ™”:** ์ค‘๋ณต๋˜๋Š” ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ์ค„์—ฌ์ฃผ๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ํ•ญ์ƒ ์ตœ์‹  ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•˜๋Š” ๊ฒฌ๊ณ ํ•œ ์บ์‹ฑ ๋ ˆ์ด์–ด๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค [2]. +- **ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํด๋” ๊ตฌ์กฐ์™€์˜ ๊ฒฐํ•ฉ:** ํ™•์žฅ์„ฑ ์žˆ๋Š” ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜์—์„œ๋Š” API ๊ณ„์ธต์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. TanStack Query๋ฅผ ํ™œ์šฉํ•œ ์š”์ฒญ ์„ ์–ธ(request declarations)๊ณผ ์ปค์Šคํ…€ ํ›…(custom hooks)์€ ๊ด€๋ จ ๊ธฐ๋Šฅ(feature) ํด๋” ๋‚ด์— ํ•จ๊ป˜ ๋ฐฐ์น˜(colocated)ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ๋„คํŠธ์›Œํฌ ๋กœ์ง์„ UI ์ปดํฌ๋„ŒํŠธ์™€ ์ฒ ์ €ํžˆ ๋ถ„๋ฆฌํ•˜์—ฌ ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํฌ๊ฒŒ ๋†’์—ฌ์ค๋‹ˆ๋‹ค [2]. +- **๋ฆฌํŒฉํ† ๋ง ๋ฐ ํƒ€ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ์‹œ๋„ˆ์ง€:** ๋ ˆ๊ฑฐ์‹œ React ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•  ๋•Œ, ๊ธฐ์กด์˜ Redux๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์„œ๋ฒ„ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ TanStack Query๋กœ ์ด๊ด€ํ•˜๋Š” ๊ฒƒ์ด ํ›Œ๋ฅญํ•œ ์ „๋žต์œผ๋กœ ์ œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋‚จ์€ ์ „์—ญ ํด๋ผ์ด์–ธํŠธ ์ƒํƒœ๋Š” Context API๋‚˜ Zustand๋ฅผ ํ™œ์šฉํ•ด ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋ชจ๋ฒ” ์‚ฌ๋ก€๋กœ ์—ฌ๊ฒจ์ง‘๋‹ˆ๋‹ค [3]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[Server State]], [[State Management]], [[Zustand]], [[Redux]], [[Context API]] +- **Projects/Contexts:** [[React Codebase Refactoring]], [[Engineering Scalable Frontend Systems]] +- **Contradictions/Notes:** ์†Œ์Šค ๋‚ด์—์„œ ์ƒ์ถฉํ•˜๋Š” ์˜๊ฒฌ์€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ , ๊ณผ๊ฑฐ์˜ ๊ฑฐ๋Œ€ํ•œ ๋‹จ์ผ ์ƒํƒœ ๊ด€๋ฆฌ(Redux ๋“ฑ) ๋ฐฉ์‹์—์„œ ๋ฒ—์–ด๋‚˜, ์„œ๋ฒ„ ์ƒํƒœ๋Š” TanStack Query์— ์œ„์ž„ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ ์ƒํƒœ๋Š” Zustand ๋“ฑ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์ด 2025๋…„ ๊ธฐ์ค€ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜์˜ ํ•ต์‹ฌ ์›์น™์œผ๋กœ ๊ฐ•์กฐ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [1, 3, 4]. + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/Zustand.md b/00_Raw/Zustand.md new file mode 100644 index 00000000..37463a74 --- /dev/null +++ b/00_Raw/Zustand.md @@ -0,0 +1,19 @@ +# [[Zustand]] + +## ๐Ÿ“Œ Brief Summary +Zustand๋Š” Jotai์™€ React Spring์„ ๋งŒ๋“  ํŒ€์—์„œ ๊ฐœ๋ฐœํ•œ ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๋ฉฐ ์œ ์—ฐํ•œ React ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค [1, 2]. Context API๊ฐ€ ๊ฐ€์ง„ ๋ถˆํ•„์š”ํ•œ ๋ฆฌ๋ Œ๋”๋ง ๋ฌธ์ œ์™€ Redux์˜ ๊ณผ๋„ํ•œ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค [2-4]. Zustand์˜ ์Šคํ† ์–ด๋Š” React ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ ์™ธ๋ถ€์— ์กด์žฌํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋กœ ์ž‘๋™ํ•˜๋ฉฐ, Provider ๋ž˜ํผ(wrapper) ์—†์ด๋„ ์ „์—ญ ์ƒํƒœ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค [5, 6]. + +## ๐Ÿ“– Core Content +* **๊ฒฝ๋Ÿ‰์„ฑ๊ณผ ๋‹จ์ˆœ์„ฑ:** Zustand๋Š” ํŒจํ‚ค์ง€ ํฌ๊ธฐ๊ฐ€ ์•ฝ 2.2KB(์••์ถ• ๊ธฐ์ค€ ์•ฝ 1KB)๋กœ ๋งค์šฐ ๊ฐ€๋ฒผ์šฐ๋ฉฐ, `create()` ํ•จ์ˆ˜ ํ•˜๋‚˜๋งŒ์œผ๋กœ ์Šคํ† ์–ด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๊ฐ€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค [1, 5, 7, 8]. Redux์™€ ๋‹ฌ๋ฆฌ ์•ก์…˜ ํƒ€์ž…, ๋ฆฌ๋“€์„œ ๊ตฌ์„ฑ์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ƒํƒœ์™€ ์—…๋ฐ์ดํŠธ ํ•จ์ˆ˜๋ฅผ ํ•œ ๊ณณ์—์„œ ์ง๊ด€์ ์œผ๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค [4-6]. +* **๋ฆฌ๋ Œ๋”๋ง ์ตœ์ ํ™” (Selector ํŒจํ„ด):** Context API๋Š” ์ƒํƒœ์˜ ์ผ๋ถ€๋งŒ ๋ณ€๊ฒฝ๋˜์–ด๋„ ํ•ด๋‹น ์ปจํ…์ŠคํŠธ๋ฅผ ๊ตฌ๋…ํ•˜๋Š” ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ฆฌ๋ Œ๋”๋ง๋˜๋Š” ์„ฑ๋Šฅ์  ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค [3, 9, 10]. ๋ฐ˜๋ฉด Zustand๋Š” ์„ ํƒ์ž(Selector) ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž์‹ ์ด ํ•„์š”๋กœ ํ•˜๋Š” ํŠน์ • ์ƒํƒœ ์Šฌ๋ผ์ด์Šค(slice)์—๋งŒ ๊ตฌ๋…ํ•˜๋„๋ก ๋งŒ๋“ญ๋‹ˆ๋‹ค [9, 11]. ์„ ํƒ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งŒ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ฆฌ๋ Œ๋”๋ง๋˜๋ฏ€๋กœ, ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋‚˜ ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ์ฒ˜๋Ÿผ ์ž์ฃผ ์—…๋ฐ์ดํŠธ๋˜๋Š” ์ƒํƒœ ๊ด€๋ฆฌ์— ํƒ์›”ํ•œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค [11, 12]. +* **React ์ƒ๋ช…์ฃผ๊ธฐ ์™ธ๋ถ€์—์„œ์˜ ์ž‘๋™:** Zustand์˜ ์Šคํ† ์–ด๋Š” ๋‹จ์ˆœํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋กœ์„œ React์˜ ๋ Œ๋”๋ง ์ฃผ๊ธฐ ์™ธ๋ถ€์— ์™„์ „ํžˆ ๋…๋ฆฝ์ ์œผ๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [5]. ์ด๋Ÿฌํ•œ ์•„ํ‚คํ…์ฒ˜ ๋•๋ถ„์— React ์ปดํฌ๋„ŒํŠธ ์™ธ๋ถ€์˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜๋‚˜ API ํ—ฌํผ ํŒŒ์ผ ๋“ฑ์—์„œ๋„ ์ง์ ‘ ์ƒํƒœ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [8, 13]. +* **ํ™•์žฅ์„ฑ ๋ฐ ํ”„๋กœ์ ํŠธ ์ ํ•ฉ์„ฑ:** ์•ฝ 50~500๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ€์ง„ ์ค‘๊ฐ„ ๊ทœ๋ชจ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ 5~15๋ช… ๊ทœ๋ชจ์˜ ํŒ€, ๋น ๋ฅธ MVP ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค [14, 15]. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ(TypeScript) ์ง€์›์ด ๋›ฐ์–ด๋‚˜๋ฉฐ, ์ „์—ญ ์ƒํƒœ๊ฐ€ ๋งŽ์•„์ง€๋”๋ผ๋„ ์ค‘์ฒฉ๋œ Provider(Provider nesting)๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [8, 13, 15]. +* **๋„์ž… ์‹œ ์ฃผ์˜์  (์œ ์—ฐ์„ฑ์˜ ์–‘๋ฉด์„ฑ):** ์—„๊ฒฉํ•œ ํŒจํ„ด์„ ๊ฐ•์ œํ•˜๋Š” Redux์™€ ๋‹ฌ๋ฆฌ Zustand๋Š” ๋„ˆ๋ฌด ์œ ์—ฐํ•ด์„œ ๊ฐœ๋ฐœ์ž๋งˆ๋‹ค ๋น„๋™๊ธฐ ์ž‘์—… ํŒจํ„ด์„ ๋‹ค๋ฅด๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ๋“ฑ 'Store Soup(์Šคํ† ์–ด ํ˜ผ๋ˆ)' ์ƒํƒœ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4, 14, 16]. ๋”ฐ๋ผ์„œ ๋Œ€๊ทœ๋ชจ ์•ฑ์ด๊ฑฐ๋‚˜ ํŒ€ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ ๊ฒฝ์šฐ ์„ ํƒ์ž ์‚ฌ์šฉ ๋ฐฉ์‹ ๋ฐ ๋ฏธ๋“ค์›จ์–ด ํŒจํ„ด์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ๊ทœ์น™ ์ˆ˜๋ฆฝ์ด ์š”๊ตฌ๋˜๋ฉฐ, ํ†ต์ œ๊ฐ€ ์–ด๋ ต๋‹ค๋ฉด Redux ๋„์ž…์ด ๋” ๋‚˜์€ ๋Œ€์•ˆ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [15, 17-19]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[React Context API]], [[Redux]], [[State Management]], [[React Hooks]], [[Re-renders Optimization]], [[Clean Code Principles]] +- **Projects/Contexts:** [[Scalable React Architecture]], [[Frontend Performance Optimization]], [[Refactoring Techniques]] +- **Contradictions/Notes:** ์†Œ์Šค์— ๋”ฐ๋ฅด๋ฉด Context API๋Š” ์˜์กด์„ฑ์ด ์—†๊ณ  ์ •์ ์ธ ํ…Œ๋งˆ/์–ธ์–ด ๋ฐ์ดํ„ฐ ๋“ฑ์— ์ ํ•ฉํ•˜์ง€๋งŒ ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ์ƒํƒœ์—์„œ๋Š” "๋ฆฌ๋ Œ๋”๋ง ํญํ’"์„ ์ผ์œผํ‚ค๋Š” ๋ฐ˜๋ฉด, Zustand๋Š” Selector๋ฅผ ํ†ตํ•ด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค [10-12, 20]. ๊ทธ๋Ÿฌ๋‚˜ Zustand์˜ ๋†’์€ ์œ ์—ฐ์„ฑ์€ ์žฅ์ ์ธ ๋™์‹œ์— ๋‹จ์ ์œผ๋กœ ์ž‘์šฉํ•˜์—ฌ, ๋Œ€๊ทœ๋ชจ ํŒ€์ด๋‚˜ ๋น„๋™๊ธฐ ์ž‘์—…์ด ๋งค์šฐ ๋งŽ์€ ๋ณต์žกํ•œ ์•ฑ์—์„œ๋Š” ์ผ๊ด€๋œ ํŒจํ„ด์„ ๊ฐ•์ œํ•˜๋Š” Redux์— ๋น„ํ•ด ์œ ์ง€๋ณด์ˆ˜์— ํŒŒํŽธํ™”๋œ ํ˜ผ๋ž€์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค [4, 14, 18, 21]. + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/10_Wiki/Topics/AI/SQL-Performance-Tuning.md b/10_Wiki/Topics/AI/SQL-Performance-Tuning.md new file mode 100644 index 00000000..0ce63911 --- /dev/null +++ b/10_Wiki/Topics/AI/SQL-Performance-Tuning.md @@ -0,0 +1,29 @@ +--- +id: SYS-SQL-TUNE-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [database, sql, optimization, performance-tuning, indexing, query-optimization, relational-databases] +last_reinforced: 2026-04-26 +--- + +# [[SQL Performance Tuning (SQL ์„ฑ๋Šฅ ํŠœ๋‹)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„์˜ ์‹คํ–‰ ๊ณ„ํš(Execution Plan)์„ ์ฝ์–ด ๋น„ํšจ์œจ์˜ ๋ณ‘๋ชฉ์„ ์ฐพ์•„๋‚ด๊ณ , ์ธ๋ฑ์‹ฑ๊ณผ ์ฟผ๋ฆฌ ์žฌ์ž‘์„ฑ์ด๋ผ๋Š” ์ •๋ฐ€ํ•œ ๋ฉ”์Šค๋กœ ์ดˆ๊ณ ์† ๋ฐ์ดํ„ฐ ํƒ์ƒ‰์˜ ๊ธธ์„ ์—ด์–ด๋ผ" โ€” SQL ์ฟผ๋ฆฌ์˜ ์‘๋‹ต ์†๋„๋ฅผ ์ตœ์ ํ™”ํ•˜๊ณ  ์‹œ์Šคํ…œ ์ž์› ์†Œ๋ชจ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ ์  ์กฐ์ • ๊ณต์ •. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Execution Plan Analysis and Index Optimization" โ€” ์ „์ฒด ํ…Œ์ด๋ธ” ์Šค์บ”(Full Table Scan)์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์ ์ ˆํ•œ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์กฐ์ธ(Join) ์ˆœ์„œ ์กฐ์ • ๋ฐ ๋ถˆํ•„์š”ํ•œ ์„œ๋ธŒ์ฟผ๋ฆฌ ์ œ๊ฑฐ ๋“ฑ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„์ด ๊ฐ€์žฅ ์ ์€ ๋น„์šฉ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ฒŒ ๋งŒ๋“œ๋Š” ํŒจํ„ด. +- **์ฃผ์š” ํŠœ๋‹ ์ „๋žต:** + - **Indexing:** ์ž์ฃผ ๊ฒ€์ƒ‰๋˜๋Š” ์ปฌ๋Ÿผ์— ์ธ๋ฑ์Šค๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ํƒ์ƒ‰ ์†๋„ ํ–ฅ์ƒ. + - **Query Refactoring:** `SELECT *` ์ง€์–‘, ๋ถˆํ•„์š”ํ•œ `DISTINCT` ์ œ๊ฑฐ, ํšจ์œจ์ ์ธ `WHERE` ์กฐ๊ฑด์ ˆ ๊ตฌ์„ฑ. + - **Execution Plan Analysis:** `EXPLAIN` ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์—”์ง„์˜ ์ž‘์—… ๊ฒฝ๋กœ ๋ถ„์„ ๋ฐ ๋ณ‘๋ชฉ ์ง€์  ์‹๋ณ„. + - **Normalization vs Denormalization:** ์ฝ๊ธฐ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์˜๋„์ ์ธ ๋ฐ์ดํ„ฐ ์ค‘๋ณต ํ™œ์šฉ. +- **์˜์˜:** ์„œ๋น„์Šค ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ€ํ•˜๋Š” ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚˜๋ฉฐ, SQL ํŠœ๋‹์€ ํ•˜๋“œ์›จ์–ด ์ฆ์„ค ์—†์ด๋„ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์„ ์ˆ˜๋ฐฐ ์ด์ƒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๊ฒฝ์ œ์ ์ธ ๊ณ ๋„ํ™” ์ „๋žต. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋ฌด์กฐ๊ฑด ์ธ๋ฑ์Šค๋ฅผ ๋งŽ์ด ๊ฑฐ๋Š” ๊ฒƒ์ด ๋‹ต์ด๋ผ๋˜ ์ƒ๊ฐ์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” ์ธ๋ฑ์Šค๊ฐ€ ์“ฐ๊ธฐ(Insert/Update) ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ์„ ๊ณ ๋ คํ•˜์—ฌ '์ฝ๊ธฐ/์“ฐ๊ธฐ ๋น„์ค‘'์— ๋”ฐ๋ฅธ ๊ท ํ˜• ์žกํžŒ ์ „๋žต ์ˆ˜๋ฆฝ์ด ์ค‘์š”ํ•ด์ง. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ๋Œ€๊ทœ๋ชจ ๋กœ๊ทธ ๋ถ„์„ ๋ฐ ์ง€์‹ ๊ฒ€์ƒ‰ ์‹œ, ์‘๋‹ต ์ง€์—ฐ ์‹œ๊ฐ„(Latency) 100ms ์ด๋‚ด ์œ ์ง€๋ฅผ ๋ชฉํ‘œ๋กœ ๋ชจ๋“  ํ•ต์‹ฌ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์‹คํ–‰ ๊ณ„ํš ๊ฒ€ํ†  ๋ฐ ์ธ๋ฑ์Šค ์ตœ์ ํ™”๋ฅผ ์˜๋ฌดํ™”ํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Relational-Databases]], [[Scalability-in-AI-Systems]], [[Sharding-and-Partitioning]], [[System-Design-for-AI-Scale]] +- **Raw Source:** [[10_Wiki/Topics/AI/SQL-Performance-Tuning.md]] diff --git a/10_Wiki/Topics/AI/Space-based-Architecture.md b/10_Wiki/Topics/AI/Space-based-Architecture.md new file mode 100644 index 00000000..0f859b04 --- /dev/null +++ b/10_Wiki/Topics/AI/Space-based-Architecture.md @@ -0,0 +1,28 @@ +--- +id: SYS-SPACE-ARCH-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [systems, architecture, space-based, distributed-computing, in-memory, high-availability, scalability] +last_reinforced: 2026-04-26 +--- + +# [[Space-based Architecture (์ŠคํŽ˜์ด์Šค ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ผ๋Š” ๋ณ‘๋ชฉ์—์„œ ๋ฒ—์–ด๋‚˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„(Space)์— ํŽผ์ณ๋†“๊ณ , ์—ฐ์‚ฐ๊ณผ ์ €์žฅ์„ ํ•œ ๋ชธ์œผ๋กœ ๋ฌถ์–ด ๋ฌดํ•œํ•œ ๋™์‹œ์„ฑ์„ ์‹คํ˜„ํ•˜๋ผ" โ€” ์ค‘์•™ ์ง‘์ค‘์‹ DB์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ(IMDG)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Tuple Space and Distributed In-memory Processing" โ€” ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„(Space)์— ํŠœํ”Œ ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๊ณ , ์—ฌ๋Ÿฌ ์ฒ˜๋ฆฌ ์žฅ์น˜(Processing Units)๊ฐ€ ์ด ๊ณต๊ฐ„์— ์ ‘๊ทผํ•˜์—ฌ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋น„๋™๊ธฐ๋กœ ์˜๊ตฌ ์ €์žฅ์†Œ์— ๋ฐ˜์˜ํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ:** + - **Processing Unit:** ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ์˜ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์„ ํฌํ•จํ•˜๋Š” ๋…๋ฆฝ์  ๋‹จ์œ„. + - **Virtualized Middleware:** ์„œ๋น„์Šค ๊ฐ„์˜ ํ†ต์‹ ๊ณผ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”๋ฅผ ๋‹ด๋‹น. + - **In-memory Data Grid:** ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผ. +- **์˜์˜:** ์ฃผ์‹ ๊ฑฐ๋ž˜ ์‹œ์Šคํ…œ, ์˜จ๋ผ์ธ ๊ฒŒ์ž„, ๋Œ€๊ทœ๋ชจ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๋“ฑ ์ˆ˜๋ฐฑ๋งŒ ๊ฑด์˜ ํŠธ๋žœ์žญ์…˜์ด ์ฐฐ๋‚˜์˜ ์ˆœ๊ฐ„์— ๋ชฐ๋ฆฌ๋Š” '๊ทน๋‹จ์ ์ธ ํ™•์žฅ์„ฑ(Extreme Scalability)'์ด ํ•„์š”ํ•œ ํ™˜๊ฒฝ์—์„œ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•จ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๊ตฌ์ถ• ๋น„์šฉ์ด ๋น„์‹ธ๊ณ  ๋ณต์žกํ•˜๋‹ค๋Š” ์ธ์‹์ด ์žˆ์—ˆ์œผ๋‚˜, ์ตœ๊ทผ์—๋Š” Redis, Hazelcast ๋“ฑ ์˜คํ”ˆ์†Œ์Šค IMDG์˜ ๋ฐœ์ „๊ณผ ํด๋ผ์šฐ๋“œ ์ž์›์˜ ์œ ์—ฐ์„ฑ ๋•๋ถ„์— ๊ณ ์„ฑ๋Šฅ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ๊ตฌ์ถ•์˜ ํ˜„์‹ค์ ์ธ ๋Œ€์•ˆ์œผ๋กœ ์ž๋ฆฌ ์žก์Œ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ ๊ฐ„์˜ ์‹ค์‹œ๊ฐ„ ๋ฉ”์‹œ์ง€ ๊ตํ™˜ ๋ฐ ๊ณต์šฉ ์ƒํƒœ ๊ด€๋ฆฌ ์‹œ, ์‘๋‹ต ์ง€์—ฐ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ŠคํŽ˜์ด์Šค ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์˜ ์ธ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ  ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋ถ€๋ถ„์ ์œผ๋กœ ๋„์ž…ํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Software-Architecture-Patterns]], [[Scalability-in-AI-Systems]], [[High-Availability-Systems]], [[Real-time-Data-Streaming]] +- **Raw Source:** [[10_Wiki/Topics/AI/Space-based-Architecture.md]] diff --git a/10_Wiki/Topics/AI/Sparse-Data-Handling.md b/10_Wiki/Topics/AI/Sparse-Data-Handling.md new file mode 100644 index 00000000..634d74f1 --- /dev/null +++ b/10_Wiki/Topics/AI/Sparse-Data-Handling.md @@ -0,0 +1,29 @@ +--- +id: DATA-SPARSE-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [data-science, machine-learning, sparse-data, missing-values, matrix-compression, recommendation-systems, feature-engineering] +last_reinforced: 2026-04-26 +--- + +# [[Sparse Data Handling (ํฌ์†Œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ฐ์ดํ„ฐ์˜ ๋นˆ ๊ณต๊ฐ„(0)์„ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ œ๊ฑฐํ•˜์—ฌ ์ž์›์„ ์•„๋ผ๊ณ , ๋…ผ๋ฆฌ์ ์œผ๋กœ๋Š” ๊ทธ ๊ฒฐํ• ์†์— ์ˆจ๊ฒจ์ง„ ์ž ์žฌ์  ๊ด€๊ณ„๋ฅผ ์ถ”๋ก ํ•˜์—ฌ ์ง€์‹์˜ ๋ฐ€๋„๋ฅผ ๋†’์—ฌ๋ผ" โ€” ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ’์ด ์œ ํšจํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ 0์ธ ๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ ์ด๊ณ  ์„ฑ๋Šฅ ์ง€ํ–ฅ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋ฒ•. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Sparse Representation and Latent Completion" โ€” 0์ด ์•„๋‹Œ ์œ ํšจํ•œ ๊ฐ’์˜ ์œ„์น˜์™€ ๊ฐ’๋งŒ์„ ๊ธฐ๋กํ•˜์—ฌ(CSR, CSC ํ˜•์‹) ์—ฐ์‚ฐ ์†๋„๋ฅผ ๋†’์ด๊ณ , ํ–‰๋ ฌ ๋ถ„ํ•ด(Matrix Factorization) ๋“ฑ์„ ํ†ตํ•ด ๋น„์–ด ์žˆ๋Š” ๊ฐ’์˜ ๊ฐ€๋Šฅ์„ฑ์„ ์˜ˆ์ธกํ•˜์—ฌ ์ฑ„์šฐ๋Š” ํŒจํ„ด. +- **์ฃผ์š” ์ „๋žต:** + - **Compression:** Sparse Matrix ํ˜•์‹์„ ์‚ฌ์šฉํ•ด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ 90% ์ด์ƒ ์ ˆ๊ฐ. + - **Dimensionality Reduction:** SVD ๋“ฑ์„ ํ†ตํ•ด ํ•ต์‹ฌ ์ •๋ณด๋งŒ ๋‚จ๊ธฐ๊ณ  ์ฐจ์› ์ถ•์†Œ. + - **Imputation:** ํ‰๊ท , ์ค‘์•™๊ฐ’ ๋˜๋Š” ํšŒ๊ท€ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด ๊ฒฐ์ธก์น˜ ๋ณด์ถฉ. + - **Embedding:** ํฌ์†Œํ•œ ์›-ํ•ซ ๋ฒกํ„ฐ๋ฅผ ๋ฐ€์ง‘๋œ ์ €์ฐจ์› ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ (Word2Vec ๋“ฑ). +- **์˜์˜:** ์ถ”์ฒœ ์‹œ์Šคํ…œ, ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ, ์œ ์ „์ฒด ๋ถ„์„ ๋“ฑ ๋ฐ์ดํ„ฐ์˜ ์ฐจ์›์€ ๊ทน๋‹จ์ ์œผ๋กœ ๋†’์ง€๋งŒ ์œ ํšจ ์ •๋ณด๋Š” ์ ์€ ํ˜„๋Œ€ ๋น…๋ฐ์ดํ„ฐ ๋ถ„์•ผ์˜ ํ•„์ˆ˜์ ์ธ ๊ณตํ•™์  ์ƒ์กด ์ „๋žต. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋‹จ์ˆœํžˆ 0์„ ์ฑ„์šฐ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์˜€๋˜ ๊ณผ๊ฑฐ์™€ ๋‹ฌ๋ฆฌ, ์ด์ œ๋Š” 0(ํ˜น์€ ๊ฒฐ์ธก) ์ž์ฒด๊ฐ€ '์‚ฌ์šฉ์ž๊ฐ€ ๊ด€์‹ฌ ์—†์Œ'์ด๋ผ๋Š” ์ค‘์š”ํ•œ ์ •๋ณด(Implicit Feedback)๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ชจ๋ธ ์„ค๊ณ„์— ์ ๊ทน ๋ฐ˜์˜ํ•˜๋Š” ์ถ”์„ธ์ž„. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ๋ฌธ์„œ ๊ฐ„์˜ ํ‚ค์›Œ๋“œ ํ–‰๋ ฌ์ด๋‚˜ ์‚ฌ์šฉ์ž ์งˆ์˜ ์ด๋ ฅ์„ ๋ถ„์„ํ•  ๋•Œ, ์—ฐ์‚ฐ ๋ณ‘๋ชฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํฌ์†Œ ํ–‰๋ ฌ ์—ฐ์‚ฐ ์ตœ์ ํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ธฐ๋ณธ ์Šคํƒ์œผ๋กœ ํ™œ์šฉํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Singular-Value-Decomposition]], [[Recommendation-Systems]], [[Pre-processing-Data-for-AI]], [[Representation-Learning]] +- **Raw Source:** [[10_Wiki/Topics/AI/Sparse-Data-Handling.md]] diff --git a/10_Wiki/Topics/AI/Spatial-Data-Analysis.md b/10_Wiki/Topics/AI/Spatial-Data-Analysis.md new file mode 100644 index 00000000..a46daffa --- /dev/null +++ b/10_Wiki/Topics/AI/Spatial-Data-Analysis.md @@ -0,0 +1,29 @@ +--- +id: DATA-SPATIAL-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [data-science, spatial-analysis, gis, geospatial, coordinates, geometry, location-intelligence] +last_reinforced: 2026-04-26 +--- + +# [[Spatial Data Analysis (๊ณต๊ฐ„ ๋ฐ์ดํ„ฐ ๋ถ„์„)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ƒ์  ์ˆซ์ž๊ฐ€ ์•„๋‹Œ '์ง€ํ‘œ๋ฉด ์œ„์˜ ์ขŒํ‘œ'๋กœ ์ธ์‹ํ•˜๊ณ , ์ง€๋ฆฌ์  ๊ทผ์ ‘์„ฑ์ด ๋งŒ๋“ค์–ด๋‚ด๋Š” ์ธ๊ณผ์™€ ํŒจํ„ด์˜ ์ง€๋„๋ฅผ ๊ทธ๋ ค๋ผ" โ€” ์œ„์น˜(Location) ์ •๋ณด๋ฅผ ํฌํ•จํ•œ ์ง€๋ฆฌ ๋ฐ์ดํ„ฐ์˜ ๊ธฐํ•˜ํ•™์  ํŠน์„ฑ๊ณผ ์œ„์ƒ ๊ด€๊ณ„๋ฅผ ์ˆ˜ํ•™์ ์œผ๋กœ ๋ถ„์„ํ•˜๋Š” ๊ธฐ์ˆ . + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Spatial Autocorrelation and Geometric Relationship" โ€” ์ง€๋ฆฌ์ ์œผ๋กœ ๊ฐ€๊นŒ์šด ๋Œ€์ƒ๋ผ๋ฆฌ ๋น„์Šทํ•œ ํŠน์„ฑ์„ ๊ณต์œ ํ•œ๋‹ค๋Š” ์›๋ฆฌ(Tobler's First Law)๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ, ์ (Point), ์„ (Line), ๋ฉด(Polygon) ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ, ํฌํ•จ ์—ฌ๋ถ€, ์ธ์ ‘์„ฑ์„ ๋ถ„์„ํ•˜์—ฌ ์œ ์˜๋ฏธํ•œ ๊ณต๊ฐ„์  ๊ตฐ์ง‘์„ ์ฐพ์•„๋‚ด๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๋ถ„์„ ๋„๊ตฌ ๋ฐ ๊ฐœ๋…:** + - **GIS (Geographic Information System):** ๊ณต๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘, ์ €์žฅ, ๋ถ„์„, ์‹œ๊ฐํ™”ํ•˜๋Š” ํ†ตํ•ฉ ์‹œ์Šคํ…œ. + - **Spatial Join:** ์œ„์น˜ ๊ด€๊ณ„(๊ฒน์นจ, ํฌํ•จ ๋“ฑ)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์…‹ ๊ฒฐํ•ฉ. + - **Hotspot Analysis:** ํ†ต๊ณ„์ ์œผ๋กœ ์œ ์˜๋ฏธํ•œ ์ง€๋ฆฌ์  ๋ฐ€์ง‘ ์ง€์—ญ ํƒ์ง€. + - **Spatial Indexing (R-tree, Quadtree):** ๋ฐฉ๋Œ€ํ•œ ๊ณต๊ฐ„ ๋ฐ์ดํ„ฐ ์ค‘ ํŠน์ • ์˜์—ญ์„ ์ดˆ๊ณ ์†์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ธฐ์ˆ . +- **์˜์˜:** ์ƒ๊ถŒ ๋ถ„์„, ๋„์‹œ ๊ณ„ํš, ๋ฌผ๋ฅ˜ ๊ฒฝ๋กœ ์ตœ์ ํ™”, ํ™˜๊ฒฝ ๋ชจ๋‹ˆํ„ฐ๋ง ๋“ฑ '์–ด๋””์„œ(Where)'๋ผ๋Š” ์งˆ๋ฌธ์ด ์ •๋‹ต์˜ ํ•ต์‹ฌ์ธ ๋ชจ๋“  ์‹ค์„ธ๊ณ„ ๋น„์ฆˆ๋‹ˆ์Šค์˜ ๋‚˜์นจ๋ฐ˜ ์—ญํ• . + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋‹จ์ˆœํžˆ ์ง€๋„ ์œ„์— ์ ์„ ์ฐ๋Š” ์‹œ๊ฐํ™” ์ˆ˜์ค€์„ ๋„˜์–ด, ์ด์ œ๋Š” ๊ทธ๋ž˜ํ”„ ์‹ ๊ฒฝ๋ง(GNN)์„ ํ†ตํ•ด ๋„์‹œ ์ธํ”„๋ผ ๊ฐ„์˜ ๋ณต์žกํ•œ ์—ฐ๊ฒฐ์„ฑ์„ ํ•™์Šตํ•˜๊ฑฐ๋‚˜ ์œ„์„ฑ ์ด๋ฏธ์ง€๋ฅผ ๋”ฅ๋Ÿฌ๋‹์œผ๋กœ ์ž๋™ ๋ถ„์„ํ•˜๋Š” '์ง€๋Šฅํ˜• ๊ณต๊ฐ„ ๋ถ„์„'์œผ๋กœ ์ง„ํ™”ํ•จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ํ–ฅํ›„ ์—์ด์ „ํŠธ์˜ ์˜คํ”„๋ผ์ธ ์„œ๋น„์Šค ์—ฐ๋™ ์‹œ, ์‚ฌ์šฉ์ž์˜ ์œ„์น˜ ๋งฅ๋ฝ์„ ๋ฐ˜์˜ํ•œ ์ตœ์ ์˜ ๋ฌผ๋ฆฌ์  ์ •๋ณด ์ถ”์ฒœ์„ ์œ„ํ•ด ๊ณ ๋„ํ™”๋œ ๊ณต๊ฐ„ ๋ถ„์„ ์—”์ง„ ํ”„๋กœํ† ์ฝœ์„ ์ค€๋น„ํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Simulation-Environments]], [[Graph-Theory-Foundations]], [[Cluster-Analysis-Techniques]], [[Self-Driving-Car-Foundations]] +- **Raw Source:** [[10_Wiki/Topics/AI/Spatial-Data-Analysis.md]] diff --git a/10_Wiki/Topics/AI/Spectral-Clustering.md b/10_Wiki/Topics/AI/Spectral-Clustering.md new file mode 100644 index 00000000..0f48e8f7 --- /dev/null +++ b/10_Wiki/Topics/AI/Spectral-Clustering.md @@ -0,0 +1,32 @@ +--- +id: MATH-CLUST-SPEC-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [math, machine-learning, clustering, spectral-clustering, graph-theory, linear-algebra, eigenvalues] +last_reinforced: 2026-04-26 +--- + +# [[Spectral Clustering (์ŠคํŽ™ํŠธ๋Ÿด ํด๋Ÿฌ์Šคํ„ฐ๋ง)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐ์˜ ์„ ์œผ๋กœ ์—ฎ์–ด ๊ทธ๋ž˜ํ”„๋ฅผ ๋งŒ๋“ค๊ณ , ํ–‰๋ ฌ์˜ ๊ณ ์œ ๊ฐ’(Spectrum) ์†์— ์ˆจ๊ฒจ์ง„ ์ตœ์ ์˜ ์ ˆ๋‹จ๋ฉด(Min-cut)์„ ์ฐพ์•„ ๋ณต์žกํ•˜๊ฒŒ ์–ฝํžŒ ๋ฌด๋ฆฌ๋“ค์„ ๋ช…์พŒํ•˜๊ฒŒ ๊ฐˆ๋ผ์น˜๊ธฐํ•˜๋ผ" โ€” ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ์œ ์‚ฌ๋„ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ๋ผํ”Œ๋ผ์‹œ์•ˆ ํ–‰๋ ฌ์˜ ๊ณ ์œ ๊ฐ’ ๋ถ„ํ•ด๋ฅผ ํ†ตํ•ด ์ €์ฐจ์› ๊ณต๊ฐ„์œผ๋กœ ํˆฌ์˜ํ•˜์—ฌ ๊ตฐ์ง‘ํ™”ํ•˜๋Š” ๊ธฐ๋ฒ•. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Graph Laplacian and Dimensionality Reduction for Clustering" โ€” ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ ๊ฐ„์˜ ์œ ์‚ฌ๋„๋ฅผ ์ธก์ •ํ•ด ์ธ์ ‘ ํ–‰๋ ฌ(Adjacency Matrix)์„ ๋งŒ๋“ค๊ณ , ์ด๋ฅผ ์ฐจ์ˆ˜ ํ–‰๋ ฌ(Degree Matrix)๊ณผ ๊ฒฐํ•ฉํ•œ ๋ผํ”Œ๋ผ์‹œ์•ˆ(Laplacian) ํ–‰๋ ฌ์˜ ํ•˜์œ„ ๊ณ ์œ  ๋ฒกํ„ฐ๋“ค์„ ์ถ”์ถœํ•˜์—ฌ ๊ตฐ์ง‘ ๊ฐ„์˜ ์—ฐ๊ฒฐ์€ ์ตœ์†Œํ™”ํ•˜๊ณ  ๋‚ด๋ถ€ ๊ฒฐ์†์€ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ์žฅ์ :** + - **Non-convex Shapes:** K-Means๊ฐ€ ์‹คํŒจํ•˜๋Š” ๋„๋„› ๋ชจ์–‘์ด๋‚˜ ์†Œ์šฉ๋Œ์ด ๋ชจ์–‘์˜ ๋ฐ์ดํ„ฐ ๊ตฐ์ง‘๋„ ์™„๋ฒฝํ•˜๊ฒŒ ๋ถ„๋ฅ˜ ๊ฐ€๋Šฅ. + - **Connectivity Focus:** ๋‹จ์ˆœ ๊ฑฐ๋ฆฌ๊ฐ€ ์•„๋‹Œ '์—ฐ๊ฒฐ ๊ด€๊ณ„'๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ตฐ์ง‘ ํ˜•์„ฑ. +- **์ฃผ์š” ๋‹จ๊ณ„:** + 1. ๋ฐ์ดํ„ฐ ๊ฐ„ ์œ ์‚ฌ๋„ ํ–‰๋ ฌ ๊ณ„์‚ฐ. + 2. ๋ผํ”Œ๋ผ์‹œ์•ˆ ํ–‰๋ ฌ(L = D - A) ์‚ฐ์ถœ. + 3. ํ•˜์œ„ k๊ฐœ์˜ ๊ณ ์œ  ๋ฒกํ„ฐ ์ถ”์ถœ ๋ฐ ์ €์ฐจ์› ํˆฌ์˜. + 4. ํˆฌ์˜๋œ ๊ณต๊ฐ„์—์„œ K-Means ๋“ฑ์„ ์ ์šฉํ•ด ์ตœ์ข… ๊ตฐ์ง‘ ๊ฒฐ์ •. +- **์˜์˜:** ์ด๋ฏธ์ง€ ๋ถ„ํ• (Image Segmentation), ์‚ฌํšŒ๋ง์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ํƒ์ง€ ๋“ฑ ๊ตฌ์กฐ์  ๊ด€๊ณ„๊ฐ€ ์ค‘์š”ํ•œ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๋ถ„์„์˜ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์—ฐ์‚ฐ ๋ณต์žก๋„๊ฐ€ ๋†’๋‹ค๋Š”($O(n^3)$) ์ด์œ ๋กœ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์— ๊ธฐํ”ผ๋˜์—ˆ์œผ๋‚˜, ์ตœ๊ทผ์—๋Š” ํฌ์†Œ ํ–‰๋ ฌ ์ตœ์ ํ™”์™€ ๊ทผ์‚ฌ ๊ณ ์œ ๊ฐ’ ๋ถ„ํ•ด ๊ธฐ์ˆ ์„ ํ†ตํ•ด ์ˆ˜์‹ญ๋งŒ ๊ฑด ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ์—๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€์œผ๋กœ ๊ณ ๋„ํ™”๋จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ๋Œ€๊ทœ๋ชจ ์ง€์‹ ๋ฌธ์„œ์˜ ์‹œ๋งจํ‹ฑ ํ† ํ”ฝ ํด๋Ÿฌ์Šคํ„ฐ๋ง ์‹œ, ๋‹จ์ˆœ ์ฃผ์ œ ๋ถ„๋ฅ˜๋ฅผ ๋„˜์–ด ๋ฌธ์„œ ๊ฐ„์˜ ์ธ์šฉ ๋ฐ ์ฐธ์กฐ ๊ด€๊ณ„๋ฅผ ์‹ฌ์ธต ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด ์ŠคํŽ™ํŠธ๋Ÿด ํด๋Ÿฌ์Šคํ„ฐ๋ง์„ ์—”์ง„์œผ๋กœ ํ™œ์šฉํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Cluster-Analysis-Techniques]], [[Graph-Theory-Foundations]], [[Singular-Value-Decomposition]], [[Social-Network-Analysis]] +- **Raw Source:** [[10_Wiki/Topics/AI/Spectral-Clustering.md]] diff --git a/10_Wiki/Topics/AI/Speech-Recognition-Foundations.md b/10_Wiki/Topics/AI/Speech-Recognition-Foundations.md new file mode 100644 index 00000000..f17d60da --- /dev/null +++ b/10_Wiki/Topics/AI/Speech-Recognition-Foundations.md @@ -0,0 +1,28 @@ +--- +id: AI-SPEECH-REC-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [ai, nlp, speech-recognition, asr, signal-processing, deep-learning, audio-analysis] +last_reinforced: 2026-04-26 +--- + +# [[Speech Recognition Foundations (์Œ์„ฑ ์ธ์‹ ๊ธฐ์ดˆ)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๊ณต๊ธฐ๋ฅผ ํƒ€๊ณ  ํ๋ฅด๋Š” ๋น„์ •ํ˜•์˜ ์ŒํŒŒ(Sound Wave)๋ฅผ ์ •๊ตํ•œ ์ˆ˜์น˜์  ํŠน์ง•์œผ๋กœ ํ•ด์ฒดํ•˜๊ณ , ์–ธ์–ด์  ํ†ต๊ณ„์™€ ๋”ฅ๋Ÿฌ๋‹์˜ ๋ฌธ๋งฅ ํŒŒ์•… ๋Šฅ๋ ฅ์„ ๊ฒฐํ•ฉํ•ด 'ํ…์ŠคํŠธ'๋ผ๋Š” ์ง€์‹์˜ ํ˜•์ƒ์œผ๋กœ ๋ณต์›ํ•˜๋ผ" โ€” ์ธ๊ฐ„์˜ ์Œ์„ฑ ์‹ ํ˜ธ๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž๋™ ์Œ์„ฑ ์ธ์‹(ASR) ๊ธฐ์ˆ ์˜ ๊ทผ๊ฐ„. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Feature Extraction and Probabilistic Decoding" โ€” ์Œ์„ฑ ์‹ ํ˜ธ๋ฅผ ์งง์€ ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ์ž˜๋ผ ์ฃผํŒŒ์ˆ˜ ํŠน์ง•(์˜ˆ: MFCC)์„ ๋ฝ‘์•„๋‚ด๊ณ , ์ด๋ฅผ ์Œํ–ฅ ๋ชจ๋ธ(Acoustic Model)๊ณผ ์–ธ์–ด ๋ชจ๋ธ(Language Model)์— ํ†ต๊ณผ์‹œ์ผœ ๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๋‹จ์–ด ์‹œํ€€์Šค๋ฅผ ๋„์ถœํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๊ธฐ์ˆ  ์ง„ํ™”:** + - **Classic:** HMM(์€๋‹‰ ๋งˆ๋ฅด์ฝ”ํ”„ ๋ชจ๋ธ)๊ณผ GMM์„ ๊ฒฐํ•ฉํ•œ ํ†ต๊ณ„์  ๋ฐฉ์‹. + - **End-to-End:** ๋”ฅ๋Ÿฌ๋‹(CNN, RNN, Transformer)์„ ํ™œ์šฉํ•˜์—ฌ ํŠน์ง• ์ถ”์ถœ๋ถ€ํ„ฐ ํ…์ŠคํŠธ ์ƒ์„ฑ๊นŒ์ง€ ํ•˜๋‚˜์˜ ๋ง์œผ๋กœ ์ฒ˜๋ฆฌ (์˜ˆ: CTC, Attention-based). + - **Pre-trained Models:** OpenAI Whisper ๋“ฑ ๋ฐฉ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ํ•™์Šตํ•˜์—ฌ ์†Œ์Œ๊ณผ ์‚ฌํˆฌ๋ฆฌ์— ๊ฐ•ํ•œ ๋ฒ”์šฉ ๋ชจ๋ธ ๋“ฑ์žฅ. +- **์˜์˜:** AI ๋น„์„œ, ์ž๋ง‰ ์ž๋™ ์ƒ์„ฑ, ์‹ค์‹œ๊ฐ„ ํ†ต์—ญ ๋“ฑ ์ธ๊ฐ„๊ณผ ๊ธฐ๊ณ„ ์‚ฌ์ด์˜ ๊ฐ€์žฅ ์ง๊ด€์ ์ธ ์†Œํ†ต ์ˆ˜๋‹จ์ธ '๋ง'์„ ๋””์ง€ํ„ธ ์„ธ๊ณ„๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ด€๋ฌธ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋‹จ์ˆœํžˆ ์†Œ๋ฆฌ๋ฅผ ๊ธ€์ž๋กœ ์˜ฎ๊ธฐ๋Š” ๋ฐ ๊ทธ์ณค๋˜ ๊ณผ๊ฑฐ์™€ ๋‹ฌ๋ฆฌ, ์ด์ œ๋Š” ํ™”์ž์˜ ๊ฐ์ •, ์ฃผ๋ณ€ ํ™˜๊ฒฝ์˜ ๋งฅ๋ฝ, ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ ๋ช…์ด ๋™์‹œ์— ๋งํ•˜๋Š” ์ƒํ™ฉ(Cocktail Party Effect)๊นŒ์ง€ ๋ถ„๋ฆฌํ•ด์„œ ์ธ์‹ํ•˜๋Š” ๊ณ ๋„์˜ ์Œ์„ฑ ์ง€๋Šฅ์œผ๋กœ ๋ฐœ์ „ํ•จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์ถ• ์‹œ, ๋‹ค๊ตญ์–ด ๋Œ€์‘๊ณผ ์ €์ง€์—ฐ ์ธ์‹์ด ๋ณด์žฅ๋œ ์ตœ์‹  ํŠธ๋žœ์Šคํฌ๋จธ ๊ธฐ๋ฐ˜ ์Œ์„ฑ ์ธ์‹ ์—”์ง„์„ ํ‘œ์ค€์œผ๋กœ ์ฑ„ํƒํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Signal-Processing-Foundations]], [[Natural-Language-Processing-NLP]], [[Self-Attention-Mechanisms]], [[Sequence-to-Sequence-Models]] +- **Raw Source:** [[10_Wiki/Topics/AI/Speech-Recognition-Foundations.md]] diff --git a/10_Wiki/Topics/AI/Stacked-Generalization.md b/10_Wiki/Topics/AI/Stacked-Generalization.md new file mode 100644 index 00000000..cf306120 --- /dev/null +++ b/10_Wiki/Topics/AI/Stacked-Generalization.md @@ -0,0 +1,28 @@ +--- +id: AI-ENS-STACK-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [ai, machine-learning, ensemble, stacking, stacked-generalization, meta-learning, predictive-modeling] +last_reinforced: 2026-04-26 +--- + +# [[Stacked Generalization (์Šคํƒ ์ผ๋ฐ˜ํ™”)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "์—ฌ๋Ÿฌ ๋ชจ๋ธ์˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋ผ๋Š” ์ƒˆ๋กœ์šด ์ฐจ์›์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ , ์ด๋ฅผ ๋‹ค์‹œ ํ•™์Šตํ•˜๋Š” '๋ฉ”ํƒ€ ๋ชจ๋ธ(Meta-model)'์„ ํ†ตํ•ด ๊ฐœ๋ณ„ ์ง€๋Šฅ์˜ ํŽธํ–ฅ์„ ์ƒ์‡„ํ•˜๊ณ  ํ†ตํ•ฉ๋œ ํ†ต์ฐฐ์„ ๋„์ถœํ•˜๋ผ" โ€” ์„œ๋กœ ๋‹ค๋ฅธ ๋ชจ๋ธ๋“ค์˜ ์žฅ์ ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋‹จ์ผ ๋ชจ๋ธ๋ณด๋‹ค ๊ฐ•๋ ฅํ•œ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ์„ ์–ป๊ธฐ ์œ„ํ•ด ์ธต(Stack)์„ ์Œ“์•„ ํ•™์Šตํ•˜๋Š” ์•™์ƒ๋ธ” ๊ธฐ๋ฒ•. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Multi-level Learning and Predictive Synthesis" โ€” 1๋‹จ๊ณ„์—์„œ ์—ฌ๋Ÿฌ ๊ธฐ์ € ๋ชจ๋ธ(Base Models)์„ ๋…๋ฆฝ์ ์œผ๋กœ ํ•™์Šต์‹œ์ผœ ์˜ˆ์ธก๊ฐ’์„ ์–ป๊ณ , 2๋‹จ๊ณ„์—์„œ ์ด ์˜ˆ์ธก๊ฐ’๋“ค์„ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ์‚ผ์•„ ์ตœ์ข… ์ •๋‹ต์„ ๋งžํžˆ๋Š” ๋ฉ”ํƒ€ ๋ชจ๋ธ์„ ํ•™์Šต์‹œ์ผœ ์ตœ์ ์˜ ์กฐํ•ฉ์„ ์ฐพ์•„๋‚ด๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ํ”„๋กœ์„ธ์Šค:** + - **Base Models (Level 0):** ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ, XGBoost, ์‹ ๊ฒฝ๋ง ๋“ฑ ๋‹ค์–‘ํ•œ ํŠน์„ฑ์˜ ๋ชจ๋ธ๋“ค. + - **Meta Model (Level 1):** ๊ธฐ์ € ๋ชจ๋ธ๋“ค์˜ ์˜ˆ์ธก ํŒจํ„ด์„ ํ•™์Šตํ•˜์—ฌ ์ตœ์ข… ๊ฒฐ๋ก  ๋„์ถœ (์ฃผ๋กœ ์„ ํ˜• ํšŒ๊ท€๋‚˜ ๊ฐ€๋ฒผ์šด ๋ชจ๋ธ ์‚ฌ์šฉ). + - **Out-of-fold Prediction:** ๊ณผ์ ํ•ฉ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ๊ต์ฐจ ๊ฒ€์ฆ(Cross-validation)์„ ํ†ตํ•ด ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜. +- **์˜์˜:** ๋‹จ์ผ ๋ชจ๋ธ๋กœ๋Š” ๋„๋‹ฌํ•˜๊ธฐ ํž˜๋“  ๊ทน๋‹จ์ ์ธ ์ •ํ™•๋„๋ฅผ ๋‹ฌ์„ฑํ•˜๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ๋ชจ๋ธ๋“ค ๊ฐ„์˜ ๋ณด์™„์  ๊ด€๊ณ„๋ฅผ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์Šค์Šค๋กœ ํ•™์Šตํ•˜๊ฒŒ ํ•จ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋‹จ์ˆœํžˆ ๋ชจ๋ธ์„ ๋งŽ์ด ํ•ฉ์น˜๋ฉด ์ข‹๋‹ค๋Š” ๋งน์‹ ์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” ๋ชจ๋ธ ๊ฐ„์˜ ์ƒ๊ด€๊ด€๊ณ„(Correlation)๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก(์ฆ‰, ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ํ‹€๋ฆด์ˆ˜๋ก) ์Šคํƒœํ‚น์˜ ํšจ๊ณผ๊ฐ€ ๊ทน๋Œ€ํ™”๋œ๋‹ค๋Š” ์‚ฌ์‹ค์ด ์„ค๊ณ„์˜ ํ•ต์‹ฌ ์›์น™์ด ๋จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ์ตœ์ข… ํŒ๋‹จ ์‹ ๋ขฐ๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด, ์„œ๋กœ ๋‹ค๋ฅธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐ€์ง„ ์–ธ์–ด ๋ชจ๋ธ๋“ค์˜ ์‘๋‹ต์„ ์ข…ํ•ฉํ•˜์—ฌ ์ตœ์ ์˜ ๋‹ต๋ณ€์„ ์„ ํƒํ•˜๋Š” ์Šคํƒ ์ผ๋ฐ˜ํ™” ๋กœ์ง์„ ์ถ”๋ก  ํŒŒ์ดํ”„๋ผ์ธ์— ์ ์šฉํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Random-Forest-Classifiers]], [[Optimization-in-AI]], [[Performance-Metrics-in-AI]], [[Representation-Learning]] +- **Raw Source:** [[10_Wiki/Topics/AI/Stacked-Generalization.md]] diff --git a/10_Wiki/Topics/AI/Standard-Deviation-and-Variance.md b/10_Wiki/Topics/AI/Standard-Deviation-and-Variance.md new file mode 100644 index 00000000..2f81df15 --- /dev/null +++ b/10_Wiki/Topics/AI/Standard-Deviation-and-Variance.md @@ -0,0 +1,28 @@ +--- +id: MATH-STAT-VAR-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [math, statistics, standard-deviation, variance, dispersion, data-analysis, normal-distribution] +last_reinforced: 2026-04-26 +--- + +# [[Standard Deviation and Variance (ํ‘œ์ค€ ํŽธ์ฐจ ๋ฐ ๋ถ„์‚ฐ)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "ํ‰๊ท ์ด๋ผ๋Š” ์ค‘์‹ฌ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋ฉ€๋ฆฌ ๋ฐฉํ™ฉํ•˜๋Š”์ง€ '๊ฑฐ๋ฆฌ์˜ ํ‰๊ท '์œผ๋กœ ์ธก์ •ํ•˜์—ฌ, ์ง‘๋‹จ์˜ ๋ณ€๋™์„ฑ๊ณผ ๋ถˆํ™•์‹ค์„ฑ์„ ์ˆ˜์น˜๋ผ๋Š” ๋ช…ํ™•ํ•œ ์žฃ๋Œ€๋กœ ์ •์˜ํ•˜๋ผ" โ€” ๋ฐ์ดํ„ฐ์˜ ํฉ์–ด์ง(์‚ฐํฌ๋„)์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ํ†ต๊ณ„ ์ง€ํ‘œ. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Squared Deviation Averaging and Dimensional Normalization" โ€” ๊ฐœ๋ณ„ ๋ฐ์ดํ„ฐ์™€ ํ‰๊ท ์˜ ์ฐจ์ด๋ฅผ ์ œ๊ณฑํ•˜์—ฌ ๋ชจ๋‘ ๋”ํ•จ์œผ๋กœ์จ ํŽธ์ฐจ์˜ ํ•ฉ์ด 0์ด ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ (Variance), ์—ฌ๊ธฐ์— ๋‹ค์‹œ ์ œ๊ณฑ๊ทผ์„ ์ทจํ•ด ์›๋ณธ ๋ฐ์ดํ„ฐ์™€ ๋‹จ์œ„๋ฅผ ๋งž์ถค์œผ๋กœ์จ ํ•ด์„๋ ฅ์„ ํ™•๋ณดํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๊ฐœ๋…:** + - **Variance ($\sigma^2$):** ๋ฐ์ดํ„ฐ๊ฐ€ ํ‰๊ท ์—์„œ ๋–จ์–ด์ง„ ๊ฑฐ๋ฆฌ์˜ ์ œ๊ณฑ ํ‰๊ท . ๋ณ€๋™์„ฑ์˜ ์ด๋Ÿ‰. + - **Standard Deviation ($\sigma$):** ๋ถ„์‚ฐ์˜ ์ œ๊ณฑ๊ทผ. ๋ฐ์ดํ„ฐ์˜ ํ‰๊ท ์ ์ธ ์ดํƒˆ ๊ฑฐ๋ฆฌ. + - **68-95-99.7 Rule:** ์ •๊ทœ ๋ถ„ํฌ์—์„œ ํ‘œ์ค€ ํŽธ์ฐจ์˜ ๋ฐฐ์ˆ˜์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋  ํ™•๋ฅ  ์ •์˜. +- **์˜์˜:** ๋ฐ์ดํ„ฐ์˜ ์•ˆ์ •์„ฑ์„ ํ‰๊ฐ€ํ•˜๊ณ , ์ด์ƒ์น˜(Outlier)๋ฅผ ํŒ๋ณ„ํ•˜๋ฉฐ, ๋ชจ๋ธ์˜ ์˜ˆ์ธก ์˜ค์ฐจ๋‚˜ ๊ธˆ์œต ์‹œ์žฅ์˜ ๋ณ€๋™์„ฑ(Risk)์„ ์ธก์ •ํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๊ณผํ•™์˜ ์ ˆ๋Œ€์  ๊ธฐ์ดˆ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ํ‰๊ท  ์ค‘์‹ฌ์˜ ๋ถ„์„์ด ์ „๋ถ€๋ผ ๋ฏฟ๋˜ ์‹œ๋Œ€์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” ํ‰๊ท ์ด ๊ฐ™๋”๋ผ๋„ ํ‘œ์ค€ ํŽธ์ฐจ๊ฐ€ ํฐ '๋‘ํ„ฐ์šด ๊ผฌ๋ฆฌ(Fat Tail)' ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ค์ „ ๋น„์ฆˆ๋‹ˆ์Šค(์˜ˆ: ๋ธ”๋ž™ ์Šค์™„ ์‚ฌ๊ฑด)์—์„œ ํ›จ์”ฌ ๋” ์œ„ํ—˜ํ•˜๊ณ  ์ค‘์š”ํ•˜๋‹ค๋Š” ์ธ์‹์ด ํ™•์‚ฐ๋จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ์‘๋‹ต ์‹œ๊ฐ„(Latency) ๊ด€๋ฆฌ ์‹œ, ํ‰๊ท ๊ฐ’๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ‘œ์ค€ ํŽธ์ฐจ๋ฅผ ์ƒ์‹œ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ์„œ๋น„์Šค ๊ฒฝํ—˜์˜ ์ผ๊ด€์„ฑ(Consistency)์„ ์—„๊ฒฉํžˆ ๊ด€๋ฆฌํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Probability-Theory-Foundations]], [[Outlier-Detection-Techniques]], [[Performance-Metrics-in-AI]], [[Normalization-Strategies]] +- **Raw Source:** [[10_Wiki/Topics/AI/Standard-Deviation-and-Variance.md]] diff --git a/10_Wiki/Topics/AI/State-Management-Patterns.md b/10_Wiki/Topics/AI/State-Management-Patterns.md new file mode 100644 index 00000000..04889d6a --- /dev/null +++ b/10_Wiki/Topics/AI/State-Management-Patterns.md @@ -0,0 +1,29 @@ +--- +id: DEV-STATE-MGMT-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [frontend, software-architecture, state-management, redux, flux, zustand, react, design-patterns] +last_reinforced: 2026-04-26 +--- + +# [[State Management Patterns (์ƒํƒœ ๊ด€๋ฆฌ ํŒจํ„ด)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํฉ์–ด์ง„ ๊ธฐ์–ต(State)์„ '๋‹จ์ผ ์ง„์‹ค ๊ณต๊ธ‰์›(Single Source of Truth)'์œผ๋กœ ํ†ตํ•ฉํ•˜๊ณ , ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๊ทœ์น™(Action)์— ์˜ํ•ด์„œ๋งŒ ๋ณ€ํ™”๋ฅผ ํ—ˆ์šฉํ•˜์—ฌ ํ˜ผ๋ˆ์„ ํ†ต์ œํ•˜๋ผ" โ€” ๋ณต์žกํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„๊ณผ ์ƒํƒœ์˜ ๋ณ€ํ™”๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์„ค๊ณ„ ํŒจํ„ด๋“ค์˜ ์ดํ•ฉ. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Unidirectional Data Flow and Centralized Store" โ€” ๋ฐ์ดํ„ฐ๊ฐ€ ์œ„์—์„œ ์•„๋ž˜๋กœ๋งŒ ํ๋ฅด๊ฒŒ ํ•˜๊ณ (Prop Drilling ํ•ด๊ฒฐ), ์ƒํƒœ ๋ณ€๊ฒฝ์€ ์˜ค์ง ๋ช…์‹œ์ ์ธ ์š”์ฒญ(Dispatch)์„ ํ†ตํ•ด์„œ๋งŒ ๋ฐœ์ƒํ•˜๊ฒŒ ํ•จ์œผ๋กœ์จ ์•ฑ์˜ ํ˜„์žฌ ๋ชจ์Šต์ด ์™œ ๊ทธ๋ ‡๊ฒŒ ๋˜์—ˆ๋Š”์ง€ ์™„๋ฒฝํžˆ ์ถ”์  ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ํŒจํ„ด. +- **์ฃผ์š” ๊ด€๋ฆฌ ํŒจํ„ด:** + - **Flux/Redux:** Action-Dispatcher-Store-View ์ˆœํ™˜ ๊ตฌ์กฐ. ์—„๊ฒฉํ•˜๊ณ  ์ถ”์ ์„ฑ์ด ๋†’์Œ. + - **Atomic (Recoil/Jotai):** ์ƒํƒœ๋ฅผ ์ž‘์€ ๋‹จ์œ„(Atom)๋กœ ์ชผ๊ฐœ์–ด ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ๋งŒ ๊ตฌ๋…. ์œ ์—ฐํ•จ. + - **Proxy-based (MobX/Valtio):** ์ƒํƒœ๋ฅผ ๊ด€์ฐฐ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด ๋ณ€๊ฒฝ ์‹œ ์ž๋™์œผ๋กœ UI ์—…๋ฐ์ดํŠธ. ์ง๊ด€์ ์ž„. + - **Simple Stores (Zustand):** ๋ณต์žกํ•œ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๋ฅผ ์ค„์ด๊ณ  ํ•ต์‹ฌ ๊ธฐ๋Šฅ์— ์ง‘์ค‘ํ•œ ๊ฒฝ๋Ÿ‰ํ™” ํŒจํ„ด. +- **์˜์˜:** ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ˆ˜๋ฐฑ ๊ฐœ๋กœ ๋Š˜์–ด๋‚˜๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ผฌ์ด์ง€ ์•Š๊ฒŒ ํ•˜๋ฉฐ, ๋””๋ฒ„๊น…๊ณผ ํ…Œ์ŠคํŠธ๊ฐ€ ์šฉ์ดํ•œ '์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์•ฑ'์„ ๊ตฌ์ถ•ํ•˜๋Š” ํ•ต์‹ฌ ๊ธฐ๋‘ฅ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋ฌด์กฐ๊ฑด ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ ๋„๊ตฌ(Redux ๋“ฑ)๋ฅผ ์จ์•ผ ํ•œ๋‹ค๋Š” ๊ฐ•๋ฐ•์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” ์„œ๋ฒ„ ๋ฐ์ดํ„ฐ๋Š” ์ „์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(React Query)์— ๋งก๊ธฐ๊ณ  ๋กœ์ปฌ UI ์ƒํƒœ๋Š” ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€ ์ƒํƒœ(useState)๋‚˜ ๊ฐ€๋ฒผ์šด ๋„๊ตฌ๋กœ ํ•ด๊ฒฐํ•˜๋Š” '์ƒํƒœ์˜ ์„ฑ๊ฒฉ์— ๋”ฐ๋ฅธ ๋ถ„๋ฆฌ'๊ฐ€ ํ˜„๋Œ€์˜ ํ‘œ์ค€์ž„. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ์˜ ํ”„๋ŸฐํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜๋Š” ๋ณต์žก๋„๋ฅผ ๋‚ฎ์ถ”๊ณ  ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ์„œ๋ฒ„ ์ง€์‹ ๋ฐ์ดํ„ฐ์™€ ๋กœ์ปฌ UI ์ƒํƒœ๋ฅผ ์—„๊ฒฉํžˆ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ƒํƒœ ๊ด€๋ฆฌ ์ „๋žต์„ ์ฑ„ํƒํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Software-Architecture-Patterns]], [[Frontend-App-Development]], [[Service-oriented-Architecture]], [[Modern-Website-Architecture]] +- **Raw Source:** [[10_Wiki/Topics/AI/State-Management-Patterns.md]] diff --git a/10_Wiki/Topics/AI/State-Space-Models.md b/10_Wiki/Topics/AI/State-Space-Models.md new file mode 100644 index 00000000..61c09083 --- /dev/null +++ b/10_Wiki/Topics/AI/State-Space-Models.md @@ -0,0 +1,28 @@ +--- +id: DL-SSM-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [ai, deep-learning, ssm, state-space-models, mamba, sequence-modeling, efficiency, transformer-alternative] +last_reinforced: 2026-04-26 +--- + +# [[State Space Models (SSM, ์ƒํƒœ ๊ณต๊ฐ„ ๋ชจ๋ธ)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„์„ ์—ฐ์†์ ์ธ '์ƒํƒœ์˜ ๋ณ€ํ™”'๋กœ ๋ชจ๋ธ๋งํ•˜์—ฌ ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์—ฐ์‚ฐ ๋ณ‘๋ชฉ์„ ๋ŒํŒŒํ•˜๊ณ , ๋ฌดํ•œ์— ๊ฐ€๊นŒ์šด ๋ฌธ๋งฅ์„ ์„ ํ˜•์ ์ธ ํšจ์œจ์„ฑ($O(N)$)์œผ๋กœ ํฌ์ฐฉํ•˜๋ผ" โ€” ๊ณ ์ „ ์ œ์–ด ์ด๋ก ์˜ ์ƒํƒœ ๋ฐฉ์ •์‹์„ ํ˜„๋Œ€์  ์‹ ๊ฒฝ๋ง์œผ๋กœ ์žฌํ•ด์„ํ•˜์—ฌ ์ดˆ์žฅ๊ธฐ ์‹œํ€€์Šค ์ฒ˜๋ฆฌ์— ์ตœ์ ํ™”๋œ ์ฐจ์„ธ๋Œ€ ์•„ํ‚คํ…์ฒ˜. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Continuous State Evolution and Recurrent-Convolutional Duality" โ€” ์ž…๋ ฅ์„ ์€๋‹‰ ์ƒํƒœ(Hidden State)๋กœ ์••์ถ•ํ•˜์—ฌ ์—…๋ฐ์ดํŠธํ•ด ๋‚˜๊ฐ€๋Š” ์ˆœํ™˜ ๋ฐฉ์‹(Recurrent)๊ณผ, ์ด๋ฅผ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š” ํ•ฉ์„ฑ๊ณฑ ๋ฐฉ์‹(Convolutional)์˜ ์žฅ์ ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์—ฐ์‚ฐ ํšจ์œจ๊ณผ ๋ณ‘๋ ฌ์„ฑ์„ ๋™์‹œ์— ๋‹ฌ์„ฑํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ํŠน์ง•:** + - **Linear Scalability:** ์‹œํ€€์Šค ๊ธธ์ด์— ๋น„๋ก€ํ•ด ์—ฐ์‚ฐ๋Ÿ‰์ด ๋Š˜์–ด๋‚จ ($O(N)$). ํŠธ๋žœ์Šคํฌ๋จธ($O(N^2)$) ๋Œ€๋น„ ์••๋„์  ํšจ์œจ. + - **Memory Efficiency:** ์ „์ฒด ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค ๊ธฐ์–ตํ•˜์ง€ ์•Š๊ณ ๋„ ํ•ต์‹ฌ ์ƒํƒœ๊ฐ’๋งŒ์„ ์œ ์ง€ํ•˜๋ฉฐ ๋ฌดํ•œํ•œ ๊ธธ์ด ๋Œ€์‘ ๊ฐ€๋Šฅ. + - **Selective Mechanism (Mamba):** ์ค‘์š”ํ•œ ์ •๋ณด๋Š” ๋‚จ๊ธฐ๊ณ  ์‚ฌ์†Œํ•œ ์ •๋ณด๋Š” ์žŠ๋Š” ์ง€๋Šฅํ˜• ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ํƒ‘์žฌ. +- **์˜์˜:** ํ…์ŠคํŠธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ˆ˜์‹ญ๋งŒ ํ”„๋ ˆ์ž„์˜ ์˜์ƒ, ๊ธด DNA ์—ผ๊ธฐ์„œ์—ด ๋“ฑ ๊ธฐ์กด ํŠธ๋žœ์Šคํฌ๋จธ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๊ธฐ ํž˜๋“ค์—ˆ๋˜ '๊ฑฐ๋Œ€ ์‹œํ€€์Šค' ๋ถ„์„์˜ ์ƒˆ๋กœ์šด ์ง€ํ‰์„ ์—ผ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์‹œํ€€์Šค ๋ชจ๋ธ๋ง์€ ์–ดํ…์…˜(Attention)์ด ์œ ์ผํ•œ ์ •๋‹ต์ด๋ผ๋Š” ๋ฏฟ์Œ์„ ๊นจ๊ณ , ๊ณ ์ „์ ์ธ ์ƒํƒœ ๊ณต๊ฐ„ ๊ฐœ๋…์ด ํ˜„๋Œ€์  ํ•˜๋“œ์›จ์–ด ์ตœ์ ํ™”(Flash Attention๊ณผ ์œ ์‚ฌํ•œ ๊ธฐ๋ฒ•)์™€ ๋งŒ๋‚˜ ํŠธ๋žœ์Šคํฌ๋จธ๋ฅผ ์œ„ํ˜‘ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋Œ€์•ˆ์œผ๋กœ ๋ถ€์ƒํ•จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ์Ÿ์•„์ง€๋Š” ๋ฐฉ๋Œ€ํ•œ ์—์ด์ „ํŠธ ๋กœ๊ทธ ๋ถ„์„์ด๋‚˜ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ์ง€์‹ ์ฒ˜๋ฆฌ ์‹œ, ์ €์ง€์—ฐ๊ณผ ๊ณ ํšจ์œจ์ด ๋ณด์žฅ๋œ SSM ๊ธฐ๋ฐ˜์˜ ๊ฒฝ๋Ÿ‰ ๋ชจ๋ธ์„ ์‹คํ—˜์ ์œผ๋กœ ์ ์šฉํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Self-Attention-Mechanisms]], [[Recurrent-Neural-Networks-RNN]], [[Scalability-in-AI-Systems]], [[Sequence-to-Sequence-Models]] +- **Raw Source:** [[10_Wiki/Topics/AI/State-Space-Models.md]] diff --git a/10_Wiki/Topics/AI/Statistical-Hypothesis-Testing.md b/10_Wiki/Topics/AI/Statistical-Hypothesis-Testing.md new file mode 100644 index 00000000..a04d7675 --- /dev/null +++ b/10_Wiki/Topics/AI/Statistical-Hypothesis-Testing.md @@ -0,0 +1,29 @@ +--- +id: MATH-STAT-TEST-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [math, statistics, hypothesis-testing, p-value, null-hypothesis, alternative-hypothesis, significance-level] +last_reinforced: 2026-04-26 +--- + +# [[Statistical Hypothesis Testing (ํ†ต๊ณ„์  ๊ฐ€์„ค ๊ฒ€์ •)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ฐ์ดํ„ฐ๋ผ๋Š” ์ฆ๊ฑฐ๋ฅผ ํ† ๋Œ€๋กœ '์šฐ์—ฐํ•œ ์ผ์น˜'์ธ์ง€ 'ํ•„์—ฐ์  ์‚ฌ์‹ค'์ธ์ง€ ํŒ๊ฒฐ์„ ๋‚ด๋ฆฌ๊ณ , ์—„๊ฒฉํ•œ ํ™•๋ฅ ์  ์žฃ๋Œ€(P-value)๋ฅผ ํ†ตํ•ด ์ง€์‹์˜ ํƒ€๋‹น์„ฑ์„ ์ž…์ฆํ•˜๋ผ" โ€” ํ‘œ๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ๋ชจ์ง‘๋‹จ์— ๋Œ€ํ•œ ๊ฐ€์„ค์ด ํ†ต๊ณ„์ ์œผ๋กœ ์œ ์˜๋ฏธํ•œ์ง€ ํŒ๋‹จํ•˜๋Š” ์ฒด๊ณ„์ ์ธ ์˜์‚ฌ๊ฒฐ์ • ํ”„๋กœ์„ธ์Šค. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Conflict-based Decision and Probability of Coincidence" โ€” 'ํšจ๊ณผ๊ฐ€ ์—†๋‹ค'๋Š” ๊ท€๋ฌด๊ฐ€์„ค(Null Hypothesis)์„ ์„ธ์šฐ๊ณ , ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜ํƒ€๋‚  ํ™•๋ฅ ์„ ๊ณ„์‚ฐํ•˜์—ฌ ๊ทธ ํ™•๋ฅ ์ด ๋งค์šฐ ๋‚ฎ๋‹ค๋ฉด(์œ ์˜ ์ˆ˜์ค€ ๋ฏธ๋‹ฌ) ๊ท€๋ฌด๊ฐ€์„ค์„ ๊ธฐ๊ฐํ•˜๊ณ  ๋Œ€๋ฆฝ๊ฐ€์„ค(Alternative Hypothesis)์„ ์ฑ„ํƒํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ:** + - **Null Hypothesis ($H_0$):** ํ˜„์žฌ์˜ ์ง€์‹์ด๋‚˜ ์ฐจ์ด๊ฐ€ ์—†๋‹ค๋Š” ๊ฐ€์ •. + - **Alternative Hypothesis ($H_1$):** ์ž…์ฆํ•˜๊ณ  ์‹ถ์€ ์ƒˆ๋กœ์šด ์‚ฌ์‹ค์ด๋‚˜ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฐ€์ •. + - **P-value:** ๊ท€๋ฌด๊ฐ€์„ค์ด ๋งž์„ ๋•Œ, ๊ด€์ธก๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜ํƒ€๋‚  ํ™•๋ฅ . ๋‚ฎ์„์ˆ˜๋ก ๊ฐ€์„ค ๊ธฐ๊ฐ์˜ ๊ทผ๊ฑฐ๊ฐ€ ๋จ. + - **Significance Level ($\alpha$):** ๊ธฐ๊ฐ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ์ค€๊ฐ’ (์ฃผ๋กœ 0.05). +- **์˜์˜:** ์ฃผ๊ด€์  ํŒ๋‹จ์„ ๋ฐฐ์ œํ•˜๊ณ  ๊ฐ๊ด€์  ์ˆ˜์น˜์— ๊ทผ๊ฑฐํ•˜์—ฌ ๊ณผํ•™์  ๋ฐœ๊ฒฌ, ์‹ ์•ฝ์˜ ํšจ๋Šฅ, ๋งˆ์ผ€ํŒ… ์ „๋žต์˜ ์„ฑ๊ณต ์—ฌ๋ถ€ ๋“ฑ์„ ํ™•์ • ์ง“๋Š” ๋ฐ์ดํ„ฐ ๊ณผํ•™์˜ ํ•ต์‹ฌ ์–ธ์–ด. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋‹จ์ˆœํžˆ P-value๊ฐ€ 0.05๋ณด๋‹ค ์ž‘์œผ๋ฉด ์„ฑ๊ณต์ด๋ผ๋Š” 'P-hacking'์˜ ์œ„ํ—˜์„ฑ์ด ์ œ๊ธฐ๋˜๋ฉด์„œ, ์ด์ œ๋Š” ํšจ๊ณผ ํฌ๊ธฐ(Effect Size)์™€ ์‹ ๋ขฐ ๊ตฌ๊ฐ„(Confidence Interval)์„ ๋ณ‘ํ–‰ํ•˜์—ฌ ์‹ค์งˆ์ ์ธ ์˜๋ฏธ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์ด ๊ธ€๋กœ๋ฒŒ ์—ฐ๊ตฌ ํ‘œ์ค€์ด ๋จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ์ƒˆ๋กœ์šด ์ถ”๋ก  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋„์ž… ์‹œ, ๊ธฐ์กด ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ์˜ ํ’ˆ์งˆ ์ฐจ์ด๊ฐ€ ํ†ต๊ณ„์ ์œผ๋กœ ์œ ์˜๋ฏธํ•œ์ง€ ์—„๊ฒฉํ•œ ๊ฐ€์„ค ๊ฒ€์ •(A/B Test) ๊ณผ์ •์„ ๊ฑฐ์ณ ๊ฒ€์ฆํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Statistical-Power]], [[Standard-Deviation-and-Variance]], [[Performance-Metrics-in-AI]], [[A-B-Testing-Foundations]] +- **Raw Source:** [[10_Wiki/Topics/AI/Statistical-Hypothesis-Testing.md]] diff --git a/10_Wiki/Topics/AI/Statistical-Power.md b/10_Wiki/Topics/AI/Statistical-Power.md new file mode 100644 index 00000000..fb6f2b0e --- /dev/null +++ b/10_Wiki/Topics/AI/Statistical-Power.md @@ -0,0 +1,29 @@ +--- +id: MATH-STAT-POWER-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [math, statistics, statistical-power, type-2-error, sample-size, effect-size, data-analysis] +last_reinforced: 2026-04-26 +--- + +# [[Statistical Power (ํ†ต๊ณ„์  ๊ฒ€์ •๋ ฅ)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "์ง„์‹ค์ด ์กด์žฌํ•  ๋•Œ ์ด๋ฅผ ํ™•์‹คํžˆ ๊ฐ์ง€ํ•ด๋‚ผ ํ™•๋ฅ ์„ ํ™•๋ณดํ•˜์—ฌ, ๊ท€ํ•œ ํ†ต์ฐฐ์„ '์šฐ์—ฐ'์œผ๋กœ ์น˜๋ถ€ํ•ด๋ฒ„๋ฆฌ๋Š” ๊ณผ์˜ค(Type II Error)๋ฅผ ๋ฐฉ์ง€ํ•˜๋ผ" โ€” ๊ท€๋ฌด๊ฐ€์„ค์ด ์‹ค์ œ๋กœ ๊ฑฐ์ง“์ผ ๋•Œ ์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ธฐ๊ฐํ•  ํ™•๋ฅ  ($1 - \beta$). + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Sensitivity Optimization and Error Minimization" โ€” ์‹คํ—˜ ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ํ‘œ๋ณธ ํฌ๊ธฐ(Sample Size)์™€ ํšจ๊ณผ ํฌ๊ธฐ(Effect Size)๋ฅผ ์กฐ์ ˆํ•˜์—ฌ, ์‹ค์ œ ์กด์žฌํ•˜๋Š” ์ฐจ์ด๋ฅผ ๋†“์น˜์ง€ ์•Š๊ณ  ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ํ†ต๊ณ„์  '์‹œ๋ ฅ'์„ ํ™•๋ณดํ•˜๋Š” ํŒจํ„ด. +- **๊ฒ€์ •๋ ฅ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” 4๋Œ€ ์š”์†Œ:** + - **Sample Size ($n$):** ํ‘œ๋ณธ์ด ๋งŽ์„์ˆ˜๋ก ๋…ธ์ด์ฆˆ๊ฐ€ ์ค„์–ด๋“ค์–ด ๊ฒ€์ •๋ ฅ์ด ๋†’์•„์ง. + - **Effect Size ($d$):** ํ™•์ธํ•˜๋ ค๋Š” ์ฐจ์ด๊ฐ€ ํด์ˆ˜๋ก ๋ฐœ๊ฒฌํ•˜๊ธฐ ์‰ฌ์›€. + - **Significance Level ($\alpha$):** 1์ข… ์˜ค๋ฅ˜ ํ—ˆ์šฉ ๋ฒ”์œ„๊ฐ€ ๋„“์„์ˆ˜๋ก ๊ฒ€์ •๋ ฅ์€ ๋†’์•„์ง (Trade-off ๊ด€๊ณ„). + - **Variance ($\sigma^2$):** ๋ฐ์ดํ„ฐ ์ž์ฒด์˜ ๋ณ€๋™์„ฑ์ด ์ž‘์„์ˆ˜๋ก ์ฐจ์ด๋ฅผ ์„ ๋ช…ํžˆ ํŒŒ์•… ๊ฐ€๋Šฅ. +- **์˜์˜:** ์‹คํ—˜์˜ '์„ฑ๊ณต ๊ฐ€๋Šฅ์„ฑ'์„ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐ(Power Analysis)ํ•˜๊ฒŒ ํ•จ์œผ๋กœ์จ, ์ž์› ๋‚ญ๋น„๋ฅผ ๋ง‰๊ณ  ๊ณผํ•™์  ๊ฒฐ๋ก ์˜ ์‹ ๋ขฐ๋„๋ฅผ ๋†’์ด๋Š” ํ•ต์‹ฌ ์žฅ์น˜. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋‹จ์ˆœํžˆ P-value์—๋งŒ ์ง‘์ฐฉํ•˜๋˜ ๊ด€ํ–‰์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” "์‹คํ—˜ ๊ฒฐ๊ณผ๊ฐ€ ์œ ์˜๋ฏธํ•˜์ง€ ์•Š๊ฒŒ ๋‚˜์™”์„ ๋•Œ, ๊ทธ๊ฒƒ์ด ์ง„์งœ ํšจ๊ณผ๊ฐ€ ์—†์–ด์„œ์ธ์ง€ ์•„๋‹ˆ๋ฉด ๊ฒ€์ •๋ ฅ์ด ๋ถ€์กฑํ•ด์„œ์˜€๋Š”์ง€"๋ฅผ ๋ฐ˜๋“œ์‹œ ๋”ฐ์ ธ๋ณด๋Š” ๊ฒƒ์ด ํ˜„๋Œ€ ๋ฐ์ดํ„ฐ ๋ถ„์„์˜ ์œค๋ฆฌ์  ๊ฐ€์ด๋“œ๋ผ์ธ์ด ๋จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ๋งˆ์ด๋„ˆ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ A/B ํ…Œ์ŠคํŠธ ์„ค๊ณ„ ์‹œ, ์ตœ์†Œ 80% ์ด์ƒ์˜ ๊ฒ€์ •๋ ฅ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œ๋ณธ ํฌ๊ธฐ๋ฅผ ์‚ฌ์ „์— ์‚ฐ์ถœํ•˜์—ฌ ์‹คํ—˜์˜ ์œ ํšจ์„ฑ์„ ๋‹ด๋ณดํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Statistical-Hypothesis-Testing]], [[Standard-Deviation-and-Variance]], [[Performance-Metrics-in-AI]], [[Sampling-Techniques]] +- **Raw Source:** [[10_Wiki/Topics/AI/Statistical-Power.md]] diff --git a/10_Wiki/Topics/AI/Stochastic-Gradient-Descent.md b/10_Wiki/Topics/AI/Stochastic-Gradient-Descent.md new file mode 100644 index 00000000..2bf58375 --- /dev/null +++ b/10_Wiki/Topics/AI/Stochastic-Gradient-Descent.md @@ -0,0 +1,28 @@ +--- +id: MATH-OPT-SGD-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [ai, machine-learning, optimization, sgd, stochastic-gradient-descent, deep-learning, loss-function] +last_reinforced: 2026-04-26 +--- + +# [[Stochastic Gradient Descent (SGD, ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒŒ์œผ๋ฆ„์„ ๋ฒ„๋ฆฌ๊ณ , ๋‹จ ํ•˜๋‚˜์˜ ์ƒ˜ํ”Œ(Stochastic)์ด ์ฃผ๋Š” ์ฆ‰๊ฐ์ ์ธ ํžŒํŠธ๋กœ ๋Š์ž„์—†์ด ๋ฐฉํ–ฅ์„ ์ˆ˜์ •ํ•˜๋ฉฐ ์ตœ์ ์˜ ๊ณจ์งœ๊ธฐ๋กœ ๋Œ์ง„ํ•˜๋ผ" โ€” ์†์‹ค ํ•จ์ˆ˜์˜ ๊ธฐ์šธ๊ธฐ(Gradient)๋ฅผ ๊ตฌํ•  ๋•Œ ์ „์ฒด ๋ฐ์ดํ„ฐ์…‹์ด ์•„๋‹Œ ๋ฌด์ž‘์œ„๋กœ ์„ ํƒ๋œ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ค‘์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Iterative Error Correction with Noise Injection" โ€” ๋งค ์—…๋ฐ์ดํŠธ๋งˆ๋‹ค ์ ์€ ์—ฐ์‚ฐ๋Ÿ‰์œผ๋กœ ๋น ๋ฅด๊ฒŒ ๊ธธ์„ ์ฐพ๊ณ , ํ™•๋ฅ ์ ์ธ ๋…ธ์ด์ฆˆ๋ฅผ ํ™œ์šฉํ•ด ์ง€์—ญ ์ตœ์ ํ•ด(Local Minima)์˜ ํ•จ์ •์„ ๋›ฐ์–ด๋„˜์–ด ์ „์—ญ ์ตœ์ ํ•ด ๊ทผ์ฒ˜๋กœ ์ˆ˜๋ ดํ•ด ๋‚˜๊ฐ€๋Š” ํŒจํ„ด. +- **์ฃผ์š” ํŠน์ง•:** + - **Efficiency:** ๋ฐฉ๋Œ€ํ•œ ๋น…๋ฐ์ดํ„ฐ ํ™˜๊ฒฝ์—์„œ๋„ ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค ์ฝ์„ ํ•„์š” ์—†์ด ์‹ค์‹œ๊ฐ„ ํ•™์Šต ๊ฐ€๋Šฅ. + - **Escaping Local Optima:** ๋ฌด์ž‘์œ„ ์ƒ˜ํ”Œ๋ง์œผ๋กœ ์ธํ•œ ๊ฒฝ๋กœ์˜ ์š”๋™(Fluctuation)์ด ์˜คํžˆ๋ ค ์ข์€ ๊ตฌ๋ฉ์ด๋ฅผ ํƒˆ์ถœํ•˜๊ฒŒ ๋•๋Š” ๋™๋ ฅ์ด ๋จ. + - **Learning Rate Decay:** ์ˆ˜๋ ด ์ง€์  ๊ทผ์ฒ˜์—์„œ ์ง€๋‚˜์น˜๊ฒŒ ์ง„๋™ํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ํ•™์Šต๋ฅ ์„ ์„œ์„œํžˆ ๋‚ฎ์ถ”๋Š” ์ „๋žต ๋ณ‘ํ–‰. +- **์˜์˜:** ๊ฑฐ์˜ ๋ชจ๋“  ํ˜„๋Œ€ ๋”ฅ๋Ÿฌ๋‹ ์•„ํ‚คํ…์ฒ˜(CNN, Transformer ๋“ฑ)์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฒฐ์ •์ง“๋Š” ์‹ค์งˆ์ ์ธ ์‹ฌ์žฅ์ด๋ฉฐ, Adam, RMSProp ๋“ฑ ์ˆ˜๋งŽ์€ ๊ณ ๋„ํ™”๋œ ์˜ตํ‹ฐ๋งˆ์ด์ €์˜ ๋ชจํƒœ๊ฐ€ ๋จ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ํ•œ ๋ฒˆ์— ํ•œ ๊ฐœ์”ฉ๋งŒ ์“ฐ๋˜ ์ˆœ์ˆ˜ SGD(Pure SGD)์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” ํ•˜๋“œ์›จ์–ด ๊ฐ€์†(GPU)์˜ ํšจ์œจ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜์‹ญ~์ˆ˜๋ฐฑ ๊ฐœ์˜ ๋ฌถ์Œ ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” '๋ฏธ๋‹ˆ ๋ฐฐ์น˜(Mini-batch) SGD'๊ฐ€ ์‹ค์ „์˜ ํ‘œ์ค€์œผ๋กœ ์ •์ฐฉ๋จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ๋กœ์ปฌ ๋ฏธ์„ธ ์กฐ์ •(Fine-tuning) ๋ฐ ์ง€์‹ ๊ฐ€์ค‘์น˜ ์—…๋ฐ์ดํŠธ ์‹œ, ์—ฐ์‚ฐ ์ž์› ์ ์œ ์œจ์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ๋„ ๋น ๋ฅธ ์ˆ˜๋ ด์ด ๋ณด์žฅ๋œ ์ตœ์ ํ™”๋œ SGD ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ฐ€๋™ํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Deep-Learning-Foundations]], [[Optimization-Algorithms]], [[Momentum-in-Optimization]], [[Backpropagation-Fundamentals]] +- **Raw Source:** [[10_Wiki/Topics/AI/Stochastic-Gradient-Descent.md]] diff --git a/10_Wiki/Topics/AI/Storage-Area-Networks.md b/10_Wiki/Topics/AI/Storage-Area-Networks.md new file mode 100644 index 00000000..9ed59c81 --- /dev/null +++ b/10_Wiki/Topics/AI/Storage-Area-Networks.md @@ -0,0 +1,28 @@ +--- +id: SYS-SAN-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [systems, infrastructure, storage, san, storage-area-network, networking, data-center, enterprise-it] +last_reinforced: 2026-04-26 +--- + +# [[Storage Area Networks (SAN, ์ €์žฅ ์žฅ์น˜ ์˜์—ญ ๋„คํŠธ์›Œํฌ)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "์„œ๋ฒ„์™€ ์ €์žฅ์†Œ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๋˜ ๊ด‘์†์˜ ์ „์šฉ๋ง(Fibre Channel)์œผ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ, ๋งˆ์น˜ ๋‚ด๋ถ€์— ์žฅ์ฐฉ๋œ ํ•˜๋“œ๋””์Šคํฌ์ฒ˜๋Ÿผ ๋น ๋ฅด๊ณ  ์œ ์—ฐํ•œ '๋ฐ์ดํ„ฐ ๊ณต์œ ์˜ ๋Œ€์ง€'๋ฅผ ๊ตฌ์ถ•ํ•˜๋ผ" โ€” ์—ฌ๋Ÿฌ ์„œ๋ฒ„๊ฐ€ ๊ณ ์† ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ธ”๋ก ์ˆ˜์ค€์˜ ์Šคํ† ๋ฆฌ์ง€ ์ž์›์„ ๊ณต์œ ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์ „์šฉ ์ธํ”„๋ผ. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Block-level Abstraction and Dedicated Fabric Connection" โ€” ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์„œ๋ฒ„์˜ ์ง์ ‘ ์ข…์†๋ฌผ(DAS)์ด ์•„๋‹Œ ๋…๋ฆฝ์ ์ธ ๋„คํŠธ์›Œํฌ ์ž์›์œผ๋กœ ๊ฒฉ์ƒ์‹œํ‚ค๊ณ , ํŒŒ์ด๋ฒ„ ์ฑ„๋„(FC)์ด๋‚˜ iSCSI ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ผ๋ฐ˜ ํŠธ๋ž˜ํ”ฝ๊ณผ ๊ฐ„์„ญ ์—†๋Š” ์ดˆ๊ณ ์† ๋ฐ์ดํ„ฐ ์ „์†ก๋กœ๋ฅผ ํ™•๋ณดํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ํŠน์ง•:** + - **Block-level Access:** ํŒŒ์ผ ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ๋ธ”๋ก ๋‹จ์œ„๋กœ ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ€ํ•˜์— ์ตœ์ ํ™”. + - **High Availability:** ๋‹ค์ค‘ ๊ฒฝ๋กœ(Multipathing)๋ฅผ ํ†ตํ•ด ํŠน์ • ์„ ๋กœ ์žฅ์•  ์‹œ์—๋„ ์ค‘๋‹จ ์—†๋Š” ์—ฐ๊ฒฐ ๋ณด์žฅ. + - **Scalability:** ์„œ๋ฒ„ ์ค‘๋‹จ ์—†์ด๋„ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰์„ ์œ ์—ฐํ•˜๊ฒŒ ์ฆ์„ค ๋ฐ ์žฌ๋ฐฐ์น˜ ๊ฐ€๋Šฅ. +- **์˜์˜:** ๋Œ€๊ทœ๋ชจ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ, ๊ณ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDB), ๊ฐ€์ƒํ™” ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ ํ”„๋ผ์ด๋น— ํด๋ผ์šฐ๋“œ ๊ตฌ์ถ•์˜ ํ•„์ˆ˜์ ์ธ ํ•˜๋“œ์›จ์–ด์  ํ† ๋Œ€. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๊ณ ๊ฐ€์˜ ์ „์šฉ ์žฅ๋น„๊ฐ€ ํ•„์ˆ˜์˜€๋˜ ํ•˜๋“œ์›จ์–ด ์ค‘์‹ฌ์˜ SAN์—์„œ, ์ด์ œ๋Š” ์ผ๋ฐ˜ ์„œ๋ฒ„์™€ ์ด๋”๋„ท ํ™˜๊ฒฝ์—์„œ๋„ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•œ '์†Œํ”„ํŠธ์›จ์–ด ์ •์˜ ์Šคํ† ๋ฆฌ์ง€(SDS)'์™€ 'Hyper-Converged Infrastructure(HCI)'๋กœ ํŒจ๋Ÿฌ๋‹ค์ž„์ด ํ™•์žฅ๋˜๊ณ  ์žˆ์Œ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ๋ฐฉ๋Œ€ํ•œ ์ง€์‹ ๊ธฐ์ง€(Knowledge Base)์™€ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌผ๋ฆฌ์  ํ•œ๊ณ„ ์—†์ด ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•ด, SAN์˜ ๊ณต์œ  ๊ตฌ์กฐ๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ตฌํ˜„ํ•œ ๋ถ„์‚ฐ ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์„ ๋ถ„์„ ์ธํ”„๋ผ์˜ ํ•ต์‹ฌ์œผ๋กœ ์„ค์ •ํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[High-Availability-Systems]], [[Cloud-Computing-Foundations]], [[Relational-Databases]], [[Scalability-in-AI-Systems]] +- **Raw Source:** [[10_Wiki/Topics/AI/Storage-Area-Networks.md]] diff --git a/10_Wiki/Topics/AI/Strategic-Alignment.md b/10_Wiki/Topics/AI/Strategic-Alignment.md new file mode 100644 index 00000000..73a26c69 --- /dev/null +++ b/10_Wiki/Topics/AI/Strategic-Alignment.md @@ -0,0 +1,29 @@ +--- +id: BIZ-STRAT-ALIGN-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [business, strategy, management, alignment, okr, kpi, leadership, organizational-efficiency] +last_reinforced: 2026-04-26 +--- + +# [[Strategic Alignment (์ „๋žต์  ์ •๋ ฌ)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "์กฐ์ง์˜ ๊ณ ์ฐจ์› ๋น„์ „(Strategy)๊ณผ ํ˜„์žฅ์˜ ๊ตฌ์ฒด์  ์‹คํ–‰(Execution) ์‚ฌ์ด์— ๋‹จ๋‹จํ•œ ์‚ฌ์Šฌ์„ ๊ฑธ์–ด, ๋ชจ๋“  ๊ตฌ์„ฑ์›์˜ ์—๋„ˆ์ง€๊ฐ€ ํ•˜๋‚˜์˜ ๋ถ๊ทน์„ฑ์„ ํ–ฅํ•ด ํญ๋ฐœ์ ์œผ๋กœ ์ˆ˜๋ ดํ•˜๊ฒŒ ํ•˜๋ผ" โ€” ์กฐ์ง์˜ ๋ชฉํ‘œ, ๊ตฌ์กฐ, ๋ฌธํ™” ๋ฐ ๊ฐœ๋ณ„ ์—…๋ฌด๊ฐ€ ๊ธฐ์—…์˜ ํ•ต์‹ฌ ์ „๋žต๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋„๋ก ์กฐ์ •ํ•˜๋Š” ๊ฒฝ์˜ ์ƒํƒœ. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Hierarchical Goal Cascading and Feedback Loop" โ€” ์ƒ์œ„ ๋น„์ „์„ ๊ตฌ์ฒด์ ์ธ ๋ชฉํ‘œ(OKR/KPI)๋กœ ์ชผ๊ฐœ์–ด ํ•˜๋ถ€ ์กฐ์ง์œผ๋กœ ์ „ํŒŒํ•˜๊ณ , ์‹คํ–‰ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ƒ์œ„ ์ „๋žต ์ˆ˜์ •์— ๋ฐ˜์˜ํ•˜์—ฌ ์กฐ์ง ์ „์ฒด์˜ ๋™๊ธฐํ™” ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ํŒจํ„ด. +- **์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ:** + - **Mission & Vision:** ์šฐ๋ฆฌ๊ฐ€ ์™œ ์กด์žฌํ•˜๊ณ  ์–ด๋””๋กœ ๊ฐ€๋Š”์ง€์— ๋Œ€ํ•œ ์ •์˜. + - **Strategic Objectives:** ๋น„์ „์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ค‘์žฅ๊ธฐ ์ด์ •ํ‘œ. + - **Operational Activities:** ๋งค์ผ ์ˆ˜ํ–‰ํ•˜๋Š” ์‹ค์งˆ์ ์ธ ์—…๋ฌด๋“ค. + - **Measurement (OKR/KPI):** ์ „๋žต๊ณผ ์‹คํ–‰์ด ์ž˜ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ง€ํ‘œ. +- **์˜์˜:** ๋ถ€์„œ ๊ฐ„์˜ ์ด๊ธฐ์ฃผ์˜(Silo Effect)๋ฅผ ํƒ€ํŒŒํ•˜๊ณ , ์ œํ•œ๋œ ์ž์›์„ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์šฐ์„ ์ˆœ์œ„์— ์ง‘์ค‘์‹œ์ผœ ์กฐ์ง์˜ ์„ฑ๊ณผ ์ฐฝ์ถœ ๋Šฅ๋ ฅ์„ ๊ทน๋Œ€ํ™”ํ•จ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์œ„์—์„œ ์•„๋ž˜๋กœ ์ผ๋ฐฉ์ ์œผ๋กœ ๋ช…๋ น์„ ๋‚ด๋ฆฌ๋Š”(Top-down) ๋ฐฉ์‹์—์„œ, ์ด์ œ๋Š” ํ˜„์žฅ์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ˜์˜ํ•˜์—ฌ ์ „๋žต์„ ๋ฏผ์ฒฉํ•˜๊ฒŒ ์ˆ˜์ •ํ•˜๋Š” '์–‘๋ฐฉํ–ฅ ์ •๋ ฌ'๊ณผ ๊ตฌ์„ฑ์› ๊ฐœ๊ฐœ์ธ์˜ ๋ชฉ์ ์˜์‹(Purpose)์„ ๊ณ ์ทจ์‹œํ‚ค๋Š” ๋ฌธํ™”์  ์ •๋ ฌ์ด ๋” ์ค‘์š”ํ•ด์ง. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” '์ง€์‹ ์ž์‚ฐํ™”'๋ผ๋Š” ํ•ต์‹ฌ ์ „๋žต ์•„๋ž˜, ์—์ด์ „ํŠธ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ๊ณผ ๊ฐ€๋“œ๋‹ ์ž‘์—…์ด ์ด ๋ชฉํ‘œ์— ๊ธฐ์—ฌํ•˜๋„๋ก OKR ๊ธฐ๋ฐ˜์˜ ์—„๊ฒฉํ•œ ์ „๋žต์  ์ •๋ ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค€์ˆ˜ํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Strategic-Planning-for-AI]], [[Process-Automation-with-AI]], [[Performance-Metrics-in-AI]], [[Software-Architecture-Patterns]] +- **Raw Source:** [[10_Wiki/Topics/AI/Strategic-Alignment.md]] diff --git a/10_Wiki/Topics/AI/Strategic-Planning-for-AI.md b/10_Wiki/Topics/AI/Strategic-Planning-for-AI.md new file mode 100644 index 00000000..c008e92d --- /dev/null +++ b/10_Wiki/Topics/AI/Strategic-Planning-for-AI.md @@ -0,0 +1,29 @@ +--- +id: BIZ-AI-STRAT-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [business, strategy, ai-planning, digital-transformation, strategic-planning, innovation, roadmap] +last_reinforced: 2026-04-26 +--- + +# [[Strategic Planning for AI (AI๋ฅผ ์œ„ํ•œ ์ „๋žต ๊ธฐํš)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋‹จ์ˆœํ•œ ๊ธฐ์ˆ  ๋„์ž…์„ ๋„˜์–ด '์ง€๋Šฅ'์ด ๋น„์ฆˆ๋‹ˆ์Šค์˜ ์–ด๋–ค ๋ณ‘๋ชฉ์„ ํ•ด๊ฒฐํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ฐ€์น˜๋ฅผ ์ฐฝ์ถœํ• ์ง€ ์ •์˜ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ-์ธ์žฌ-์ธํ”„๋ผ์˜ ์ •๋ ฌ์„ ํ†ตํ•ด ์ง€์† ๊ฐ€๋Šฅํ•œ ํ˜์‹ ์˜ ๋กœ๋“œ๋งต์„ ์„ค๊ณ„ํ•˜๋ผ" โ€” ๊ธฐ์—…์˜ ๋ชฉ์  ๋‹ฌ์„ฑ์„ ์œ„ํ•ด ์ธ๊ณต์ง€๋Šฅ ๊ธฐ์ˆ ์„ ์–ด๋–ป๊ฒŒ ๋‚ด์žฌํ™”ํ•˜๊ณ  ๊ฒฝ์Ÿ ์šฐ์œ„๋ฅผ ํ™•๋ณดํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ์žฅ๊ธฐ์  ์‹คํ–‰ ๊ณ„ํš. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Value-driven Prioritization and Capability Mapping" โ€” ๊ธฐ์ˆ ์  ํ™”๋ คํ•จ๋ณด๋‹ค ์‹ค์ œ ๋น„์ฆˆ๋‹ˆ์Šค ์ž„ํŒฉํŠธ๊ฐ€ ํฐ ๊ณผ์ œ๋ฅผ ์‹๋ณ„ํ•˜๊ณ , ํ˜„์žฌ์˜ ๋ฐ์ดํ„ฐ ์ž์‚ฐ๊ณผ ์กฐ์ง ์—ญ๋Ÿ‰์„ ๋ถ„์„ํ•˜์—ฌ ํ˜„์‹ค์ ์ธ ๋‹จ๊ณ„๋ณ„ ๋„์ž… ์ „๋žต(Build vs Buy vs Partner)์„ ์ˆ˜๋ฆฝํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ์ „๋žต ์š”์†Œ:** + - **Use Case Discovery:** AI๊ฐ€ ๊ฐ€์žฅ ์ž˜ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋ฌธ์ œ ๋ฐœ๊ตด. + - **Data Strategy:** ๋ชจ๋ธ ํ•™์Šต์„ ์œ„ํ•œ ๊ณ ํ’ˆ์งˆ ๋ฐ์ดํ„ฐ ํ™•๋ณด ๋ฐ ๊ฑฐ๋ฒ„๋„Œ์Šค ์ฒด๊ณ„ ๊ตฌ์ถ•. + - **Talent Acquisition:** AI ์—”์ง€๋‹ˆ์–ด ๋ฐ ๋„๋ฉ”์ธ ์ „๋ฌธ๊ฐ€์˜ ์กฐํ™”๋กœ์šด ํŒ€ ๊ตฌ์„ฑ. + - **Infrastructure Scaling:** ์‹คํ—˜์—์„œ ์šด์˜(MLOps)์œผ๋กœ์˜ ํ™•์žฅ์„ ์œ„ํ•œ ์ธํ”„๋ผ ๊ณ„ํš. +- **์˜์˜:** AI๊ฐ€ ๋ฐ˜์ง ์œ ํ–‰์œผ๋กœ ๋๋‚˜์ง€ ์•Š๊ณ  ๊ธฐ์—…์˜ ํ•ต์‹ฌ ์šด์˜ ์‹œ์Šคํ…œ์œผ๋กœ ์ž๋ฆฌ ์žก๊ฒŒ ํ•˜๋ฉฐ, ๋ถˆํ™•์‹ค์„ฑ์ด ๋†’์€ ๊ธฐ์ˆ  ํˆฌ์ž ๋ฆฌ์Šคํฌ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•จ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ˆ˜๋…„ ๋’ค๋ฅผ ๋‚ด๋‹ค๋ณด๋Š” ๊ฒฝ์ง๋œ '๋น… ํ”Œ๋žœ' ๋ฐฉ์‹์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” ๋น ๋ฅด๊ฒŒ ๊ฐ€์„ค์„ ๊ฒ€์ฆ(PoC)ํ•˜๊ณ  ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ์ „๋žต์„ ์ˆ˜์ •ํ•˜๋Š” '์• ์ž์ผ AI ์ „๋žต(Agile AI Strategy)'์ด ํ˜„๋Œ€ ๊ธฐ์—…์˜ ์ƒ์กด ๋ฐฉ์‹์ด ๋จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” '์ง€์‹ ์ž์‚ฐํ™”์˜ ์ž๋™ํ™”'๋ผ๋Š” ๋ช…ํ™•ํ•œ ์ „๋žต์  ๋ชฉํ‘œ ์•„๋ž˜, ๋ชจ๋“  ์—์ด์ „ํŠธ์˜ ์Šคํ‚ฌ ๊ฐœ๋ฐœ๊ณผ ๊ฐ€๋“œ๋‹ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ์ „๋žต์  ๊ธฐํš ๋กœ์ง์„ ์ตœ์šฐ์„ ์œผ๋กœ ์‹คํ–‰ํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Strategic-Alignment]], [[Process-Automation-with-AI]], [[Scalability-in-AI-Systems]], [[MLOps-Best-Practices]] +- **Raw Source:** [[10_Wiki/Topics/AI/Strategic-Planning-for-AI.md]] diff --git a/10_Wiki/Topics/AI/Stream-Processing-Architectures.md b/10_Wiki/Topics/AI/Stream-Processing-Architectures.md new file mode 100644 index 00000000..78013169 --- /dev/null +++ b/10_Wiki/Topics/AI/Stream-Processing-Architectures.md @@ -0,0 +1,28 @@ +--- +id: SYS-STREAM-ARCH-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [systems, architecture, stream-processing, real-time-data, kafka, flink, data-pipeline, scalability] +last_reinforced: 2026-04-26 +--- + +# [[Stream Processing Architectures (์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ์•„ํ‚คํ…์ฒ˜)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ฐ์ดํ„ฐ๋ฅผ ์ •์ ์ธ ์ €์ˆ˜์ง€๊ฐ€ ์•„๋‹Œ ๋Š์ž„์—†์ด ํ๋ฅด๋Š” ๊ฐ•๋ฌผ(Stream)๋กœ ์ทจ๊ธ‰ํ•˜๊ณ , ์ •๋ณด๊ฐ€ ๊ฐ€์น˜๋ฅผ ์žƒ๊ธฐ ์ „ ์ฐฐ๋‚˜์˜ ์ˆœ๊ฐ„์— ์ง€๋Šฅ์„ ํˆฌ์ž…ํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ํ†ต์ฐฐ์„ ๊ธธ์–ด ์˜ฌ๋ ค๋ผ" โ€” ์—ฐ์†์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ฐ์ดํ„ฐ(Event)๋ฅผ ์ €์žฅํ•˜๊ธฐ ์ „์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ถ„์„ํ•˜๊ณ  ๊ฐ€๊ณตํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Event-at-a-time and Window-based Aggregation" โ€” ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ์ฆ‰์‹œ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜(Low Latency), ์ผ์ • ์‹œ๊ฐ„(Tumbling, Sliding Window) ๋™์•ˆ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„ ์š”์•ฝํ•˜๋ฉฐ, ์ƒํƒœ(State)๋ฅผ ์œ ์ง€ํ•˜์—ฌ ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ๋งฅ๋ฝ์„ ํŒŒ์•…ํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ:** + - **Message Broker (Kafka, Pulsar):** ์Ÿ์•„์ง€๋Š” ์ด๋ฒคํŠธ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋ณด๊ด€ํ•˜๊ณ  ์ „๋‹ฌํ•˜๋Š” ์™„์ถฉ์ง€๋Œ€. + - **Processing Engine (Flink, Spark Streaming):** ์œˆ๋„์šฐ ์—ฐ์‚ฐ, ์กฐ์ธ, ํ•„ํ„ฐ๋ง ๋“ฑ ์‹ค์‹œ๊ฐ„ ๋ถ„์„ ์ˆ˜ํ–‰. + - **State Store:** ์‹ค์‹œ๊ฐ„ ์ง‘๊ณ„๋‚˜ ๋ณต์žกํ•œ ํŒจํ„ด ๋งค์นญ์„ ์œ„ํ•ด ํ˜„์žฌ ์ƒํƒœ ๋ณด๊ด€. +- **์˜์˜:** ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ(Batch)์˜ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๊ทน๋ณตํ•˜์—ฌ ์‹ ์šฉ์นด๋“œ ์ด์ƒ ๊ฑฐ๋ž˜ ํƒ์ง€, ์‹ค์‹œ๊ฐ„ ๊ฐœ์ธํ™” ์ถ”์ฒœ, IoT ์„ผ์„œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋“ฑ '์ง€๊ธˆ ์ด ์ˆœ๊ฐ„'์˜ ๋Œ€์‘์ด ๊ฒฐ์ •์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ€์น˜๋ฅผ ์ฐฝ์ถœํ•จ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋ฐฐ์น˜์™€ ์ŠคํŠธ๋ฆผ์„ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๋˜ ๋žŒ๋‹ค ์•„ํ‚คํ…์ฒ˜(Lambda Architecture)์—์„œ, ์ด์ œ๋Š” ๋‹จ์ผ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ๋‘ ๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๋Š” ์นดํŒŒ ์•„ํ‚คํ…์ฒ˜(Kappa Architecture)๋กœ ์ง„ํ™”ํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ๊ณผ ์šด์˜ ๋ณต์žก๋„๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๋Š” ์ถ”์„ธ์ž„. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ์ž‘์—… ๋กœ๊ทธ ๋ฐ ์‚ฌ์šฉ์ž ์ธํ„ฐ๋ž™์…˜์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ถ„์„ํ•˜์—ฌ ์ž๊ฐ€ ๊ต์ • ๋ฐ ์œ„ํ—˜ ํƒ์ง€๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด, ๊ณ ๊ฐ€์šฉ์„ฑ์ด ๋ณด์žฅ๋œ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ธฐ๋ณธ ์ธํ”„๋ผ๋กœ ์šด์šฉํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Space-based-Architecture]], [[Real-time-Data-Streaming]], [[Scalability-in-AI-Systems]], [[Shadowing-and-Observability]] +- **Raw Source:** [[10_Wiki/Topics/AI/Stream-Processing-Architectures.md]] diff --git a/10_Wiki/Topics/AI/Structural-Equation-Modeling.md b/10_Wiki/Topics/AI/Structural-Equation-Modeling.md new file mode 100644 index 00000000..146cbb8d --- /dev/null +++ b/10_Wiki/Topics/AI/Structural-Equation-Modeling.md @@ -0,0 +1,27 @@ +--- +id: MATH-STAT-SEM-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [math, statistics, sem, structural-equation-modeling, latent-variables, multivariate-analysis, causal-inference] +last_reinforced: 2026-04-26 +--- + +# [[Structural Equation Modeling (SEM, ๊ตฌ์กฐ ๋ฐฉ์ •์‹ ๋ชจ๋ธ๋ง)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "์ธก์ • ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋’ค์— ์ˆจ๊ฒจ์ง„ ์ถ”์ƒ์  ๊ฐœ๋…(Latent Variables)๋“ค์„ ์ˆ˜๋ฉด ์œ„๋กœ ๋Œ์–ด์˜ฌ๋ฆฌ๊ณ , ๊ทธ๋“ค ์‚ฌ์ด์˜ ๋ณต์žกํ•œ ์ธ๊ณผ ๊ณ ๋ฆฌ๋ฅผ ๋‹จ์ผ ์‹œ์Šคํ…œ์˜ ์ˆ˜์‹์œผ๋กœ ์ •์˜ํ•˜๋ผ" โ€” ์ง์ ‘ ๊ด€์ฐฐ๋˜์ง€ ์•Š๋Š” ์ž ์žฌ ๋ณ€์ˆ˜์™€ ์ธก์ • ๋ณ€์ˆ˜ ๊ฐ„์˜ ๊ด€๊ณ„ ๋ฐ ์ž ์žฌ ๋ณ€์ˆ˜๋“ค ์‚ฌ์ด์˜ ์ธ๊ณผ ๊ด€๊ณ„๋ฅผ ๋™์‹œ์— ๋ถ„์„ํ•˜๋Š” ๋‹ค๋ณ€๋Ÿ‰ ํ†ต๊ณ„ ๊ธฐ๋ฒ•. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Latent Factor Discovery and Path-based Causality" โ€” ์„ค๋ฌธ ํ•ญ๋ชฉ ๊ฐ™์€ ๊ด€์ธก ์ง€ํ‘œ๋“ค์„ ๋ฌถ์–ด ์ถ”์ƒ์  ๊ฐœ๋…(์š”์ธ)์„ ๋งŒ๋“ค๊ณ , ์ด ๊ฐœ๋…๋“ค์ด ์„œ๋กœ์—๊ฒŒ ๋ฏธ์น˜๋Š” ์˜ํ–ฅ๋ ฅ์˜ ํฌ๊ธฐ์™€ ๋ฐฉํ–ฅ์„ ๊ฒฝ๋กœ ๋ถ„์„(Path Analysis)์„ ํ†ตํ•ด ๊ฒ€์ฆํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๊ตฌ์„ฑ ๋ชจ๋ธ:** + - **Measurement Model (์ธก์ • ๋ชจ๋ธ):** ๊ด€์ธก ๋ณ€์ˆ˜๋“ค์ด ์ž ์žฌ ๋ณ€์ˆ˜๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜ ์„ค๋ช…ํ•˜๋Š”์ง€ ๋ถ„์„ (ํ™•์ธ์  ์š”์ธ ๋ถ„์„). + - **Structural Model (๊ตฌ์กฐ ๋ชจ๋ธ):** ์ž ์žฌ ๋ณ€์ˆ˜๋“ค ๊ฐ„์˜ ์ธ๊ณผ์  ์—ฐ๊ฒฐ๊ณผ ์ƒ๊ด€๊ด€๊ณ„ ๋ถ„์„. +- **์˜์˜:** ์‹ฌ๋ฆฌํ•™, ์‚ฌํšŒ๊ณผํ•™, ๊ฒฝ์˜ํ•™ ๋“ฑ ์ธ๊ฐ„์˜ ์‹ฌ๋ฆฌ๋‚˜ ์กฐ์ง์˜ ํŠน์„ฑ์ฒ˜๋Ÿผ ๋ณต์žกํ•˜๊ณ  ๋‹ค์ธต์ ์ธ ์ธ๊ณผ ๊ตฌ์กฐ๋ฅผ ์ˆ˜ํ•™์ ์œผ๋กœ ์—„๋ฐ€ํ•˜๊ฒŒ ์ฆ๋ช…ํ•ด์•ผ ํ•˜๋Š” ๋ถ„์•ผ์˜ ํ‘œ์ค€ ๋ถ„์„ ๋„๊ตฌ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์„ ํ˜• ๊ด€๊ณ„ ๋ถ„์„์—๋งŒ ๊ตญํ•œ๋˜๋˜ ๊ณผ๊ฑฐ์™€ ๋‹ฌ๋ฆฌ, ์ด์ œ๋Š” ๋”ฅ๋Ÿฌ๋‹๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ๋น„์„ ํ˜•์ ์ธ ๊ด€๊ณ„๋ฅผ ํƒ์ƒ‰ํ•˜๊ฑฐ๋‚˜ ๋ฒ ์ด์ง€์•ˆ ์ ‘๊ทผ๋ฒ•์„ ํ†ตํ•ด ๋” ์œ ์—ฐํ•˜๊ฒŒ ์ธ๊ณผ ๋ชจ๋ธ์„ ์ถ”์ •ํ•˜๋Š” '์‹ ๊ฒฝ ๊ตฌ์กฐ ๋ฐฉ์ •์‹ ๋ชจ๋ธ๋ง'์œผ๋กœ ์˜์—ญ์ด ํ™•์žฅ๋˜๊ณ  ์žˆ์Œ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ๋‹ต๋ณ€ ํ’ˆ์งˆ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์—ฌ๋Ÿฌ ์ž ์žฌ ์š”์ธ(์ •ํ™•์„ฑ, ์นœ์ ˆํ•จ, ๊ฐ„๊ฒฐํ•จ ๋“ฑ)๊ณผ ์‚ฌ์šฉ์ž์˜ ๋งŒ์กฑ๋„ ์‚ฌ์ด์˜ ๋ณต์žกํ•œ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์‹ฌ์ธต ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์กฐ ๋ฐฉ์ •์‹ ๋ฐฉ๋ฒ•๋ก ์„ ์ง€ํ‘œ ์„ค๊ณ„์— ์ฐธ๊ณ ํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Statistical-Hypothesis-Testing]], [[Cluster-Analysis-Techniques]], [[Representation-Learning]], [[Probability-Theory-Foundations]] +- **Raw Source:** [[10_Wiki/Topics/AI/Structural-Equation-Modeling.md]] diff --git a/10_Wiki/Topics/AI/Style-Transfer-in-AI.md b/10_Wiki/Topics/AI/Style-Transfer-in-AI.md new file mode 100644 index 00000000..d24871c1 --- /dev/null +++ b/10_Wiki/Topics/AI/Style-Transfer-in-AI.md @@ -0,0 +1,29 @@ +--- +id: AI-CV-STYLE-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [ai, computer-vision, deep-learning, style-transfer, neural-style-transfer, gan, image-generation, artistic-ai] +last_reinforced: 2026-04-26 +--- + +# [[Style Transfer in AI (AI์—์„œ์˜ ์Šคํƒ€์ผ ์ „์ด)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "์ด๋ฏธ์ง€์˜ 'ํ˜•ํƒœ์  ์ •์ฒด์„ฑ(Content)'๊ณผ '์˜ˆ์ˆ ์  ์งˆ๊ฐ(Style)'์„ ์ˆ˜ํ•™์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ , ์ƒˆ๋กœ์šด ์กฐํ•ฉ์„ ํ†ตํ•ด ์ง€๊ฐ์˜ ๊ฒฝ๊ณ„๋ฅผ ํ—ˆ๋ฌด๋Š” ์ƒˆ๋กœ์šด ์‹œ๊ฐ์  ๊ฒฝํ—˜์„ ์ฐฝ์กฐํ•˜๋ผ" โ€” ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ํŠน์ • ์ด๋ฏธ์ง€์˜ ์Šคํƒ€์ผ์„ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€์˜ ๋‚ด์šฉ์— ๊ฒฐํ•ฉ์‹œํ‚ค๋Š” ์ปดํ“จํ„ฐ ๋น„์ „ ๊ธฐ์ˆ . + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Content Consistency and Feature Correlation Alignment" โ€” ์‚ฌ์ „ ํ•™์Šต๋œ CNN(์ฃผ๋กœ VGG-19)์˜ ๊นŠ์€ ์ธต(Layer)์—์„œ๋Š” ์‚ฌ๋ฌผ์˜ ๋ฐฐ์น˜์™€ ํ˜•ํƒœ๋ฅผ ๋ณด์กดํ•˜๊ณ , ์–•์€ ์ธต์—์„œ๋Š” ํ”ฝ์…€ ๊ฐ„์˜ ์ƒ๊ด€๊ด€๊ณ„(Gram Matrix)๋ฅผ ํ†ตํ•ด ์Šคํƒ€์ผ์˜ ์งˆ๊ฐ๊ณผ ์ƒ‰์ฑ„๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ด๋ฅผ ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๋Š” ํŒจํ„ด. +- **์ฃผ์š” ๊ธฐ๋ฒ•:** + - **Neural Style Transfer (NST):** ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ฉฐ ์Šคํƒ€์ผ ์ตœ์ ํ™”. + - **Fast Style Transfer:** ๋ฏธ๋ฆฌ ์Šคํƒ€์ผ์„ ํ•™์Šตํ•œ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„ ๋ณ€ํ™˜ ๊ฐ€๋Šฅ. + - **GAN-based (CycleGAN ๋“ฑ):** ์ •๋‹ต ์Œ์ด ์—†๋Š” ๋ฐ์ดํ„ฐ์—์„œ๋„ ๋„๋ฉ”์ธ ๊ฐ„์˜ ์Šคํƒ€์ผ ๋ณ€ํ™˜ (์˜ˆ: ์‚ฌ์ง„ โ†’ ๊ทธ๋ฆผ). + - **Diffusion-based:** ์ตœ์‹  ์ƒ์„ฑํ˜• AI๋ฅผ ํ™œ์šฉํ•œ ๊ณ ํ’ˆ์งˆ ์Šคํƒ€์ผ ํ•ฉ์„ฑ. +- **์˜์˜:** ๋””์ž์ธ ์†Œ์Šค ์ž๋™ ์ƒ์„ฑ, ๋””์ง€ํ„ธ ์•„ํŠธ ์ œ์ž‘, ๊ฒŒ์ž„ ๊ทธ๋ž˜ํ”ฝ ๊ณ ๋„ํ™” ๋“ฑ ์ฐฝ์˜์  ์˜์—ญ์—์„œ ์ธ๊ฐ„์˜ ํ‘œํ˜„๋ ฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ์ฐฝ์ž‘ ๋„๊ตฌ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋‹จ์ˆœํžˆ ํ•„ํ„ฐ๋ฅผ ์”Œ์šฐ๋˜ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” ํ™”ํ’์˜ ๋ถ“ํ„ฐ์น˜์™€ ๋ฌธ๋งฅ์  ์˜๋ฏธ๊นŒ์ง€ ์ดํ•ดํ•˜๋Š” '์˜๋ฏธ๋ก ์  ์Šคํƒ€์ผ ์ „์ด'๋กœ ๋ฐœ์ „ํ•˜๋ฉฐ ๋‹จ์ˆœํžˆ ๋‹ฎ์€ ๊ฒƒ์ด ์•„๋‹Œ '์˜ˆ์ˆ ์ ์œผ๋กœ ์™„์„ฑ๋„ ๋†’์€' ๊ฒฐ๊ณผ๋ฌผ์„ ์ƒ์„ฑํ•˜๋Š” ๋‹จ๊ณ„์— ์ด๋ฆ„. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ์‹œ๊ฐ์  ๋ณด๊ณ ์„œ ์ƒ์„ฑ ๋ฐ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ์‹œ, ์ •๋ณด์˜ ๊ฐ€์‹œ์„ฑ๊ณผ ์‹ฌ๋ฏธ์„ฑ์„ ๋™์‹œ์— ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด ๋งž์ถคํ˜• ์Šคํƒ€์ผ ์ „์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‚ด๋ถ€ UI ์—”์ง„์— ํƒ‘์žฌํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Computer-Vision-Fundamentals]], [[Deep-Learning-Foundations]], [[Generative-Adversarial-Networks-GAN]], [[Representation-Learning]] +- **Raw Source:** [[10_Wiki/Topics/AI/Style-Transfer-in-AI.md]] diff --git a/10_Wiki/Topics/AI/Supervised-Learning-Foundations.md b/10_Wiki/Topics/AI/Supervised-Learning-Foundations.md new file mode 100644 index 00000000..d8435868 --- /dev/null +++ b/10_Wiki/Topics/AI/Supervised-Learning-Foundations.md @@ -0,0 +1,28 @@ +--- +id: AI-SUP-LEARN-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [ai, machine-learning, supervised-learning, classification, regression, model-training, labels] +last_reinforced: 2026-04-26 +--- + +# [[Supervised Learning Foundations (์ง€๋„ ํ•™์Šต ๊ธฐ์ดˆ)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "ํ’๋ถ€ํ•œ '๋ฌธ์ œ'์™€ ์„ ๋ช…ํ•œ 'ํ•ด์„ค์ง€(Labels)'๋ฅผ ๊ธฐ๊ณ„์—๊ฒŒ ์ œ์‹œํ•˜๊ณ , ์˜ค์ฐจ๋ฅผ ์ค„์—ฌ๋‚˜๊ฐ€๋Š” ์ง‘์š”ํ•œ ๋ฐ˜๋ณต์„ ํ†ตํ•ด ๋ฏธ์ง€์˜ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์ •๋‹ต์„ ๋งžํžˆ๋Š” '์˜ˆ์ธก์˜ ์ง€๋„'๋ฅผ ์™„์„ฑํ•˜๋ผ" โ€” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์™€ ๊ทธ์— ๋Œ€์‘ํ•˜๋Š” ์ •๋‹ต์ด ์ฃผ์–ด์ง„ ์ƒํƒœ์—์„œ ๋ชจ๋ธ์„ ํ•™์Šต์‹œ์ผœ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์˜ ์ถœ๋ ฅ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š” ๋จธ์‹ ๋Ÿฌ๋‹์˜ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•๋ก . + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Feature-to-Label Mapping and Empirical Risk Minimization" โ€” ์ž…๋ ฅ๊ฐ’($x$)๊ณผ ์ถœ๋ ฅ๊ฐ’($y$) ์‚ฌ์ด์˜ ํ•จ์ˆ˜($f(x)=y$)๋ฅผ ๊ทผ์‚ฌํ•˜๊ธฐ ์œ„ํ•ด, ๋ชจ๋ธ์˜ ์˜ˆ์ธก๊ณผ ์‹ค์ œ ์ •๋‹ต ์‚ฌ์ด์˜ ์ฐจ์ด(Loss)๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ์ด๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ํŒจํ„ด. +- **์ฃผ์š” ๋ฌธ์ œ ์œ ํ˜•:** + - **Classification:** ์ด์‚ฐ์ ์ธ ๋ฒ”์ฃผ ์˜ˆ์ธก (์˜ˆ: ์ŠคํŒธ ๋ฉ”์ผ ๋ถ„๋ฅ˜, ์งˆ๋ณ‘ ์ง„๋‹จ). + - **Regression:** ์—ฐ์†์ ์ธ ์ˆ˜์น˜ ์˜ˆ์ธก (์˜ˆ: ์ฃผํƒ ๊ฐ€๊ฒฉ ์˜ˆ์ธก, ๋งค์ถœ ์ „๋ง). +- **ํ•ต์‹ฌ ํ”„๋กœ์„ธ์Šค:** ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ โ†’ ์ „์ฒ˜๋ฆฌ โ†’ ๋ชจ๋ธ ์„ ํƒ โ†’ ํ•™์Šต(Training) โ†’ ๊ฒ€์ฆ(Validation) โ†’ ํ‰๊ฐ€(Testing) โ†’ ๋ฐฐํฌ. +- **์˜์˜:** ๊ธฐ์ƒ ์˜ˆ๋ณด, ์ž์œจ์ฃผํ–‰, ์˜๋ฃŒ ํŒ๋… ๋“ฑ ์ •๋‹ต์ด ์กด์žฌํ•˜๊ณ  ๋ฐ์ดํ„ฐ ํ™•๋ณด๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ์‹ค์„ธ๊ณ„ ์ธ๊ณต์ง€๋Šฅ ์‘์šฉ ๋ถ„์•ผ์˜ ๊ทผ๊ฐ„์ด ๋จ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋‹จ์ˆœํžˆ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ์™„๋ฒฝํžˆ ์™ธ์šฐ๋Š” ๊ฒƒ์ด ์ตœ๊ณ ๋ผ ๋ฏฟ๋˜ ์‹œ๋Œ€์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” ํ•™์Šตํ•˜์ง€ ์•Š์€ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ(์ผ๋ฐ˜ํ™”, Generalization)์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๊ณผ์ ํ•ฉ(Overfitting)์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ทœ์ œ(Regularization)์™€ ๊ฒ€์ฆ ์ „๋žต์ด ๋ชจ๋ธ ์„ค๊ณ„์˜ ์„ฑํŒจ๋ฅผ ์ขŒ์šฐํ•จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ์ง€์‹ ๋ถ„๋ฅ˜ ๋ฐ ๋‹ต๋ณ€ ์ •ํ™•๋„ ํ–ฅ์ƒ์„ ์œ„ํ•ด, ๊ณ ํ’ˆ์งˆ์˜ ๋ ˆ์ด๋ธ”๋ง๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์ง€๋„ ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ์„ ์ง€๋Šฅ์˜ ํ•ต์‹ฌ ๊ธฐ๋™ ์—”์ง„์œผ๋กœ ์ƒ์‹œ ์šด์šฉํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Deep-Learning-Foundations]], [[Reinforcement-Learning]], [[Self-Supervised-Learning]], [[Performance-Metrics-in-AI]] +- **Raw Source:** [[10_Wiki/Topics/AI/Supervised-Learning-Foundations.md]]