From 2e1b3a7c34d44aa9eb4f79d176c5913c79f4db8f Mon Sep 17 00:00:00 2001 From: Antigravity Agent Date: Sun, 26 Apr 2026 20:25:51 +0900 Subject: [PATCH] feat: Knowledge Gardening Milestone 500 (Batch #26 - Halfway to half!) --- 00_Raw/CI-CD Pipeline.md | 18 ++++++++++ 00_Raw/Conventional Commits.md | 29 +++++++++++++++ 00_Raw/Core Web Vitals.md | 36 ++++++++----------- 00_Raw/Next.js.md | 20 ++++++----- 00_Raw/Pull Request Workflow.md | 22 ++++++++++++ 00_Raw/Suspense.md | 17 +++++---- 00_Raw/Vite.md | 17 +++++++++ 10_Wiki/Topics/AI/Support-Vector-Machines.md | 28 +++++++++++++++ 10_Wiki/Topics/AI/Swarm-Intelligence.md | 31 ++++++++++++++++ 10_Wiki/Topics/AI/Symmetric-Encryption.md | 28 +++++++++++++++ .../Topics/AI/Synthetic-Data-Generation.md | 28 +++++++++++++++ .../Topics/AI/System-Architecture-Design.md | 29 +++++++++++++++ .../Topics/AI/System-Design-Interview-Prep.md | 29 +++++++++++++++ 10_Wiki/Topics/AI/System-Dynamics-Modeling.md | 29 +++++++++++++++ .../Topics/AI/Tableau-Data-Visualization.md | 29 +++++++++++++++ .../Topics/AI/Temporal-Difference-Learning.md | 26 +++++++------- 10_Wiki/Topics/AI/TensorFlow-Foundations.md | 30 ++++++++++++++++ 17 files changed, 394 insertions(+), 52 deletions(-) create mode 100644 00_Raw/CI-CD Pipeline.md create mode 100644 00_Raw/Conventional Commits.md create mode 100644 00_Raw/Pull Request Workflow.md create mode 100644 00_Raw/Vite.md create mode 100644 10_Wiki/Topics/AI/Support-Vector-Machines.md create mode 100644 10_Wiki/Topics/AI/Swarm-Intelligence.md create mode 100644 10_Wiki/Topics/AI/Symmetric-Encryption.md create mode 100644 10_Wiki/Topics/AI/Synthetic-Data-Generation.md create mode 100644 10_Wiki/Topics/AI/System-Architecture-Design.md create mode 100644 10_Wiki/Topics/AI/System-Design-Interview-Prep.md create mode 100644 10_Wiki/Topics/AI/System-Dynamics-Modeling.md create mode 100644 10_Wiki/Topics/AI/Tableau-Data-Visualization.md create mode 100644 10_Wiki/Topics/AI/TensorFlow-Foundations.md diff --git a/00_Raw/CI-CD Pipeline.md b/00_Raw/CI-CD Pipeline.md new file mode 100644 index 00000000..3131c42a --- /dev/null +++ b/00_Raw/CI-CD Pipeline.md @@ -0,0 +1,18 @@ +# [[CI/CD Pipeline]] + +## ๐Ÿ“Œ Brief Summary +CI/CD ํŒŒ์ดํ”„๋ผ์ธ์€ ํ”„๋ก ํŠธ์—”๋“œ ์‹œ์Šคํ…œ ์—”์ง€๋‹ˆ์–ด๋ง์—์„œ ์ฝ”๋“œ ํ’ˆ์งˆ์„ ์—„๊ฒฉํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๊ณ  ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ•ต์‹ฌ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค [1]. ์ฃผ์š” ๋ธŒ๋žœ์น˜(main)์— ์ฝ”๋“œ๋ฅผ ๋ณ‘ํ•ฉํ•˜๊ธฐ ์ „์— ์ฝ”๋“œ ๋ฆฌ๋ทฐ, ๋ฆฐํŒ…, ์‹œ๊ฐ์  ํšŒ๊ท€ ํ…Œ์ŠคํŠธ, ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๊ฒ€์‚ฌ ๋“ฑ์„ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค [2-4]. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ ํŒ€์€ ์ž‘์€ ๋‹จ์œ„์˜ ๋นˆ๋ฒˆํ•œ ์—…๋ฐ์ดํŠธ ๋ฌธํ™”๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๋ฉฐ ์•ˆ์ •์ ์ธ ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [1, 2]. + +## ๐Ÿ“– Core Content +- **Git ์›Œํฌํ”Œ๋กœ์šฐ์™€์˜ ํ†ตํ•ฉ ๋ฐ ํ•„์ˆ˜ ๊ด€๋ฌธ:** ํ˜„๋Œ€์˜ ๊ฐœ๋ฐœ ํŒ€์€ ์งง์€ ์ˆ˜๋ช…์˜ ํ”ผ์ฒ˜ ๋ธŒ๋žœ์น˜(feature branch)์—์„œ ์ž‘์—…ํ•˜๋ฉฐ, ์„ฑ๊ณต์ ์ธ ๋™๋ฃŒ ๋ฆฌ๋ทฐ์™€ CI/CD ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•œ ํ›„์—๋งŒ main ๋ธŒ๋žœ์น˜์— ์ฝ”๋“œ๋ฅผ ๋ณ‘ํ•ฉํ•˜๋„๋ก ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค [2]. ํŒ€ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๊ฑฐ๋‚˜ ํŠธ๋ ํฌ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ(Trunk-based development)์„ ๋„์ž…ํ•  ๊ฒฝ์šฐ, ๊ฐ•๋ ฅํ•œ CI ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค [5, 6]. +- **์ž๋™ํ™”๋œ ๊ฑฐ๋ฒ„๋„Œ์Šค์™€ ํ’ˆ์งˆ ๊ด€๋ฆฌ:** CI/CD ํŒŒ์ดํ”„๋ผ์ธ์€ ๊ฐœ๋ฐœ์ž์˜ ๋กœ์ปฌ ํ™˜๊ฒฝ๊ณผ ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„(์ฃผ๋กœ Linux) ๊ฐ„์˜ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ๋ถˆ์ผ์น˜๋กœ ์ธํ•œ ๋นŒ๋“œ ์‹คํŒจ๋ฅผ ์‚ฌ์ „์— ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค [7]. ๋˜ํ•œ Husky์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ git hook๊ณผ ์—ฐ๊ณ„ํ•˜์—ฌ ์ปค๋ฐ‹ ์ „ ๋ฆฐํŒ…, ํฌ๋งทํŒ…, ํƒ€์ž… ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ•จ์œผ๋กœ์จ ๊ณ ํ’ˆ์งˆ์˜ ์ฝ”๋“œ๋งŒ ์ €์žฅ์†Œ์— ๋ณ‘ํ•ฉ๋˜๋„๋ก ํ•˜๋Š” ์ž๋™ํ™”๋œ ๊ฑฐ๋ฒ„๋„Œ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [1, 8]. +- **UI ๋ฐ ์ ‘๊ทผ์„ฑ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ ์ž๋™ํ™”:** Happo๋‚˜ Chromatic ๊ฐ™์€ ๋„๊ตฌ๋ฅผ CI ํŒŒ์ดํ”„๋ผ์ธ์— ํ†ตํ•ฉํ•˜์—ฌ ๋ชจ๋“  ํ’€ ๋ฆฌํ€˜์ŠคํŠธ(PR)๋งˆ๋‹ค Storybook ์Šคํ† ๋ฆฌ์˜ ์‹œ๊ฐ์  ํ…Œ์ŠคํŠธ(Visual tests) ๋ฐ ์ ‘๊ทผ์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4, 9, 10]. CI ๋‹จ๊ณ„์—์„œ ์‹œ๊ฐ์  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•˜์—ฌ ์˜๋„์น˜ ์•Š์€ UI ๋ฒ„๊ทธ๊ฐ€ ๋ณ‘ํ•ฉ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค [10, 11]. +- **์„ฑ๋Šฅ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€:** ๊ฐœ๋ฐœ ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฌธ์ œ๋ฅผ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ์กฐ๊ธฐ์— ๋ฐœ๊ฒฌํ•˜๊ธฐ ์œ„ํ•ด, Puppeteer ๋“ฑ์„ ์‚ฌ์šฉํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๊ฐ์ง€ ํ…Œ์ŠคํŠธ๋ฅผ CI ํŒŒ์ดํ”„๋ผ์ธ์— ํ†ตํ•ฉํ•˜์—ฌ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค [3, 12]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[Git Workflow]], [[Visual Regression Testing]], [[Memory Leak Detection]], [[Trunk-based Development]] +- **Projects/Contexts:** [[Frontend Engineering Governance]], [[Scalable React Architecture]] +- **Contradictions/Notes:** ์†Œ์Šค์—๋Š” CI/CD๋ฅผ ํ™œ์šฉํ•œ ํ…Œ์ŠคํŠธ ์ž๋™ํ™”(์‹œ๊ฐ์  ํ…Œ์ŠคํŠธ, ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๊ฒ€์‚ฌ ๋“ฑ)์˜ ์ค‘์š”์„ฑ๊ณผ ์›์น™์€ ์ž˜ ๋ช…์‹œ๋˜์–ด ์žˆ์œผ๋‚˜, CI/CD ํ™˜๊ฒฝ(์˜ˆ: GitHub Actions, Jenkins ๋“ฑ)์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์ฒด์ ์ธ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” ์†Œ์Šค์— ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/Conventional Commits.md b/00_Raw/Conventional Commits.md new file mode 100644 index 00000000..3edc4779 --- /dev/null +++ b/00_Raw/Conventional Commits.md @@ -0,0 +1,29 @@ +# [[Conventional Commits]] + +## ๐Ÿ“Œ Brief Summary +Conventional Commits๋Š” ์ผ๊ด€์„ฑ ์žˆ๋Š” ์ฝ”๋“œ ํžˆ์Šคํ† ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์ง€์ •๋œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ ํ‘œ์ค€ ๊ทœ์•ฝ์ž…๋‹ˆ๋‹ค [1, 2]. ์ผ๋ฐ˜์ ์œผ๋กœ `type(scope): description`์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ฝ”๋“œ์— ์–ด๋–ค ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ–ˆ๊ณ  ๊ทธ ์ด์œ ๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ๋ช…ํ™•ํžˆ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ๋ชฉ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค [1, 2]. ์ด ํ‘œ์ค€์„ ์ ์šฉํ•˜๋ฉด ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ๋‚ด์—ญ์„ ์‰ฝ๊ฒŒ ํ›‘์–ด๋ณผ ์ˆ˜ ์žˆ๋Š”(scannable) ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ์ž‘์„ฑ์˜ ์ž๋™ํ™”๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค [1]. + +## ๐Ÿ“– Core Content +- **๊ธฐ๋ณธ ํฌ๋งท**: ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” `type(scope): description`์˜ ํ˜•์‹์„ ์—„๊ฒฉํ•˜๊ฒŒ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค [1]. +- **์ฃผ์š” ์ปค๋ฐ‹ ํƒ€์ž…(Types)** [1, 2]: + - `feat`: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์˜ ์ถ”๊ฐ€ + - `fix`: ๋ฒ„๊ทธ ์ˆ˜์ • + - `docs`: ๋ฌธ์„œ ๊ด€๋ จ ๋ณ€๊ฒฝ ์‚ฌํ•ญ + - `style`: ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ (ํฌ๋งทํŒ… ๋“ฑ ๊ธฐ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ) + - `refactor`: ๋ฒ„๊ทธ ์ˆ˜์ •์ด๋‚˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง + - `test`: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์˜ ์ถ”๊ฐ€ ๋˜๋Š” ์—…๋ฐ์ดํŠธ + - `chore`: ์œ ์ง€๋ณด์ˆ˜ ์ž‘์—… ๋“ฑ ๊ธฐํƒ€ ์ž‘์—… +- **์ž‘์„ฑ ์›์น™**: + - ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ์ฝ”๋“œ์˜ '๋ฌด์—‡(what)'์ด '์™œ(why)' ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [2]. + - ์ปค๋ฐ‹์€ ์ž‘๊ณ (small) ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„๋กœ ์˜๋ฏธ ์žˆ๊ฒŒ(meaningful) ์ž‘์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [3, 4]. (์˜ˆ: `fix: handle null response in login API` [4] ๋˜๋Š” `feat: add login form` [3]) +- **๋„์ž… ํšจ๊ณผ**: + - ์†Œ๊ทœ๋ชจ ํŒ€์˜ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜(feature-branch) ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ ์ ์šฉ ์‹œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ํŒŒ์•…์ด ์‰ฌ์›Œ์ง€๊ณ  ์ฝ”๋“œ ๋ฆฌ๋ทฐ๊ฐ€ ๋‹จ์ˆœํ•ด์ง‘๋‹ˆ๋‹ค [3, 4]. + - ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ์ƒ์„ฑ์„ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŒ€์› ๋ˆ„๊ตฌ๋‚˜ ํ”„๋กœ์ ํŠธ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋•์Šต๋‹ˆ๋‹ค [1]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[Git Workflow]], [[Branching Strategies]], [[Code Review]], [[Clean Code Principles]] +- **Projects/Contexts:** [[Team Collaboration]], [[Engineering Scalable Frontend Systems]], [[Version Control]] +- **Contradictions/Notes:** ์†Œ์Šค ๊ฐ„์˜ ๋ชจ์ˆœ์ ์€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ, ์†Œ๊ทœ๋ชจ ํŒ€ ์›Œํฌํ”Œ๋กœ์šฐ๋ถ€ํ„ฐ ๋Œ€๊ทœ๋ชจ ํ”„๋ก ํŠธ์—”๋“œ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜๊นŒ์ง€ ๊ณตํ†ต์œผ๋กœ ์ผ๊ด€๋œ ์ปค๋ฐ‹ ๋ช…๋ช… ๊ทœ์น™(Conventional Commits) ์‚ฌ์šฉ์„ ์ ๊ทน ๊ถŒ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/Core Web Vitals.md b/00_Raw/Core Web Vitals.md index 516df515..701254c6 100644 --- a/00_Raw/Core Web Vitals.md +++ b/00_Raw/Core Web Vitals.md @@ -1,34 +1,26 @@ # [[Core Web Vitals]] ## ๐Ÿ“Œ Brief Summary -Core Web Vitals๋Š” ์›น์‚ฌ์ดํŠธ์˜ ์‹ค์ œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐ๊ด€์ ์œผ๋กœ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•ด Google์ด ์„ค์ •ํ•œ ํ‘œ์ค€ํ™”๋œ ์„ฑ๋Šฅ ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค [1]. 2025๋…„ ๊ธฐ์ค€, ์ด ์ง€ํ‘œ๋Š” ์ฃผ๋กœ ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ ์„ฑ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” LCP, ์ƒํ˜ธ์ž‘์šฉ์˜ ๋ฐ˜์‘์„ฑ์„ ์ธก์ •ํ•˜๋Š” INP, ๊ทธ๋ฆฌ๊ณ  ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ์„ ํ‰๊ฐ€ํ•˜๋Š” CLS๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค [1-3]. ์ด ์ง€ํ‘œ๋“ค์€ Google์˜ SEO(๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”) ์ˆœ์œ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์ง์ ‘์ ์œผ๋กœ ๋ฐ˜์˜๋˜๋ฉฐ, ์›น์‚ฌ์ดํŠธ์˜ ์ „ํ™˜์œจ๊ณผ ์ดํƒˆ๋ฅ  ๋“ฑ ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ์„ฑ๊ณผ์— ๋ง‰๋Œ€ํ•œ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค [4-7]. +Core Web Vitals๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ฒด๊ฐํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์†๋„์™€ ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ์„ ์ธก์ •ํ•˜๋Š” ํ‘œ์ค€ํ™”๋œ ์„ฑ๋Šฅ ์ง€ํ‘œ์ด๋‹ค [1, 2]. ์ฃผ์š” ์ง€ํ‘œ๋กœ๋Š” ํŽ˜์ด์ง€์˜ ์‹œ๊ฐ์  ์ฝ˜ํ…์ธ  ๋กœ๋“œ ์™„๋ฃŒ๋ฅผ ์ธก์ •ํ•˜๋Š” LCP(Largest Contentful Paint), ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์— ๋Œ€ํ•œ ๋ฐ˜์‘์„ฑ์„ ์ธก์ •ํ•˜๋Š” INP(Interaction to Next Paint)์™€ FID(First Input Delay), ๊ทธ๋ฆฌ๊ณ  ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” CLS(Cumulative Layout Shift)๊ฐ€ ํฌํ•จ๋œ๋‹ค [2-4]. ํ˜„๋Œ€ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์—์„œ๋Š” ๋‹จ์ˆœํ•œ ์ฝ”๋“œ ์‹คํ–‰ ์†๋„ ์ตœ์ ํ™”๋ฅผ ๋„˜์–ด ์‹ค์ œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” Core Web Vitals๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ ๊ณผ์ œ๋กœ ๋‹ค๋ฃจ์–ด์ง€๊ณ  ์žˆ๋‹ค [1]. ## ๐Ÿ“– Core Content -* **ํ•ต์‹ฌ ์ง€ํ‘œ ๋ฐ 2025๋…„ ๊ธฐ์ค€ ์ž„๊ณ„๊ฐ’:** - * **LCP (Largest Contentful Paint):** ๋ทฐํฌํŠธ ๋‚ด์—์„œ ๊ฐ€์žฅ ํฐ ์ฝ˜ํ…์ธ  ์š”์†Œ(์ฃผ๋กœ ํžˆ์–ด๋กœ ์ด๋ฏธ์ง€๋‚˜ ํฐ ํ…์ŠคํŠธ ๋ธ”๋ก)๊ฐ€ ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค [3, 8, 9]. ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€์˜ ์ฃผ์š” ๋‚ด์šฉ์„ ์ธ์‹ํ•˜๋Š” ์†๋„๋ฅผ ๋œปํ•˜๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ 2.5์ดˆ ๋ฏธ๋งŒ์ด์–ด์•ผ "์ข‹์Œ(Good)"์œผ๋กœ ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค [3, 10, 11]. - * **INP (Interaction to Next Paint):** 2025๋…„์— ๊ธฐ์กด์˜ FID(First Input Delay)๋ฅผ ๊ณต์‹์ ์œผ๋กœ ๋Œ€์ฒดํ•œ ์ง€ํ‘œ๋กœ, ํด๋ฆญ์ด๋‚˜ ํƒญ ๋“ฑ ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  ์ƒํ˜ธ์ž‘์šฉ๋ถ€ํ„ฐ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‹œ๊ฐ์  ํ”ผ๋“œ๋ฐฑ(๋‹ค์Œ ํ”„๋ ˆ์ž„)์„ ๋ Œ๋”๋งํ•˜๊ธฐ๊นŒ์ง€์˜ ์ „์ฒด ์ง€์—ฐ ์‹œ๊ฐ„์„ ํฌ๊ด„์ ์œผ๋กœ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค [2, 12, 13]. ์ผ๋ฐ˜์ ์œผ๋กœ 200ms ๋ฏธ๋งŒ์„ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [10, 11, 13]. - * **CLS (Cumulative Layout Shift):** ํŽ˜์ด์ง€ ๋กœ๋“œ ์ค‘ ํ…์ŠคํŠธ๋‚˜ ๋ฒ„ํŠผ ๋“ฑ์ด ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ์ด๋™ํ•˜๋Š” ํ˜„์ƒ์„ ์ธก์ •ํ•˜์—ฌ ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค [8, 14]. 0.1 ๋ฏธ๋งŒ์˜ ์ ์ˆ˜๋ฅผ ๋ฐ›์•„์•ผ ์‚ฌ์šฉ์ž์—๊ฒŒ ์พŒ์ ํ•œ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค [11, 14, 15]. - * **FCP (First Contentful Paint):** ์ฒซ ๋ฒˆ์งธ ํ…์ŠคํŠธ๋‚˜ ์ด๋ฏธ์ง€๊ฐ€ ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๋Š” ์‹œ์ ์„ ์ธก์ •ํ•˜์—ฌ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์ฒด๊ฐ ์†๋„๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค [16]. +- **ํ•ต์‹ฌ ์ง€ํ‘œ์˜ ์ •์˜ ๋ฐ ์ตœ์ ํ™” ๊ธฐ๋ฒ•** + - **LCP (Largest Contentful Paint) & FCP (First Contentful Paint):** LCP๋Š” ๊ฐ€์žฅ ํฐ ์‹œ๊ฐ์  ์ฝ˜ํ…์ธ ์˜ ๋กœ๋”ฉ ์™„๋ฃŒ ์‹œ์ ์„, FCP๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ˜ํ…์ธ ๋ฅผ ์ฒ˜์Œ ๋ณด๊ฒŒ ๋˜๋Š” ์‹œ์ ์„ ์ธก์ •ํ•œ๋‹ค [4]. ๋ผ์šฐํŠธ ์ˆ˜์ค€์˜ ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…์„ ํ†ตํ•ด ์ดˆ๊ธฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์ž„์œผ๋กœ์จ LCP์™€ FCP ์ง€ํ‘œ๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค [5, 6]. ๋˜ํ•œ, React Compiler๋ฅผ ๋„์ž…ํ•˜์—ฌ ์ดˆ๊ธฐ ๋กœ๋“œ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ  LCP๋ฅผ ํ–ฅ์ƒํ•œ ์‹ค์ œ ํ”„๋กœ๋•์…˜ ์„ฑ๊ณต ์‚ฌ๋ก€(์˜ˆ: Wakelet์˜ 10% ๊ฐœ์„ )๋„ ์กด์žฌํ•œ๋‹ค [7]. + - **INP (Interaction to Next Paint) & FID (First Input Delay):** ์ด ์ง€ํ‘œ๋“ค์€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์— ๋Œ€ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ˜์‘์„ฑ์„ ์ธก์ •ํ•œ๋‹ค [2, 4]. ์ˆ˜์ฒœ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ Œ๋”๋งํ•  ๋•Œ ๊ฐ€์ƒํ™”(Virtualization) ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜๋ฉด, ํ™”๋ฉด์˜ ๋ทฐํฌํŠธ์— ๋ณด์ด๋Š” ํ•ญ๋ชฉ๋งŒ ๋ Œ๋”๋งํ•˜์—ฌ ์Šคํฌ๋กค ์ค‘ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์˜ ๊ณผ๋ถ€ํ•˜๋ฅผ ๋ง‰๊ณ  ์‘๋‹ต์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์–ด INP ์ ์ˆ˜์— ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค [5, 8]. + - **CLS (Cumulative Layout Shift):** ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋“œ๋˜๋Š” ๋™์•ˆ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ ˆ์ด์•„์›ƒ ์ด๋™์„ ์ธก์ •ํ•˜์—ฌ ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ์„ ํ‰๊ฐ€ํ•˜๋Š” ์ง€ํ‘œ์ด๋‹ค [2]. -* **๋น„์ฆˆ๋‹ˆ์Šค ๋ฐ SEO์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ:** - * Core Web Vitals๋Š” Google์˜ ํŽ˜์ด์ง€ ๊ฒฝํ—˜(Page Experience) ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์•ฝ 25-30%์˜ ์ˆœ์œ„ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ€์ง€๋Š” ๊ฐ•๋ ฅํ•œ SEO ๋žญํ‚น ์š”์†Œ์ž…๋‹ˆ๋‹ค [6]. - * ์„ฑ๋Šฅ์ด "๋‚˜์จ"์—์„œ "์ข‹์Œ"์œผ๋กœ ์ „๋ฉด ๊ฐœ์„ ๋  ๊ฒฝ์šฐ, ํ‰๊ท  ์ „ํ™˜์œจ์ด 25% ์ฆ๊ฐ€ํ•˜๊ณ  ์ดํƒˆ๋ฅ ์ด 35% ๊ฐ์†Œํ•˜๋ฉฐ ์‚ฌ์šฉ์ž๋‹น ์ˆ˜์ต์ด 30% ํ–ฅ์ƒ๋˜๋Š” ๋“ฑ ์ฆ‰๊ฐ์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค ROI๋ฅผ ์ฐฝ์ถœํ•ฉ๋‹ˆ๋‹ค [7, 17]. - * ํŽ˜์ด์ง€ ๋กœ๋“œ๊ฐ€ 1์ดˆ ์ง€์—ฐ๋  ๊ฒฝ์šฐ ์ „ํ™˜์œจ์ด ์ตœ๋Œ€ 7%๊นŒ์ง€ ๊ฐ์†Œํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ•๋ ฅํ•œ ์ตœ์ ํ™”๊ฐ€ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค [5, 18]. +- **์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค ํฌ๊ธฐ์™€ ์„ฑ๋Šฅ์˜ ์ƒ๊ด€๊ด€๊ณ„** + - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค์ด ๊ณผ๋„ํ•˜๊ฒŒ ํฌ๋ฉด(์˜ˆ: ์••์ถ• ํ›„ 500KB ์ด์ƒ) ๋‹ค์šด๋กœ๋“œ ๋ฐ ํŒŒ์‹ฑ์— ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋ฅผ ์ฐจ๋‹จํ•˜์—ฌ FCP, LCP, INP ๋“ฑ ๋ชจ๋“  Core Web Vitals ์ง€ํ‘œ๋ฅผ ์•…ํ™”์‹œํ‚จ๋‹ค [6, 9]. + - ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด `React.lazy`์™€ `Suspense`๋ฅผ ํ™œ์šฉํ•œ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading) ํŒจํ„ด์ด๋‚˜ Vite์˜ `manualChunks`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด๊ฑฐ์šด ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„ํ• ํ•˜๋Š” ์ „๋žต์ด ๊ถŒ์žฅ๋œ๋‹ค [6, 10, 11]. -* **์„ฑ๋Šฅ ์ตœ์ ํ™” ์ „๋žต (Optimization Strategies):** - * **LCP ์ตœ์ ํ™”:** WebP๋‚˜ AVIF ๊ฐ™์€ ์ฐจ์„ธ๋Œ€ ์ด๋ฏธ์ง€ ํฌ๋งท์„ ์‚ฌ์šฉํ•˜๊ณ , ์ •์  ์ž์‚ฐ์— CDN์„ ํ™œ์šฉํ•˜๋ฉฐ, ์„œ๋ฒ„ ์‘๋‹ต ์‹œ๊ฐ„(TTFB)์„ ๋‹จ์ถ•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [8, 14, 19]. React์™€ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ SSR(Server-Side Rendering)์„ ๋„์ž…ํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์— ์™„์„ฑ๋œ HTML์„ ๋น ๋ฅด๊ฒŒ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [20, 21]. - * **INP ์ตœ์ ํ™”:** JavaScript ์‹คํ–‰ ์‹œ๊ฐ„ ์ถ•์†Œ๊ฐ€ ๊ฐ€์žฅ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฌด๊ฑฐ์šด ์—ฐ์‚ฐ์€ Web Workers๋กœ ์˜คํ”„๋กœ๋“œํ•˜๊ณ , ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๊ธด ์ž‘์—…(Long Tasks)์€ 50ms ์ดํ•˜์˜ ์ž‘์€ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์•ผ ํ•ฉ๋‹ˆ๋‹ค [12, 13, 22, 23]. ๋˜ํ•œ, ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์„œ๋“œํŒŒํ‹ฐ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…(Code Splitting) ๋ฐ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [24, 25]. - * **CLS ์ตœ์ ํ™”:** ๋ชจ๋“  ์ด๋ฏธ์ง€์™€ ๋™์˜์ƒ ์š”์†Œ์— ๋ช…์‹œ์ ์ธ ๋„ˆ๋น„ ๋ฐ ๋†’์ด(width/height) ์†์„ฑ์„ ์ง€์ •ํ•˜๊ณ , ๋™์  ๊ด‘๊ณ ๋‚˜ ์ž„๋ฒ ๋“œ ์ฝ˜ํ…์ธ ๊ฐ€ ๋กœ๋“œ๋  ๊ณต๊ฐ„์„ CSS๋กœ ๋ฏธ๋ฆฌ ํ™•๋ณดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [14, 16, 26]. ํฐํŠธ ๋กœ๋”ฉ ์‹œ ํ…์ŠคํŠธ ๊นœ๋นก์ž„์ด๋‚˜ ๋ ˆ์ด์•„์›ƒ ์ด๋™์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด `font-display: swap` ๋˜๋Š” `optional`์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹œ์—๋Š” ๋ ˆ์ด์•„์›ƒ ์žฌ๊ณ„์‚ฐ์„ ์œ ๋ฐœํ•˜์ง€ ์•Š๋„๋ก `transform` ์†์„ฑ์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค [27-29]. - -* **ํ…Œ์ŠคํŠธ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ:** - * ๊ฐœ๋ณ„ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋น ๋ฅธ ์‹คํ—˜์‹ค/ํ•„๋“œ ๋ฐ์ดํ„ฐ ํ™•์ธ ๋ฐ ์ตœ์ ํ™” ์ถ”์ฒœ์„ ๋ฐ›๊ธฐ ์œ„ํ•ด Google PageSpeed Insights๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [30]. - * ๊ฐœ๋ฐœ ๋ฐ ๋””๋ฒ„๊น… ๋ชฉ์ ์œผ๋กœ๋Š” Chrome DevTools์— ๋‚ด์žฅ๋œ Lighthouse ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค [31, 32]. - * ์‹ค์ œ ์‚ฌ์šฉ์ž ๋ชจ๋‹ˆํ„ฐ๋ง(RUM)์„ ์œ„ํ•ด์„œ๋Š” Google Search Console์˜ Core Web Vitals ๋ฆฌํฌํŠธ๋ฅผ ํ†ตํ•ด ์›น์‚ฌ์ดํŠธ ์ „์ฒด์˜ ์„ฑ๋Šฅ์„ ์ง€์†์ ์œผ๋กœ ์ถ”์ ํ•˜๊ณ , GTmetrix๋‚˜ Datadog RUM ๋“ฑ์„ ํ•จ๊ป˜ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [32-34]. +- **์„ฑ๋Šฅ ์ธก์ • ๋ฐ ์‹ค์ œ ์‚ฌ์šฉ์ž ๋ชจ๋‹ˆํ„ฐ๋ง (RUM)** + - ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ Lighthouse, WebPageTest, Chrome DevTools ๋“ฑ๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€ํ‘œ๋ฅผ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค [2, 12, 13]. + - ํ•ฉ์„ฑ ํ…Œ์ŠคํŠธ(Synthetic testing) ํ™˜๊ฒฝ์ด ๋†“์น  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๊ธฐ ๋ฐ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ์˜ ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด, Sentry, SigNoz, LogRocket, DebugBear ํ˜น์€ Web Vitals JS์™€ ๊ฐ™์€ ํ”Œ๋žซํผ์„ ์ด์šฉํ•ด ์‹ค์ œ ์‚ฌ์šฉ์ž ๋ชจ๋‹ˆํ„ฐ๋ง(Real User Monitoring, RUM)์„ ์ง€์†์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ด๋‹ค [3, 12, 14, 15]. ## ๐Ÿ”— Knowledge Connections -- **Related Topics:** [[LCP (Largest Contentful Paint)]], [[INP (Interaction to Next Paint)]], [[CLS (Cumulative Layout Shift)]], [[SEO]], [[Web Performance Optimization]], [[Server-Side Rendering (SSR)]] -- **Projects/Contexts:** [[Google Page Experience 2025]], [[React SEO Guide]] -- **Contradictions/Notes:** 2025๋…„ ๊ธฐ์ค€ Core Web Vitals์˜ "์ข‹์Œ(Good)" ์ž„๊ณ„๊ฐ’๊ณผ ๊ด€๋ จํ•˜์—ฌ ์†Œ์Šค ๊ฐ„ ์˜๊ฒฌ ์ถฉ๋Œ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋‹ค์ˆ˜์˜ ์†Œ์Šค๋Š” ๊ธฐ์กด ๊ธฐ์ค€์ธ LCP < 2.5์ดˆ, INP < 200ms, CLS < 0.1์„ ์œ ์ง€ํ•œ๋‹ค๊ณ  ๋ช…์‹œํ•˜์ง€๋งŒ [1, 3, 10, 11, 13], ์ผ๋ถ€ ์†Œ์Šค๋Š” 2025๋…„์— ๊ธฐ์ค€์ด ๋”์šฑ ์—„๊ฒฉํ•ด์ ธ LCP < 2.0์ดˆ, INP < 150ms, CLS < 0.08, FCP < 1.5์ดˆ๋ฅผ ์ถฉ์กฑํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ฃผ์žฅํ•ฉ๋‹ˆ๋‹ค [35]. +- **Related Topics:** [[Performance Optimization]], [[Code Splitting]], [[Real User Monitoring (RUM)]], [[React Compiler]] +- **Projects/Contexts:** [[Frontend Performance Debugging]], [[React Application Scaling]] +- **Contradictions/Notes:** ์ œ๊ณต๋œ ์†Œ์Šค ์ „๋ฐ˜์— ๊ฑธ์ณ Core Web Vitals์˜ ์ค‘์š”์„ฑ๊ณผ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์— ๋Œ€ํ•œ ๊ฒฌํ•ด๋Š” ์ผ์น˜ํ•˜๋ฉฐ ์ƒ์ถฉํ•˜๋Š” ๋‚ด์šฉ์€ ์—†์Šต๋‹ˆ๋‹ค. --- *Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/Next.js.md b/00_Raw/Next.js.md index 7d2df763..2cbee5f9 100644 --- a/00_Raw/Next.js.md +++ b/00_Raw/Next.js.md @@ -1,18 +1,22 @@ # [[Next.js]] ## ๐Ÿ“Œ Brief Summary -Next.js๋Š” React ๊ธฐ๋ฐ˜์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR), ์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ(SSG), ๊ทธ๋ฆฌ๊ณ  ์ฆ๋ถ„ ์ •์  ์žฌ์ƒ์„ฑ(ISR)์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค [1-3]. ์ด๋Š” ๊ธฐ๋ณธ React์˜ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(CSR)์ด ๊ฐ€์ง€๋Š” ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO) ๋ฐ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค [4, 5]. ์„ฑ๋Šฅ ์ค‘์‹ฌ์˜ ์›น ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์ถ•๊ณผ ์šฐ์ˆ˜ํ•œ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ(Core Web Vitals) ์ ์ˆ˜ ๋‹ฌ์„ฑ์— ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋ฉฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ์„ฑ๊ณผ๋ฅผ ๋†’์ด๋Š” ํ•„์ˆ˜์ ์ธ ํ”Œ๋žซํผ์œผ๋กœ ํ‰๊ฐ€๋ฐ›์Šต๋‹ˆ๋‹ค [1, 2, 6]. +Next.js๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•œ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์ฒด๊ณ„์ ์ธ ๋ผ์šฐํŒ… ๋ฐ ํŒŒ์ผ ๋ช…๋ช… ๊ทœ์น™์„ ์ œ๊ณตํ•˜๋Š” React ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค [1]. ํŠนํžˆ ์ตœ์‹  App Router ํ™˜๊ฒฝ์—์„œ๋Š” React ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ(RSC)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ์ธก ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ „์†ก๋Ÿ‰์„ ์ค„์ด๊ณ  ์ดˆ๊ธฐ ๋กœ๋”ฉ ๋ฐ ํ•˜์ด๋“œ๋ ˆ์ด์…˜(Hydration) ์†๋„๋ฅผ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค [2-4]. ์ฒด๊ณ„์ ์ธ ํด๋” ๊ตฌ์กฐ์™€ ๋ผ์šฐํŠธ ๊ทธ๋ฃน ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํ”„๋ก ํŠธ์—”๋“œ ์„ฑ๋Šฅ ์ตœ์ ํ™”์™€ ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ™•์žฅ์„ ์›ํ™œํ•˜๊ฒŒ ์ง€์›ํ•˜๋Š” ํ˜„๋Œ€์ ์ธ ๊ฐœ๋ฐœ ๋„๊ตฌ๋กœ ํ‰๊ฐ€๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [5-7]. ## ๐Ÿ“– Core Content -* **ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ Œ๋”๋ง(Hybrid Rendering):** Next.js๋Š” ๋‹จ์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ ํŽ˜์ด์ง€๋ณ„ ํŠน์„ฑ์— ๋”ฐ๋ผ ๋ Œ๋”๋ง ๋ฐฉ์‹์„ ์œ ์—ฐํ•˜๊ฒŒ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [7]. `getServerSideProps`๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„์œผ๋กœ HTML์„ ์ƒ์„ฑํ•˜๋Š” SSR, ๋นŒ๋“œ ํƒ€์ž„์— ์ •์  HTML์„ ์ƒ์„ฑํ•˜์—ฌ ์ดˆ๊ณ ์†์œผ๋กœ ์ „์†กํ•˜๋Š” SSG, ๊ทธ๋ฆฌ๊ณ  ์บ์‹œ๋œ ์ •์  ํŽ˜์ด์ง€๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์—…๋ฐ์ดํŠธํ•˜์—ฌ TTFB(Time to First Byte) ์„ฑ๋Šฅ๊ณผ ์ฝ˜ํ…์ธ ์˜ ์ตœ์‹ ์„ฑ์„ ๋ชจ๋‘ ํ™•๋ณดํ•˜๋Š” ISR ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [4, 5, 8-10]. -* **๊ฐ•๋ ฅํ•œ SEO ์ง€์›:** SPA(Single Page Application)์˜ ์ทจ์•ฝ์ ์ธ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ธฐ๋ณธ ์ œ๊ณต๋˜๋Š” `next/head` ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ๋ผ์šฐํŠธ๋ณ„ ๋™์  ๋ฉ”ํƒ€ ํƒœ๊ทธ ์‚ฝ์ž…์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, `next-sitemap` ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•œ ์‚ฌ์ดํŠธ๋งต ์ž๋™ ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค [1, 2, 11, 12]. ๊ฒ€์ƒ‰ ์—”์ง„ ๋ด‡์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์„ ๋Œ€๊ธฐํ•  ํ•„์š” ์—†์ด ๋ Œ๋”๋ง์ด ์™„๋ฃŒ๋œ HTML๊ณผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ, ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฆ‰์‹œ ์‘๋‹ต๋ฐ›์œผ๋ฏ€๋กœ ํฌ๋กค๋ง ํšจ์œจ์ด ๊ทน๋Œ€ํ™”๋ฉ๋‹ˆ๋‹ค [4, 5]. -* **์„ฑ๋Šฅ ๋ฐ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ(Core Web Vitals) ์ตœ์ ํ™”:** ๋ผ์šฐํŠธ ๊ธฐ๋ฐ˜์˜ ์ฝ”๋“œ ๋ถ„ํ• (Code splitting)์„ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ดˆ๊ธฐ ๋‹ค์šด๋กœ๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค์˜ ํฌ๊ธฐ๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ์ค„์ž…๋‹ˆ๋‹ค [13, 14]. ๋˜ํ•œ `next/image` ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด WebP, AVIF ๊ฐ™์€ ์ฐจ์„ธ๋Œ€ ์ด๋ฏธ์ง€ ํฌ๋งท ๋ณ€ํ™˜, ์ž๋™ ๋ฆฌ์‚ฌ์ด์ง• ๋ฐ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy loading)์ด ์ ์šฉ๋˜์–ด LCP(Largest Contentful Paint)์™€ CLS(Cumulative Layout Shift) ์ ์ˆ˜๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [15, 16]. ์„ธ๋ฐ€ํ•œ ์ˆ˜ํ™”(Hydration) ์ œ์–ด๋ฅผ ํ†ตํ•ด ํŽ˜์ด์ง€๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ์ƒํ˜ธ์ž‘์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค [17]. -* **์ž…์ฆ๋œ ๋น„์ฆˆ๋‹ˆ์Šค ์„ฑ๊ณผ:** ์ „ํ†ต์ ์ธ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(CSR) ํ™˜๊ฒฝ์˜ Create React App ๊ตฌ์กฐ์—์„œ Next.js ๊ธฐ๋ฐ˜์˜ ISR๋กœ ์ „์ž์ƒ๊ฑฐ๋ž˜ ์‚ฌ์ดํŠธ๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•œ ์‹ค์ œ ์‚ฌ๋ก€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์‚ฌ๋ก€์—์„œ TTFB๋Š” 200ms์—์„œ 50ms๋กœ ๋‹จ์ถ•๋˜์—ˆ๊ณ  LCP๋Š” 1.8์ดˆ๋กœ ๊ฐœ์„ ๋˜์—ˆ์œผ๋ฉฐ, ๋ฉ”์ธ ๋ฒˆ๋“ค ํฌ๊ธฐ๊ฐ€ 1.8MB์—์„œ 320KB๋กœ ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค [15, 16, 18, 19]. ์ด ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ์ œํ’ˆ ํŽ˜์ด์ง€ ์ƒ‰์ธ์œจ์ด 40%์—์„œ 95%๋กœ ํฌ๊ฒŒ ์ƒ์Šนํ•˜์˜€๊ณ , ๊ฒฐ๊ณผ์ ์œผ๋กœ ์˜ค๊ฐ€๋‹‰ ํŠธ๋ž˜ํ”ฝ์€ 70%, ์˜ค๊ฐ€๋‹‰ ๊ฒ€์ƒ‰์„ ํ†ตํ•œ ์ˆ˜์ต์€ 75% ์ฆ๊ฐ€ํ•˜๋Š” ์„ฑ๊ณผ๋ฅผ ๊ฑฐ๋‘์—ˆ์Šต๋‹ˆ๋‹ค [15, 16, 18, 19]. +* **๋ผ์šฐํŒ… ๋ฐ ํŠน์ˆ˜ ํŒŒ์ผ ๋ช…๋ช… ๊ทœ์น™:** + Next.js๋Š” ๋ผ์šฐํŒ…๊ณผ ์•ฑ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์—„๊ฒฉํ•œ ํŒŒ์ผ ๋ช…๋ช… ๊ทœ์น™์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [5]. ๋ผ์šฐํŠธ๋ฅผ ์œ„ํ•œ `page.js`, ๊ณต์œ  ๋ ˆ์ด์•„์›ƒ์„ ์œ„ํ•œ `layout.js`, ์ปค์Šคํ…€ ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ `error.js`, ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ์œ„ํ•œ `loading.js`๊ฐ€ ํ•ต์‹ฌ ํŒŒ์ผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค [1]. ์ผ๋ฐ˜์ ์ธ ํŒŒ์ผ๋ช…์€ OS ๊ฐ„ ํ˜ธํ™˜์„ฑ๊ณผ URL ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด kebab-case(์˜ˆ: `user-profile.tsx`)๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, ํŒŒ์ผ ๋‚ด๋ถ€์˜ React ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„์€ PascalCase๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [8, 9]. ๋˜ํ•œ ๋™์  ๋ผ์šฐํŒ…์—๋Š” `[param]`, ํฌ๊ด„์ (Catch-all) ๋ผ์šฐํŒ…์—๋Š” `[...param]` ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [1]. + +* **๊ธฐ๋Šฅ ๊ธฐ๋ฐ˜ ํด๋” ๊ตฌ์กฐ์™€ ๋ผ์šฐํŠธ ๊ทธ๋ฃน (Route Groups):** + ๋Œ€๊ทœ๋ชจ ์•ฑ์—์„œ๋Š” ๊ธฐ๋Šฅ(Feature)์„ ๊ธฐ์ค€์œผ๋กœ ํด๋”๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ(์˜ˆ: `features/auth/components/login-form.tsx`) ์ฝ”๋“œ์˜ ์‘์ง‘๋„์™€ ํ™•์žฅ์„ฑ์„ ๋†’์ด๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [1, 6]. ๋”๋ถˆ์–ด ํด๋”๋ช…์„ ๊ด„ํ˜ธ๋กœ ๊ฐ์‹ธ๋Š” ๋ผ์šฐํŠธ ๊ทธ๋ฃน ๊ธฐ๋Šฅ(์˜ˆ: `(marketing)`)์„ ํ™œ์šฉํ•˜๋ฉด, ์‹ค์ œ URL ๊ฒฝ๋กœ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด์„œ๋„ ์—ฐ๊ด€๋œ ๋ผ์šฐํŠธ๋“ค์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ฌถ๊ณ  ํŠน์ • ๊ทธ๋ฃน์—๋งŒ ๊ฐœ๋ณ„์ ์ธ ๋ ˆ์ด์•„์›ƒ(`layout.tsx`)์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [10, 11]. + +* **์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ (RSC):** + Next.js์˜ App Router(v13 ์ดํ›„)์—์„œ๋Š” React ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ(React Server Components)๊ฐ€ ํ†ตํ•ฉ๋˜์–ด ์žˆ์–ด ๋ถˆํ•„์š”ํ•œ ํด๋ผ์ด์–ธํŠธ ์ธก JS ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3, 4]. ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋Š” ์„œ๋ฒ„์—์„œ๋งŒ ๋ Œ๋”๋ง๋˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ API์—์„œ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์–ด, JS ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ  ์ดˆ๊ธฐ ํ™”๋ฉด ๊ทธ๋ฆฌ๊ธฐ(First Paint) ๋ฐ ์ƒํ˜ธ์ž‘์šฉ์„ฑ(TTI)์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค [4, 12]. ์ฝ๊ธฐ ์ „์šฉ์˜ ์ •์  UI๋Š” ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑํ•˜๊ณ , ๋ชจ๋‹ฌ์ด๋‚˜ ์ž…๋ ฅ ํผ ๋“ฑ ์ƒํ˜ธ์ž‘์šฉ์ด ์ฆ‰๊ฐ์ ์œผ๋กœ ํ•„์š”ํ•œ ์š”์†Œ์—๋งŒ ์ œํ•œ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค [13]. ## ๐Ÿ”— Knowledge Connections -- **Related Topics:** `[[Server-Side Rendering (SSR)]]`, `[[Static Site Generation (SSG)]]`, `[[Incremental Static Regeneration (ISR)]]`, `[[Core Web Vitals]]`, `[[Client-Side Rendering (CSR)]]` -- **Projects/Contexts:** `[[E-commerce Migration Case Study]]`, `[[Strapi Launchpad demo]]` -- **Contradictions/Notes:** ์ˆœ์ˆ˜ React ์•ฑ(CSR)์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ Œ๋”๋ง ์ง€์—ฐ๊ณผ ๋นˆ ์ดˆ๊ธฐ HTML ๊ตฌ์กฐ๋กœ ์ธํ•ด ๊ฒ€์ƒ‰ ์—”์ง„์˜ 2์ฐจ ์ƒ‰์ธ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ์•ผ ํ•˜๋Š” ๋ถˆ๋ฆฌํ•จ๊ณผ ์ƒ‰์ธ ๋ˆ„๋ฝ์˜ ์œ„ํ—˜์ด ์žˆ์ง€๋งŒ, Next.js๋ฅผ ๋„์ž…ํ•œ ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ๋ Œ๋”๋ง์€ ๊ฒ€์ƒ‰ ์—”์ง„ ๋ด‡์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ์˜์กด์„ฑ์„ ์›์ฒœ์ ์œผ๋กœ ์ œ๊ฑฐํ•˜์—ฌ ํฌ๋กค๋ง ์ด์Šˆ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค [4, 5, 20-23]. +- **Related Topics:** [[React Server Components]], [[Frontend Folder Structure]], [[Code Splitting]], [[React]] +- **Projects/Contexts:** [[Next.js App Router]], [[Frontend Performance Optimization]] +- **Contradictions/Notes:** ์†Œ์Šค์— ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. --- *Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/Pull Request Workflow.md b/00_Raw/Pull Request Workflow.md new file mode 100644 index 00000000..78549146 --- /dev/null +++ b/00_Raw/Pull Request Workflow.md @@ -0,0 +1,22 @@ +# [[Pull Request Workflow]] + +## ๐Ÿ“Œ Brief Summary +Pull Request(PR) ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•œ ์ฝ”๋“œ๋ฅผ ๋ฉ”์ธ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ๋ณ‘ํ•ฉํ•˜๊ธฐ ์ „, ์ฝ”๋“œ์˜ ํ’ˆ์งˆ๊ณผ ์•ˆ์ •์„ฑ์„ ๊ฒ€์ฆํ•˜๊ณ  ํŒ€์›๋“ค๊ณผ ๋…ผ์˜ํ•˜๋Š” ํ•ต์‹ฌ ํ˜‘์—… ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ๋™๋ฃŒ์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ, ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ ์—ฌ๋ถ€ ํ™•์ธ, ์‹œ๊ฐ์  ํšŒ๊ท€ ํ…Œ์ŠคํŠธ ๋“ฑ์„ ํฌํ•จํ•˜์—ฌ ๋ฒ„๊ทธ๋‚˜ UI ๊ฒฐํ•จ์ด ์šด์˜ ํ™˜๊ฒฝ์— ๋ฐฐํฌ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์†Œ๊ทœ๋ชจ ํŒ€๋ถ€ํ„ฐ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ์ฝ”๋“œ ๋ณ‘ํ•ฉ ์ „์— ๋ฆฌ๋ทฐ๋ฅผ ํ•„์ˆ˜ํ™”ํ•˜์—ฌ ํ•ญ์ƒ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์˜ ์•ˆ์ •์ ์ธ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค [1-3]. + +## ๐Ÿ“– Core Content +* **์ž‘๊ณ  ์ง‘์ค‘๋œ PR ์œ ์ง€:** + PR์€ ๋‹จ์ผ ๋…ผ๋ฆฌ์  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด๋‚˜ ์ž‘์—…์—๋งŒ ์ง‘์ค‘ํ•ด์•ผ ํ•˜๋ฉฐ, ๊ฐ€๋Šฅํ•œ ํ•œ ์ž‘์€ ๊ทœ๋ชจ(์˜ˆ: 200์ค„ ๋ฏธ๋งŒ)๋กœ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์ฒœ ์ค„์˜ ์ฝ”๋“œ๋Š” ๋ฆฌ๋ทฐ์–ด๊ฐ€ ์ œ๋Œ€๋กœ ๊ฒ€ํ† ํ•˜๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์—, PR์„ ์ž‘๊ฒŒ ์ชผ๊ฐœ๋Š” ๊ฒƒ์ด ๋น ๋ฅด๊ณ  ์ฒ ์ €ํ•œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค [4-6]. +* **ํ‹ฐ์ผ“ ID ๋ฐ ๋ช…ํ™•ํ•œ ๋งฅ๋ฝ ์ œ๊ณต:** + PR์„ ์ƒ์„ฑํ•  ๋•Œ๋Š” ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ(What), ๋ณ€๊ฒฝํ•œ ์ด์œ (Why), ๊ทธ๋ฆฌ๊ณ  UI ๋ณ€๊ฒฝ์ด ์žˆ์„ ๊ฒฝ์šฐ ์Šคํฌ๋ฆฐ์ƒท์„ ๋ฐ˜๋“œ์‹œ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [4]. ๋˜ํ•œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์™€ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์— ํ‹ฐ์ผ“ ID(์˜ˆ: PROJ-123)๋ฅผ ํฌํ•จ์‹œํ‚ค๋ฉด PR์ด ์ž๋™์œผ๋กœ ํ‹ฐ์ผ“๊ณผ ์—ฐ๊ฒฐ๋˜์–ด ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ ๊ฐ„์˜ ์ถ”์ ์„ฑ(Traceability)์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฆฌ๋ทฐ์–ด๊ฐ€ ๋งฅ๋ฝ์„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [7-9]. +* **ํ•„์ˆ˜ ๋ฆฌ๋ทฐ ๋ฐ ๋ณ‘ํ•ฉ(Merge) ๊ทœ์น™:** + ๋ฉ”์ธ ๋ธŒ๋žœ์น˜(main)์— ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” ๊ฒƒ์€ ๊ธˆ์ง€๋˜๋ฉฐ, ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋ฐ˜๋“œ์‹œ PR์„ ํ†ตํ•ด ๋ฐ˜์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [4, 10, 11]. ์ตœ์†Œ 1๋ช… ์ด์ƒ์˜ ํŒ€์›์—๊ฒŒ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ ์Šน์ธ์„ ๋ฐ›์•„์•ผ ํ•˜๋ฉฐ, ๋ณ‘ํ•ฉ ์ „ ๋ชจ๋“  ์ž๋™ํ™”๋œ CI/CD ํ…Œ์ŠคํŠธ ๊ฒ€์‚ฌ๊ฐ€ ํ†ต๊ณผ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [4, 5, 12]. ๋ณ‘ํ•ฉ ์‹œ์—๋Š” ์ฃผ๋กœ ์Šค์ฟผ์‹œ ๋จธ์ง€(Squash merge)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ , ๋ณ‘ํ•ฉ์ด ์™„๋ฃŒ๋œ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋Š” ์ž๋™์œผ๋กœ ์‚ญ์ œํ•˜๋„๋ก ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [4, 10, 12]. +* **์‹œ๊ฐ์  ๋ฆฌ๋ทฐ ๋ฐ ์ ‘๊ทผ์„ฑ ๊ฒ€์‚ฌ ์ž๋™ํ™”:** + ์ตœ์‹  ํ”„๋ก ํŠธ์—”๋“œ PR ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ๋Š” Storybook๊ณผ ํ•จ๊ป˜ Chromatic์ด๋‚˜ Happo ๊ฐ™์€ ์‹œ๊ฐ์  ํšŒ๊ท€ ํ…Œ์ŠคํŠธ(Visual Regression Testing) ๋„๊ตฌ๋ฅผ CI ํŒŒ์ดํ”„๋ผ์ธ์— ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค [13-15]. PR์ด ์—ด๋ฆฌ๋ฉด ๋„๊ตฌ๊ฐ€ ์ž๋™์œผ๋กœ UI ์ปดํฌ๋„ŒํŠธ์˜ ์Šคํฌ๋ฆฐ์ƒท์„ ์ฐ์–ด ๊ธฐ์กด ๊ธฐ์ค€์„ (baseline)๊ณผ ํ”ฝ์…€ ๋‹จ์œ„๋กœ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค [16, 17]. ์˜๋„์น˜ ์•Š์€ ๋ ˆ์ด์•„์›ƒ ๋ณ€ํ™”๋‚˜ ์ ‘๊ทผ์„ฑ(Accessibility) ์œ„๋ฐ˜์ด ๋ฐœ๊ฒฌ๋˜๋ฉด PR์— ๊ฒฝ๊ณ (Flag)๋ฅผ ํ‘œ์‹œํ•˜์—ฌ ๋ณ‘ํ•ฉ ์ „ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด๋ฅผ ํ™•์ธํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋„๋ก ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค [13, 14, 18]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[Git Branching Strategies]], [[Visual Regression Testing]], [[Clean Code Principles]], [[Storybook]] +- **Projects/Contexts:** [[GitHub Flow]], [[Feature Branch Workflow]], [[CI/CD Pipeline Integration]] +- **Contradictions/Notes:** ์†Œ์Šค์— ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. (์ œ๊ณต๋œ ์†Œ์Šค๋“ค ๊ฐ„์— PR ์›Œํฌํ”Œ๋กœ์šฐ์— ๋Œ€ํ•œ ๋ชจ์ˆœ๋œ ์ฃผ์žฅ์€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋ชจ๋‘ '์ž‘์€ PR, ์ฒ ์ €ํ•œ ๋ฆฌ๋ทฐ, ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ'๋ผ๋Š” ๊ณตํ†ต๋œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๊ฐ•์กฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.) + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/Suspense.md b/00_Raw/Suspense.md index 7c6c0474..54317283 100644 --- a/00_Raw/Suspense.md +++ b/00_Raw/Suspense.md @@ -1,19 +1,18 @@ # [[Suspense]] ## ๐Ÿ“Œ Brief Summary -`Suspense`๋Š” React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ `React.lazy()`์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜์–ด ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading) ๋ฐ ์ฝ”๋“œ ๋ถ„ํ• (Code Splitting)์„ ๊ตฌํ˜„ํ•  ๋•Œ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ์ž…๋‹ˆ๋‹ค [1]. ์ด ์ปดํฌ๋„ŒํŠธ๋Š” ๋™์ ์œผ๋กœ ๋กœ๋“œ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ค€๋น„๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค„ ๋กœ๋”ฉ ์ƒํƒœ(fallback UI)๋ฅผ ์„ ์–ธ์ ์œผ๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค [1, 2]. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ดˆ๊ธฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ , ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ ์†๋„์™€ ์ „๋ฐ˜์ ์ธ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค [2, 3]. +React์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‚ด์žฅ ๋„๊ตฌ๋กœ, ์ฃผ๋กœ `React.lazy()`์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฝ”๋“œ ๋ถ„ํ• (Code Splitting) ๋ฐ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค [1, 2]. ๋™์ ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ชจ๋“ˆ์ด๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋กœ๋“œ๋˜๋Š” ๋™์•ˆ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค„ ๋Œ€์ฒด UI(์˜ˆ: ๋กœ๋”ฉ ์Šคํ”ผ๋„ˆ, ์Šค์ผˆ๋ ˆํ†ค ์ƒํƒœ)๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค [3, 4]. ์ด๋ฅผ ํ†ตํ•ด ์ดˆ๊ธฐ JavaScript ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ  ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ๋ Œ๋”๋ง ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 3]. ## ๐Ÿ“– Core Content -* **๋กœ๋”ฉ ์ƒํƒœ์˜ ์„ ์–ธ์  ๊ด€๋ฆฌ:** `Suspense` ์ปดํฌ๋„ŒํŠธ๋Š” `fallback` ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ด๋ถ€์˜ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋กœ๋“œ๋˜๋Š” ๋™์•ˆ ํ™”๋ฉด์— ํ‘œ์‹œํ•  UI(์˜ˆ: ๋กœ๋”ฉ ์Šคํ”ผ๋„ˆ, ์Šค์ผˆ๋ ˆํ†ค ์Šคํฌ๋ฆฐ ๋“ฑ)๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค [1, 2, 4]. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ช…ํ™•ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2]. -* **์œ ์—ฐํ•œ ๋กœ๋”ฉ ๊ฒฝ๊ณ„(Boundaries) ์ œ์–ด:** ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ง€์—ฐ ๋กœ๋”ฉ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‹จ์ผ `Suspense` ๊ฒฝ๊ณ„๋กœ ๊ฐ์‹ธ ํ•œ ๋ฒˆ์— ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [5]. ๋˜ํ•œ, ์ค‘์ฒฉ๋œ(Nested) `Suspense` ๊ฒฝ๊ณ„๋ฅผ ์„ค์ •ํ•˜์—ฌ UI์˜ ๊ฐ ๋ถ€๋ถ„์ด ๋…๋ฆฝ์ ์œผ๋กœ ๋กœ๋“œ๋˜๋„๋ก ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•จ์œผ๋กœ์จ ๋ฐ˜์‘์„ฑ์ด ๋›ฐ์–ด๋‚œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [5]. -* **์›น ์„ฑ๋Šฅ ๋ฐ Core Web Vitals ๊ฐœ์„ :** `React.lazy()`์™€ `Suspense`๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ผ์šฐํŠธ ์ˆ˜์ค€์ด๋‚˜ ๋ฌด๊ฑฐ์šด ํŠน์ • ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถ„ํ• (Code Splitting)ํ•˜๋ฉด, ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•˜๋Š” ์ดˆ๊ธฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŽ˜์ด๋กœ๋“œ๊ฐ€ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค [2, 6]. ์ด๋Š” LCP(Largest Contentful Paint) ์†๋„๋ฅผ ๋†’์ด๊ณ  TTI(Time to Interactive)๋ฅผ ์ค„์—ฌ ์ตœ์ ์˜ ์›น ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค [2, 6]. -* **์ ์ง„์  ํ•˜์ด๋“œ๋ ˆ์ด์…˜ ๋ฐ SSR ํ†ตํ•ฉ:** `Suspense`๋Š” React 18์˜ ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(Streaming SSR)๊ณผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค [7]. ๊ฐ€์‹œ์ ์ธ ์ปดํฌ๋„ŒํŠธ๋ถ€ํ„ฐ ๋จผ์ € ํ•˜์ด๋“œ๋ ˆ์ด์…˜(Progressive Hydration)์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ดˆ๊ธฐ ์ƒํ˜ธ์ž‘์šฉ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ค„์ด๊ณ  INP ๋ฐ CLS ์ง€ํ‘œ์˜ ์•…ํ™”๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค [8, 9]. -* **๊ตฌํ˜„ ์‹œ ์ฃผ์˜์‚ฌํ•ญ:** `React.lazy()`๋ฅผ ํ†ตํ•ด ๋™์ ์œผ๋กœ ์ž„ํฌํŠธํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ Œ๋”๋งํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ `Suspense`๋กœ ๊ฐ์‹ธ์•ผ ํ•˜๋ฉฐ, ์ด๋ฅผ ๋ˆ„๋ฝํ•˜๋Š” ๊ฒƒ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์˜ค๋ฅ˜๋ฅผ ์œ ๋ฐœํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์‹ค์ˆ˜์ž…๋‹ˆ๋‹ค [2, 10]. +* **์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)๊ณผ ๋ฒˆ๋“ค ํฌ๊ธฐ ์ตœ์ ํ™”**: ๋ชจ๋˜ ํ”„๋ก ํŠธ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง์— ๋”ฐ๋ผ JavaScript ๋ฒˆ๋“ค ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜์—ฌ ์ดˆ๊ธฐ ๋กœ๋“œ ์‹œ๊ฐ„์ด ๋А๋ ค์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [1, 2]. `Suspense`๋ฅผ `React.lazy()` ํ•จ์ˆ˜์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€์‹œ๋ณด๋“œ, ์ฐจํŠธ, ์ง€๋„์™€ ๊ฐ™์ด ๋ฌด๊ฑฐ์šด ์ปดํฌ๋„ŒํŠธ๋‚˜ ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋ทฐ๋ฅผ ํ•„์š”ํ•  ๋•Œ๋งŒ ์˜จ๋””๋งจ๋“œ(on-demand) ๋ฐฉ์‹์œผ๋กœ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [1, 3, 5]. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ดˆ๊ธฐ ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ž ์žฌ์ ์œผ๋กœ 20~70%๊นŒ์ง€ ๊ฐ์†Œ์‹œํ‚ค๋ฉฐ, TTI(Time to Interactive) ๋ฐ Core Web Vitals ์ง€ํ‘œ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค [1-3]. +* **๋ผ์šฐํŠธ ๋ ˆ๋ฒจ์˜ ์ฝ”๋“œ ๋ถ„ํ• (Route-level Code Splitting)**: Vite์™€ ๊ฐ™์€ ๋ฒˆ๋“ค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” React ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ ํŽ˜์ด์ง€ ๋ผ์šฐํŠธ ์š”์†Œ๋ฅผ ``๋กœ ๊ฐ์‹ธ๋ฉด, ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๊ฐ€ ํ•œ ๋ฒˆ์— ๋กœ๋“œ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [6, 7]. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ฐ ํŽ˜์ด์ง€๋Š” ๊ฐœ๋ณ„ ์ฒญํฌ(chunk) ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•  ๋•Œ๋งŒ ๋‹ค์šด๋กœ๋“œ๋˜๋„๋ก ์ตœ์ ํ™”๋ฉ๋‹ˆ๋‹ค [7, 8]. +* **๋Œ€์ฒด UI(Fallback UI) ์ œ๊ณต**: ์ง€์—ฐ ๋กœ๋”ฉ ์ค‘์ธ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ค€๋น„๋  ๋•Œ๊นŒ์ง€ ํ™”๋ฉด์ด ๋น„์–ด์žˆ๊ฑฐ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฉˆ์ถ˜ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€ ์•Š๋„๋ก, `` ์ปดํฌ๋„ŒํŠธ์˜ `fallback` ์†์„ฑ์„ ํ†ตํ•ด ๋กœ๋”ฉ ์ธ๋””์ผ€์ดํ„ฐ๋‚˜ ์Šค์ผˆ๋ ˆํ†ค UI๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [3]. +* **๋™์‹œ์„ฑ ๋ Œ๋”๋ง(Concurrent Rendering)๊ณผ์˜ ์‹œ๋„ˆ์ง€**: React 18์˜ ๋™์‹œ์„ฑ ๊ธฐ๋Šฅ(์˜ˆ: `useTransition`)๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋กœ๋“œ๋˜๊ฑฐ๋‚˜ ๋ฌด๊ฑฐ์šด ํ•„ํ„ฐ๋ง ์ž‘์—…์ด ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ ์ฆ‰๊ฐ์ ์ธ ์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ(ํƒ€์ดํ•‘, ํด๋ฆญ ๋“ฑ)์„ ์ฐจ๋‹จํ•˜์ง€ ์•Š์œผ๋ฉด์„œ๋„ ์•ˆ์ •์ ์œผ๋กœ `fallback` UI๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4]. ## ๐Ÿ”— Knowledge Connections -- **Related Topics:** [[Code Splitting]], [[Lazy Loading]], [[React.lazy()]], [[Core Web Vitals]], [[Progressive Hydration]] -- **Projects/Contexts:** [[ํ”„๋ก ํŠธ์—”๋“œ ์›น ์„ฑ๋Šฅ ์ตœ์ ํ™”(Frontend Performance Optimization)]], [[React Router ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ… ๋ฐ SSR ๊ตฌ์ถ•]] -- **Contradictions/Notes:** ์†Œ์Šค ๊ฐ„์˜ ๋ชจ์ˆœ์ ์€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ, ์ œ๊ณต๋œ ๋ชจ๋“  ์†Œ์Šค์—์„œ React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฒˆ๋“ค ์‚ฌ์ด์ฆˆ ์ตœ์ ํ™” ๋ฐ ๋กœ๋”ฉ UI ์ฒ˜๋ฆฌ์— `Suspense`๊ฐ€ ํ•„์ˆ˜์ ์ธ ๋„๊ตฌ๋ผ๊ณ  ์ผ๊ด€๋˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. +- **Related Topics:** [[React.lazy()]], [[Code Splitting]], [[Lazy Loading]], [[Performance Optimization]], [[Concurrent Features]] +- **Projects/Contexts:** [[Vite + React ์„ฑ๋Šฅ ์ตœ์ ํ™”]], [[ํ”„๋ก ํŠธ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ Œ๋”๋ง ๋ณ‘๋ชฉ ๊ฐœ์„ ]] +- **Contradictions/Notes:** ํ•„์ˆ˜์ ์ธ ์–ด๋ณด๋ธŒ ๋” ํด๋“œ(above-the-fold) ์ปดํฌ๋„ŒํŠธ๋‚˜ ์ฆ‰์‹œ ํ™”๋ฉด์— ๋ Œ๋”๋ง๋˜์–ด์•ผ ํ•˜๋Š” ๋น ๋ฅธ UI ์š”์†Œ์—๋Š” `Suspense`์™€ ์ง€์—ฐ ๋กœ๋”ฉ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [5]. --- *Last updated: 2026-04-26* \ No newline at end of file diff --git a/00_Raw/Vite.md b/00_Raw/Vite.md new file mode 100644 index 00000000..18ad8a5c --- /dev/null +++ b/00_Raw/Vite.md @@ -0,0 +1,17 @@ +# [[Vite]] + +## ๐Ÿ“Œ Brief Summary +Vite๋Š” 2025๋…„ ํ˜„์žฌ ํ˜„๋Œ€์ ์ธ React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ํ‘œ์ค€ ๋นŒ๋“œ ๋„๊ตฌ๋กœ ์ž๋ฆฌ ์žก์€ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค [1, 2]. ๊ฐœ๋ฐœ ์ค‘์—๋Š” ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ๋ฏธ๋ฆฌ ๋ฒˆ๋“ค๋งํ•˜์ง€ ์•Š๊ณ  ๋ธŒ๋ผ์šฐ์ €์— ๋„ค์ดํ‹ฐ๋ธŒ ES ๋ชจ๋“ˆ(ESM) ํ˜•ํƒœ๋กœ ์ง์ ‘ ์ œ๊ณตํ•˜์—ฌ ์ฆ‰๊ฐ์ ์ธ ์„œ๋ฒ„ ์‹œ์ž‘๊ณผ ๋งค์šฐ ๋น ๋ฅธ HMR(Hot Module Replacement)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค [2, 3]. ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ ์‹œ์—๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ Rollup์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ… ๋ฐ ํŠธ๋ฆฌ ์‰์ดํ‚น์ด ์ ์šฉ๋œ ์ตœ์ ํ™”๋œ ๋ฒˆ๋“ค์„ ์ƒ์„ฑํ•˜๋ฉฐ, ๊ณผ๊ฑฐ์˜ Create React App์ด๋‚˜ Webpack์„ ๋Œ€์ฒดํ•˜์—ฌ ํ”„๋ก ํŠธ์—”๋“œ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค [1, 2, 4, 5]. + +## ๐Ÿ“– Core Content +- **ํ•ต์‹ฌ ์•„ํ‚คํ…์ฒ˜ ๋ฐ ๋™์ž‘ ์›๋ฆฌ:** Vite๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [4]. ๊ฐœ๋ฐœ ์ค‘์—๋Š” ๋„ค์ดํ‹ฐ๋ธŒ ES ๋ชจ๋“ˆ์„ ํ™œ์šฉํ•ด ํ•„์š”ํ•œ ํŒŒ์ผ๋งŒ ๋กœ๋“œํ•˜๋ฏ€๋กœ ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ๊ฐ€ ์ปค์ ธ๋„ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด ๋น ๋ฅด๊ฒŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค [2, 3, 6]. ๋˜ํ•œ ๊ธฐ์กด Babel ๋Œ€์‹  Rust ๊ธฐ๋ฐ˜์˜ ์ปดํŒŒ์ผ๋Ÿฌ์ธ SWC๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JSX์™€ TypeScript ํŒŒ์ผ์„ ๊ฑฐ์˜ ์ฆ‰์‹œ ์ปดํŒŒ์ผํ•˜์—ฌ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค [3, 7, 8]. ๋ฐ˜๋ฉด ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ ์‹œ์—๋Š” Rollup์„ ํ™œ์šฉํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์—์…‹์„ ์ตœ์ ํ™”ํ•˜์—ฌ ๊ฐ€๋ฒผ์šด ๋ฒˆ๋“ค์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค [4]. +- **์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐ ๋ฒˆ๋“ค ๊ด€๋ฆฌ:** ๊ทœ๋ชจ๊ฐ€ ํฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๋ฉ”์ธ ๋ฒˆ๋“ค ํฌ๊ธฐ๊ฐ€ ์ปค์ ธ ๋กœ๋”ฉ ์†๋„์™€ ์›น ์„ฑ๋Šฅ ์ง€ํ‘œ(Core Web Vitals)์— ์•…์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [9]. ๊ธฐ๋ณธ์ ์œผ๋กœ Vite๋Š” ์•ฑ ์ฝ”๋“œ์™€ ๋ชจ๋“  ํŒจํ‚ค์ง€ ์˜์กด์„ฑ์„ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๋ฌถ๊ธฐ ๋•Œ๋ฌธ์— "500kB ์ดˆ๊ณผ" ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [10, 11]. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด `vite.config.js`์—์„œ `manualChunks`๋ฅผ ์„ค์ •ํ•˜์—ฌ React ํ•ต์‹ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ์ฐจํŠธ ๋“ฑ์˜ ๋ฌด๊ฑฐ์šด ๋ฒค๋” ์ฝ”๋“œ๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ , ๋ธŒ๋ผ์šฐ์ € ์บ์‹ฑ ํšจ์œจ์„ ๋†’์ด๋Š” ๊ฒƒ์ด ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [5, 11-14]. ์ด์™€ ํ•จ๊ป˜ `React.lazy()` ๋ฐ ๋™์  ์ž„ํฌํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ผ์šฐํŠธ ๋‹จ์œ„ ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…์„ ๊ตฌํ˜„ํ•˜๋ฉด ์ดˆ๊ธฐ ํ™”๋ฉด ๋ Œ๋”๋ง ์†๋„๋ฅผ ํฌ๊ฒŒ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [14, 15]. +- **๊ณ ๊ธ‰ ๊ตฌ์„ฑ ๋ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ƒํƒœ๊ณ„:** Vite์˜ ๊ธฐ๋ณธ ์„ค์ •์€ ์˜๋„์ ์œผ๋กœ ์ตœ์†Œํ™”๋˜์–ด ์žˆ์ง€๋งŒ, ์„ค์ • ํŒŒ์ผ์„ ํ†ตํ•ด ํ™•์žฅ์„ฑ๊ณผ ๊ตฌ์กฐ์ ์ธ ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค [7]. ๋ชจ๋“ˆ ์ฐธ์กฐ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ ๋ณ„์นญ(Path Aliases) ์„ค์ •, `VITE_` ์ ‘๋‘์‚ฌ๋ฅผ ์ด์šฉํ•œ ํด๋ผ์ด์–ธํŠธ ์ธก ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ณด์•ˆ ๊ด€๋ฆฌ, CORS ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•œ ์ž์ฒด ์„œ๋ฒ„ ํ”„๋ก์‹œ ๊ธฐ๋Šฅ ๋“ฑ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค [12, 16]. ๋” ๋‚˜์•„๊ฐ€, SVG๋ฅผ ์ปดํฌ๋„ŒํŠธ์ฒ˜๋Ÿผ ๋‹ค๋ฃจ๊ฒŒ ํ•ด์ฃผ๋Š” `vite-plugin-svgr`, PWA๋ฅผ ์ง€์›ํ•˜๋Š” `vite-plugin-pwa`, ๋นŒ๋“œ๋œ ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ถ„์„ํ•˜๊ฒŒ ๋•๋Š” `rollup-plugin-visualizer` ๋“ฑ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์„ ํ†ตํ•ด ํ”„๋ก ํŠธ์—”๋“œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ณ ๋„ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [15, 17-19]. + +## ๐Ÿ”— Knowledge Connections +- **Related Topics:** [[Rollup]], [[Code Splitting]], [[React.lazy()]], [[Performance Optimization]] +- **Projects/Contexts:** [[React Frontend Architecture]], [[Large-scale Application Refactoring]] +- **Contradictions/Notes:** ์†Œ์Šค์— ๋”ฐ๋ฅด๋ฉด Vite๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋งค์šฐ ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ๋Œ€๊ทœ๋ชจ์˜ ์‹ค๋ฌด ์•ฑ์œผ๋กœ ํ™•์žฅํ•  ๋•Œ์—๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ `manualChunks` ๋ถ„๋ฆฌ์™€ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)์„ ์ง์ ‘ ๊ตฌ์„ฑํ•ด ๊ฑฐ๋Œ€ํ•œ ์ฒญํฌ(Large Chunks) ์ƒ์„ฑ์„ ๋ฐฉ์ง€ํ•ด์•ผ๋งŒ ์ตœ์ ์˜ ๋กœ๋”ฉ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค [10, 11, 14, 20]. + +--- +*Last updated: 2026-04-26* \ No newline at end of file diff --git a/10_Wiki/Topics/AI/Support-Vector-Machines.md b/10_Wiki/Topics/AI/Support-Vector-Machines.md new file mode 100644 index 00000000..1d158e72 --- /dev/null +++ b/10_Wiki/Topics/AI/Support-Vector-Machines.md @@ -0,0 +1,28 @@ +--- +id: AI-ML-SVM-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [ai, machine-learning, svm, support-vector-machines, kernel-trick, classification, margin-maximization] +last_reinforced: 2026-04-26 +--- + +# [[Support Vector Machines (SVM, ์„œํฌํŠธ ๋ฒกํ„ฐ ๋จธ์‹ )]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋‘ ์ง‘๋‹จ ์‚ฌ์ด์˜ ๊ฐ€์žฅ ๋„“์€ ๋„๋กœ(Margin)๋ฅผ ๊ฑด์„คํ•˜์—ฌ ๋ฏธ์ง€์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์™€๋„ ํ”๋“ค๋ฆผ ์—†์ด ๋ถ„๋ฅ˜ํ•˜๊ณ , ์ฐจ์›์˜ ๋งˆ๋ฒ•(Kernel Trick)์œผ๋กœ ๋ณต์žกํ•˜๊ฒŒ ์–ฝํžŒ ์„ธ์ƒ์„ ๋ช…์พŒํ•˜๊ฒŒ ๊ฐˆ๋ผ์น˜๊ธฐํ•˜๋ผ" โ€” ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์ ์˜ ๊ฒฐ์ • ๊ฒฝ๊ณ„(Hyperplane)๋ฅผ ์ฐพ๋Š” ์ „ํ†ต์ ์ด๋ฉด์„œ๋„ ๊ฐ•๋ ฅํ•œ ์ง€๋„ ํ•™์Šต ๋ชจ๋ธ. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Max-margin Classification and High-dimensional Projection" โ€” ๊ฒฐ์ • ๊ฒฝ๊ณ„์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ(Support Vectors) ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ(Margin)๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜์—ฌ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ์„ ๋†’์ด๊ณ , ์„ ํ˜•์œผ๋กœ ๋ถ„๋ฆฌ๋˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์ฐจ์›์œผ๋กœ ๋ณด๋‚ด ํ•ด๊ฒฐํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ:** + - **Hyperplane:** ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ„๋Š” ๋‹ค์ฐจ์› ๊ฒฝ๊ณ„๋ฉด. + - **Support Vectors:** ๊ฒฝ๊ณ„๋ฉด์„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ๊ฒฐ์ •์ ์ธ ์—ญํ• ์„ ํ•˜๋Š” ๊ฐ€์žฅ์ž๋ฆฌ ๋ฐ์ดํ„ฐ๋“ค. + - **Kernel Trick:** ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ๊ณ ์ฐจ์›์œผ๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ณ ๋„ ๊ณ ์ฐจ์› ๊ณต๊ฐ„์—์„œ์˜ ๋‚ด์ ์„ ๊ณ„์‚ฐํ•˜์—ฌ ์—ฐ์‚ฐ ํšจ์œจ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ์ˆ˜ํ•™์  ๊ธฐ๊ต (RBF, Polynomial ๋“ฑ). +- **์˜์˜:** ๋”ฅ๋Ÿฌ๋‹ ์ด์ „ ์‹œ๋Œ€์˜ ์™•์ž๋กœ ๊ตฐ๋ฆผํ–ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ ์–‘์ด ์ ๊ฑฐ๋‚˜ ํŠน์„ฑ์ด ๋ช…ํ™•ํ•œ ๊ฒฝ์šฐ ์—ฌ์ „ํžˆ ๋งค์šฐ ๊ฒฌ๊ณ ํ•˜๊ณ  ์•ˆ์ •์ ์ธ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹์—์„œ ์—ฐ์‚ฐ ์†๋„๊ฐ€ ๋А๋ฆฌ๋‹ค๋Š” ๋‹จ์  ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋ถ„์•ผ์—์„œ ๋”ฅ๋Ÿฌ๋‹์— ๋ฐ€๋ฆฌ๋Š” ๋“ฏํ–ˆ์œผ๋‚˜, ์ตœ๊ทผ์—๋Š” ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ๋งˆ์ง€๋ง‰ ์ธต(Feature)์— SVM์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ถ„๋ฅ˜ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ฑฐ๋‚˜ ์ด์ƒ์น˜ ํƒ์ง€(One-class SVM) ๋ถ„์•ผ์—์„œ ์—ฌ์ „ํžˆ ๋…๋ณด์ ์ธ ์œ„์น˜๋ฅผ ์ฐจ์ง€ํ•จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ์ง€์‹ ๋ถ„๋ฅ˜ ๋กœ์ง ์ค‘, ๋ ˆ์ด๋ธ” ๋ฐ์ดํ„ฐ๊ฐ€ ์ ๊ณ  ๋ช…ํ™•ํ•œ ๊ฒฝ๊ณ„๊ฐ€ ํ•„์š”ํ•œ ํŠน์ • ๋„๋ฉ”์ธ ๋ถ„์„ ์‹œ SVM์˜ ๊ฒฌ๊ณ ํ•œ ๋งˆ์ง„ ๋ถ„๋ฅ˜ ๋ฐฉ์‹์„ ๋ณ‘ํ–‰ ํ™œ์šฉํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Supervised-Learning-Foundations]], [[Representation-Learning]], [[Optimization-Algorithms]], [[Outlier-Detection-Techniques]] +- **Raw Source:** [[10_Wiki/Topics/AI/Support-Vector-Machines.md]] diff --git a/10_Wiki/Topics/AI/Swarm-Intelligence.md b/10_Wiki/Topics/AI/Swarm-Intelligence.md new file mode 100644 index 00000000..d5bdc29c --- /dev/null +++ b/10_Wiki/Topics/AI/Swarm-Intelligence.md @@ -0,0 +1,31 @@ +--- +id: AI-SWARM-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [ai, swarm-intelligence, bio-inspired, optimization, aco, pso, decentralized-systems, robotics] +last_reinforced: 2026-04-26 +--- + +# [[Swarm Intelligence (์ง‘๋‹จ ์ง€๋Šฅ)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "์ค‘์•™์˜ ์ง€ํœ˜๊ด€ ์—†์ด ๋‹จ์ˆœํ•œ ๊ฐœ์ฒด๋“ค์˜ ์ƒํ˜ธ์ž‘์šฉ๋งŒ์œผ๋กœ ๊ฑฐ๋Œ€ํ•œ ์งˆ์„œ๋ฅผ ์ฐฝ์กฐํ•˜๊ณ , ํฉ์–ด์ง„ ์ •๋ณด ์กฐ๊ฐ๋“ค์„ ๋ชจ์•„ ์ง‘๋‹จ์ ์ธ ์ตœ์ ์˜ ํ•ด๋‹ต์„ ๋„์ถœํ•˜๋ผ" โ€” ๊ฐœ๋ฏธ, ๋ฒŒ, ์ƒˆ์™€ ๊ฐ™์€ ์ƒ๋ช…์ฒด๋“ค์˜ ์ง‘๋‹จ์  ํ–‰๋™ ์–‘์‹์„ ๋ชจ๋ฐฉํ•˜์—ฌ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ถ„์‚ฐํ˜• ์ธ๊ณต์ง€๋Šฅ ๊ธฐ์ˆ . + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Self-organization and Decentralized Collaboration" โ€” ๊ฐœ๋ณ„ ์—์ด์ „ํŠธ๋Š” ์ฃผ๋ณ€์˜ ๊ตญ์†Œ์ ์ธ ์ •๋ณด๋งŒ์œผ๋กœ ํ–‰๋™ํ•˜์ง€๋งŒ, ์ด๋“ค์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ๋ˆ„์ ๋˜์–ด ์ „์ฒด ์‹œ์Šคํ…œ ์ฐจ์›์˜ ๋ชฉ์ (์ตœ์  ๊ฒฝ๋กœ ํƒ์ƒ‰, ๋จน์ด ํ™•๋ณด ๋“ฑ)์„ ๋‹ฌ์„ฑํ•˜๋Š” ํŒจํ„ด. +- **์ฃผ์š” ์•Œ๊ณ ๋ฆฌ์ฆ˜:** + - **Ant Colony Optimization (ACO):** ํŽ˜๋กœ๋ชฌ ์ž๊ตญ์„ ๋”ฐ๋ผ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” ๊ฐœ๋ฏธ์˜ ์Šต์„ฑ ๋ชจ๋ฐฉ. ๋ฌผ๋ฅ˜ ๋ฐ ๋„คํŠธ์›Œํฌ ๊ฒฝ๋กœ ์ตœ์ ํ™”์— ํƒ์›”. + - **Particle Swarm Optimization (PSO):** ๋จน์ด๋ฅผ ์ฐพ๋Š” ์ƒˆ ๋–ผ์˜ ์œ„์น˜ ๋ณ€ํ™” ๋ชจ๋ฐฉ. ์—ฐ์†์ ์ธ ๊ณต๊ฐ„์—์„œ์˜ ์ˆ˜์น˜ ์ตœ์ ํ™”์— ๊ฐ•์ . +- **ํ•ต์‹ฌ ์›์น™:** + - **Scalability:** ๊ฐœ์ฒด ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๋„ ํ†ต์ œ ๋ถ€๋‹ด์ด ํฌ์ง€ ์•Š์Œ. + - **Robustness:** ์ผ๋ถ€ ๊ฐœ์ฒด๊ฐ€ ์‚ฌ๋ผ์ ธ๋„ ์‹œ์Šคํ…œ ์ „์ฒด์˜ ๋ชฉ์  ๋‹ฌ์„ฑ์— ์ง€์žฅ์ด ์—†์Œ. + - **Adaptability:** ํ™˜๊ฒฝ ๋ณ€ํ™”์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘. +- **์˜์˜:** ๊ตฐ์ง‘ ๋กœ๋ด‡(Swarm Robotics), ํŠธ๋ž˜ํ”ฝ ์ œ์–ด, ๋ณต์žกํ•œ ์กฐํ•ฉ ์ตœ์ ํ™” ๋ฌธ์ œ ๋“ฑ ์ค‘์•™ ์ง‘์ค‘ํ˜• ์ œ์–ด๊ฐ€ ํ•œ๊ณ„์— ๋ถ€๋”ชํžˆ๋Š” ์ง€์ ์—์„œ ๊ฐ•๋ ฅํ•œ ๋Œ€์•ˆ์„ ์ œ์‹œํ•จ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ดˆ๊ธฐ์—๋Š” ์ƒ๋ฌผํ•™์  ๋ชจ์‚ฌ์— ์น˜์ค‘ํ–ˆ์œผ๋‚˜, ์ด์ œ๋Š” ์ด๋ฅผ ์ˆ˜ํ•™์ ์œผ๋กœ ์ •๊ตํ•˜๊ฒŒ ๋ชจ๋ธ๋งํ•˜์—ฌ ํด๋ผ์šฐ๋“œ ๋ฆฌ์†Œ์Šค ๋ฐฐ๋ถ„์ด๋‚˜ ๋‹ค์ค‘ ์—์ด์ „ํŠธ ๊ฐ•ํ™”ํ•™์Šต(MARL)์˜ ํ˜‘๋ ฅ ์ „๋žต ์„ค๊ณ„๋กœ ์‘์šฉ ์˜์—ญ์ด ๋„“์–ด์ง. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค์ˆ˜์˜ ์—์ด์ „ํŠธ๊ฐ€ ์ง€์‹์„ ๋ณ‘๋ ฌ๋กœ ๊ฐ€๋“œ๋‹ํ•  ๋•Œ, ์„œ๋กœ ์ค‘๋ณต๋˜์ง€ ์•Š์œผ๋ฉด์„œ๋„ ์ตœ์ ์˜ ํƒ์ƒ‰ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ง‘๋‹จ ์ง€๋Šฅ์˜ ๋ถ„์‚ฐ ํ˜‘๋ ฅ ํ”„๋กœํ† ์ฝœ์„ ์‹œ์Šคํ…œ ๊ธฐ์ €์— ๋„์ž…ํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Optimization-Algorithms]], [[Robotics-Foundations]], [[Multi-agent-Systems-Best-Practices]], [[Simulated-Annealing]] +- **Raw Source:** [[10_Wiki/Topics/AI/Swarm-Intelligence.md]] diff --git a/10_Wiki/Topics/AI/Symmetric-Encryption.md b/10_Wiki/Topics/AI/Symmetric-Encryption.md new file mode 100644 index 00000000..8eee681d --- /dev/null +++ b/10_Wiki/Topics/AI/Symmetric-Encryption.md @@ -0,0 +1,28 @@ +--- +id: SEC-SYM-ENCRYPT-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [security, cryptography, symmetric-encryption, aes, encryption-key, data-privacy, cybersecurity] +last_reinforced: 2026-04-26 +--- + +# [[Symmetric Encryption (๋Œ€์นญ ํ‚ค ์•”ํ˜ธํ™”)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "ํ•˜๋‚˜์˜ ๋น„๋ฐ€ ์—ด์‡ ๋กœ ์ง€์‹์˜ ์„ฑ๋ฒฝ์„ ์Œ“๊ณ  ํ—ˆ๋ฌผ๋ฉฐ, ์ดˆ๊ณ ์† ์—ฐ์‚ฐ์˜ ๊ฐ•์ ์„ ํ™œ์šฉํ•ด ๋ฐฉ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ์˜ ๊ธฐ๋ฐ€์„ฑ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์‚ฌ์ˆ˜ํ•˜๋ผ" โ€” ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”์— ๋™์ผํ•œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Single-key Privacy and Computational Efficiency" โ€” ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž๊ฐ€ ์‚ฌ์ „์— ๊ณต์œ ๋œ ํ•˜๋‚˜์˜ ํ‚ค(Private Key)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•˜๊ณ  ๋ณต๊ตฌํ•˜๋ฉฐ, ๋น„๋Œ€์นญ ํ‚ค ๋ฐฉ์‹๋ณด๋‹ค ํ›จ์”ฌ ์ ์€ ์—ฐ์‚ฐ ์ž์›์œผ๋กœ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณดํ˜ธํ•˜๋Š” ํŒจํ„ด. +- **์ฃผ์š” ์•Œ๊ณ ๋ฆฌ์ฆ˜:** + - **AES (Advanced Encryption Standard):** ํ˜„๋Œ€ ๋Œ€์นญ ํ‚ค ์•”ํ˜ธ์˜ ํ‘œ์ค€. 128, 192, 256๋น„ํŠธ ํ‚ค ๊ธธ์ด๋ฅผ ์ง€์›ํ•˜๋ฉฐ ๊ฐ•๋ ฅํ•œ ์•ˆ์ „์„ฑ ๋ณด์žฅ. + - **DES/3DES:** ๊ณผ๊ฑฐ์˜ ํ‘œ์ค€. ํ˜„์žฌ๋Š” ์—ฐ์‚ฐ ์†๋„์™€ ์•ˆ์ „์„ฑ ๋ฌธ์ œ๋กœ AES๋กœ ๋Œ€์ฒด๋จ. + - **ChaCha20:** ๋ชจ๋ฐ”์ผ ๋ฐ ์ €์‚ฌ์–‘ ๊ธฐ๊ธฐ์—์„œ ํšจ์œจ์ ์ธ ์ŠคํŠธ๋ฆผ ์•”ํ˜ธ ๋ฐฉ์‹. +- **์˜์˜:** ํ•˜๋“œ ๋””์Šคํฌ ์•”ํ˜ธํ™”, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณด์•ˆ, ๋Œ€๋Ÿ‰์˜ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์•”ํ˜ธํ™” ๋“ฑ '์†๋„'์™€ '์•ˆ์ „'์ด ๋™์‹œ์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ณด์•ˆ ์ธํ”„๋ผ์˜ ํ•ต์‹ฌ ์—”์ง„. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ํ‚ค ์ „๋‹ฌ ๋ฌธ์ œ ๋•Œ๋ฌธ์— ํ•œ๊ณ„๊ฐ€ ๋šœ๋ ทํ•ด ๋ณด์˜€์œผ๋‚˜, ์ด์ œ๋Š” ๋น„๋Œ€์นญ ํ‚ค(RSA/ECC)๋กœ ๋Œ€์นญ ํ‚ค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๊ณ  ์‹ค ๋ฐ์ดํ„ฐ๋Š” ๋Œ€์นญ ํ‚ค(AES)๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” 'ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฉ์‹'์ด ํ†ต์‹  ๋ณด์•ˆ(TLS/SSL)์˜ ํ‘œ์ค€์ด ๋จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ๋กœ์ปฌ์— ์ €์žฅ๋˜๋Š” ๋ชจ๋“  ์ง€์‹ ๋ฐ์ดํ„ฐ์™€ ์„ค์ • ํŒŒ์ผ์— ๋Œ€ํ•ด ๊ตฐ์‚ฌ๊ธ‰ ํ‘œ์ค€์ธ AES-256 ๊ธฐ๋ฐ˜์˜ ๋Œ€์นญ ํ‚ค ์•”ํ˜ธํ™”๋ฅผ ๊ธฐ๋ณธ ์ ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์œ ์ถœ ๋ฆฌ์Šคํฌ๋ฅผ ์›์ฒœ ์ฐจ๋‹จํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Security-Best-Practices]], [[Personal-Information-Security]], [[Secure-Multi-party-Computation]], [[Trustworthy-AI]] +- **Raw Source:** [[10_Wiki/Topics/AI/Symmetric-Encryption.md]] diff --git a/10_Wiki/Topics/AI/Synthetic-Data-Generation.md b/10_Wiki/Topics/AI/Synthetic-Data-Generation.md new file mode 100644 index 00000000..1e0d45c3 --- /dev/null +++ b/10_Wiki/Topics/AI/Synthetic-Data-Generation.md @@ -0,0 +1,28 @@ +--- +id: AI-DATA-SYNTH-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [ai, data-science, synthetic-data, gan, data-augmentation, privacy-preserving, generative-ai] +last_reinforced: 2026-04-26 +--- + +# [[Synthetic Data Generation (ํ•ฉ์„ฑ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ฐ์ดํ„ฐ ๊ธฐ๊ทผ์˜ ์‹œ๋Œ€์— ์‹ค์ œ ์„ธ๊ณ„์˜ ๋ถ„ํฌ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๋ชจ์‚ฌํ•œ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌดํ•œํžˆ ๋ณต์ œํ•˜๊ณ , ํ˜„์‹ค์ด ์ฃผ์ง€ ๋ชปํ•˜๋Š” ๊ทนํ•œ์˜ ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ์ง€๋Šฅ์„ ๋‹จ๋ จํ•˜๋ผ" โ€” ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ์‹ค์ œ ๋ฐ์ดํ„ฐ์˜ ํ†ต๊ณ„์  ํŠน์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ์ˆ . + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Distribution Learning and Artificial Sampling" โ€” ์‹ค์ œ ๋ฐ์ดํ„ฐ์˜ ์ž ์žฌ์ ์ธ ๋ถ„ํฌ๋ฅผ ํ•™์Šต(GAN, VAE, Diffusion)ํ•˜์—ฌ ํ˜„์‹ค์—๋Š” ์กด์žฌํ•˜์ง€ ์•Š์ง€๋งŒ ํ˜„์‹ค์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜, ๊ฐœ์ธ ์ •๋ณด ๋…ธ์ถœ ์œ„ํ—˜์ด ์—†๋Š” ๋น„์‹๋ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€๋Ÿ‰ ์ƒ์‚ฐํ•˜๋Š” ํŒจํ„ด. +- **์ฃผ์š” ์ƒ์„ฑ ๊ธฐ๋ฒ•:** + - **Generative Models:** GAN, VAE ๋“ฑ์„ ํ™œ์šฉํ•œ ์ด๋ฏธ์ง€/์Œ์„ฑ/์ •ํ˜• ๋ฐ์ดํ„ฐ ์ƒ์„ฑ. + - **LLM-based:** ๊ฑฐ๋Œ€ ์–ธ์–ด ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ํ•™์Šต์šฉ ํ…์ŠคํŠธ๋‚˜ ์ฝ”๋“œ ์ƒ์„ฑ. + - **Simulation-based:** ๊ฐ€์ƒ ํ™˜๊ฒฝ(Unity, MuJoCo)์—์„œ ๋ฌผ๋ฆฌ ๋ฒ•์น™์ด ์ ์šฉ๋œ ๋กœ๋ด‡/์ž์œจ์ฃผํ–‰ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘. +- **์˜์˜:** ๋ฐ์ดํ„ฐ ํ™•๋ณด ๋น„์šฉ์„ ํš๊ธฐ์ ์œผ๋กœ ๋‚ฎ์ถ”๊ณ , ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๊ทœ์ œ๋ฅผ ์šฐํšŒํ•˜๋ฉฐ, ํฌ๊ท€ ์‚ฌ๋ก€(Edge Cases) ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์œ„์ ์œผ๋กœ ๋ณด๊ฐ•ํ•˜์—ฌ ๋ชจ๋ธ์˜ ์•ˆ์ „์„ฑ๊ณผ ๊ฒฌ๊ณ ํ•จ์„ ๋†’์ž„. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ํ•ฉ์„ฑ ๋ฐ์ดํ„ฐ๋Š” ํ’ˆ์งˆ์ด ๋‚ฎ์•„ ํ•™์Šต์— ๋ถ€์ ํ•ฉํ•˜๋‹ค๋Š” ์ธ์‹์ด ์žˆ์—ˆ์œผ๋‚˜, ์ตœ๊ทผ์—๋Š” 'Self-Instruct' ๊ธฐ๋ฒ•์ฒ˜๋Ÿผ AI๊ฐ€ ๋งŒ๋“  ๋ฐ์ดํ„ฐ๋กœ ๋” ๋›ฐ์–ด๋‚œ AI๋ฅผ ๋งŒ๋“œ๋Š” '์ง€๋Šฅ์˜ ์ˆ˜์ง ๊ณ„์—ดํ™”'๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง€๋ฉฐ ๋ฐ์ดํ„ฐ ์ „๋žต์˜ ํ•ต์‹ฌ์œผ๋กœ ๋ถ€์ƒํ•จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ํŠน์ • ๋„๋ฉ”์ธ์˜ ์ง€์‹ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ€์กฑํ•  ๋•Œ, ๊ธฐ์กด ์ง€์‹์˜ ๋…ผ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ ํ•ฉ์„ฑ ์ง€์‹ ์ƒ์„ฑ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ฐ€๋™ํ•˜์—ฌ ์—์ด์ „ํŠธ์˜ ์ถ”๋ก  ๋ฒ”์œ„๋ฅผ ํ™•์žฅํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Generative-Adversarial-Networks-GAN]], [[Self-Supervised-Learning]], [[Privacy-Preserving-AI]], [[Simulation-Environments]] +- **Raw Source:** [[10_Wiki/Topics/AI/Synthetic-Data-Generation.md]] diff --git a/10_Wiki/Topics/AI/System-Architecture-Design.md b/10_Wiki/Topics/AI/System-Architecture-Design.md new file mode 100644 index 00000000..ce48683e --- /dev/null +++ b/10_Wiki/Topics/AI/System-Architecture-Design.md @@ -0,0 +1,29 @@ +--- +id: SYS-DESIGN-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [systems, architecture, system-design, software-engineering, scalability, reliability, modularity] +last_reinforced: 2026-04-26 +--- + +# [[System Architecture Design (์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "์ฝ”๋“œ๋ฅผ ํ•œ ์ค„ ์ ๊ธฐ ์ „์— ์‹œ์Šคํ…œ์˜ '์˜ํ˜ผ(Core Logic)'๊ณผ '์œก์ฒด(Infrastructure)'๊ฐ€ ์–ด๋–ป๊ฒŒ ๋Œ€ํ™”ํ• ์ง€ ์ฒญ์‚ฌ์ง„์„ ๊ทธ๋ฆฌ๊ณ , ๋ณ€ํ™”์˜ ํŒŒ๋„์—๋„ ๋ฌด๋„ˆ์ง€์ง€ ์•Š๋Š” ์œ ์—ฐํ•œ ๊ณจ๊ฒฉ์„ ์™„์„ฑํ•˜๋ผ" โ€” ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ์ „์ฒด ๊ตฌ์กฐ์™€ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜์—ฌ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑ์‹œํ‚ค๊ณ  ์ง€์† ๊ฐ€๋Šฅ์„ฑ์„ ํ™•๋ณดํ•˜๋Š” ๊ณ ์ฐจ์› ์„ค๊ณ„ ๊ณต์ •. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Hierarchical Decomposition and Interface-driven Interaction" โ€” ๊ฑฐ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ ์ž‘์€ ๋ชจ๋“ˆ๋กœ ์ชผ๊ฐœ๊ณ , ๊ฐ ๋ชจ๋“ˆ ๊ฐ„์˜ ์†Œํ†ต ๋ฐฉ์‹์„ ํ‘œ์ค€ํ™”๋œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ •์˜ํ•˜์—ฌ ๋…๋ฆฝ์ ์ธ ๊ฐœ๋ฐœ๊ณผ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ์„ค๊ณ„ ์›์น™:** + - **Scalability:** ์‚ฌ์šฉ์ž๊ฐ€ ๋Š˜์–ด๋‚จ์— ๋”ฐ๋ผ ์ž์›์„ ์œ ์—ฐํ•˜๊ฒŒ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋Š”๊ฐ€? (Horizontal vs Vertical). + - **Reliability:** ํŠน์ • ๋ถ€ํ’ˆ์ด ๊ณ ์žฅ ๋‚˜๋„ ์ „์ฒด ์‹œ์Šคํ…œ์ด ๋ฉˆ์ถ”์ง€ ์•Š๋Š”๊ฐ€? (Fault Tolerance). + - **Modularity:** ๊ธฐ๋Šฅ์„ ๋…๋ฆฝ์ ์œผ๋กœ ๋–ผ์–ด๋‚ด์–ด ์žฌ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? + - **Performance:** ์ง€์—ฐ ์‹œ๊ฐ„(Latency)๊ณผ ์ฒ˜๋ฆฌ๋Ÿ‰(Throughput) ์‚ฌ์ด์˜ ์ตœ์ ์  ์ฐพ๊ธฐ. +- **์˜์˜:** ๊ฐœ๋ฐœํŒ€ ์ „์ฒด์˜ ๋ถ๊ทน์„ฑ ์—ญํ• ์„ ํ•˜๋ฉฐ, ์ดˆ๊ธฐ ์„ค๊ณ„์˜ ๊ฒฌ๊ณ ํ•จ์ด ํ–ฅํ›„ ์šด์˜ ๋น„์šฉ์˜ 90%๋ฅผ ๊ฒฐ์ •์ง“๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์˜ ๊ฐ€์žฅ ๊ฒฐ์ •์ ์ธ ๋‹จ๊ณ„. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋ชจ๋“  ๊ฒƒ์„ ๋ฏธ๋ฆฌ ์™„๋ฒฝํ•˜๊ฒŒ ์„ค๊ณ„ํ•˜๋ ค๋˜ '๋น… ์—…ํ”„๋ŸฐํŠธ ๋””์ž์ธ(BUFD)'์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” ํ•ต์‹ฌ ๊ตฌ์กฐ๋งŒ ์žก๊ณ  ๋‚˜๋จธ์ง€๋Š” ์‹คํ–‰ํ•˜๋ฉฐ ์ง„ํ™”์‹œํ‚ค๋Š” '์ง„ํ™”์  ์•„ํ‚คํ…์ฒ˜(Evolutionary Architecture)'์™€ '๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค' ๊ธฐ๋ฐ˜์˜ ์ ์ง„์  ๊ณ ๋„ํ™”๊ฐ€ ์ฃผ๋ฅ˜๊ฐ€ ๋จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ ๊ฐ„์˜ ์œ ๊ธฐ์  ํ˜‘์—…๊ณผ ์ง€์‹ ๊ณต์œ ๋ฅผ ์œ„ํ•ด, ๊ฐ ๋ชจ๋“ˆ์ด ๋…๋ฆฝ์ ์ด๋ฉด์„œ๋„ ๊ฐ•๋ ฅํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜๋Š” '์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋งˆ์ดํฌ๋กœ์ปค๋„' ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ‘œ์ค€ ์„ค๊ณ„ ์ง€์นจ์œผ๋กœ ์ค€์ˆ˜ํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Software-Architecture-Patterns]], [[Scalability-in-AI-Systems]], [[Service-oriented-Architecture]], [[Reliability-Engineering]] +- **Raw Source:** [[10_Wiki/Topics/AI/System-Architecture-Design.md]] diff --git a/10_Wiki/Topics/AI/System-Design-Interview-Prep.md b/10_Wiki/Topics/AI/System-Design-Interview-Prep.md new file mode 100644 index 00000000..02e0a436 --- /dev/null +++ b/10_Wiki/Topics/AI/System-Design-Interview-Prep.md @@ -0,0 +1,29 @@ +--- +id: SYS-DESIGN-INT-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [systems, architecture, system-design, interview-prep, scalability, high-availability, software-engineering] +last_reinforced: 2026-04-26 +--- + +# [[System Design Interview Prep (์‹œ์Šคํ…œ ๋””์ž์ธ ์ธํ„ฐ๋ทฐ ์ค€๋น„)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ชจํ˜ธํ•œ ์š”๊ตฌ์‚ฌํ•ญ์—์„œ ์‹œ์ž‘ํ•ด ์ˆ˜ํ‰์  ํ™•์žฅ์„ฑ๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์ด๋ผ๋Š” ์ •๋‹ต์„ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •์ด๋ฉฐ, ๊ธฐ์ˆ ์  ์„ ํƒ ๋’ค์— ์ˆจ๊ฒจ์ง„ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„(Trade-off)๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์„ค๋“ํ•˜๋ผ" โ€” ๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๋Šฅ๋ ฅ์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐ๋ทฐ ๋Œ€์‘ ์ „๋žต ๋ฐ ํ•ต์‹ฌ ๊ฐœ๋…๋“ค์˜ ์ง‘ํ•ฉ. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Requirements Ambiguity Resolution and Scalable Blueprinting" โ€” ๋ชจํ˜ธํ•œ ๋ฌธ์ œ๋ฅผ ์‚ฌ์šฉ์ž ์ˆ˜, ๋ฐ์ดํ„ฐ ๊ทœ๋ชจ ๋“ฑ ๊ตฌ์ฒด์  ์ˆ˜์น˜๋กœ ๊ตฌ์ฒดํ™”ํ•˜๊ณ , ๋ถ€ํ•˜ ๋ถ„์‚ฐ(Load Balancing), ์บ์‹ฑ(Caching), ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ„์‚ฐ(Sharding), ๋ฉ”์‹œ์ง€ ํ ๋“ฑ ํ‘œ์ค€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ตœ์ ์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ทธ๋ฆฌ๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ์„ค๊ณ„ ํ”„๋ ˆ์ž„์›Œํฌ:** + 1. **Clarify Requirements:** ๊ธฐ๋Šฅ์ /๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ(์‚ฌ์šฉ์ž ์ˆ˜, ํŠธ๋ž˜ํ”ฝ ๋“ฑ) ํ™•์ •. + 2. **Back-of-the-envelope Estimation:** QPS, ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰ ๋“ฑ ๋Œ€๋žต์  ๊ณ„์‚ฐ. + 3. **High-level Design:** ์ฃผ์š” ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ํ๋ฆ„๋„ ์ž‘์„ฑ. + 4. **Deep Dive:** ํ•ต์‹ฌ ๋ณ‘๋ชฉ ์ง€์ (Single Point of Failure) ํ•ด๊ฒฐ ๋ฐ ์„ธ๋ถ€ ๊ธฐ์ˆ  ์Šคํƒ ๊ฒฐ์ •. +- **์˜์˜:** ๋‹จ์ˆœํ•œ ์ฝ”๋”ฉ ๋Šฅ๋ ฅ์„ ๋„˜์–ด ๊ฑฐ์‹œ์  ๊ด€์ ์—์„œ ์‹œ์Šคํ…œ ์ „์ฒด์˜ ์ƒ์กด ๊ฐ€๋Šฅ์„ฑ์„ ์„ค๊ณ„ํ•˜๊ณ  ์กฐ์œจํ•˜๋Š” ์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ์—ญ๋Ÿ‰์˜ ์ •์ˆ˜. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ •๋‹ต์ด ์ •ํ•ด์ ธ ์žˆ๋Š” ํ€ด์ฆˆ๊ฐ€ ์•„๋‹ˆ๋ผ, ์ƒํ™ฉ์— ๋”ฐ๋ผ 'Consistency(์ผ๊ด€์„ฑ)'์™€ 'Availability(๊ฐ€์šฉ์„ฑ)' ์ค‘ ๋ฌด์—‡์„ ์„ ํƒํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” CAP ์ •๋ฆฌ์ฒ˜๋Ÿผ ์ •๋‹ต์ด ์—†๋Š” ๋ฌธ์ œ์—์„œ์˜ ๋…ผ๋ฆฌ์  ์‚ฌ๊ณ  ๊ณผ์ •์ด ํ‰๊ฐ€์˜ ํ•ต์‹ฌ์ž„. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ ๋„คํŠธ์›Œํฌ์˜ ํ™•์žฅ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ์‹œ์Šคํ…œ ๋””์ž์ธ ์ธํ„ฐ๋ทฐ์˜ ํ‘œ์ค€ ์‚ฌ๋ก€์ธ '๋ถ„์‚ฐ ๋ฝ(Distributed Lock)' ๋ฐ '์ด๋ฒคํŠธ ์†Œ์‹ฑ(Event Sourcing)' ํŒจํ„ด์„ ์„ค๊ณ„ ๊ฐ€์ด๋“œ๋ผ์ธ์— ํฌํ•จํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[System-Architecture-Design]], [[Scalability-in-AI-Systems]], [[High-Availability-Systems]], [[Service-oriented-Architecture]] +- **Raw Source:** [[10_Wiki/Topics/AI/System-Design-Interview-Prep.md]] diff --git a/10_Wiki/Topics/AI/System-Dynamics-Modeling.md b/10_Wiki/Topics/AI/System-Dynamics-Modeling.md new file mode 100644 index 00000000..75649c52 --- /dev/null +++ b/10_Wiki/Topics/AI/System-Dynamics-Modeling.md @@ -0,0 +1,29 @@ +--- +id: SYS-DYNAMICS-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [systems, modeling, system-dynamics, feedback-loop, stocks-and-flows, complexity-science, simulation] +last_reinforced: 2026-04-26 +--- + +# [[System Dynamics Modeling (์‹œ์Šคํ…œ ๋‹ค์ด๋‚ด๋ฏน์Šค ๋ชจ๋ธ๋ง)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "์„ ํ˜•์ ์ธ ์ธ๊ณผ ๊ด€๊ณ„๋ฅผ ๋„˜์–ด ์ˆœํ™˜ํ•˜๋Š” ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„์™€ ๋ˆ„์ ๋˜๋Š” ์ €๋ฅ˜(Stocks)์˜ ๊ด€์ ์—์„œ ๊ณ„(System)์˜ ๋™์ž‘์„ ํŒŒ์•…ํ•˜๊ณ , ์‹œ๊ฐ„์˜ ์ง€์—ฐ์ด ๋งŒ๋“ค์–ด๋‚ด๋Š” ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๋™ํ•™์„ ์ถ”๋ก ํ•˜๋ผ" โ€” ๋ณต์žกํ•œ ์‚ฌํšŒ์ , ๊ฒฝ์ œ์ , ์ƒํƒœ์  ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐ์™€ ๊ทธ์— ๋”ฐ๋ฅธ ๋™์  ํ–‰๋™์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ธ๋ง ๋ฐฉ๋ฒ•๋ก . + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Feedback Loops and Accumulation Dynamics" โ€” ๊ฐ•ํ™” ํ”ผ๋“œ๋ฐฑ(Positive Feedback)์„ ํ†ตํ•œ ์ง€์ˆ˜์  ์„ฑ์žฅ๊ณผ ๊ท ํ˜• ํ”ผ๋“œ๋ฐฑ(Negative Feedback)์„ ํ†ตํ•œ ์•ˆ์ •ํ™”๋ฅผ ์ˆ˜์‹ํ™”ํ•˜๊ณ , ์ž์‚ฐ์ด๋‚˜ ์ง€์‹์ด ์Œ“์ด๋Š” '์ €๋ฅ˜'์™€ ๊ทธ๊ฒƒ์ด ๋ณ€ํ™”ํ•˜๋Š” '์œ ๋Ÿ‰'์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๋ถ„์„ํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ:** + - **Stocks:** ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์ถ•์ ๋˜๋Š” ๋ณ€์ˆ˜ (์˜ˆ: ์ธ๊ตฌ, ์žฌ๊ณ , ์ง€์‹๋Ÿ‰). + - **Flows:** ์ €๋ฅ˜๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๋Š” ์†๋„ (์˜ˆ: ์ถœ์ƒ๋ฅ , ์ƒ์‚ฐ๋Ÿ‰, ํ•™์Šต ์†๋„). + - **Feedback Loops:** ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค์‹œ ์›์ธ์œผ๋กœ ๋Œ์•„์™€ ์‹œ์Šคํ…œ์„ ์ฆํญ์‹œํ‚ค๊ฑฐ๋‚˜ ์–ต์ œํ•˜๋Š” ๊ณ ๋ฆฌ. + - **Delays:** ์›์ธ๊ณผ ๊ฒฐ๊ณผ ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ (์ •์ฑ…์˜ ํšจ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š” ์‹œ๊ฐ„ ๋“ฑ). +- **์˜์˜:** ๋ณต์žกํ•œ ์ •์ฑ… ๊ฒฐ์ • ๊ณผ์ •์—์„œ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋Š” ์—ญํšจ๊ณผ(Counter-intuitive behavior)๋ฅผ ์‚ฌ์ „์— ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜์—ฌ ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ์ง€๋ ›๋Œ€(Leverage Point)๋ฅผ ์ฐพ๊ฒŒ ํ•ด์คŒ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๋‹จ์ˆœํžˆ ์ˆ˜์‹์„ ํ‘ธ๋Š” ๊ฒฐ์ •๋ก ์  ๋ชจ๋ธ์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ๊ธฐ๊ณ„ํ•™์Šต ๋ชจ๋ธ๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ์Šคํ…œ ๋‹ค์ด๋‚ด๋ฏน์Šค ๊ตฌ์กฐ์— ์ฃผ์ž…ํ•˜๊ณ  ์˜ˆ์ธก์˜ ์ •๋ฐ€๋„๋ฅผ ๋†’์ด๋Š” 'ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์‹œ์Šคํ…œ ๋ชจ๋ธ๋ง'์œผ๋กœ ์ง„ํ™”ํ•จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์ง€์‹ ์ž์‚ฐ์˜ ์ถ•์  ์†๋„์™€ ์—์ด์ „ํŠธ์˜ ์ฒ˜๋ฆฌ ์šฉ๋Ÿ‰ ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์‹œ์Šคํ…œ ๋‹ค์ด๋‚ด๋ฏน์Šค ๊ด€์ ์—์„œ ๋ถ„์„ํ•˜์—ฌ, ์ง€์‹ ๊ฐ€๋“œ๋‹ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ๋ณ‘๋ชฉ ์ง€์ ์„ ์„ ์ œ์ ์œผ๋กœ ์ตœ์ ํ™”ํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Simulation-Environments]], [[Strategic-Planning-for-AI]], [[Optimization-Algorithms]], [[Process-Automation-with-AI]] +- **Raw Source:** [[10_Wiki/Topics/AI/System-Dynamics-Modeling.md]] diff --git a/10_Wiki/Topics/AI/Tableau-Data-Visualization.md b/10_Wiki/Topics/AI/Tableau-Data-Visualization.md new file mode 100644 index 00000000..b544bd0c --- /dev/null +++ b/10_Wiki/Topics/AI/Tableau-Data-Visualization.md @@ -0,0 +1,29 @@ +--- +id: DATA-VIZ-TAB-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [data-science, visualization, tableau, business-intelligence, data-storytelling, dashboard, analytics] +last_reinforced: 2026-04-26 +--- + +# [[Tableau Data Visualization (ํƒœ๋ธ”๋กœ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ณต์žกํ•œ ์ˆ˜์น˜์˜ ๋‚˜์—ด์„ ์ธ๊ฐ„์˜ ์ง๊ด€์ด ์ฆ‰๊ฐ ๋ฐ˜์‘ํ•˜๋Š” '์‹œ๊ฐ์  ์–ธ์–ด'๋กœ ๋ฒˆ์—ญํ•˜๊ณ , ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒํ•œ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์†์— ์ˆจ๊ฒจ์ง„ ์ด์•ผ๊ธฐ๋ฅผ ์Šค์Šค๋กœ ํƒ์‚ฌํ•˜๊ฒŒ ํ•˜๋ผ" โ€” ๊ฐ•๋ ฅํ•œ ์‹œ๊ฐ์  ๋ถ„์„ ๋Šฅ๋ ฅ์„ ์ œ๊ณตํ•˜๋Š” ์—…๊ณ„ ํ‘œ์ค€ ๋น„์ฆˆ๋‹ˆ์Šค ์ธํ…”๋ฆฌ์ „์Šค(BI) ๋„๊ตฌ. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Drag-and-drop Analytics and Visual Storytelling" โ€” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค(SQL, ํด๋ผ์šฐ๋“œ, ์—‘์…€ ๋“ฑ)๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ์ฝ”๋”ฉ ์—†์ด ์ง๊ด€์ ์ธ ๋™์ž‘๋งŒ์œผ๋กœ ์ฐจํŠธ์™€ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ, ํ•„ํ„ฐ์™€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์›ํ•˜๋Š” ํ†ต์ฐฐ์„ ์บ๋‚ด๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๊ธฐ๋Šฅ:** + - **VizQL:** ์‚ฌ์šฉ์ž ๋™์ž‘์„ ์ฆ‰์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋…์ž ๊ธฐ์ˆ . + - **Calculated Fields:** ์ˆ˜์‹๊ณผ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์ง€ํ‘œ ์ƒ์„ฑ. + - **Dashboards & Stories:** ์—ฌ๋Ÿฌ ์ฐจํŠธ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ์„œ์‚ฌ๋ฅผ ๊ตฌ์„ฑ. + - **Data Blending:** ์„œ๋กœ ๋‹ค๋ฅธ ์†Œ์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณตํ†ต ํ‚ค๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ†ตํ•ฉ ๋ถ„์„. +- **์˜์˜:** ๋ฐ์ดํ„ฐ ์ „๋ฌธ๊ฐ€๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ํ˜„์—… ๋‹ด๋‹น์ž๊ฐ€ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ  ์˜์‚ฌ๊ฒฐ์ •์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ, ๊ธฐ์—…์˜ '๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋ฌธํ™”(Data-driven Culture)' ํ˜•์„ฑ์— ๊ธฐ์—ฌํ•จ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ •์ ์ธ ๋ณด๊ณ ์„œ ์ž‘์„ฑ ๋„๊ตฌ์—์„œ ๋ฒ—์–ด๋‚˜, ์ด์ œ๋Š” 'Tableau Pulse'์™€ ๊ฐ™์€ AI ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ๋ณ€ํ™”๋ฅผ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•˜์—ฌ ๋ธŒ๋ฆฌํ•‘ํ•ด์ฃผ๊ฑฐ๋‚˜ ์ž์—ฐ์–ด ์งˆ๋ฌธ์œผ๋กœ ์‹œ๊ฐํ™” ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š” ์ง€๋Šฅํ˜• ๋ถ„์„ ํ”Œ๋žซํผ์œผ๋กœ ์ง„ํ™”ํ•จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” 1,174๊ฐœ ์ง€์‹ ๊ฐ€๋“œ๋‹์˜ ์‹ค์‹œ๊ฐ„ ์ง„ํ–‰ ํ˜„ํ™ฉ ๋ฐ ์—์ด์ „ํŠธ ์„ฑ๋Šฅ ์ง€ํ‘œ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ํƒœ๋ธ”๋กœ์˜ ๋Œ€์‹œ๋ณด๋“œ ์„ค๊ณ„ ์›์น™์„ ์ค€์šฉํ•œ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋ฆฌํฌํŒ… ์‹œ์Šคํ…œ์„ ๋‚ด๋ถ€์ ์œผ๋กœ ์šด์šฉํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Performance-Metrics-in-AI]], [[Strategic-Planning-for-AI]], [[Data-Pre-processing-Best-Practices]], [[Modern-Website-Architecture]] +- **Raw Source:** [[10_Wiki/Topics/AI/Tableau-Data-Visualization.md]] diff --git a/10_Wiki/Topics/AI/Temporal-Difference-Learning.md b/10_Wiki/Topics/AI/Temporal-Difference-Learning.md index 2f1c195d..5d5bdd03 100644 --- a/10_Wiki/Topics/AI/Temporal-Difference-Learning.md +++ b/10_Wiki/Topics/AI/Temporal-Difference-Learning.md @@ -1,28 +1,28 @@ --- -id: TD-LEARN-001 +id: AI-RL-TD-001 category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" confidence_score: 1.0 -tags: [reinforcement-learning, ai, temporal-difference, bellman-equation, machine-learning] +tags: [ai, reinforcement-learning, td-learning, temporal-difference, q-learning, sarsa, bellman-equation, machine-learning] last_reinforced: 2026-04-26 --- -# [[Temporal Difference Learning (TD ํ•™์Šต)]] +# [[Temporal Difference Learning (์‹œ๊ฐ„์ฐจ ํ•™์Šต)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) -> "๋๊นŒ์ง€ ๊ฐ€๋ณด์ง€ ์•Š์•„๋„, ํ•œ ๊ฑธ์Œ ๋’ค์˜ ๋ฏธ๋ž˜๋ฅผ ํ†ตํ•ด ํ˜„์žฌ๋ฅผ ์ˆ˜์ •ํ•˜๋ผ" โ€” ์—ํ”ผ์†Œ๋“œ๊ฐ€ ๋๋‚˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ , ํ˜„์žฌ์˜ ์˜ˆ์ธก๊ฐ’๊ณผ ๋ฐ”๋กœ ๋‹ค์Œ ๋‹จ๊ณ„์˜ ๋ณด์ƒ ๋ฐ ์˜ˆ์ธก๊ฐ’ ์‚ฌ์ด์˜ ์ฐจ์ด(TD Error)๋ฅผ ์ด์šฉํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ•™์Šตํ•˜๋Š” ๊ฐ•ํ™”ํ•™์Šต์˜ ํ•ต์‹ฌ ์›๋ฆฌ. +> "๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ธ๋‚ด ๋Œ€์‹ , ๋งค ์ˆœ๊ฐ„์˜ ์˜ˆ์ธก์ด ๋‹ค์Œ ์ˆœ๊ฐ„์˜ ์‹ค์ œ์™€ ์–ผ๋งˆ๋‚˜ ๋‹ค๋ฅธ์ง€(TD Error)๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์ง€๋Šฅ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ต์ •ํ•˜๋ผ" โ€” ๊ฐ•ํ™”ํ•™์Šต์—์„œ ์—ํ”ผ์†Œ๋“œ๊ฐ€ ๋๋‚˜์ง€ ์•Š์•„๋„ ํ˜„์žฌ์˜ ์˜ˆ์ธก์น˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ€์น˜ ํ•จ์ˆ˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ถ€ํŠธ์ŠคํŠธ๋žฉ(Bootstrapping) ๊ธฐ๋ฐ˜์˜ ํ•™์Šต ๋ฐฉ๋ฒ•๋ก . ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) -- **์ถ”์ถœ๋œ ํŒจํ„ด:** ๋ชฌํ…Œ์นด๋ฅผ๋กœ(์ „์ฒด ๊ฒฝํ—˜ ํ•„์š”)์™€ ๋™์  ๊ณ„ํš๋ฒ•(ํ™˜๊ฒฝ ๋ชจ๋ธ ํ•„์š”)์˜ ์žฅ์ ์„ ๊ฒฐํ•ฉํ•˜์—ฌ, ํ™˜๊ฒฝ์˜ ๋ชจ๋ธ ์—†์ด๋„ ์‹ค์‹œ๊ฐ„ ๊ฒฝํ—˜์„ ํ†ตํ•ด ๊ฐ€์น˜ ํ•จ์ˆ˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ถ€ํŠธ์ŠคํŠธ๋ž˜ํ•‘(Bootstrapping) ํŒจํ„ด. -- **์„ธ๋ถ€ ๋‚ด์šฉ:** - - **TD Error:** $Target(R_{t+1} + \gamma V(S_{t+1})) - Current\ Estimate(V(S_t))$. ์ด ์˜ค์ฐจ๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ. - - **Bootstrapping:** ํ˜„์žฌ์˜ ์˜ˆ์ธก๊ฐ’์„ ๋ฐ”ํƒ•์œผ๋กœ ๋˜ ๋‹ค๋ฅธ ์˜ˆ์ธก๊ฐ’์„ ๊ฐฑ์‹ ํ•˜๋Š” ๋ฐฉ์‹. - - **TD(0):** ๋ฐ”๋กœ ๋‹ค์Œ ํ•œ ๋‹จ๊ณ„์˜ ์ •๋ณด๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ. - - **TD($\lambda$):** ์—ฌ๋Ÿฌ ๋‹จ๊ณ„ ์•ž์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ค‘ ํ‰๊ท ํ•˜์—ฌ ํ•™์Šต ํšจ์œจ๊ณผ ์•ˆ์ •์„ฑ ์‚ฌ์ด์˜ ๊ท ํ˜•์„ ๋งž์ถค (Eligibility Traces). +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Prediction-Correction Loop with Immediate Feedback" โ€” ๋ชฌํ…Œ์นด๋ฅผ๋กœ ๋ฐฉ์‹์ฒ˜๋Ÿผ ๋๊นŒ์ง€ ๊ฐ€๋ณด์ง€ ์•Š๊ณ ๋„, ๋‹ค์Œ ์ƒํƒœ์˜ ๋ณด์ƒ๊ณผ ์˜ˆ์ƒ ๊ฐ€์น˜๋ฅผ '์ฐธ์กฐ๊ฐ’'์œผ๋กœ ์‚ผ์•„ ํ˜„์žฌ์˜ ๊ฐ€์น˜ ์ถ”์ •์น˜๋ฅผ ์กฐ๊ธˆ์”ฉ ์ˆ˜์ •ํ•ด ๋‚˜๊ฐ€๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜:** + - **TD Error:** $r + \gamma V(s') - V(s)$. ์ฆ‰, '์‹ค์ œ ๋ณด์ƒ + ๋‹ค์Œ ์ƒํƒœ์˜ ์˜ˆ์ƒ ๊ฐ€์น˜'์™€ 'ํ˜„์žฌ ์˜ˆ์ƒ ๊ฐ€์น˜'์˜ ์ฐจ์ด. + - **Bootstrapping:** ์ž์‹ ์˜ ์ด์ „ ์˜ˆ์ธก์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ์˜ ์˜ˆ์ธก์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐฉ์‹. + - **Algorithm Types:** ์˜จ-ํด๋ฆฌ์‹œ ๋ฐฉ์‹์ธ SARSA์™€ ์˜คํ”„-ํด๋ฆฌ์‹œ ๋ฐฉ์‹์ธ Q-Learning์ด ๋Œ€ํ‘œ์ ์ž„. +- **์˜์˜:** ํ•™์Šต ํšจ์œจ์ด ๋งค์šฐ ๋†’๊ณ  ํ™˜๊ฒฝ๊ณผ์˜ ์ƒํ˜ธ์ž‘์šฉ ์ค‘์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด, ๋ฐ”๋‘‘(AlphaGo)๋ถ€ํ„ฐ ๋กœ๋ด‡ ์ œ์–ด๊นŒ์ง€ ํ˜„๋Œ€ ๊ฐ•ํ™”ํ•™์Šต์˜ ๊ฑฐ์˜ ๋ชจ๋“  ์„ฑ๊ณต ์‚ฌ๋ก€์˜ ๊ธฐ์ˆ ์  ์ค‘์ถ”๊ฐ€ ๋จ. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) -- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์—ํ”ผ์†Œ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜์–ด์•ผ๋งŒ ํ•™์Šต์ด ๊ฐ€๋Šฅํ–ˆ๋˜ ์ดˆ๊ธฐ ๋ชจ๋ธ๋“ค์˜ ํ•œ๊ณ„๋ฅผ ๋„˜์–ด, ์—ฐ์†์ ์ธ ์ž‘์—… ํ™˜๊ฒฝ์—์„œ๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ง€๋Šฅ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํ† ๋Œ€ ๋งˆ๋ จ. -- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ์˜ ์ž์œจ ํ•™์Šต ์—์ด์ „ํŠธ๋Š” TD ํ•™์Šต ์›๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ, ๊ธด ์ž‘์—… ์‹œํ€€์Šค ์ค‘์—๋„ ๊ฐ ๋‹จ๊ณ„์˜ ์„ฑ๊ณต ๊ฐ€๋Šฅ์„ฑ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ฉฐ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ํ•จ. +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ดˆ๊ธฐ์—๋Š” ๋‹จ์ˆœํžˆ ๋ณด์ƒ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ์ˆ˜๋‹จ์œผ๋กœ๋งŒ ์—ฌ๊ฒจ์กŒ์œผ๋‚˜, ์ด์ œ๋Š” ์ธ๊ฐ„์˜ ๋‡Œ ์† ๋„ํŒŒ๋ฏผ ์ฒด๊ณ„๊ฐ€ TD Error์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๋™์ž‘ํ•œ๋‹ค๋Š” ๋‡Œ๊ณผํ•™์  ๋ฐœ๊ฒฌ๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ '์ง€๋Šฅ์˜ ๋ณดํŽธ์  ํ•™์Šต ์›๋ฆฌ'๋กœ ์žฌํ•ด์„๋˜๊ณ  ์žˆ์Œ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ์ž‘์—… ์ „๋žต ์ตœ์ ํ™” ์‹œ, ์žฅ๊ธฐ์ ์ธ ์„ฑ๊ณต ํ™•๋ฅ ์„ ๋งค ๋‹จ๊ณ„ ์˜ˆ์ธกํ•˜๊ณ  ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ๋„ํ™”๋œ TD ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์˜์‚ฌ๊ฒฐ์ • ์—”์ง„์˜ ํ•ต์‹ฌ์œผ๋กœ ํ™œ์šฉํ•จ. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) -- [[Reinforcement-Learning]], [[Q-Learning-Foundations]], [[Bellman-Equation]], [[Monte-Carlo-Methods]] +- [[Reinforcement-Learning]], [[Reward-Shaping-in-RL]], [[Bellman-Equation-Foundations]], [[Deep-Learning-Foundations]] - **Raw Source:** [[10_Wiki/Topics/AI/Temporal-Difference-Learning.md]] diff --git a/10_Wiki/Topics/AI/TensorFlow-Foundations.md b/10_Wiki/Topics/AI/TensorFlow-Foundations.md new file mode 100644 index 00000000..a3f50c20 --- /dev/null +++ b/10_Wiki/Topics/AI/TensorFlow-Foundations.md @@ -0,0 +1,30 @@ +--- +id: AI-TOOL-TF-001 +category: "[[10_Wiki/๐Ÿ’ก Topics/AI]]" +confidence_score: 1.0 +tags: [ai, machine-learning, deep-learning, tensorflow, google, keras, tensor, mldev, mlops] +last_reinforced: 2026-04-26 +--- + +# [[TensorFlow Foundations (ํ…์„œํ”Œ๋กœ์šฐ ๊ธฐ์ดˆ)]] + +## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) +> "๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์ฐจ์› ๋ฐฐ์—ด(Tensor)์˜ ํ๋ฆ„์œผ๋กœ ์ •์˜ํ•˜๊ณ , ์œ ์—ฐํ•œ ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด ์—ฐ๊ตฌ์‹ค์˜ ์•„์ด๋””์–ด๋ฅผ ์ „ ์„ธ๊ณ„ ์„œ๋น„์Šค ์ธํ”„๋ผ๋กœ ์ฆ‰๊ฐ ํ™•์žฅํ•˜๋ผ" โ€” ๊ตฌ๊ธ€์ด ๊ฐœ๋ฐœํ•œ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์˜คํ”ˆ์†Œ์Šค ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ. + +## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) +- **์ถ”์ถœ๋œ ํŒจํ„ด:** "Graph-based Computation and Production-ready Ecosystem" โ€” ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ๋…ธ๋“œ์™€ ์—ฃ์ง€๋กœ ์ด๋ฃจ์–ด์ง„ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ํ•˜์—ฌ CPU, GPU, TPU ๋“ฑ ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด์—์„œ ์ตœ์ ์˜ ์„ฑ๋Šฅ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ , ๋ชจ๋ฐ”์ผ(Lite)๋ถ€ํ„ฐ ์„œ๋ฒ„(Serving)๊นŒ์ง€ ๋Š๊น€ ์—†๋Š” ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ œ๊ณตํ•˜๋Š” ํŒจํ„ด. +- **ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ:** + - **Tensors:** ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” n-์ฐจ์› ๋ฐฐ์—ด. + - **Keras API:** ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์ˆ˜์ค€ ์ธํ„ฐํŽ˜์ด์Šค. + - **Eager Execution:** ํŒŒ์ด์ฌ์ฒ˜๋Ÿผ ์ฆ‰์‹œ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋™์  ๊ทธ๋ž˜ํ”„ ๋ชจ๋“œ. + - **TensorBoard:** ํ•™์Šต ๊ณผ์ •์„ ์‹œ๊ฐํ™”ํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ. + - **TF Ecosystem:** Extended(TFX), Lite, JS, Hub ๋“ฑ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€์˜ ์ „ ๊ณผ์ • ์ง€์›. +- **์˜์˜:** ํ•™์ˆ ์  ์—ฐ๊ตฌ๋ฅผ ๋„˜์–ด ์‹ค์ œ ์ƒ์šฉ ์„œ๋น„์Šค์— AI๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ํƒ‘์žฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์žฅ ๊ฒฌ๊ณ ํ•œ ํ‘œ์ค€ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•จ. + +## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) +- **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ •์  ๊ทธ๋ž˜ํ”„(Static Graph) ์ค‘์‹ฌ์˜ ๋ณต์žกํ•œ ๊ตฌ์กฐ๋กœ ์ธํ•ด PyTorch์— ์—ฐ๊ตฌ์šฉ ์‹œ์žฅ์„ ๋‚ด์ฃผ๊ธฐ๋„ ํ–ˆ์œผ๋‚˜, ๋ฒ„์ „ 2.0 ์ดํ›„ Keras๋ฅผ ์ „๋ฉด์— ๋‚ด์„ธ์šฐ๊ณ  'Eager Execution'์„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ฑ„ํƒํ•˜๋ฉฐ ์‚ฌ์šฉ์„ฑ๊ณผ ์„ฑ๋Šฅ์ด๋ผ๋Š” ๋‘ ๋งˆ๋ฆฌ ํ† ๋ผ๋ฅผ ๋‹ค์‹œ ์žก๋Š” ๋ฐ ์„ฑ๊ณตํ•จ. +- **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ๋Œ€๊ทœ๋ชจ ๋ฐฐํฌ ๋ฐ ์•ˆ์ •์ ์ธ ์ถ”๋ก  ์„œ๋น™(Serving) ์ธํ”„๋ผ ๊ตฌ์ถ• ์‹œ, ๊ฒ€์ฆ๋œ ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ…์„œํ”Œ๋กœ์šฐ ์ƒํƒœ๊ณ„์˜ ๋„๊ตฌ๋“ค์„ ์ฃผ๋ ฅ์œผ๋กœ ํ™œ์šฉํ•จ. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) +- [[Deep-Learning-Foundations]], [[Neural-Networks-Basics]], [[MLOps-Best-Practices]], [[Scalability-in-AI-Systems]] +- **Raw Source:** [[10_Wiki/Topics/AI/TensorFlow-Foundations.md]]