diff --git a/content/03.Note/DRY (Don't Repeat Yourself).md b/content/03.Note/DRY (Don't Repeat Yourself).md new file mode 100644 index 0000000..ace389b --- /dev/null +++ b/content/03.Note/DRY (Don't Repeat Yourself).md @@ -0,0 +1,25 @@ +--- +id: "DRY (Don't Repeat Yourself) 20260330" +created: "2026-03-30 15:05" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ฝ”๋“œ์˜ ๋ฐ˜๋ณต์„ ์ค„์—ฌ์„œ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•˜์ž. +๋‹จ, ์ฝ”๋“œ์˜ ๋ฐ˜๋ณต์„ ๋ฌด์กฐ๊ฑด์ ์œผ๋กœ ์ค„์ด๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š์€ ๊ฒฐ๊ณผ๋ฅผ ๋‚ณ์„ ์ˆ˜ ์žˆ๋‹ค. +[[DRY (Don't Repeat Yourself)]] << [[KISS (Keep It Simple, Stupid)]] +DRYํ•œ ์ฝ”๋“œ๋ณด๋‹ค KISSํ•œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒŒ ๋” ์ค‘์š”ํ•˜๋‹ค. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +**๋˜‘๊ฐ™์€ ์ผ์„ ๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ**๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. +๋™์ผํ•œ ์ฝ”๋“œ์˜ ์ค‘๋ณต์„ ํ”ผํ•˜๋ผ๋Š” ์˜๋ฏธ. + +## ๐Ÿ“Œ ์ƒ์„ธ +1. ์ฝ”๋“œ์˜ ์ •๋ณด๋‚˜ ๋กœ์ง์€ ์‹œ์Šคํ…œ ๋‚ด์—์„œ **๋‹จ ํ•œ ๊ณณ**์—๋งŒ ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. +2. ๋˜‘๊ฐ™์€ ๋กœ์ง์ด ์—ฌ๊ธฐ์ €๊ธฐ ๋ณต์‚ฌ๋˜์–ด ์žˆ์œผ๋ฉด, ๋‚˜์ค‘์— ์ˆ˜์ •ํ•  ๋•Œ ๋ชจ๋“  ๊ณณ์„ ๋‹ค ์ฐพ์•„๋‚ด์„œ ๊ณ ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜๋ผ๋„ ๋†“์น˜๋ฉด ๋ฐ”๋กœ ๋ฒ„๊ทธ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. +3. ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋ณด์ด๋ฉด ํ•จ์ˆ˜๋‚˜ ํด๋ž˜์Šค๋กœ ์ถ”์ถœํ•˜์—ฌ ๊ณตํ†ตํ™”ํ•˜์„ธ์š”. +4. 3๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต๋˜๋Š” ์ฝ”๋“œ์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ. + ( 2๋ฒˆ ์ดํ•˜๋กœ ๋ฐ˜๋ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ DRYํ•˜๊ฒŒ ํ•˜๋‹ค ๋ณด๋ฉด ์˜คํžˆ๋ ค ์ฝ”๋“œ์˜ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•ด์„œ [[KISS (Keep It Simple, Stupid)]] ์›์น™์„ ๊นจ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒ๋  ์ˆ˜ ์žˆ์Œ.) + +--- diff --git a/content/03.Note/EC2 ๊ธฐ๋ฐ˜ vs Fargate ๊ธฐ๋ฐ˜ ๋น„๊ต.md b/content/03.Note/EC2 ๊ธฐ๋ฐ˜ vs Fargate ๊ธฐ๋ฐ˜ ๋น„๊ต.md new file mode 100644 index 0000000..9070a49 --- /dev/null +++ b/content/03.Note/EC2 ๊ธฐ๋ฐ˜ vs Fargate ๊ธฐ๋ฐ˜ ๋น„๊ต.md @@ -0,0 +1,7 @@ + +| **๋น„๊ต ํ•ญ๋ชฉ** | **EC2 ๊ธฐ๋ฐ˜ ์ปจํ…Œ์ด๋„ˆ (ECS/EKS)** | **Fargate ๊ธฐ๋ฐ˜ ์ปจํ…Œ์ด๋„ˆ (ECS/EKS)** | +| ----------------- | -------------------------- | ----------------------------- | +| **์ธํ”„๋ผ ๊ด€๋ฆฌ** | ์‚ฌ์šฉ์ž๊ฐ€ EC2 ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ (OS ํŒจ์น˜ ๋“ฑ) | **AWS๊ฐ€ ์ธํ”„๋ผ ์™„์ „ ๊ด€๋ฆฌ** | +| **ํ™•์žฅ์„ฑ (Scaling)** | EC2 ์ธ๋ฒคํ† ๋ฆฌ์™€ ์ปจํ…Œ์ด๋„ˆ ๊ฐœ์ˆ˜ ๋™์‹œ ๊ณ ๋ ค | **์ปจํ…Œ์ด๋„ˆ(Task/Pod) ๊ฐœ์ˆ˜๋งŒ ์กฐ์ ˆ** | +| **๊ฒฉ๋ฆฌ ์ˆ˜์ค€** | ์ธ์Šคํ„ด์Šค ๋‚ด ์ปค๋„ ๊ณต์œ  ๊ฐ€๋Šฅ์„ฑ ์žˆ์Œ | **Task/Pod ๋‹จ์œ„์˜ ๊ฐ•๋ ฅํ•œ ์ปค๋„ ๊ฒฉ๋ฆฌ** | +| **๊ณผ๊ธˆ ๋ฐฉ์‹** | ์ธ์Šคํ„ด์Šค ํฌ๊ธฐ ๋ฐ ๊ฐ€๋™ ์‹œ๊ฐ„ ๊ธฐ์ค€ | **ํ• ๋‹น๋œ CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ์ค€** | diff --git a/content/03.Note/EC2(Elastic Compute Cloud).md b/content/03.Note/EC2(Elastic Compute Cloud).md new file mode 100644 index 0000000..68cf2fd --- /dev/null +++ b/content/03.Note/EC2(Elastic Compute Cloud).md @@ -0,0 +1,27 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> ํด๋ผ์šฐ๋“œ์—์„œ ์ œ๊ณตํ•˜๋Š” **๊ฐ€์ƒ ์„œ๋ฒ„**, EC2๋Š” AWS ํด๋ผ์šฐ๋“œ์—์„œ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ปดํ“จํŒ… ์šฉ๋Ÿ‰์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด๋ฅผ ์ง์ ‘ ๊ตฌ๋งคํ•  ํ•„์š” ์—†์ด ๊ฐ€์ƒ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , ๋ณด์•ˆ ๋ฐ ๋„คํŠธ์›Œํ‚น์„ ๊ตฌ์„ฑํ•˜๋ฉฐ ์ €์žฅ์†Œ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- **Elastic (ํƒ„๋ ฅ์ ์ธ):** ์ˆ˜์š”์— ๋”ฐ๋ผ ์„œ๋ฒ„ ๋Œ€์ˆ˜๋ฅผ ์ž์œ ๋กญ๊ฒŒ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +- **Compute (์ปดํ“จํŒ…):** CPU, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ ๊ณ„์‚ฐ ๋Šฅ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. +- **Cloud (ํด๋ผ์šฐ๋“œ):** ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์–ด๋””์„œ๋“  ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ฐ€์ƒ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. +## ๐Ÿ“Œ ์ƒ์„ธ +> [!check] +> |**์š”์†Œ**|**๋ช…์นญ**|**์„ค๋ช…**| +> |---|---|---| +> |**์šด์˜์ฒด์ œ**|**AMI** (Amazon Machine Image)|Windows, Linux ๋“ฑ ์„œ๋ฒ„์— ์„ค์น˜๋  OS์™€ ๊ธฐ๋ณธ ์„ค์ •์ด ๋‹ด๊ธด ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค.| +> |**ํ•˜๋“œ์›จ์–ด ์‚ฌ์–‘**|**์ธ์Šคํ„ด์Šค ์œ ํ˜•**|CPU, RAM, ๋„คํŠธ์›Œํฌ ์„ฑ๋Šฅ์— ๋”ฐ๋ฅธ ๊ทœ๊ฒฉ์ž…๋‹ˆ๋‹ค. (์˜ˆ: t3.medium, c5.large)| +> |**์ €์žฅ ์žฅ์น˜**|**EBS** (Elastic Block Store)|์„œ๋ฒ„์˜ ํ•˜๋“œ๋””์Šคํฌ ์—ญํ• ์„ ํ•˜๋Š” ๊ฐ€์ƒ ๋””์Šคํฌ์ž…๋‹ˆ๋‹ค.| +> |**๋ณด์•ˆ/๋„คํŠธ์›Œํฌ**|**๋ณด์•ˆ ๊ทธ๋ฃน** (Security Group)|๊ฐ€์ƒ ๋ฐฉํ™”๋ฒฝ์œผ๋กœ, ์–ด๋–ค ํฌํŠธ(80, 443, 22 ๋“ฑ)๋ฅผ ์—ด์–ด์ค„์ง€ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.| +> |**์ ‘์† ์ธ์ฆ**|**ํ‚ค ํŽ˜์–ด** (Key Pair)|์„œ๋ฒ„ ์ ‘์† ์‹œ ์‚ฌ์šฉํ•˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ ๋Œ€์‹ ์˜ ์•”ํ˜ธํ™” ํ‚ค ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.| + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - AWS(ํ˜น์€ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์ œ๊ณต์ž)๋กœ๋ถ€ํ„ฐ ๊ฐ€์ƒ์˜ ์„œ๋ฒ„๋ฅผ ์ž„๋Œ€ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ +> - ์›ํ•˜๋Š” ์‚ฌ์–‘์œผ๋กœ ์š”์ฒญํ•˜๋ฉด ๋Œ€์—ฌํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ +> + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file diff --git a/content/03.Note/EC2๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์˜ ํ•œ๊ณ„์ .md b/content/03.Note/EC2๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์˜ ํ•œ๊ณ„์ .md new file mode 100644 index 0000000..706c882 --- /dev/null +++ b/content/03.Note/EC2๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์˜ ํ•œ๊ณ„์ .md @@ -0,0 +1,8 @@ +| **๊ตฌ๋ถ„** | **์ฃผ์š” ํ•œ๊ณ„์  ๋ฐ ๋‹จ์ ** | **์„ธ๋ถ€ ์„ค๋ช…** | +| ----------------------- | ------------------------------- | -------------------------------------------------------------------------- | +| **์šด์˜ ๊ด€๋ฆฌ ๋ถ€๋‹ด (Overhead)** | **OS ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๊ด€๋ฆฌ** | OS ํŒจ์น˜, ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ, ๋Ÿฐํƒ€์ž„ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•จ (Shared Responsibility Model). | +| **ํ™•์žฅ์„ฑ (Scalability)** | **๋А๋ฆฐ ์˜คํ† ์Šค์ผ€์ผ๋ง ์†๋„** | ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋ฅผ ๋„์šฐ๊ณ  OS ๋ถ€ํŒ…, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰๊นŒ์ง€ ์ˆ˜ ๋ถ„์˜ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜์–ด ๊ธ‰๊ฒฉํ•œ ํŠธ๋ž˜ํ”ฝ ๋ณ€ํ™”์— ๋Œ€์‘์ด ๋Šฆ์Œ. | +| **์ž์› ํšจ์œจ์„ฑ** | **๋‚ฎ์€ ์ง‘์ ๋„ ๋ฐ ๋‚ญ๋น„** | ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU/RAM์„ ์ ๊ฒŒ ์“ฐ๋”๋ผ๋„ ์ธ์Šคํ„ด์Šค ์ „์ฒด ๋น„์šฉ์ด ๋ฐœ์ƒํ•จ. ์ปจํ…Œ์ด๋„ˆ ๋Œ€๋น„ ์ž์› ๊ฒฉ๋ฆฌ ๋ฐ ๋ฐฐ๋ถ„ ํšจ์œจ์ด ๋‚ฎ์Œ. | +| **๋ฐฐํฌ ๋ฐ ์ผ๊ด€์„ฑ** | **"It works on my machine" ๋ฌธ์ œ** | ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ์šด์˜ ์„œ๋ฒ„ OS ์„ค์ •์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์žฅ์•  ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ (์ปจํ…Œ์ด๋„ˆ ๋Œ€๋น„ ํ™˜๊ฒฝ ์ผ๊ด€์„ฑ ๋ถ€์กฑ). | +| **๊ณ ๊ฐ€์šฉ์„ฑ (HA)** | **๋ณต์žกํ•œ ๋ณต๊ตฌ ํ”„๋กœ์„ธ์Šค** | ์ธ์Šคํ„ด์Šค ์žฅ์•  ์‹œ ๋‹จ์ˆœํžˆ ํ”„๋กœ์„ธ์Šค๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๊ต์ฒด ๋ฐ ๋ณต๊ตฌ ๊ณผ์ •์ด ๋” ๋ฌด๊ฒ๊ณ  ๋ณต์žกํ•จ. | +| **๋น„์šฉ (Cost)** | **์œ ํœด ์ž์› ๋น„์šฉ ๋ฐœ์ƒ** | ํŠธ๋ž˜ํ”ฝ์ด ์—†๋Š” ์‹œ๊ฐ„๋Œ€์—๋„ ์ตœ์†Œ ์œ ์ง€ ์ธ์Šคํ„ด์Šค ๋น„์šฉ์ด ๊ณ„์† ๋ฐœ์ƒํ•˜๋ฉฐ, ์„ธ๋ฐ€ํ•œ ๊ณผ๊ธˆ ๋‹จ์œ„ ์„ค์ •์ด ์–ด๋ ค์›€. | diff --git a/content/03.Note/ECR(Elastic Container Registry).md b/content/03.Note/ECR(Elastic Container Registry).md new file mode 100644 index 0000000..2c5d1c2 --- /dev/null +++ b/content/03.Note/ECR(Elastic Container Registry).md @@ -0,0 +1,52 @@ +--- +id: "ECR 20260305" +created: "2026-03-05 09:49" +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +๋„์ปค ์ด๋ฏธ์ง€ ํ—ˆ๋ธŒ (์œ ๋ฃŒ) + + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> AWS์—์„œ ์ œ๊ณตํ•˜๋Š” **์™„์ „๊ด€๋ฆฌํ˜• ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์„œ๋น„์Šค** + +## ๐Ÿ“Œ ์ƒ์„ธ +> [!check] +> 1. ๊ฐœ๋ฐœ์ž๋“ค์ด ๋งŒ๋“  ๋„์ปค(Docker) ์ด๋ฏธ์ง€๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณด๊ด€ํ•˜๊ณ  ํ•„์š”ํ•  ๋•Œ ๊บผ๋‚ด ์“ธ ์ˆ˜ ์žˆ๋Š” **'ํด๋ผ์šฐ๋“œ ๋ณด๊ด€ํ•จ'**์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. +> 2. ๊ฐ€์žฅ ์œ ๋ช…ํ•œ 'Docker Hub'์˜ AWS ๋ฒ„์ „์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ์‰ฝ์Šต๋‹ˆ๋‹ค. + +### 1. ์ฃผ์š” ํŠน์ง• ๋ฐ ๊ธฐ๋Šฅ + +- **์™„์ „๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค:** ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌํ•˜๊ฑฐ๋‚˜ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰์„ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. AWS๊ฐ€ ์ธํ”„๋ผ ์šด์˜๊ณผ ํ™•์žฅ์„ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. + +- **๋ณด์•ˆ ๋ฐ ํ†ตํ•ฉ:** AWS [[IAM(Identity and Access Management)]]๊ณผ ํ†ตํ•ฉ๋˜์–ด, ํŠน์ • ์‚ฌ์šฉ์ž๋‚˜ EC2 ์ธ์Šคํ„ด์Šค๋งŒ ์ด๋ฏธ์ง€์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ธ๋ฐ€ํ•˜๊ฒŒ ๊ถŒํ•œ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- **์ด๋ฏธ์ง€ ์Šค์บ”:** ์—…๋กœ๋“œํ•œ ์ด๋ฏธ์ง€์— ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด ์žˆ๋Š”์ง€ ์ž๋™์œผ๋กœ ์Šค์บ”ํ•˜์—ฌ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. + +- **์ˆ˜๋ช… ์ฃผ๊ธฐ ์ •์ฑ…(Lifecycle Policy):** ์˜ค๋ž˜๋œ ์ด๋ฏธ์ง€๋‚˜ ํƒœ๊ทธ๊ฐ€ ์—†๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ž๋™์œผ๋กœ ์‚ญ์ œํ•˜๋„๋ก ์„ค์ •ํ•˜์—ฌ ์ €์žฅ ๋น„์šฉ์„ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- **๊ณ ๊ฐ€์šฉ์„ฑ:** ์ด๋ฏธ์ง€๊ฐ€ S3์— ์ €์žฅ๋˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ ๋‚ด๊ตฌ์„ฑ์ด ๋งค์šฐ ๋†’์œผ๋ฉฐ, ์—ฌ๋Ÿฌ ๊ฐ€์šฉ ์˜์—ญ(AZ)์— ๊ฑธ์ณ ์•ˆ์ •์ ์œผ๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. + + +### 2. ์ž‘๋™ ๋ฐฉ์‹ (์›Œํฌํ”Œ๋กœ์šฐ) + +1. **๋นŒ๋“œ(Build):** ๋กœ์ปฌ PC๋‚˜ CI/CD ํ™˜๊ฒฝ์—์„œ Docker ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. + +2. **์ธ์ฆ(Authenticate):** AWS CLI๋ฅผ ํ†ตํ•ด ECR์— ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค. + +3. **ํ‘ธ์‹œ(Push):** ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๋ฅผ ECR ๋ฆฌํฌ์ง€ํ† ๋ฆฌ(Repository)์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. + +4. **ํ’€(Pull):** Amazon ECS, EKS, ๋˜๋Š” Lambda ๊ฐ™์€ ์„œ๋น„์Šค์—์„œ ์‹คํ–‰ ์‹œ์ ์— ํ•ด๋‹น ์ด๋ฏธ์ง€๋ฅผ ๋‚ด๋ ค๋ฐ›์•„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตฌ๋™ํ•ฉ๋‹ˆ๋‹ค. + +--- + + +#### ECR์˜ ์žฅ์  + +|**๊ตฌ๋ถ„**|**์„ค๋ช…**| +|---|---| +|**์†๋„**|AWS ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ECS๋‚˜ EKS๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋ฐฐํฌํ•  ๋•Œ ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฆ…๋‹ˆ๋‹ค.| +|**๋น„์šฉ**|์‚ฌ์šฉํ•œ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰๊ณผ ๋ฐ์ดํ„ฐ ์ „์†ก๋Ÿ‰์— ๋Œ€ํ•ด์„œ๋งŒ ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๋ฉฐ, AWS ๋‚ด๋ถ€ ์„œ๋น„์Šค ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์€ ๋ฌด๋ฃŒ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.| +|**์‹ ๋ขฐ์„ฑ**|ํผ๋ธ”๋ฆญ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ(Docker Hub ๋“ฑ)์˜ ์žฅ์• ๋‚˜ ์†๋„ ์ €ํ•˜๋กœ๋ถ€ํ„ฐ ๋…๋ฆฝ๋œ ์•ˆ์ •์ ์ธ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.| diff --git a/content/03.Note/ECS์™€ EKS์˜ ์ฐจ์ด์ .md b/content/03.Note/ECS์™€ EKS์˜ ์ฐจ์ด์ .md new file mode 100644 index 0000000..eb55ff7 --- /dev/null +++ b/content/03.Note/ECS์™€ EKS์˜ ์ฐจ์ด์ .md @@ -0,0 +1,9 @@ +| **๊ตฌ๋ถ„** | **Amazon ECS (Elastic Container Service)** | **Amazon EKS (Elastic Kubernetes Service)** | +| ----------- | ------------------------------------------ | ------------------------------------------- | +| **๊ฐœ๋…** | AWS ์ „์šฉ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ ์„œ๋น„์Šค | AWS์—์„œ ์ œ๊ณตํ•˜๋Š” **๊ด€๋ฆฌํ˜• ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค** | +| **๋ณต์žก๋„** | **๋‚ฎ์Œ** (์„ค์ •๊ณผ ๊ด€๋ฆฌ๊ฐ€ ๋งค์šฐ ๊ฐ„๊ฒฐํ•จ) | **๋†’์Œ** (์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ˆ™๋ จ๋„ ํ•„์ˆ˜) | +| **์œ ์—ฐ์„ฑ/์ œ์–ด๊ถŒ** | AWS ํ™˜๊ฒฝ์— ์ตœ์ ํ™”, ์ œ์–ด๊ถŒ์€ ์ œํ•œ์  | ๋งค์šฐ ๋†’์Œ (์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ๋ฌดํ•œํ•œ ์ปค์Šคํ…€) | +| **์ด์‹์„ฑ** | AWS ์ „์šฉ ๊ธฐ์ˆ ๋กœ ํƒ€ ํด๋ผ์šฐ๋“œ ์ด๋™์ด ์–ด๋ ค์›€ | **๋งค์šฐ ๋†’์Œ** (์–ด๋””์„œ๋“  ๋™์ผํ•œ K8s ํ™˜๊ฒฝ ๊ตฌ๋™) | +| **๊ด€๋ฆฌ ๋‹จ์œ„** | **Task** (ํƒœ์Šคํฌ) | **Pod** (ํฌ๋“œ) | +| **ํ•™์Šต ๊ณก์„ ** | ์™„๋งŒํ•จ (๋น„๊ต์  ๋นจ๋ฆฌ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Œ) | ๋งค์šฐ ๊ฐ€ํŒŒ๋ฆ„ (๊ฐœ๋…๊ณผ ๋ฆฌ์†Œ์Šค ์ข…๋ฅ˜๊ฐ€ ๋ฐฉ๋Œ€ํ•จ) | +| **์ ํ•ฉํ•œ ์ƒํ™ฉ** | AWS ์„œ๋น„์Šค ์œ„์ฃผ์˜ ๋น ๋ฅด๊ณ  ๊ฐ„๊ฒฐํ•œ ์šด์˜ | ๋ณต์žกํ•œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ํ‘œ์ค€ ๊ธฐ์ˆ  ์Šคํƒ ์ง€ํ–ฅ | diff --git a/content/03.Note/FHS(Filesystem Hierarchy Standard).md b/content/03.Note/FHS(Filesystem Hierarchy Standard).md new file mode 100644 index 0000000..183ef25 --- /dev/null +++ b/content/03.Note/FHS(Filesystem Hierarchy Standard).md @@ -0,0 +1,78 @@ +--- +id: FHS(Filesystem Hierarchy Standard) 20260403 +created: 2026-04-03 11:04 +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +ํŒŒ์ผ๊ตฌ์กฐ์— ์ž์œ ๋„๋ฅผ ์–ต์ œํ•ด์„œ ์–ด๋А์ •๋„ ๊ทœ๊ฒฉํ™”๋ฅผ ํ•ด๋†“์€ ๊ฒƒ, +๋„ˆ๋ฌด ์ž์œ ๋กœ์šฐ๋ฉด ๋ฌด์Šจ ํŒŒ์ผ์ด ์–ด๋””์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ค์šธํ…๋ฐ +์–ด๋–ค ์ข…๋ฅ˜์˜ ํŒŒ์ผ์€ ์–ด๋””์— ์žˆ์–ด์•ผ ํ•˜๊ณ  ์ด๋Ÿฐ ๊ทœ์น™์„ ์ •์˜ํ•ด์„œ +์–ด๋–ค ๋ฆฌ๋ˆ…์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋“  ์–ด๋А์ •๋„์˜ ๊ทœ์น™์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›ํ•˜๋Š” ํŒŒ์ผ์„ ์–ด๋А์ •๋„ ์‰ฝ๊ฒŒ ์ฐพ์•„๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ๋” ํ•จ + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +๋ฟŒ๋ฆฌ๊ฐ€ ๋˜๋Š” **๋ฃจํŠธ(`/`)** ์•„๋ž˜์— ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ€์ง€์ฒ˜๋Ÿผ ๋ป—์–ด ๋‚˜๊ฐ€๋Š” **์—ญํŠธ๋ฆฌ ๊ตฌ์กฐ** +๋ฆฌ๋ˆ…์Šค๋‚˜ ์œ ๋‹‰์Šค ๊ณ„์—ด ์šด์˜์ฒด์ œ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ํด๋” ๊ตฌ์กฐ๊ฐ€ ์™œ ์ด๋ ‡๊ฒŒ ๋ณต์žกํ•œ์ง€ ๊ถ๊ธˆํ•  ๋•Œ๊ฐ€ ์žˆ์ฃ . +**FHS(Filesystem Hierarchy Standard)**๋Š” ๋ฐ”๋กœ ์ด๋Ÿฐ ํ˜ผ๋ž€์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์œ„์น˜๋ฅผ ์ •์˜ํ•œ ํ‘œ์ค€ ๊ทœ๊ฒฉ์ž…๋‹ˆ๋‹ค. + +๋•๋ถ„์— ์‚ฌ์šฉ์ž๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๋Š” ์–ด๋–ค ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ์„ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ํŠน์ • ํŒŒ์ผ์ด ์–ด๋””์— ์žˆ์„์ง€ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ + +- **/ (root)**: ๋ชจ๋“  ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์‹œ์ž‘์  + : ๋ชจ๋“  ๋””๋ ‰ํ† ๋ฆฌ์˜ ์‹œ์ž‘์ ์ž…๋‹ˆ๋‹ค. ์œˆ๋„์šฐ์˜ `C:\`์™€ ๋น„์Šทํ•˜์ง€๋งŒ, ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” ๋ชจ๋“  ์žฅ์น˜(ํ•˜๋“œ๋””์Šคํฌ, USB ๋“ฑ)๊ฐ€ ์ด ์•„๋ž˜์˜ ํŠน์ • ํด๋”์— ์—ฐ๊ฒฐ(๋งˆ์šดํŠธ)๋ฉ๋‹ˆ๋‹ค. + + --- ๐Ÿ“‚ ์ฃผ์š” ๋””๋ ‰ํ† ๋ฆฌ + - **/bin**: ํ•„์ˆ˜์ ์ธ ์‚ฌ์šฉ์ž ๋ช…๋ น ํŒŒ์ผ (Binaries) + : ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ณธ ๋ช…๋ น์–ด๋“ค์ด ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. + + - **/sbin**: ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์šฉ ์‹คํ–‰ ํŒŒ์ผ (System Binaries) + : ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž(Root)๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋“ค์ด ๋ชจ์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. + + - **/etc**: ์‹œ์Šคํ…œ ์„ค์ • ํŒŒ์ผ (Editable Text Configurations) + : **๊ฐ€์žฅ ์ค‘์š”ํ•œ ํด๋” ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.** ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  **์„ค์ • ํŒŒ์ผ**์ด ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. + : ์‚ฌ์šฉ์ž ์ •๋ณด(`/etc/passwd`), ๋„คํŠธ์›Œํฌ ์„ค์ •, ์„ค์น˜๋œ ํ”„๋กœ๊ทธ๋žจ์˜ ํ™˜๊ฒฝ ์„ค์ • ๋“ฑ์ด ๋ชจ๋‘ ์—ฌ๊ธฐ์— ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. + + - **/home**: ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋“ค์˜ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ + : ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋“ค์˜ ๊ฐœ์ธ ๊ณต๊ฐ„, ์˜ˆ๋ฅผ ๋“ค์–ด ๊ณ„์ •๋ช…์ด `dihwang`์ด๋ผ๋ฉด `/home/dihwang` ํด๋”๊ฐ€ ์ƒ๊ธฐ๊ณ , ๊ทธ ์•ˆ์— ๋ฐ”ํƒ•ํ™”๋ฉด, ๋‹ค์šด๋กœ๋“œ, ๊ฐœ์ธ ์„ค์ • ๋“ฑ์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. + : ๊ด€๋ฆฌ์ž(root)๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์˜ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ–์—์„œ๋Š” ํŒŒ์ผ์„ ๋ง˜๋Œ€๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์ง€์šธ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. + + - **/root**: ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž(root)์˜ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ + : ์‹œ์Šคํ…œ ์ตœ๊ณ  ๊ด€๋ฆฌ์ž์ธ **root ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ**์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ(`/home`)์™€๋Š” ๋ณ„๋„๋กœ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค. + + --- + + --- โš™๏ธ ์‹œ์Šคํ…œ ์šด์˜์„ ์œ„ํ•œ ํด๋”๋“ค + - **/usr**: ์‚ฌ์šฉ์ž ๊ด€๋ จ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ (User System Resources) + : ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์น˜ํ•œ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ๋“ค์ด ๋ชจ์ด๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ์œˆ๋„์šฐ์˜ `C:\Program Files`์™€ ๊ฐ€์žฅ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. + : `/usr/bin`: ๋‚˜์ค‘์— ์„ค์น˜ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋“ค์˜ ์‹คํ–‰ ํŒŒ์ผ. + : `/usr/lib`: ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์— ํ•„์š”ํ•œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค. + + - **/var**: ๊ฐ€๋ณ€์ ์ธ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ (Variable) + : **๋‚ด์šฉ์ด ์ˆ˜์‹œ๋กœ ๋ณ€ํ•˜๋Š” ๋ฐ์ดํ„ฐ**๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. + : `/var/log`: ์‹œ์Šคํ…œ ๋กœ๊ทธ๊ฐ€ ์Œ“์ด๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์™œ ์ฃฝ์—ˆ๋Š”์ง€ ํ™•์ธํ•  ๋•Œ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. + : `/var/www`: ์›น ์„œ๋ฒ„(Apache, Nginx)์˜ ์†Œ์Šค ํŒŒ์ผ๋“ค์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์œ„์น˜ํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. + + - **/tmp**: ์ž„์‹œ ํŒŒ์ผ ์ €์žฅ์†Œ (Temporary) + : **์ž„์‹œ ํŒŒ์ผ** ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ๋ถ€ํŒ… ์‹œ๋‚˜ ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์ž๋™์œผ๋กœ ์‚ญ์ œ๋˜๋Š” ํŒŒ์ผ๋“ค์ด ๋จธ๋ญ…๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋‚˜ ํŒŒ์ผ์„ ์“ฐ๊ณ  ์ง€์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + + - **/dev**: ์žฅ์น˜ ํŒŒ์ผ (Devices) + : ๋ฆฌ๋ˆ…์Šค๋Š” **๋ชจ๋“  ๊ฒƒ์„ ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค**๋Š” ์ฒ ํ•™์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์šฐ์Šค, ํ‚ค๋ณด๋“œ, ํ•˜๋“œ๋””์Šคํฌ ๊ฐ™์€ ๋ฌผ๋ฆฌ์ ์ธ ์žฅ์น˜๋“ค๋„ ์ด ํด๋” ์•ˆ์— ํŒŒ์ผ ํ˜•ํƒœ๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. + + - **/mnt**: ์ˆ˜๋™์œผ๋กœ ๋งˆ์šดํŠธํ•˜๋Š” ์ž„์‹œ ์ง€์  (Mount) + : ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ํ•˜๋“œ๋””์Šคํฌ ๋“ฑ์„ ์—ฐ๊ฒฐํ•  ๋•Œ ์“ฐ๋Š” ์ž„์‹œ ์žฅ์†Œ. + - **/media**: ์™ธ๋ถ€ ์žฅ์น˜ ์ž๋™ ๋งˆ์šดํŠธ ์ง€์  (USB, CD-ROM ๋“ฑ) + : USB๋‚˜ CD-ROM์„ ๊ฝ‚์œผ๋ฉด ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๊ณณ. + + - **/opt**: ์ถ”๊ฐ€ ํŒจํ‚ค์ง€ ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜ (Optional) + + - **/boot**: ๋ถ€ํŒ… ๊ด€๋ จ ํ•ต์‹ฌ ํŒŒ์ผ + + - **/srv**: ์‹œ์Šคํ…œ์ด ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค ๋ฐ์ดํ„ฐ (Service) + : ์š”์ฆ˜์€ `/var/www` ๋“ฑ์„ ๋” ๋งŽ์ด ์”๋‹ˆ๋‹ค. + + - **/tmp**: ์ž„์‹œ ํŒŒ์ผ ์ €์žฅ์†Œ (Temporary) + + - **/lib**: ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์ปค๋„ ๋ชจ๋“ˆ (Libraries) +--- diff --git a/content/03.Note/GNU.md b/content/03.Note/GNU.md new file mode 100644 index 0000000..6a4d0e6 --- /dev/null +++ b/content/03.Note/GNU.md @@ -0,0 +1,38 @@ +--- +id: "GNU 20260407" +created: "2026-04-07 14:17" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ด๊ณณ์— ํ•˜๋‚˜์˜ ์ƒ๊ฐ ๋˜๋Š” ์•„์ด๋””์–ด๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… + **GNU(๊ทธ๋ˆ„)** ๋Š” ๋ฆฌ์ฒ˜๋“œ ์Šคํ†จ๋จผ์ด 1983๋…„์— ์‹œ์ž‘ํ•œ **์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ**์ด์ž, ๊ทธ ๊ฒฐ๊ณผ๋กœ ๋งŒ๋“ค์–ด์ง„ **์šด์˜์ฒด์ œ**์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. +GNU๋ผ๋Š” ์ด๋ฆ„์€ **GNU is Not Unix**(GNU๋Š” ์œ ๋‹‰์Šค๊ฐ€ ์•„๋‹ˆ๋‹ค)์˜ ์•ฝ์ž๋กœ, ์ž๊ธฐ ์ž์‹ ์„ ์ด๋ฆ„ ์•ˆ์— ํฌํ•จํ•ด ์ •์˜ํ•˜๋Š” ์žฌ๊ท€์  ์•ฝ์–ด์ž…๋‹ˆ๋‹ค. + +## 1. GNU ํ”„๋กœ์ ํŠธ์˜ ๋ชฉ์  + +๋‹น์‹œ์—๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ธฐ์—…์ด ๋…์ ํ•˜๊ณ  ์œ ๋ฃŒ๋กœ ํŒ๋งคํ•˜๋Š” ๊ฒƒ์ด ๋‹น์—ฐ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ฒ˜๋“œ ์Šคํ†จ๋จผ์€ ์ด์— ๋ฐ˜๋Œ€ํ•˜๋ฉฐ **๋ˆ„๊ตฌ๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ๋ณต์ œํ•˜๊ณ , ์ˆ˜์ •ํ•˜๊ณ , ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ์ž์œ **๋ฅผ ๋ˆ„๋ ค์•ผ ํ•œ๋‹ค๊ณ  ์ฃผ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์‹คํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์™„์ „ํžˆ ์ž์œ ๋กœ์šด ์šด์˜์ฒด์ œ๋ฅผ ๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ์˜€์Šต๋‹ˆ๋‹ค. + +## 2. ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ + +์šด์˜์ฒด์ œ๋Š” ๋‹จ์ˆœํžˆ ์ปค๋„(์•Œ๋งน์ด)๋งŒ ์žˆ๋‹ค๊ณ  ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. GNU ํ”„๋กœ์ ํŠธ๋Š” ์šด์˜์ฒด์ œ์— ํ•„์š”ํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ๋„๊ตฌ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. + +- **GCC (GNU Compiler Collection):** ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ + +- **Glibc:** ์‹œ์Šคํ…œ ์ž์›์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ + +- **Bash:** ์‚ฌ์šฉ์ž์˜ ๋ช…๋ น์„ ์ž…๋ ฅ๋ฐ›๋Š” ์…ธ + +- **Emacs:** ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ํ…์ŠคํŠธ ์—๋””ํ„ฐ + + +์ด๋Ÿฌํ•œ ๋„๊ตฌ๋“ค์€ ํ˜„์žฌ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ๋„ ํ‘œ์ค€์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. + +## 3. GNU์™€ ๋ฆฌ๋ˆ…์Šค์˜ ๊ด€๊ณ„ (์ค‘์š”!) + +GNU ํ”„๋กœ์ ํŠธ๋Š” ์šด์˜์ฒด์ œ์˜ ๊ฑฐ์˜ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์™„์„ฑํ–ˆ์ง€๋งŒ, ์ •์ž‘ ์‹œ์Šคํ…œ์˜ ๋‘๋‡Œ ์—ญํ• ์„ ํ•˜๋Š” **์ปค๋„(Hurd)** ๊ฐœ๋ฐœ์ด ๋Šฆ์–ด์ง€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. + +์ด๋•Œ 1991๋…„, ๋ฆฌ๋ˆ„์Šค ํ† ๋ฅด๋ฐœ์Šค๊ฐ€ **๋ฆฌ๋ˆ…์Šค ์ปค๋„**์„ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. GNU ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งŒ๋“  ์ˆ˜๋งŽ์€ ์†Œํ”„ํŠธ์›จ์–ด์™€ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์ด ๊ฒฐํ•ฉํ•˜๋ฉด์„œ ๋น„๋กœ์†Œ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋Š” ์ž์œ  ์šด์˜์ฒด์ œ๊ฐ€ ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ๋ถ€๋ฅด๋Š” ๋ฆฌ๋ˆ…์Šค๋Š” ์ •ํ™•ํžˆ ๋งํ•˜๋ฉด **GNU/๋ฆฌ๋ˆ…์Šค**์ธ ์…ˆ์ž…๋‹ˆ๋‹ค. \ No newline at end of file diff --git a/content/03.Note/IAM(Identity and Access Management).md b/content/03.Note/IAM(Identity and Access Management).md new file mode 100644 index 0000000..dab81b2 --- /dev/null +++ b/content/03.Note/IAM(Identity and Access Management).md @@ -0,0 +1,60 @@ +--- +id: "IAM(Identity and Access Management) 20260316" +created: "2026-03-16 13:35" +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์‚ฌ์šฉ์ž(User)๊ฐ€ ๊ฐ€์ง€๋Š” ๊ถŒํ•œ์ด ๋ฌด์—‡์ธ์ง€๋ฅผ ๋‚˜์—ดํ•˜๊ณ  ํ•„์š”ํ•œ ์‚ฌ์šฉ์ž ํ˜น์€ ๊ทธ๋ฃน์— ํ•„์š”ํ•œ ๊ถŒํ•œ๋“ค์„ ์›ํ•˜๋Š”๋Œ€๋กœ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ•ด๋†“์€ ์›น ์„œ๋น„์Šค + +AWS์˜ ๊ณ ์œ ๊ฐœ๋…์ด ์•„๋‹ˆ๊ณ  ์ •๋ณด ๋ณด์•ˆ ๋ถ„์•ผ์—์„œ๋Š” ์˜ค๋žซ๋™์•ˆ ์กด์žฌํ•ด์˜จ ํ‘œ์ค€์ ์ธ ๊ฐœ๋…์ด์ž ๊ธฐ์ˆ  ํ”„๋ ˆ์ž„์›Œํฌ. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… + "๋ˆ„๊ฐ€(์ธ์ฆ)", "์–ด๋–ค ๋ฆฌ์†Œ์Šค์—(๊ถŒํ•œ)" ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ค‘์•™์—์„œ ๊ด€๋ฆฌ๋ฅผ ํ•ด์„œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์›น ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ IAM์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ +- **์‚ฌ์šฉ์ž (User):** ์‹ค์ œ ์‚ฌ๋žŒ์ด๋‚˜ ์„œ๋น„์Šค(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜)๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ณ ์œ ํ•œ ๋ณด์•ˆ ์ž๊ฒฉ ์ฆ๋ช…(ID/PW ๋˜๋Š” Access Key)์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. + +- **๊ทธ๋ฃน (Group):** ์‚ฌ์šฉ์ž๋“ค์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฃน์— ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋ฉด ๊ทธ ๊ทธ๋ฃน์— ์†ํ•œ ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ๋™์ผํ•œ ๊ถŒํ•œ์„ ์ƒ์†๋ฐ›์Šต๋‹ˆ๋‹ค. (์˜ˆ: `Developers` ๊ทธ๋ฃน, `Admins` ๊ทธ๋ฃน) + +- **์—ญํ•  (Role):** ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ท€์†๋˜์ง€ ์•Š๊ณ , **ํ•„์š”ํ•  ๋•Œ๋งŒ ์ž ์‹œ ๋นŒ๋ ค ์“ฐ๋Š” ๊ถŒํ•œ**์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ EC2 ์„œ๋ฒ„๋‚˜ Lambda ํ•จ์ˆ˜ ๊ฐ™์€ AWS ์„œ๋น„์Šค๊ฐ€ ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. + +- **์ •์ฑ… (Policy):** "๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€"๋ฅผ ์ •์˜ํ•œ **JSON ๋ฌธ์„œ**์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž, ๊ทธ๋ฃน, ์—ญํ• ์— ์ด ์ •์ฑ…์„ ์—ฐ๊ฒฐ(Attach)ํ•˜์—ฌ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. + + +### ์ฃผ์š” ๊ธฐ๋Šฅ๊ณผ ํŠน์ง• + +| **๊ธฐ๋Šฅ** | **์„ค๋ช…** | +| ------------------------- | ------------------------------------------------------------------ | +| **์„ธ๋ถ„ํ™”๋œ ๊ถŒํ•œ ์ œ์–ด** | ํŠน์ • S3 ๋ฒ„ํ‚ท์˜ ํŒŒ์ผ๋งŒ ์ฝ๊ฒŒ ํ•˜๊ฑฐ๋‚˜, ํŠน์ • ์‹œ๊ฐ„๋Œ€์—๋งŒ ์ ‘์†์„ ํ—ˆ์šฉํ•˜๋Š” ๋“ฑ ๋งค์šฐ ์ •๋ฐ€ํ•œ ์„ค์ •์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. | +| **๋‹ค์š”์†Œ ์ธ์ฆ (MFA)** | ์•„์ด๋””/๋น„๋ฒˆ ์™ธ์— OTP(Google Authenticator ๋“ฑ)๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ณด์•ˆ์„ ํ•œ์ธต ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. | +| **์ž๊ฒฉ ์ฆ๋ช… ์—ฐ๋™ (Federation)** | ๊ธฐ์—…์˜ ๊ธฐ์กด ๊ณ„์ •(Active Directory ๋“ฑ)์ด๋‚˜ ๊ตฌ๊ธ€/ํŽ˜์ด์Šค๋ถ ๊ณ„์ •์œผ๋กœ AWS์— ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. | +| **๋น„์šฉ ๋ฌด๋ฃŒ** | IAM ์„œ๋น„์Šค ์ž์ฒด ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ ์ถ”๊ฐ€ ๋น„์šฉ์€ ์—†์Šต๋‹ˆ๋‹ค. | + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> ## IAM ์„ค๊ณ„์˜ ํ™ฉ๊ธˆ๋ฅ : "์ตœ์†Œ ๊ถŒํ•œ์˜ ์›์น™" +> +> ๋ณด์•ˆ ์‚ฌ๊ณ ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด IAM์„ ์šด์˜ํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์›์น™์€ **์ตœ์†Œ ๊ถŒํ•œ์˜ ์›์น™ (Least Privilege)**์ž…๋‹ˆ๋‹ค. +> +> - ์‚ฌ์šฉ์ž์—๊ฒŒ ์—…๋ฌด์— **๊ผญ ํ•„์š”ํ•œ ๊ถŒํ•œ๋งŒ** ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. +> +> - ๋ฃจํŠธ(Root) ๊ณ„์ •์€ ๊ฐ€๊ธ‰์  ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ์ผ์ƒ ์—…๋ฌด์šฉ IAM ์‚ฌ์šฉ์ž๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. +> + +--- + + +![[Pasted image 20260316134417.png]] +์‚ฌ์šฉ์ž๊ฐ€ ํ•˜๋‚˜ ์žˆ๊ณ  ์—ญํ• ์€ 21๊ฐœ๊ฐ€ ์žˆ๊ณ  ์ •์ฑ…์€ 1๊ฐœ๊ฐ€ ์ƒ์„ฑ๋˜์–ด์žˆ์Œ. + + +![[Pasted image 20260316134502.png]] +![[Pasted image 20260316134525.png]] +์‚ฌ์šฉ์ž๋Š” dihwang ํ•˜๋‚˜๊ฐ€ ์žˆ๋Š”๋ฐ AdministratorAccess ๋ผ๋Š” ์ด๋ฆ„์˜ ์ •์ฑ…์„ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค. + + +![[Pasted image 20260316134705.png]] +์ด AdministratorAccess ์ •์ฑ…์—๋Š” ์ด 464๊ฐœ์˜ ๊ถŒํ•œ์ด ์žˆ๋‹ค. +์ฆ‰, dihwang ์‚ฌ์šฉ์ž๋Š” 464๊ฐœ์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๊ถŒํ•œ์ด ์žˆ๋‹ค๋Š” ๋œป์ด ๋œ๋‹ค. \ No newline at end of file diff --git a/content/03.Note/KISS (Keep It Simple, Stupid).md b/content/03.Note/KISS (Keep It Simple, Stupid).md new file mode 100644 index 0000000..08e23f8 --- /dev/null +++ b/content/03.Note/KISS (Keep It Simple, Stupid).md @@ -0,0 +1,36 @@ +--- +id: KISS (Keep It Simple, Stupid) 20260330 +created: 2026-03-30 14:53 +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +[[๋‹จ์ˆœํ•œ ์ฝ”๋“œ]]๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ๊ฐ€๋…์„ฑ์„ ํ•ญ์ƒ ์ตœ์šฐ์„ ์‹œ ํ•˜์ž. +๋‹จ์ˆœํ•œ ํ˜•ํƒœ๋กœ ์‰ฝ๊ฒŒ์‰ฝ๊ฒŒ ์ฝํžˆ๋Š” ์ฝ”๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒŒ ์ค‘์š”ํ•˜๋‹ค. +์ฝ”๋“œ์˜ ์œ ์—ฐ์„ฑ ํ™•๋ณด๋Š” ๊ทธ ๋‹ค์Œ ๋ฌธ์ œ๋‹ค. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… + **๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€ํ•ด, ์ด ๋ฐ”๋ณด์•ผ**๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. (์—ฌ๊ธฐ์„œ ๋ฐ”๋ณด๋Š” ๋‚˜ ์ž์‹ ์ด๋‚˜ ๋™๋ฃŒ๋ฅผ ๋œปํ•˜๋Š” ์• ์นญ ์„ž์ธ ๋†๋‹ด์ž…๋‹ˆ๋‹ค.) + ํ•ด๊ฒฐ์ฑ…์€ ํ•ญ์ƒ **๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ**์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +์ฝ”๋“œ๊ฐ€ ๋˜‘๋˜‘ํ•ด ๋ณด์ด๊ณ  ํ™”๋ คํ• ์ˆ˜๋ก, ๋‚˜์ค‘์— ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ๊ณ ์น˜๊ธฐ๊ฐ€ ์ˆ˜์‹ญ ๋ฐฐ ๋” ํž˜๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ์ง„์งœ ์‹ค๋ ฅ์ž๋Š” ์–ด๋ ค์šด ๋ฌธ์ œ๋ฅผ ์–ด๋ ต๊ฒŒ ํ‘ธ๋Š” ์‚ฌ๋žŒ์ด ์•„๋‹ˆ๋ผ, **์–ด๋ ค์šด ๋ฌธ์ œ๋ฅผ ๋ˆ„๊ตฌ๋‚˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋‹จ์ˆœํ•˜๊ฒŒ ํ‘ธ๋Š” ์‚ฌ๋žŒ**์ž…๋‹ˆ๋‹ค. + +๋ณต์žกํ•œ ๋””์ž์ธ ํŒจํ„ด์ด๋‚˜ ์ตœ์‹  ๊ธฐ์ˆ ์„ ์–ต์ง€๋กœ ๋ผ์›Œ ๋„ฃ์ง€ ๋งˆ์„ธ์š”. `if-else`๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค๋ฉด ๊ทธ๋ ‡๊ฒŒ ์งœ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. + +> [!question] +> Q. kiss์˜ ๊ฒฝ์šฐ ๋‚˜๋„ ๋งŽ์ด ๊ถ๊ธˆํ–ˆ๊ณ  ์–ด๋ ค์› ๋˜๊ฑด๋ฐ ๋””์ž์ธ ํŒจํ„ด์ด๋‚˜ MVCํŒจํ„ด๊ฐ™์€ ๊ฐœ๋ฐœ ํŒจํ„ด๋“ค์„ ๊ตณ์ด ์“ฐ์ง€๋ง๊ณ  ์ผ๋‹จ์€ ๋‹จ์ˆœํ•˜๊ฒŒ if-else ๋กœ ๋งŒ๋“ค์–ด๋ž€ ๋œป์œผ๋กœ ํ•ด์„ํ•ด์•ผ ํ•˜๋Š”๊ฑฐ์•ผ? +> A. ๋„ค, ์ •ํ™•ํ•˜๊ฒŒ ์งš์œผ์…จ์Šต๋‹ˆ๋‹ค! **KISS** ์›์น™์˜ ํ•ต์‹ฌ์€ **์ •๋‹ต์„ ๋ฏธ๋ฆฌ ์ •ํ•ด๋†“๊ณ  ๋ผ์›Œ ๋งž์ถ”๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ฐ€์žฅ ์ง๊ด€์ ์ธ ํ•ด๊ฒฐ์ฑ…๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ผ**๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. + +๋‹จ์ˆœ if-else ๋กœ ๊ตฌ์„ฑ๋œ ์ฝ”๋“œ๊ฐ€ ๋ฌด์กฐ๊ฑด ์ž˜๋ชป๋œ ๊ฒŒ ์•„๋‹˜. +๋ฏธ๋ž˜์— ๋‚ด๊ฐ€ ๋‹ค์‹œ ๋ณด๊ฑฐ๋‚˜ ๋‚ด๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ๋‚ด ์ฝ”๋“œ๋ฅผ ์ฝ์—ˆ์„ ๋•Œ ์ฝ”๋“œ์˜ ์˜๋„๊ฐ€ ์ž˜ ์ดํ•ด๋˜๋ฉด ์ž˜ ๋งŒ๋“  ์ฝ”๋“œ์ž„. +๋””์ž์ธ ํŒจํ„ด์€ ํŒจํ„ด์˜ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜๊ณ  ๊ณง์žฅ ์ฝํžˆ์ง€๋Š” ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋””์ž์ธ ํŒจํ„ด์„ ์ ์šฉํ•œ ์ฝ”๋“œ๊ฐ€ ํ•ญ์ƒ ๊ฐ€๋…์„ฑ์ด ์ข‹์€ ์ฝ”๋“œ์ผ์ˆ˜๋Š” ์—†์Œ. +์ผ๋‹จ์€ if-else ๋“ฑ์˜ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ๋กœ ์ž‘๋™๋˜๋Š” ์ฝ”๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•จ. +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ์ฝ”๋“œ์˜ ์ค‘๋ณต์ด ๋ฐœ์ƒ๋˜๊ณ  ์ฝ”๋“œ์˜ ์œ ์—ฐ์„ฑ์ด ๋–จ์–ด์ง„๋‹ค๊ณ  ํŒ๋‹จ๋  ๋•Œ ๋””์ž์ธ ํŒจํ„ด์„ ์ ์šฉํ•˜๋ฉด ๋จ +> + +--- diff --git a/content/03.Note/MVP(Minimum Viable Product).md b/content/03.Note/MVP(Minimum Viable Product).md new file mode 100644 index 0000000..499528a --- /dev/null +++ b/content/03.Note/MVP(Minimum Viable Product).md @@ -0,0 +1,16 @@ +--- +id: "MVP(Minimum Viable Product) 20260320" +created: "2026-03-20 14:00" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +๋‹น์žฅ ๊ผญ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ ํฌํ•จ๋œ ์ตœ์†Œํ•œ์˜ ์ œํ’ˆ์„ ์ตœ๋Œ€ํ•œ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ฒŒ ํ•ต์‹ฌ ๊ฐ€์น˜ +๋ฏธ์™„์„ฑ๋ณธ์„ ๋งํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ตœ์†Œํ•œ์˜ ๊ธฐ๋Šฅ์€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•ด์•ผํ•จ. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +์ง์—ญํ•˜๋ฉด **์ƒ์กด ๊ฐ€๋Šฅํ•œ ์ตœ์†Œํ•œ์˜ ์ œํ’ˆ**์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. +๋‹จ์ˆœํžˆ '๋Œ€์ถฉ ๋งŒ๋“  ์ œํ’ˆ'์ด๋‚˜ '๋ฏธ์™„์„ฑ๋ณธ'์ด ์•„๋‹ˆ๋ผ, **๊ณ ๊ฐ์—๊ฒŒ ๊ฐ€์น˜๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋งŒ ๋‹ด์€ ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„์˜ ๊ฒฐ๊ณผ๋ฌผ**์ž…๋‹ˆ๋‹ค. + +--- diff --git a/content/03.Note/Pod๋ฅผ Private subnet์— ๋‘๋Š” ์ด์œ .md b/content/03.Note/Pod๋ฅผ Private subnet์— ๋‘๋Š” ์ด์œ .md new file mode 100644 index 0000000..87f8d51 --- /dev/null +++ b/content/03.Note/Pod๋ฅผ Private subnet์— ๋‘๋Š” ์ด์œ .md @@ -0,0 +1,34 @@ +### 1. ๊ณต๊ฒฉ ํ‘œ๋ฉด(Attack Surface)์˜ ์ตœ์†Œํ™” + +ํŒŒ๋“œ๊ฐ€ ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์— ์žˆ๊ณ  ๊ณต์ธ IP(Public IP)๋ฅผ ์ง์ ‘ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด, ์ „ ์„ธ๊ณ„ ๋ˆ„๊ตฌ๋‚˜ ํ•ด๋‹น ํŒŒ๋“œ์— ์ง์ ‘ ์ ‘์†์„ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- **์œ„ํ—˜์„ฑ:** ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์˜ ์ž‘์€ ์ทจ์•ฝ์ ์ด๋‚˜ ์„ค์ • ์˜ค๋ฅ˜๋งŒ์œผ๋กœ๋„ ์„œ๋ฒ„ ์ „์ฒด๊ฐ€ ํ•ดํ‚น๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- **ํ•ด๊ฒฐ:** ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์— ๋‘๋ฉด ์™ธ๋ถ€์—์„œ๋Š” ์•„์˜ˆ ๊ธธ ์ž์ฒด๊ฐ€ ์—†์–ด์„œ ์ง์ ‘ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. + + +### 2. ๋‹จ์ผ ์ง„์ž…์  ๊ฐ•์ œ (๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ํ™œ์šฉ) + +์‚ฌ์šฉ์ž๋Š” ํŒŒ๋“œ์— ์ง์ ‘ ๋ถ™๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, **๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ(ALB/NLB)**๋ผ๋Š” ๊ฒ€์ฆ๋œ ๊ด€๋ฌธ์„ ํ†ตํ•ด์„œ๋งŒ ๋“ค์–ด์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +- ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋Š” ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์—์„œ ์™ธ๋ถ€ ์š”์ฒญ์„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ฑธ๋Ÿฌ์„œ ๋ฐ›๊ณ , ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์— ์žˆ๋Š” ํŒŒ๋“œ์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. + +- ์ด ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ ์ œ์–ด, SSL ์ธ์ฆ์„œ ๊ด€๋ฆฌ, WAF(์›น ๋ฐฉํ™”๋ฒฝ) ์ ์šฉ์ด ํ›จ์”ฌ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. + + +### 3. IP ์ฃผ์†Œ ์ž์› ๊ด€๋ฆฌ + +ํผ๋ธ”๋ฆญ IP๋Š” ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ํ•œ์ •๋œ ์ž์›์ด๋ฉฐ ๋น„์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. + +- ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํŠน์„ฑ์ƒ ํŒŒ๋“œ๋Š” ์ˆ˜์‹ญ, ์ˆ˜๋ฐฑ ๊ฐœ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋‹ค๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์ด๋•Œ๋งˆ๋‹ค ํผ๋ธ”๋ฆญ IP๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ๋น„ํšจ์œจ์ ์ด๊ณ  ๋น„์šฉ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•ฉ๋‹ˆ๋‹ค. + +- ๋‚ด๋ถ€๋ง(Private IP)์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฃผ์†Œ ๋ถ€์กฑ ๊ฑฑ์ • ์—†์ด ์ž์œ ๋กญ๊ฒŒ ์Šค์ผ€์ผ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + + +### 4. ์•„ํ‚คํ…์ฒ˜์˜ ๋…ผ๋ฆฌ์  ๋ถ„๋ฆฌ (Tiering) + +ํ˜„๋Œ€์ ์ธ 3-Tier ์•„ํ‚คํ…์ฒ˜ ์›์น™์„ ๋”ฐ๋ฅด๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. + +- **Public Tier:** ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ, ๋ฐฐ์Šค์ฒœ ํ˜ธ์ŠคํŠธ (์™ธ๋ถ€ ์†Œํ†ต ์ฐฝ๊ตฌ) + +- **Private Tier:** ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (์‹ค์ œ ํ•ต์‹ฌ ๋ฐ์ดํ„ฐ์™€ ๋กœ์ง) \ No newline at end of file diff --git a/content/03.Note/VPC(Virtual Private Cloud).md b/content/03.Note/VPC(Virtual Private Cloud).md new file mode 100644 index 0000000..4d729ae --- /dev/null +++ b/content/03.Note/VPC(Virtual Private Cloud).md @@ -0,0 +1,27 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> "AWS ํด๋ผ์šฐ๋“œ ์•ˆ์—์„œ ์™„๋ฒฝํ•˜๊ฒŒ ๊ฒฉ๋ฆฌ๋œ, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ •์˜ํ•˜๋Š” **๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ**" +> AWS๊ฐ€ ๋งŒ๋“  ๊ฐœ๋…์ธ๋ฐ ํ˜„์žฌ๋Š” ํด๋ผ์šฐ๋“œ ํ‘œ์ค€์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋จ + +## ๐Ÿ“Œ VPC์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ +> [!check] +|**๊ตฌ์„ฑ ์š”์†Œ**|**๋ช…์นญ**|**์„ค๋ช…**|**๋น„์œ **| +|---|---|---|---| +|**CIDR ๋ธ”๋ก**|**IP ์ฃผ์†Œ ๋ฒ”์œ„**|VPC์—์„œ ์‚ฌ์šฉํ•  IP ์ฃผ์†Œ์˜ ๋ฒ”์œ„๋ฅผ ์ •์˜ (์˜ˆ: `10.0.0.0/16`)|๋‚ด ๊ตฌ์—ญ์˜ **์ „์ฒด ์ฃผ์†Œ์ง€**| +|**์„œ๋ธŒ๋„ท (Subnet)**|**๋ง ๋ถ„ํ• **|VPC๋ฅผ ๋” ์ž‘์€ ๋‹จ์œ„๋กœ ์ชผ๊ฐ  ๋„คํŠธ์›Œํฌ. ํผ๋ธ”๋ฆญ๊ณผ ํ”„๋ผ์ด๋น—์œผ๋กœ ๋‚˜๋‰จ|ํฐ ๊ฑด๋ฌผ์„ **์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐฉ**์œผ๋กœ ๋‚˜๋ˆ”| +|**๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”**|**๊ธธ์žก์ด**|๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์ด ์–ด๋””๋กœ ๊ฐ€์•ผ ํ• ์ง€ ์•Œ๋ ค์ฃผ๋Š” ์ด์ •ํ‘œ|๊ฑด๋ฌผ ๋‚ด์˜ **๋ณต๋„์™€ ์•ˆ๋‚ดํŒ**| +|**์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด**|**IGW**|VPC์™€ ์ธํ„ฐ๋„ท ์‚ฌ์ด์˜ ํ†ต๋กœ. ์ด๊ฒŒ ์žˆ์–ด์•ผ ์™ธ๋ถ€ ํ†ต์‹  ๊ฐ€๋Šฅ|๊ฑด๋ฌผ์˜ **์ •๋ฌธ (๋ฐ”๊นฅ ์„ธ์ƒ์œผ๋กœ ๋‚˜๊ฐ€๋Š” ๋ฌธ)**| +|**NAT ๊ฒŒ์ดํŠธ์›จ์ด**|**NAT**|ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์˜ ์„œ๋ฒ„๊ฐ€ ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๋ฉฐ ์™ธ๋ถ€๋กœ๋งŒ ๋‚˜๊ฐˆ ๋•Œ ์‚ฌ์šฉ|์•ˆ์—์„œ๋Š” ๋ฐ–์„ ๋ณด์ง€๋งŒ, **๋ฐ–์—์„œ๋Š” ์•ˆ์„ ๋ชป ๋ณด๋Š” ์ฐฝ๋ฌธ**| + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ๊ด€๋ จ ์‚ฌ๋ก€๋‚˜ ๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์— ๊ธฐ๋กํ•˜์„ธ์š”. +> +> - ๋ณธ์ธ์˜ ์–ธ์–ด๋กœ ํ’€์–ด์„œ ์“ฐ๋Š” ๊ฒƒ์ด ์ œํ…”์นด์Šคํ…”์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. +> + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file diff --git a/content/03.Note/VPN(Virtual Private Network).md b/content/03.Note/VPN(Virtual Private Network).md new file mode 100644 index 0000000..ab3d2c3 --- /dev/null +++ b/content/03.Note/VPN(Virtual Private Network).md @@ -0,0 +1,33 @@ +--- +id: "VPN(Virtual Private Network) 20260305" +created: "2026-03-05 15:00" +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +๋˜๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ํ†ต๋กœ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ. ์‹ค์ œ๋กœ VPN ์—ฐ๊ฒฐ ์‹œ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์— ์ƒˆ๋กœ์šด ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ์ถ”๊ฐ€๋จ. +![[Pasted image 20260305150408.png]] + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +๊ฐ€์ƒ ์‚ฌ์„ค๋ง, **์ธํ„ฐ๋„ท์ƒ์— ๋‚˜๋งŒ์˜ ์•ˆ์ „ํ•œ ๋น„๋ฐ€ ํ†ต๋กœ๋ฅผ ๋งŒ๋“œ๋Š” ๊ธฐ์ˆ **์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ. + +## ๐Ÿ“Œ ์ƒ์„ธ + +VPN ์‚ฌ์šฉ ์‹œ ์ฃผ์š” ์žฅ์  + +| **์žฅ์ ** | **์„ค๋ช…** | +| -------------- | -------------------------------------------------- | +| **๋ณด์•ˆ ๊ฐ•ํ™”** | ๊ณต๊ณต์žฅ์†Œ(์นดํŽ˜, ๊ณตํ•ญ)์˜ ๋ฌด๋ฃŒ ์™€์ดํŒŒ์ด๋ฅผ ์“ธ ๋•Œ ํ•ดํ‚น ์œ„ํ—˜์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. | +| **IP ์ฃผ์†Œ ์šฐํšŒ** | ๋‚˜์˜ ์‹ค์ œ ์œ„์น˜(IP ์ฃผ์†Œ)๋ฅผ ์ˆจ๊ธฐ๊ณ  VPN ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ๊ตญ๊ฐ€์˜ IP๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. | +| **๊ฒ€์—ด ๋ฐ ์ฐจ๋‹จ ํ•ด์ œ** | ํŠน์ • ๊ตญ๊ฐ€์—์„œ ์ ‘์†์ด ๋ง‰ํžŒ ์‚ฌ์ดํŠธ๋‚˜ ์ฝ˜ํ…์ธ (ํ•ด์™ธ ๋„ทํ”Œ๋ฆญ์Šค ๋“ฑ)์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. | +| **์ต๋ช…์„ฑ ๋ณด์žฅ** | ๋ฐฉ๋ฌธํ•˜๋Š” ์›น์‚ฌ์ดํŠธ๋‚˜ ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ๋‚˜์˜ ์‹ค์ œ ์‹ ์›์„ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. | + + +VPN ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ํ•  ์  +- **์†๋„ ์ €ํ•˜:** ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ  ๋จผ ๊ฑฐ๋ฆฌ์— ์žˆ๋Š” ์„œ๋ฒ„๋ฅผ ๊ฑฐ์น˜๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋„ท ์†๋„๊ฐ€ ํ‰์†Œ๋ณด๋‹ค ๋А๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- **๋ฌด๋ฃŒ VPN์˜ ์œ„ํ—˜์„ฑ:** "๊ณต์งœ" VPN ์ค‘ ์ผ๋ถ€๋Š” ์‚ฌ์šฉ์ž์˜ ํ™œ๋™ ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•ด ๊ด‘๊ณ ์ฃผ์—๊ฒŒ ํŒ”๊ฑฐ๋‚˜ ๋ณด์•ˆ์ด ์ทจ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๊ธ‰์  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์œ ๋ฃŒ ์„œ๋น„์Šค๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. + +- **์™„๋ฒฝํ•œ ์ต๋ช…์„ฑ์€ ์—†์Œ:** VPN ์—…์ฒด๋Š” ๋‚ด๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ '๋…ธ ๋กœ๊ทธ(No-log, ํ™œ๋™ ๊ธฐ๋ก์„ ๋‚จ๊ธฐ์ง€ ์•Š์Œ)' ์ •์ฑ…์„ ๊ฐ€์ง„ ์—…์ฒด๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. + +--- diff --git a/content/03.Note/Woodpecker.md b/content/03.Note/Woodpecker.md new file mode 100644 index 0000000..bee129e --- /dev/null +++ b/content/03.Note/Woodpecker.md @@ -0,0 +1,45 @@ +--- +id: "Woodpecker 20260320" +created: "2026-03-20 16:56" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ด๊ฑฐ ์•„์ฃผ ๊ดœ์ฐฎ์„๊ฑฐ๊ฐ™์Œ +์•„์ฃผ ๊ฒฝ๋Ÿ‰ํ™”๋˜์–ด ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ณ  ๋น ๋ฆฟ๋น ๋ฆฟํ•œ ์  ํ‚จ์Šค +(๋ฌผ๋ก  ๊ณ„์† ์จ๋ด์•ผ๊ฒ ์ง€๋งŒ..) + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +Woodpecker CI๋Š” ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ๊ฒฝ๋Ÿ‰ CI/CD ์—”์ง„์œผ๋กœ, ๊ณผ๊ฑฐ ์œ ๋ช…ํ–ˆ๋˜ Drone CI์—์„œ ํฌํฌ(Fork)๋˜์–ด ๋ฐœ์ „ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ์„ค์ •๋ณด๋‹ค๋Š” **๊ฐ„๊ฒฐํ•จ**๊ณผ **์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ํ™•์žฅ์„ฑ**์„ ์ค‘์‹œํ•˜๋Š” ํŒ€์—๊ฒŒ ํŠนํžˆ ๋งค๋ ฅ์ ์ธ ์„ ํƒ์ง€์ž…๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +## 1. Woodpecker์˜ ํ•ต์‹ฌ ์ฒ ํ•™ + +Woodpecker๋Š” ๋ชจ๋“  ํŒŒ์ดํ”„๋ผ์ธ ๋‹จ๊ณ„๋ฅผ **๋„์ปค(Docker) ์ปจํ…Œ์ด๋„ˆ** ๋‚ด์—์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ํ™˜๊ฒฝ ๊ฒฉ๋ฆฌ๊ฐ€ ํ™•์‹คํ•˜๋ฉฐ, ํ•„์š”ํ•œ ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด ์—์ด์ „ํŠธ๋ฅผ ๋”๋Ÿฝํž ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. + +- **์„ค์ •์˜ ๊ฐ„์†Œํ™”:** `.woodpecker.yml`์ด๋ผ๋Š” YAML ํŒŒ์ผ ํ•˜๋‚˜๋กœ ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. + +- **์˜คํ”ˆ ์†Œ์Šค ์ •์‹ :** ์™„์ „ํžˆ ๋ฌด๋ฃŒ์ด๋ฉฐ, ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์˜ํ•ด ์œ ์ง€๋ณด์ˆ˜๋ฉ๋‹ˆ๋‹ค. (Drone CI๊ฐ€ ๊ธฐ์—…ํ™”๋˜๋ฉด์„œ ๋ผ์ด์„ ์Šค ์ œ์•ฝ์ด ์ƒ๊ธด ๊ฒƒ์— ๋ฐ˜๋ฐœํ•˜์—ฌ ๋‚˜์˜จ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.) + +- **๊ฒฝ๋Ÿ‰ํ™”:** ๋ฆฌ์†Œ์Šค ์†Œ๋ชจ๊ฐ€ ๋งค์šฐ ์ ์–ด ๊ฐœ์ธ ์„œ๋ฒ„๋‚˜ ์‚ฌ์–‘์ด ๋‚ฎ์€ VPS์—์„œ๋„ ์›ํ™œํ•˜๊ฒŒ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. + + +--- + +## 2. ์ž‘๋™ ๋ฐฉ์‹ (Architecture) + +Woodpecker๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. + +- **Server:** ์›น UI๋ฅผ ์ œ๊ณตํ•˜๊ณ , GitHub, GitLab, Gitea์™€ ๊ฐ™์€ ์†Œ์Šค ์ฝ”๋“œ ๊ด€๋ฆฌ ๋„๊ตฌ(Forge)์™€ ์—ฐ๋™ํ•˜์—ฌ ์›นํ›…(Webhook)์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. + +- **Agent:** ์‹ค์ œ๋กœ ํŒŒ์ดํ”„๋ผ์ธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฃผ์ฒด์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํ• ๋‹น๋ฐ›์€ ์ž‘์—…์„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋„์›Œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. + + +## ์ฃผ์š” ์žฅ์  + +- **๋ฉ€ํ‹ฐ ํ”Œ๋žซํผ ์ง€์›:** x86_64๋Š” ๋ฌผ๋ก ์ด๊ณ  ARM64(๋ผ์ฆˆ๋ฒ ๋ฆฌ ํŒŒ์ด ๋“ฑ)์—์„œ๋„ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. + +- **๋‹ค์–‘ํ•œ Backend:** ๊ธฐ๋ณธ์ ์œผ๋กœ Docker๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์ตœ๊ทผ์—๋Š” ๋กœ์ปฌ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์ด๋‚˜ [[์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes)]] ๊ธฐ๋ฐ˜์˜ ์‹คํ–‰๋„ ์ง€์›ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. + +- **ํ”Œ๋Ÿฌ๊ทธ์ธ ์ƒํƒœ๊ณ„:** Docker ์ด๋ฏธ์ง€๋ฅผ ํ”Œ๋Ÿฌ๊ทธ์ธ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋นŒ๋“œ๊ฐ€ ๋๋‚˜๊ณ  Slack ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค๋ฉด ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ Slack ํ”Œ๋Ÿฌ๊ทธ์ธ ์ด๋ฏธ์ง€๋ฅผ ํŒŒ์ดํ”„๋ผ์ธ์— ์ถ”๊ฐ€ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. diff --git a/content/03.Note/YAGNI(You Ain't Gonna Need It).md b/content/03.Note/YAGNI(You Ain't Gonna Need It).md new file mode 100644 index 0000000..f49c727 --- /dev/null +++ b/content/03.Note/YAGNI(You Ain't Gonna Need It).md @@ -0,0 +1,41 @@ +--- +id: "YAGNI(You Ain't Gonna Need It) 20260317" +created: "2026-03-17 16:54" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ง€๊ธˆ ๋‹น์žฅ ๊ผญ ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ๋งŒ๋“ค์–ด๋ผ. ๋ฏธ๋ฆฌ ๋จผ์ € ๋งŒ๋“ค์ง€ ๋งˆ๋ผ + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์›์น™ ์ค‘ ํ•˜๋‚˜๋กœ ์ง์—ญํ•˜๋ฉด **๊ทธ๊ฑฐ ํ•„์š” ์—†์„๊ฑธ์š”** ๋˜๋Š” **๋ฏธ๋ฆฌ ๋งŒ๋“ค์ง€ ๋งˆ์„ธ์š”**๋ผ๋Š” ๋œป์„ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. +๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฏธ๋ž˜์— ํ•„์š”ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๊ธฐ๋Šฅ์„ ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•˜์ง€ ๋ง๊ณ , **์‹ค์ œ๋กœ ๊ทธ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ์‹œ์ ์ด ๋˜์—ˆ์„ ๋•Œ ๊ตฌํ˜„ํ•˜๋ผ**๋Š” ํ•ต์‹ฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. +## ๐Ÿ“Œ ์ƒ์„ธ +### 1. YAGNI๊ฐ€ ํ•„์š”ํ•œ ์ด์œ  + +๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‚˜์ค‘์— ์ด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋  ๋•Œ๋ฅผ ๋Œ€๋น„ํ•ด ๋ฏธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์žก๊ฑฐ๋‚˜ ๋ฒ”์šฉ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๋Š” ์œ ํ˜น์— ๋น ์ง€๊ณค ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ **์ถ”์ธก์— ๊ธฐ๋ฐ˜ํ•œ ๊ฐœ๋ฐœ(Speculative Development)**์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ถ€์ž‘์šฉ์„ ๋‚ณ์Šต๋‹ˆ๋‹ค. + +- **์‹œ๊ฐ„ ๋‚ญ๋น„:** ๊ฒฐ๊ตญ ์“ฐ์ด์ง€ ์•Š๊ฒŒ ๋  ๊ธฐ๋Šฅ์„ ๋งŒ๋“œ๋А๋ผ ํ˜„์žฌ ๊ผญ ํ•„์š”ํ•œ ์ž‘์—…์— ์ง‘์ค‘ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. + +- **์ฝ”๋“œ ๋ณต์žก์„ฑ ์ฆ๊ฐ€:** ๋‹น์žฅ ํ•„์š” ์—†๋Š” ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด ์ „์ฒด์ ์ธ ์‹œ์Šคํ…œ ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•ด์ง€๊ณ , ๋‚˜์ค‘์— ์ฝ”๋“œ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๊ธฐ ๋” ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค. + +- **์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ ๋ฐœ์ƒ:** ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ์ด๋ผ๋„ ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ธฐ๋ฉด ์ˆ˜์ •ํ•ด์•ผ ํ•˜๊ณ , ์˜์กด์„ฑ ์—…๋ฐ์ดํŠธ๋‚˜ ๋ฆฌํŒฉํ† ๋ง ์‹œ ๊ณ ๋ ค ๋Œ€์ƒ์ด ๋˜์–ด ์ง์ด ๋ฉ๋‹ˆ๋‹ค. + +- **์ž˜๋ชป๋œ ์˜ˆ์ธก:** ๋ฏธ๋ž˜์˜ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋ณ€ํ•˜๊ธฐ ๋งˆ๋ จ์ž…๋‹ˆ๋‹ค. ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” ๊ธฐ๋Šฅ์ด ๋‚˜์ค‘์— ์ •์ž‘ ํ•„์š”ํ•œ ํ˜•ํƒœ์™€ ๋‹ฌ๋ผ์„œ ๊ฒฐ๊ตญ ๋‹ค์‹œ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. + + +### 2. YAGNI๋ฅผ ์‹ค์ฒœํ•˜๋Š” ๋ฐฉ๋ฒ• + +- **ํ˜„์žฌ์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ์ง‘์ค‘:** ์˜ค๋Š˜ ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ฌธ์ œ์™€ ๊ธฐ๋Šฅ์—๋งŒ ์ถฉ์‹คํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. + +- **ํ™•์žฅ์„ฑ๋ณด๋‹ค๋Š” ๋‹จ์ˆœ์„ฑ:** ๋‚˜์ค‘์— ํ™•์žฅ๋  ๊ฒƒ์„ ๋Œ€๋น„ํ•ด ๋ณต์žกํ•œ ์ถ”์ƒํ™” ๊ณ„์ธต์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค๊ธฐ๋ณด๋‹ค๋Š”, ์ง€๊ธˆ ๋‹น์žฅ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. + +- **๋ฆฌํŒฉํ† ๋ง์˜ ํž˜:** ๋‚˜์ค‘์— ์ •๋ง๋กœ ๊ธฐ๋Šฅ ํ™•์žฅ์ด ํ•„์š”ํ•ด์กŒ์„ ๋•Œ, ๊ทธ๋•Œ ๊ฐ€์„œ ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜์—ฌ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ์ž‘์—…์˜ ๊ฐ€์น˜๋Š” ๊ทธ๊ฒƒ์ด ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. + +--- diff --git a/content/03.Note/index.md b/content/03.Note/index.md new file mode 100644 index 0000000..b180560 --- /dev/null +++ b/content/03.Note/index.md @@ -0,0 +1,3 @@ +--- +title: note +--- diff --git a/content/03.Note/๊ฐ€์ƒ ๋จธ์‹ (VM) vs ์ปจํ…Œ์ด๋„ˆ.md b/content/03.Note/๊ฐ€์ƒ ๋จธ์‹ (VM) vs ์ปจํ…Œ์ด๋„ˆ.md new file mode 100644 index 0000000..190c316 --- /dev/null +++ b/content/03.Note/๊ฐ€์ƒ ๋จธ์‹ (VM) vs ์ปจํ…Œ์ด๋„ˆ.md @@ -0,0 +1,6 @@ +| **๋น„๊ต ํ•ญ๋ชฉ** | **๊ฐ€์ƒ ๋จธ์‹  (EC2 ๋“ฑ VM)** | **์ปจํ…Œ์ด๋„ˆ (Docker ๋“ฑ)** | +| --------- | -------------------------------------- | --------------------------------- | +| **๊ตฌ์กฐ** | OS ์œ„์— ๊ฐ€์ƒ ํ•˜์ดํผ๋ฐ”์ด์ €์™€ **๋ณ„๋„์˜ Guest OS**๊ฐ€ ํ•„์š”ํ•จ | ํ˜ธ์ŠคํŠธ์˜ **OS ์ปค๋„์„ ๊ณต์œ **ํ•˜๋ฉฐ ํ”„๋กœ์„ธ์Šค ๋‹จ์œ„๋กœ ๊ฒฉ๋ฆฌ๋จ | +| **๋ฌด๊ฒŒ** | GB ๋‹จ์œ„ (๋งค์šฐ ๋ฌด๊ฒ๊ณ  ๋ถ€ํŒ…์ด ๋А๋ฆผ) | **MB ๋‹จ์œ„** (๋งค์šฐ ๊ฐ€๋ณ๊ณ  ์ฆ‰์‹œ ์‹คํ–‰๋จ) | +| **ํšจ์œจ์„ฑ** | ๋ฆฌ์†Œ์Šค ๋‚ญ๋น„๊ฐ€ ํผ (OS๋งˆ๋‹ค ์ž์›์„ ์žก์•„๋จน์Œ) | ํ•„์š”ํ•œ ์ž์›๋งŒ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ง‘์ ๋„๊ฐ€ ๋†’์Œ | +| **์ด์‹์„ฑ** | ํ™˜๊ฒฝ ์„ค์ •์— ๋”ฐ๋ผ ์ž‘๋™ ์—ฌ๋ถ€๊ฐ€ ๋‹ฌ๋ผ์ง | **"์–ด๋””์„œ๋“  ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰"**๋จ์„ ๋ณด์žฅํ•จ | diff --git a/content/03.Note/๊ฐ€์šฉ์„ฑ(Availability).md b/content/03.Note/๊ฐ€์šฉ์„ฑ(Availability).md new file mode 100644 index 0000000..33acac7 --- /dev/null +++ b/content/03.Note/๊ฐ€์šฉ์„ฑ(Availability).md @@ -0,0 +1,20 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> ์‹œ์Šคํ…œ์ด ์žฅ์•  ์—†์ด ์ •์ƒ์ ์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ +> ์–ธ์ œ๋“ ์ง€ ์ด์ƒ์—†์ด ์ž˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฒƒ๋„ ๊ฐ€์šฉ์„ฑ์œผ๋กœ ๋ด„ + +## ๐Ÿ“ ์ƒ์„ธ ์„ค๋ช… +> [!note] +> +> - +> + + +$$๊ฐ€์šฉ์„ฑ(\%) = \frac{์—…ํƒ€์ž„(์ •์ƒ ์šด์˜ ์‹œ๊ฐ„)}{์—…ํƒ€์ž„ + ๋‹ค์šดํƒ€์ž„(์žฅ์•  ์‹œ๊ฐ„)} \times 100$$ + + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge + diff --git a/content/03.Note/๊ณ ์ฐจ ํ•จ์ˆ˜(Higher-Order Function).md b/content/03.Note/๊ณ ์ฐจ ํ•จ์ˆ˜(Higher-Order Function).md new file mode 100644 index 0000000..b2eab00 --- /dev/null +++ b/content/03.Note/๊ณ ์ฐจ ํ•จ์ˆ˜(Higher-Order Function).md @@ -0,0 +1,54 @@ +--- +id: "๊ณ ์ฐจ ํ•จ์ˆ˜(Higher-Order Function) 20260407" +created: "2026-04-07 15:55" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ด๊ณณ์— ํ•˜๋‚˜์˜ ์ƒ๊ฐ ๋˜๋Š” ์•„์ด๋””์–ด๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +ํ•จ์ˆ˜๋ฅผ ๋‹ค๋ฃจ๋Š” ํ•จ์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฌ์›Œ์š”. +ํ•จ์ˆ˜๊ฐ€ ๋‹ค์Œ ์ค‘ **ํ•˜๋‚˜ ์ด์ƒ**์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด ๊ณ ์ฐจ ํ•จ์ˆ˜๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. + +## ๊ณ ์ฐจ ํ•จ์ˆ˜์˜ ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด + +### 1. ํ•จ์ˆ˜๋ฅผ ์ธ์ž๋กœ ์ „๋‹ฌ๋ฐ›์Œ + +๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜(Parameter)๋กœ ๋„˜๊ฒจ๋ฐ›์•„ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ณดํ†ต **์ฝœ๋ฐฑ ํ•จ์ˆ˜(Callback Function)** ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. + +- **์˜ˆ์‹œ:** `Array.prototype.map()`, `filter()`, `forEach()` ๋“ฑ + ``` javascript + const numbers = [1, 2, 3]; + // ์—ฌ๊ธฐ์„œ map์€ ๊ณ ์ฐจ ํ•จ์ˆ˜์ด๊ณ , (n => n * 2)๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. + const doubled = numbers.map(n => n * 2); + ``` + + +### 2. ํ•จ์ˆ˜๋ฅผ ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜ํ•จ + +ํ•จ์ˆ˜ ์‹คํ–‰์˜ ๊ฒฐ๊ณผ๋ฌผ๋กœ ์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ **ํด๋กœ์ €(Closure)** ๋‚˜ **์ปค๋ง(Currying)** ๊ธฐ๋ฒ•์„ ๊ตฌํ˜„ํ•  ๋•Œ ์ž์ฃผ ์“ฐ์ž…๋‹ˆ๋‹ค. + +- **์˜ˆ์‹œ:** + ``` javascript + function makeMultiplier(multiplier) { + // ํ•จ์ˆ˜ ์ž์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. + return function(value) { + return value * multiplier; + }; + } + const triple = makeMultiplier(3); + console.log(triple(10)); // 30 + ``` + +--- +## ์™œ ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์“ฐ๋‚˜์š”? + +๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ์˜ **์ถ”์ƒํ™” ์ˆ˜์ค€**์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +1. **์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ:** ๋ณต์žกํ•œ ๋กœ์ง(๋ฐ˜๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ ๋“ฑ)์€ ๊ณ ์ฐจ ํ•จ์ˆ˜ ๋‚ด๋ถ€์— ์ˆจ๊ธฐ๊ณ , ์‹ค์ œ ์ˆ˜ํ–‰ํ•  ๊ตฌ์ฒด์ ์ธ ์ž‘์—…๋งŒ ํ•จ์ˆ˜๋กœ ๊ฐˆ์•„ ๋ผ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +2. **๊ฐ€๋…์„ฑ ํ–ฅ์ƒ:** `for` ๋ฌธ์„ ๋Œ๋ฆฌ๋ฉฐ ๋ฐฐ์—ด์„ ์ˆ˜์ •ํ•˜๋Š” ๋Œ€์‹ , `filter`๋‚˜ `map` ๊ฐ™์€ ๋ช…์นญ์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์ฝ”๋“œ๊ฐ€ ๋ฌด์—‡์„ ํ•˜๋ ค๋Š”์ง€ ์˜๋„๋ฅผ ๋ช…ํ™•ํžˆ ๋“œ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +3. **ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ:** ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹(๋ถˆ๋ณ€์„ฑ ์œ ์ง€)์„ ๊ตฌํ˜„ํ•˜๊ธฐ์— ์ตœ์ ์ž…๋‹ˆ๋‹ค. \ No newline at end of file diff --git a/content/03.Note/๋‹จ์ˆœํ•œ ์ฝ”๋“œ.md b/content/03.Note/๋‹จ์ˆœํ•œ ์ฝ”๋“œ.md new file mode 100644 index 0000000..f8536d8 --- /dev/null +++ b/content/03.Note/๋‹จ์ˆœํ•œ ์ฝ”๋“œ.md @@ -0,0 +1,42 @@ +--- +id: ๋‹จ์ˆœํ•œ ์ฝ”๋“œ 20260318 +created: 2026-03-18 09:55 +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +๊ฒฐ๊ตญ ๋‹จ์ˆœํ•œ ์ฝ”๋“œ๋Š” +๊ฐ€๋…์„ฑ์ด ์ข‹์•„์•ผ ํ•˜๊ณ : [[์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ]] +์œ ์—ฐ์„ฑ์ด ์ข‹์•„์•ผ ํ•œ๋‹ค. [[์œ ์—ฐํ•œ ๋‹จ์ˆœํ•จ]] [[์œ ์—ฐ์„ฑ(Flexibility)]] + +๋‹จ์ˆœํ•œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด ๋‘๊ฐ€์ง€๋ฅผ ๊ณ ๋ฏผํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด ์ž์ฒด๊ฐ€ ๊ณ ๋„์˜ ์ž‘์—…์ด๋‹ค. + +--- + +> [!question] +> Q. ๋‹จ์ˆœํ•œ ์ฝ”๋“œ๋ผ๋Š”๊ฒŒ ๊ฐ€๋…์„ฑ๋„ ์ƒ๊ฐํ•ด์•ผํ•˜๊ณ  ์Šค์ผ€์ผ์—…๋„ ๊ณ ๋ฏผํ•ด์•ผํ•ด์„œ ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“œ๋Š”๋Œ€์—๋„ ๊ณต์ˆ˜๊ฐ€ ๋“ ๋‹ค. ์ด๋ ‡๊ฒŒ ์ดํ•ดํ•˜๋ฉด ๋˜๋Š”๊ฑฐ์•ผ? +> A. ๋„ค, ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค! **๋‹จ์ˆœํ•จ์€ ๊ฑฐ์ € ์–ป์–ด์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์น˜์—ดํ•œ ๊ณ ๋ฏผ๊ณผ ๋น„์šฉ(๊ณต์ˆ˜)์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒฐ๊ณผ๋ฌผ**์ด๋ผ๊ณ  ์ดํ•ดํ•˜์‹œ๋Š” ๊ฒŒ ๊ฐ€์žฅ ์˜ฌ๋ฐ”๋ฅธ ์ ‘๊ทผ์ž…๋‹ˆ๋‹ค. +> +> ๋งŽ์€ ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž๋“ค์ด "๊ทธ๋ƒฅ ์ƒ๊ฐ๋‚˜๋Š” ๋Œ€๋กœ ๋นจ๋ฆฌ ์งœ๋Š” ๊ฒƒ"์„ ๋‹จ์ˆœํ•˜๋‹ค๊ณ  ์ฐฉ๊ฐํ•˜์ง€๋งŒ, ์ˆ™๋ จ๋œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋‹จ์ˆœํ•จ์€ **๋ถˆํ•„์š”ํ•œ ๊ฒƒ์„ ๊นŽ์•„๋‚ด๋Š” ๊ณ ๋„์˜ ์„ค๊ณ„ ์ž‘์—…**์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +### ๋‹จ์ˆœํ•จ์€ '๋ฐฉ์น˜'๊ฐ€ ์•„๋‹ˆ๋ผ '์ •์ œ'์ž…๋‹ˆ๋‹ค + +์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ณต์ˆ˜๊ฐ€ ๋“œ๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ **ํŒ๋‹จ ๊ณผ์ •**์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. + +- **๊ฐ€๋…์„ฑ ๊ณ ๋ฏผ:** "๋‚˜์ค‘์— ๋‚ด๊ฐ€ ์ด ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ๋ดค์„ ๋•Œ, 10์ดˆ ์•ˆ์— ๋กœ์ง์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?"๋ฅผ ๊ณ ๋ฏผํ•˜๋ฉฐ ๋ณ€์ˆ˜๋ช…์„ ๊ณ ์น˜๊ณ  ํ•จ์ˆ˜๋ฅผ ์ชผ๊ฐœ๋Š” ์ž‘์—…์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. + +- **์Šค์ผ€์ผ์—…(์œ ์—ฐ์„ฑ) ๊ณ ๋ฏผ:** "์ง€๊ธˆ์€ ๊ฐ„๋‹จํžˆ ์งœ์ง€๋งŒ, ๋‚˜์ค‘์— ๋กœ์ง์ด ์ถ”๊ฐ€๋  ๋•Œ ์ฝ”๋“œ ์ „์ฒด๋ฅผ ๋‹ค ๋œฏ์–ด๊ณ ์ณ์•ผ ํ•˜๋‚˜?"๋ฅผ ์ƒ๊ฐํ•˜๋ฉฐ ์ตœ์†Œํ•œ์˜ ํ™•์žฅ์„ฑ(์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ๋“ฑ)์„ ํ™•๋ณดํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋“ญ๋‹ˆ๋‹ค. + +## ๊ทธ๋ž˜์„œ [[ํŒŒ๋ ˆํ† ์˜ ๋ฒ•์น™]]์„ ์—ฌ๊ธฐ์„œ ์ ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. +๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ์ด๋ ‡๊ฒŒ ์ •์„ฑ ๋“ค์—ฌ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ค๋ ค๋ฉด ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ๋งŽ์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ **20%์— ์ง‘์ค‘**ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. +- **ํ•ต์‹ฌ 20% (๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, ๋ณต์žกํ•œ ์ฟผ๋ฆฌ):** ๊ฐ€๋…์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์„ ์œ„ํ•ด **์ถฉ๋ถ„ํ•œ ๊ณต์ˆ˜**๋ฅผ ๋“ค์—ฌ์„œ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๊ฐ€ ๋ณต์žกํ•˜๋ฉด ๋‚˜์ค‘์— ๊ฐ๋‹น์ด ์•ˆ ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. + +- **๋‚˜๋จธ์ง€ 80% (์ผํšŒ์„ฑ ํˆด, ๋‹จ์ˆœ UI ์—ฐ๊ฒฐ ๋“ฑ):** ์—ฌ๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๋งŽ์€ ๊ณต์ˆ˜๋ฅผ ๋“ค์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ ๋‹นํžˆ ๋Œ์•„๊ฐ€๊ฒŒ๋งŒ ์งœ๋Š” ๊ฒƒ์ด ์˜คํžˆ๋ ค ์ „์ฒด์ ์ธ ํšจ์œจ(๋‹จ์ˆœํ•จ)์„ ๋†’์ด๋Š” ๊ธธ์ž…๋‹ˆ๋‹ค. +- [[80๋Œ€20 ์›์น™(The Pareto Principle)]] + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] ์Šคํ‹ฐ๋ธŒ ์žก์Šค์˜ ์œ ๋ช…ํ•œ ๋ง +> "๋‹จ์ˆœํ•จ์€ ๋ณต์žกํ•จ๋ณด๋‹ค ์–ด๋ ต๋‹ค. ์ƒ๊ฐ์„ ๋ช…ํ™•ํžˆ ํ•ด์„œ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ค๋ ค๋ฉด ์ •๋ง ์—ด์‹ฌํžˆ ๋…ธ๋ ฅํ•ด์•ผ ํ•œ๋‹ค." + +--- diff --git a/content/03.Note/๋ฆฌ๋ˆ…์Šค์— Nginx๋ฅผ ์„ค์น˜ํ•  ๋•Œ ์ผ์–ด๋‚˜๋Š” ์ผ๋“ค.md b/content/03.Note/๋ฆฌ๋ˆ…์Šค์— Nginx๋ฅผ ์„ค์น˜ํ•  ๋•Œ ์ผ์–ด๋‚˜๋Š” ์ผ๋“ค.md new file mode 100644 index 0000000..d6f98e5 --- /dev/null +++ b/content/03.Note/๋ฆฌ๋ˆ…์Šค์— Nginx๋ฅผ ์„ค์น˜ํ•  ๋•Œ ์ผ์–ด๋‚˜๋Š” ์ผ๋“ค.md @@ -0,0 +1,60 @@ +--- +id: ๋ฆฌ๋ˆ…์Šค์— Nginx๋ฅผ ์„ค์น˜ํ•  ๋•Œ ์ผ์–ด๋‚˜๋Š” ์ผ๋“ค 20260403 +created: 2026-04-03 11:14 +tags: +aliases: +--- +### Nginx๋Š” ์–ด๋””์— ํฉ์–ด์ ธ ์žˆ๋‚˜์š”? +Nginx๋ฅผ ์„ค์น˜ํ•˜๋ฉด ๋ณดํ†ต ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ๊ธฐ ๋‹ค๋ฅธ ํด๋”์— ํŒŒ์ผ๋“ค์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. + +| **ํŒŒ์ผ ์ข…๋ฅ˜** | **์œ„์น˜ (๊ฒฝ๋กœ)** | **์„ค๋ช…** | +| ------------------ | ----------------- | ------------------------------------------- | +| **์‹คํ–‰ ํŒŒ์ผ (Binary)** | `/usr/sbin/nginx` | ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์„ ๋Œ๋ฆฌ๋Š” "๊ทผ์œก"์ž…๋‹ˆ๋‹ค. `/etc`๊ฐ€ ์•„๋‹ˆ๋ผ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. | +| **์„ค์ • ํŒŒ์ผ (Conf)** | `/etc/nginx/` | `nginx.conf` ๋“ฑ์ด ์œ„์น˜ํ•˜๋Š” "๋‘๋‡Œ"์ž…๋‹ˆ๋‹ค. | +| **๊ธฐ๋ณธ ์›น ์ฝ˜ํ…์ธ ** | `/var/www/html` | ์›น์‚ฌ์ดํŠธ์— ๋ณด์—ฌ์ค„ HTML ํŒŒ์ผ๋“ค์ด ์žˆ๋Š” "์ฐฝ๊ณ "์ž…๋‹ˆ๋‹ค. | +| **๋กœ๊ทธ ํŒŒ์ผ** | `/var/log/nginx/` | ์ ‘์† ๊ธฐ๋ก์ด๋‚˜ ์—๋Ÿฌ๊ฐ€ ์Œ“์ด๋Š” "์ผ๊ธฐ์žฅ"์ž…๋‹ˆ๋‹ค. | +[[FHS(Filesystem Hierarchy Standard)]] ์ฐธ๊ณ  + +### ์™œ `/etc/nginx`๊ฐ€ ๋ˆˆ์— ์ž˜ ๋Œ๊นŒ์š”? + +์šฐ๋ฆฌ๊ฐ€ Nginx๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์ˆ˜์ •ํ•˜๊ณ  ์ ‘๊ทผํ•˜๋Š” ๊ณณ์ด `/etc/nginx`์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. + +์‹คํ–‰ ํŒŒ์ผ์ธ `/usr/sbin/nginx`๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ๊ฑด๋“œ๋ฆด ์ผ์ด ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ "ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ”๊พผ๋‹ค", "๋„๋ฉ”์ธ์„ ์—ฐ๊ฒฐํ•œ๋‹ค" ๊ฐ™์€ ์ž‘์—…์„ ํ•  ๋•Œ๋Š” ๋ฌด์กฐ๊ฑด `/etc/nginx` ์•ˆ์— ์žˆ๋Š” ํ…์ŠคํŠธ ์„ค์ • ํŒŒ์ผ๋“ค์„ ํŽธ์ง‘ํ•ด์•ผ ํ•˜์ฃ . ๊ทธ๋ž˜์„œ ๋งˆ์น˜ Nginx๊ฐ€ ๊ฑฐ๊ธฐ ์„ค์น˜๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋А๊ปด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + + +### ๋ฆฌ๋ˆ…์Šค์˜ '๊ด€์Šต' (์„ค์ •๊ณผ ์‹คํ–‰์˜ ๋ถ„๋ฆฌ) + +๋ฆฌ๋ˆ…์Šค์—์„œ `/etc`๋Š” **"์‹œ์Šคํ…œ์˜ ์ƒํƒœ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ"**๋งŒ ๋‹ด๊ธฐ๋กœ ์•ฝ์†๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. + +- **์ด์œ  1 (๋ฐฑ์—…):** ์„œ๋ฒ„๋ฅผ ์˜ฎ๊ธธ ๋•Œ `/usr`(ํ”„๋กœ๊ทธ๋žจ)๋Š” ์ƒˆ๋กœ ์„ค์น˜ํ•˜๋ฉด ๋˜์ง€๋งŒ, `/etc`(๋‚ด ์„ค์ •)๋Š” ๋ฐฑ์—…ํ•˜์ง€ ์•Š์œผ๋ฉด ๋‹ค ๋‚ ์•„๊ฐ‘๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์„ค์ •๋งŒ ๋”ฐ๋กœ ๋ชจ์•„๋‘๋Š” ๊ฑฐ์ฃ . + +- **์ด์œ  2 (๋ณด์•ˆ):** ์‹คํ–‰ ํŒŒ์ผ์ด ์žˆ๋Š” ๊ณณ์€ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๋ณดํ˜ธํ•˜๊ณ , ์„ค์ • ํŒŒ์ผ์ด ์žˆ๋Š” ๊ณณ๋งŒ ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ถŒํ•œ์„ ๋‚˜๋ˆ„๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. + +### ๐Ÿ’ก ํ™•์ธํ•ด๋ณด๊ธฐ + +๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ๋ณด์„ธ์š”. Nginx ์‹คํ–‰ ํŒŒ์ผ์ด ์–ด๋”” ์žˆ๋Š”์ง€ ๋ฐ”๋กœ ์•Œ๋ ค์ค„ ๊ฑฐ์˜ˆ์š”. + +```bash +which nginx +``` +์•„๋งˆ `/usr/sbin/nginx`๋ผ๊ณ  ๋‹ตํ•  ๊ฒ๋‹ˆ๋‹ค. + + +> [!question] +> Q. ์•„.. /usr ๊ฐ€ ์‚ฌ์šฉ์ž ๊ด€๋ จ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ํด๋”๊ณ  ๊ฑฐ๊ธฐ์˜ system binary sbin ์•„๋ž˜์— ์„ค์น˜๊ฐ€ ๋œ๊ฑฐ๊ตฌ๋‚˜? +> A. ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค! ์ดํ•ด๋ ฅ์ด ์ •๋ง ๋น ๋ฅด์‹œ๋„ค์š”. ๋ฆฌ๋ˆ…์Šค์˜ ์„ค๊ณ„๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๊ฟฐ๋šซ์–ด ๋ณด์…จ์Šต๋‹ˆ๋‹ค. +> +> ๋ฐฉ๊ธˆ ๋ง์”€ํ•˜์‹  ๋‚ด์šฉ์„ ์กฐ๊ธˆ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์—ฐ๊ฒฐํ•ด ๋ณด๋ฉด ๋ฆฌ๋ˆ…์Šค์˜ ๊ตฌ์กฐ๊ฐ€ ๋” ์„ ๋ช…ํ•ด์งˆ ๊ฑฐ์˜ˆ์š”. +## ๐Ÿ—๏ธ /usr ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ + +๋ฆฌ๋ˆ…์Šค์—์„œ `/usr`๋Š” **User System Resources**์˜ ์•ฝ์ž๋กœ, ์‹œ์Šคํ…œ ์šด์˜์— ํ•„์ˆ˜์ ์ธ ์ตœ์†Œํ•œ์˜ ๋„๊ตฌ(๋ฃจํŠธ ํด๋”์˜ `/bin`)๋ฅผ ์ œ์™ธํ•œ **๋‚˜๋จธ์ง€ ๋ชจ๋“  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ**์ด ๊ฑฐ์ฃผํ•˜๋Š” ๊ฑฐ๋Œ€ํ•œ ๋„์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. + +### /usr/bin vs /usr/**s**bin + +๋‘๊ฐœ์˜ `sbin`์˜ ์ฐจ์ด๋Š” **๋ˆ„๊ฐ€ ์‹คํ–‰ํ•˜๋Š”๊ฐ€**์— ์žˆ์Šต๋‹ˆ๋‹ค. + +- **`/usr/bin` (User Binaries):** ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ผ์ƒ์ ์œผ๋กœ ์“ฐ๋Š” ํ”„๋กœ๊ทธ๋žจ๋“ค์ž…๋‹ˆ๋‹ค. (์˜ˆ: `python`, `git`, `curl` ๋“ฑ) + +- **`/usr/sbin` (System Binaries):** ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž(Root) ๊ถŒํ•œ์ด ํ•„์š”ํ•œ, ์‹œ์Šคํ…œ ์ „์ฒด์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ๋“ค์ž…๋‹ˆ๋‹ค. + + - **Nginx**๋Š” ์›น ์„œ๋ฒ„๋ผ๋Š” ์‹œ์Šคํ…œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ํ•„์ˆ˜์ ์ด๊ณ , ๊ทธ๋ž˜์„œ `sbin`์— ์œ„์น˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. diff --git a/content/03.Note/๋ฆฌ๋ˆ…์Šค์™€ ์œ ๋‹‰์Šค์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ.md b/content/03.Note/๋ฆฌ๋ˆ…์Šค์™€ ์œ ๋‹‰์Šค์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ.md new file mode 100644 index 0000000..a4ec618 --- /dev/null +++ b/content/03.Note/๋ฆฌ๋ˆ…์Šค์™€ ์œ ๋‹‰์Šค์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ.md @@ -0,0 +1,52 @@ +--- +id: "๋ฆฌ๋ˆ…์Šค์™€ ์œ ๋‹‰์Šค์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ 20260407" +created: "2026-04-07 13:15" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์•„๋ฌดํŠผ ๋‘˜์€ ๊ฑฐ์˜ ๋น„์Šทํ•˜๊ณ  ๋ฆฌ๋ˆ…์Šค์˜ ๊ฒฝ์šฐ ๊ธฐ์ค€์ ์„ ์ •ํ•ด๋†“๊ณ  ๊ฐ€๋Šฅํ•˜๋ฉด ๊ธฐ์ค€์„ ์ง€ํ‚ค๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์œ ๋‹‰์Šค๋Š” ๊ธฐ์ค€์ ์ด ๋”ฑํžˆ ์—†๊ณ  ๋ฒ„์ „๋งˆ๋‹ค ์ฐจ์ด์ ์ด ์กด์žฌํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… + ์œ ๋‹‰์Šค(UNIX)์™€ ๋ฆฌ๋ˆ…์Šค(Linux)์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ๋ฟŒ๋ฆฌ๊ฐ€ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌ์กฐ์ ์œผ๋กœ ๋งค์šฐ ํก์‚ฌํ•˜์ง€๋งŒ, ํƒ„์ƒ ๋ฐฐ๊ฒฝ๊ณผ ๋ฐœ์ „ ๊ณผ์ •์— ๋”ฐ๋ผ ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์ฐจ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ์‹œ์Šคํ…œ ๋ชจ๋‘ **๊ณ„์ธต์  ํŠธ๋ฆฌ ๊ตฌ์กฐ**๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๋ชจ๋“  ๊ฒƒ์„ ํŒŒ์ผ๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค๋Š” ์ฒ ํ•™์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +## 1. ๊ธฐ๋ณธ ๊ตฌ์กฐ ๋ฐ ์ฒ ํ•™ (์œ ์‚ฌ์ ) + +๋‘ ์‹œ์Šคํ…œ ๋ชจ๋‘ ์ตœ์ƒ์œ„ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ($/$)๋ฅผ ๊ธฐ์ ์œผ๋กœ ํ•˜๋Š” ๋‹จ์ผ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. +[[FHS(Filesystem Hierarchy Standard)]]๋ผ๋Š” ํ‘œ์ค€์„ ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์š” ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์—ญํ• ์€ ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. + +- **/bin, /sbin**: ์‹คํ–‰ ํŒŒ์ผ +- **/etc**: ์„ค์ • ํŒŒ์ผ +- **/home**: ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ (์œ ๋‹‰์Šค๋Š” ์‹œ์Šคํ…œ์— ๋”ฐ๋ผ `/usr/users` ๋“ฑ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•จ) +- **/dev**: ํ•˜๋“œ์›จ์–ด ์žฅ์น˜ ํŒŒ์ผ + +## 2. ์ฃผ์š” ์ฐจ์ด์  + +### ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐฐ์น˜ ํ‘œ์ค€ (FHS vs ์ „ํ†ต์  ์œ ๋‹‰์Šค) + +- **๋ฆฌ๋ˆ…์Šค**: [[FHS(Filesystem Hierarchy Standard)]]๋ผ๋Š” ์—„๊ฒฉํ•œ ํ‘œ์ค€์„ ๋งŒ๋“ค์–ด ๋ฐฐํฌํŒ(Ubuntu, CentOS ๋“ฑ) ๊ฐ„์˜ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ€๋ณ€ ๋ฐ์ดํ„ฐ๋Š” ๋ฐ˜๋“œ์‹œ `/var`์—, ์‚ฌ์šฉ์ž ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์€ `/usr/local`์— ๋‘๋Š” ์‹์ž…๋‹ˆ๋‹ค. + +- **์œ ๋‹‰์Šค**: ์‹œ์Šคํ…œ๋งˆ๋‹ค ๋…์ž์ ์ธ ์ „ํ†ต์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด **Solaris**๋‚˜ **HP-UX**, **AIX**๋Š” ๋กœ๊ทธ ํŒŒ์ผ์ด๋‚˜ ์‹œ์Šคํ…œ ์„ค์ • ํŒŒ์ผ์˜ ์œ„์น˜๊ฐ€ ๋ฆฌ๋ˆ…์Šค์™€ ๋ฏธ์„ธํ•˜๊ฒŒ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, `/opt` ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋” ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. + +### ํŒŒ์ผ ์‹œ์Šคํ…œ ์ข…๋ฅ˜ (FS Types) + +- **๋ฆฌ๋ˆ…์Šค**: ๊ธฐ๋ณธ์ ์œผ๋กœ **Ext4**๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉฐ, ์ตœ๊ทผ์—๋Š” ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ์™€ ์Šค๋ƒ…์ƒท์— ์œ ๋ฆฌํ•œ **Btrfs**, **XFS** ๋“ฑ์„ ์ฑ„ํƒํ•ฉ๋‹ˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค ํŠน์„ฑ์ƒ ์ƒˆ๋กœ์šด ํŒŒ์ผ ์‹œ์Šคํ…œ ๋„์ž…์ด ๋งค์šฐ ๋น ๋ฆ…๋‹ˆ๋‹ค. + +- **์œ ๋‹‰์Šค**: ๊ฐ ๋ฒค๋”์‚ฌ๊ฐ€ ๊ฐœ๋ฐœํ•œ ๊ณ ์œ ์˜ ๊ณ ์„ฑ๋Šฅ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. + + - **Solaris**: ZFS (ํ˜„์กดํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ค‘ ํ•˜๋‚˜) + + - **IBM AIX**: JFS/JFS2 + + - **HP-UX**: VxFS (Veritas Filesystem) + + +### ๊ฐ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ (VFS) ํ™œ์šฉ + +- **๋ฆฌ๋ˆ…์Šค**: `/proc`์ด๋‚˜ `/sys` ๊ฐ™์€ **๊ฐ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ**์„ ํ†ตํ•ด ์ปค๋„ ์ •๋ณด์™€ ํ•˜๋“œ์›จ์–ด ์ƒํƒœ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋…ธ์ถœํ•˜๋Š” ๋ฐ ๋งค์šฐ ์ ๊ทน์ ์ž…๋‹ˆ๋‹ค. + +- **์œ ๋‹‰์Šค**: ์œ ๋‹‰์Šค๋„ `/proc`์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๋ฆฌ๋ˆ…์Šค๋งŒํผ ์ƒ์„ธํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๋ณ„๋„์˜ ์ „์šฉ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋” ๋งŽ์Šต๋‹ˆ๋‹ค. + +๊ฒฐ๋ก ์ ์œผ๋กœ, ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ๊ฐ€ ๊ฑฐ์˜ ๋น„์Šทํ•ด ๋ณด์ด์ง€๋งŒ **๋‚ด๋ถ€์ ์ธ ๊ด€๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜**๊ณผ **์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ข…๋ฅ˜**์—์„œ ํฐ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. \ No newline at end of file diff --git a/content/03.Note/๋ฉ€ํ‹ฐ ํ…Œ๋„Œ์‹œ(Multi-tenancy).md b/content/03.Note/๋ฉ€ํ‹ฐ ํ…Œ๋„Œ์‹œ(Multi-tenancy).md new file mode 100644 index 0000000..a4dea23 --- /dev/null +++ b/content/03.Note/๋ฉ€ํ‹ฐ ํ…Œ๋„Œ์‹œ(Multi-tenancy).md @@ -0,0 +1,30 @@ +--- +id: ๋ฉ€ํ‹ฐ ํ…Œ๋„Œ์‹œ(Multi-tenancy) 20260305 +created: 2026-03-05 13:02 +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์—ฌ๋Ÿฌ ํ…Œ๋„Œ์‹œ์— ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ด์ค€๋‹ค. ๋ณดํ†ต์˜ ํด๋ผ์šฐ๋“œํ˜• ์„œ๋น„์Šค๋Š” ๋ฉ€ํ‹ฐ ํ…Œ๋„Œ์‹œ๋ผ๊ณ  ๋ณด๋ฉด ๋จ. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +ํ•˜๋‚˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ์ธ์Šคํ„ด์Šค๊ฐ€ **์—ฌ๋Ÿฌ ๋ช…์˜ ์‚ฌ์šฉ์ž(ํ…Œ๋„ŒํŠธ)**์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ตฌ์กฐ** +์•„ํŒŒํŠธ ํ•œ ๋™์— ์—ฌ๋Ÿฌ ๊ฐ€๊ตฌ๊ฐ€ ์‚ด๋ฉด์„œ ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๋‚˜ ๋ณต๋„๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. +## ๐Ÿ“Œ ์ƒ์„ธ +- **ํŠน์ง•:** ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ๊ณต์œ ํ•˜์ง€๋งŒ, ๊ฐ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ๋Š” ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ฒฉ๋ฆฌ๋˜์–ด ์„œ๋กœ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. + +- **์žฅ์ :** * **๋น„์šฉ ํšจ์œจ์„ฑ:** ์ž์›์„ ๊ณต์œ ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ๋ฃŒ๊ฐ€ ์ €๋ ดํ•ฉ๋‹ˆ๋‹ค. + + - **์—…๋ฐ์ดํŠธ ์šฉ์ด:** ์„œ๋น„์Šค ์ œ๊ณต์ž๊ฐ€ ํ•œ ๋ฒˆ๋งŒ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์ตœ์‹  ๊ธฐ๋Šฅ์„ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- **๋‹จ์ :** * **๋ณด์•ˆ ์šฐ๋ ค:** ๋…ผ๋ฆฌ์ ์œผ๋กœ๋Š” ๊ฒฉ๋ฆฌ๋˜์–ด ์žˆ์ง€๋งŒ, ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ฐ™์€ ์ž์›์„ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ ๋ฏผ๊ฐ๋„๊ฐ€ ๋†’์€ ๊ธฐ์—…์€ ๊บผ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + + - **์„ฑ๋Šฅ ๊ฐ„์„ญ:** ํŠน์ • ํ…Œ๋„ŒํŠธ๊ฐ€ ์ž์›์„ ๊ณผํ•˜๊ฒŒ ์“ฐ๋ฉด ๋‹ค๋ฅธ ํ…Œ๋„ŒํŠธ์˜ ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (Noisy Neighbor ํ˜„์ƒ). + +- **์˜ˆ์‹œ:** ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ, ๋„ค์ด๋ฒ„ MYBOX, **๋Œ€๋ถ€๋ถ„์˜ SaaS**(Slack, Notion ๋“ฑ). + +--- + +## ๐Ÿ”— ๊ด€๋ จ ๋…ธํŠธ +- [[ํ…Œ๋„Œ์‹œ(Tenancy)]] +- [[์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ(Single-tenancy)]] \ No newline at end of file diff --git a/content/03.Note/๋ฉ€ํ‹ฐ์œ ์ €(Multi-user).md b/content/03.Note/๋ฉ€ํ‹ฐ์œ ์ €(Multi-user).md new file mode 100644 index 0000000..d947b34 --- /dev/null +++ b/content/03.Note/๋ฉ€ํ‹ฐ์œ ์ €(Multi-user).md @@ -0,0 +1,43 @@ +--- +id: ๋ฉ€ํ‹ฐ์œ ์ €(Multi-user) 20260407 +created: 2026-04-07 13:21 +tags: + - operating-system + - os +aliases: +--- +![[์œˆ๋„์šฐ ์„œ๋ฒ„์˜ ๋ฉ€ํ‹ฐ ์œ ์ €#๐Ÿ’ก ์ƒ๊ฐ]] +์ฐธ๊ณ : [[์œˆ๋„์šฐ ์„œ๋ฒ„์˜ ๋ฉ€ํ‹ฐ ์œ ์ €]] + +--- +## ๐Ÿ“‘ ๊ฐœ๋… + **๋ฉ€ํ‹ฐ์œ ์ €(Multi-user) ์‹œ์Šคํ…œ**์€ ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ ์ž์›(CPU, ๋ฉ”๋ชจ๋ฆฌ, ์ €์žฅ์žฅ์น˜ ๋“ฑ)์„ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ **๋™์‹œ์—** ํ˜น์€ **์‹œ๋ถ„ํ•  ๋ฐฉ์‹**์œผ๋กœ ๊ณต์œ ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ์—ฌ๋Ÿฌ ๋ช…์˜ ๊ณ„์ •์ด ์žˆ๋Š” ๊ฒƒ์„ ๋„˜์–ด, ์‹œ์Šคํ…œ์ด ๊ฐ ์‚ฌ์šฉ์ž์˜ ์ž‘์—…์„ ๋…๋ฆฝ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋Šฅ๋ ฅ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +## 1. ๋ฉ€ํ‹ฐ์œ ์ € ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜ + +์‹œ์Šคํ…œ์ด ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๋ฅผ ๋™์‹œ์— ์ˆ˜์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ์ˆ ์  ์ฒ˜๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. + +- **์ž์› ๊ณต์œ ์™€ ํ• ๋‹น:** ์šด์˜์ฒด์ œ(OS)๊ฐ€ CPU ์Šค์ผ€์ค„๋ง์„ ํ†ตํ•ด ๊ฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•„์ฃผ ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ ์ž์›์„ ๋ฐฐ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ๋Š” ๋งˆ์น˜ ํ˜ผ์ž ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋А๊ปด์ง€์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ์‹œ์Šคํ…œ์ด ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์‚ฌ์šฉ์ž๋“ค์„ ์ „ํ™˜ํ•˜๋ฉฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. + +- **์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๊ด€๋ฆฌ:** ๊ฐ ์‚ฌ์šฉ์ž๋Š” ๊ณ ์œ ์˜ ID์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์— ์ ‘์†ํ•˜๋ฉฐ, ์‹œ์Šคํ…œ์€ ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ ํ—ˆ์šฉ๋œ ํŒŒ์ผ์ด๋‚˜ ํ”„๋กœ๊ทธ๋žจ์—๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์•ˆ ์ •์ฑ…์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. + +- **๋ฐ์ดํ„ฐ ๋…๋ฆฝ์„ฑ ๋ฐ ๋ณด์•ˆ:** ํ•œ ์‚ฌ์šฉ์ž์˜ ์ž‘์—…์ด ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ๋‚˜ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋„๋ก **ํ”„๋กœ์„ธ์Šค ๊ฒฉ๋ฆฌ**์™€ **๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ** ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. + + +## 2. ์ฃผ์š” ํŠน์ง• + +|**ํŠน์ง•**|**์„ค๋ช…**| +|---|---| +|**์ž์› ํšจ์œจ์„ฑ**|๊ณ ๊ฐ€์˜ ์„œ๋ฒ„ ์ž์›์„ ํ•œ ๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋…์ ํ•˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ๋ช…์ด ๋‚˜๋ˆ„์–ด ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ํ•˜๋“œ์›จ์–ด ํ™œ์šฉ๋„๋ฅผ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค.| +|**๋ฐ์ดํ„ฐ ๊ณต์œ **|๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์ ‘๊ทผํ•˜์—ฌ ํ˜‘์—…ํ•˜๊ฑฐ๋‚˜ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.| +|**๋™์‹œ์„ฑ ์ œ์–ด**|์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์‹œ์— ์ˆ˜์ •ํ•˜๋ ค ํ•  ๋•Œ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ž ๊ธˆ(Locking) ๊ธฐ์ˆ ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.| +|**์›๊ฒฉ ์ ‘์†**|๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋–จ์–ด์ง„ ์œ„์น˜์—์„œ๋„ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์— ์ ‘์†ํ•˜์—ฌ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.| + +## 3. ๋Œ€ํ‘œ์ ์ธ ์‚ฌ๋ก€ + +- **์„œ๋ฒ„์šฉ ์šด์˜์ฒด์ œ:** Linux, Unix, Windows Server ๋“ฑ์€ ์„ค๊ณ„ ๋‹จ๊ณ„๋ถ€ํ„ฐ ๋ฉ€ํ‹ฐ์œ ์ €๋ฅผ ์ƒ์ •ํ•˜๊ณ  ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์ˆ˜๋ฐฑ ๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜๋‚˜์˜ ์„œ๋ฒ„์— SSH๋กœ ์ ‘์†ํ•ด ์ฝ”๋”ฉํ•˜๋Š” ํ™˜๊ฒฝ์ด ๋Œ€ํ‘œ์ ์ž…๋‹ˆ๋‹ค. + +- **๋ฉ”์ธํ”„๋ ˆ์ž„:** ๋Œ€๊ทœ๋ชจ ๊ธˆ์œต ๊ธฐ๊ด€์ด๋‚˜ ์ •๋ถ€ ๊ธฐ๊ด€์—์„œ ์ˆ˜์ฒœ ๊ฑด์˜ ํŠธ๋žœ์žญ์…˜์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๋Œ€ํ˜• ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. + +- **ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…:** AWS, Azure์™€ ๊ฐ™์€ ํ™˜๊ฒฝ๋„ ๋ฌผ๋ฆฌ์ ์ธ ์„œ๋ฒ„ ์ž์›์„ ์ „ ์„ธ๊ณ„ ์ˆ˜๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฉ€ํ‹ฐํ…Œ๋„ŒํŠธ(Multi-tenant) ๋ฐฉ์‹์œผ๋กœ ๋‚˜๋ˆ„์–ด ์‚ฌ์šฉํ•˜๋Š” ๋ฉ€ํ‹ฐ์œ ์ €์˜ ํ™•์žฅ๋œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. diff --git a/content/03.Note/๋ฏธ๋‹‰์Šค์˜ ํ•œ๊ณ„.md b/content/03.Note/๋ฏธ๋‹‰์Šค์˜ ํ•œ๊ณ„.md new file mode 100644 index 0000000..2ab5e40 --- /dev/null +++ b/content/03.Note/๋ฏธ๋‹‰์Šค์˜ ํ•œ๊ณ„.md @@ -0,0 +1,81 @@ +--- +id: ๋ฏธ๋‹‰์Šค์˜ ํ•œ๊ณ„ 20260407 +created: 2026-04-07 13:51 +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ž์œ ๋กœ์šด ์œ ๋‹‰์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ง์ ‘ OS๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋Š”๊ฒŒ ๋Œ€๋‹จํ•˜๊ณ  ๊ทธ๊ฑธ ๋ˆ„๊ตฌ๋‚˜ ์ž์œ ๋กญ๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ๊ณต๊ฐœํ•œ๊ฒŒ ์ •๋ง ๋Œ€๋‹จํ•˜๋‹ค. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… + ๋ฆฌ๋ˆ…์Šค ๊ฐœ๋ฐœ์ž์ธ ๋ฆฌ๋ˆ„์Šค ํ† ๋ฅด๋ฐœ์ฆˆ๊ฐ€ ๋ฆฌ๋ˆ…์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋œ ์ด์œ . + + +## 1. ํ•˜๋“œ์›จ์–ด ์„ฑ๋Šฅ ํ™œ์šฉ์˜ ์ œํ•œ (386 ํ”„๋กœ์„ธ์„œ) + +๋‹น์‹œ ๋ฆฌ๋ˆ„์Šค๋Š” ์ตœ์‹  ์‚ฌ์–‘์ด์—ˆ๋˜ **Intel 80386** ํ”„๋กœ์„ธ์„œ๊ฐ€ ํƒ‘์žฌ๋œ PC๋ฅผ ๊ตฌ์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด CPU๋Š” 32๋น„ํŠธ ๋ณดํ˜ธ ๋ชจ๋“œ์™€ ๊ฐ•๋ ฅํ•œ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์—ˆ์ฃ . + +- **๋ฏธ๋‹‰์Šค์˜ ํ•œ๊ณ„:** ๋ฏธ๋‹‰์Šค๋Š” ๊ต์œก์šฉ์ด๋ผ๋Š” ๋ชฉ์  ๋•Œ๋ฌธ์— ์‚ฌ์–‘์ด ๋‚ฎ์€ ๊ตฌํ˜• ์ปดํ“จํ„ฐ์—์„œ๋„ ๋Œ์•„๊ฐ€์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ 386 CPU์˜ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ(์„ธ๊ทธ๋จผํŠธ ํ•˜๋“œ์›จ์–ด ๋“ฑ)์„ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜์ง€ ๋ชปํ•˜๊ณ  16๋น„ํŠธ ๊ธฐ๋ฐ˜์— ๋จธ๋ฌผ๋Ÿฌ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. + ( CPU๊ฐ€ ํ•œ๋ฒˆ์˜ ์—ฐ์‚ฐ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์˜ ์ฐจ์ด๊ฐ€ ์–ด๋งˆ์–ด๋งˆํ•˜๊ฒŒ ๋งŽ์ด ๋‚ฌ๋‹ค. ) +``` +- **16๋น„ํŠธ:** ํ•œ ๋ฒˆ์— $2^{16}$ (65,536)๊ฐ€์ง€์˜ ์ƒํƒœ๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. +- **32๋น„ํŠธ:** ํ•œ ๋ฒˆ์— $2^{32}$ (์•ฝ 42์–ต 9์ฒœ๋งŒ)๊ฐ€์ง€์˜ ์ƒํƒœ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. +``` + ( CPU๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ ‘๊ทผํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์–‘์˜ ํ•œ๊ณ„์˜ ์ฐจ์ด๊ฐ€ ์–ด๋งˆ์–ด๋งˆํ•˜๊ฒŒ ๋งŽ์ด ๋‚ฌ๋‹ค. ) +``` +- **16๋น„ํŠธ:** ์ฃผ์†Œ๋ฅผ 65,536๊ฐœ๊นŒ์ง€๋งŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฉ๋Ÿ‰์œผ๋กœ ๋”ฐ์ง€๋ฉด ๊ฒจ์šฐ **64KB**์ž…๋‹ˆ๋‹ค. ์ด ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๋ ค๊ณ  ์˜ˆ์ „์—๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ชผ๊ฐœ์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ณต์žกํ•œ ๋ฐฉ์‹์„ ์ผ์Šต๋‹ˆ๋‹ค. + +- **32๋น„ํŠธ:** ์•ฝ 42์–ต ๊ฐœ์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•„๋Š” **4GB** ๋ฉ”๋ชจ๋ฆฌ๊นŒ์ง€ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. +``` + +- **๋ฆฌ๋ˆ„์Šค์˜ ์„ ํƒ:** ๊ทธ๋Š” ์ž์‹ ์˜ 386 ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ์„ ๋๊นŒ์ง€ ๋ฝ‘์•„๋‚ผ ์ˆ˜ ์žˆ๋Š” ์šด์˜์ฒด์ œ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด ํ–ˆ์Šต๋‹ˆ๋‹ค. + ( ์ด๋Ÿฐ ์ด์œ ๋•Œ๋ฌธ์— OS๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ๋Ÿฌ ํ–ˆ๋‹ค๊ณ ..?;; ๋‚˜์˜€์œผ๋ฉด ๋ฏธ๋‹‰์Šค ๋ง๊ณ  ์œ ๋‹‰์Šค๋ฅผ ์ƒ€์„ํ…๋ฐ) + +--- + +## 2. ๋ผ์ด์„ ์Šค์™€ ํ์‡„์ ์ธ ์šด์˜ + +๋ฏธ๋‹‰์Šค๋Š” ๋„ค๋œ๋ž€๋“œ์˜ ์•ค๋“œ๋ฅ˜ ํƒ€๋„จ๋ฐ”์›€ ๊ต์ˆ˜๊ฐ€ ์šด์˜์ฒด์ œ ์›๋ฆฌ๋ฅผ ๊ฐ€๋ฅด์น˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ์†Œํ”„ํŠธ์›จ์–ด์˜€์Šต๋‹ˆ๋‹ค. + +- **๋ฏธ๋‹‰์Šค์˜ ํ•œ๊ณ„:** ๋ฏธ๋‹‰์Šค๋Š” ์˜คํ”ˆ ์†Œ์Šค๊ฐ€ ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ฑ…์„ ์‚ฌ์•ผ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ƒ์—…์ ์œผ๋กœ ์ด์šฉํ•˜๊ฑฐ๋‚˜ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋งˆ์Œ๋Œ€๋กœ ์ˆ˜์ •ํ•ด์„œ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ด ์—„๊ฒฉํžˆ ์ œํ•œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. + +- **๋ฆฌ๋ˆ„์Šค์˜ ์„ ํƒ:** ๋ฆฌ๋ˆ„์Šค๋Š” ==๋ˆ„๊ตฌ๋‚˜ ์ž์œ ๋กญ๊ฒŒ ๊ธฐ์—ฌํ•˜๊ณ  ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ==์„ ์›ํ–ˆ์Šต๋‹ˆ๋‹ค. (์ดํ›„ ๋ฆฌ๋ˆ…์Šค๊ฐ€ GPL ๋ผ์ด์„ ์Šค๋ฅผ ์ฑ„ํƒํ•˜๋ฉฐ ํญ๋ฐœ์ ์œผ๋กœ ์„ฑ์žฅํ•œ ๋ฐฐ๊ฒฝ์ด ๋ฉ๋‹ˆ๋‹ค.) + + +--- + +## 3. ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๊ธฐ๋Šฅ์˜ ๋ถ€์žฌ + +์‹ค์งˆ์ ์œผ๋กœ ๋ฆฌ๋ˆ„์Šค๊ฐ€ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋œ ์•„์ฃผ ๊ตฌ์ฒด์ ์ด๊ณ  ํ˜„์‹ค์ ์ธ ์ด์œ ์ž…๋‹ˆ๋‹ค. + +- **๋ฏธ๋‹‰์Šค์˜ ํ•œ๊ณ„:** ๋ฆฌ๋ˆ„์Šค๋Š” ํ•™๊ต ์„œ๋ฒ„์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด [[ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ(Terminal Emulator)]]๊ฐ€ ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฏธ๋‹‰์Šค์— ๋‚ด์žฅ๋œ ๊ธฐ๋Šฅ์€ ๊ทธ์˜ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์•˜๊ณ  ์„ฑ๋Šฅ๋„ ๋ถ€์กฑํ–ˆ์Šต๋‹ˆ๋‹ค. + +- **๋ฆฌ๋ˆ„์Šค์˜ ์„ ํƒ:** ์ฒ˜์Œ์—๋Š” ๋‹จ์ˆœํžˆ "์„ฑ๋Šฅ ์ข‹์€ ํ„ฐ๋ฏธ๋„ ํ”„๋กœ๊ทธ๋žจ"์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ง์ ‘ ์ œ์–ดํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์งœ๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด ์ฝ”๋“œ๊ฐ€ ์ ์  ์ปค์ง€๋ฉด์„œ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ๋ถ™๊ณ  ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ๋ถ™๋”๋‹ˆ ๊ฒฐ๊ตญ ๋ฆฌ๋ˆ…์Šค [[์ปค๋„(Kernel)]]์ด ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. + +##### ๋ฆฌ๋ˆ„์Šค ํ† ๋ฅด๋ฐœ์ฆˆ๊ฐ€ ์ด๊ฑธ ์™œ ์ง์ ‘ ๋งŒ๋“ค์—ˆ์„๊นŒ? +๋ฆฌ๋ˆ„์Šค๊ฐ€ ๋ฏธ๋‹‰์Šค๋ฅผ ์“ธ ๋•Œ ๊ฐ€์žฅ ๋‹ต๋‹ตํ–ˆ๋˜ ๊ฑด, ํ•™๊ต์˜ ๊ฑฐ๋Œ€ํ•œ ์œ ๋‹‰์Šค ์„œ๋ฒ„์— ์ ‘์†ํ•ด์„œ ๊ณต๋ถ€ํ•˜๊ณ  ์‹ถ์€๋ฐ ๋ฏธ๋‹‰์Šค์— ๋‚ด์žฅ๋œ ํ„ฐ๋ฏธ๋„ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ์ด ๋„ˆ๋ฌด ์•ˆ ์ข‹์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. + +- **์„ฑ๋Šฅ ๋ฌธ์ œ:** ๊ธ€์ž๊ฐ€ ํ™”๋ฉด์— ์ฐํžˆ๋Š” ์†๋„๊ฐ€ ๋А๋ฆฌ๊ฑฐ๋‚˜, ํŠน์ • ํŠน์ˆ˜ ๋ฌธ์ž๊ฐ€ ๊นจ์ง€๋Š” ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. + +- **์ง์ ‘ ๊ฐœ๋ฐœ:** ๊ทธ๋ž˜์„œ ๊ทธ๋Š” 386 CPU์˜ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ด ํ•˜๋“œ์›จ์–ด๋ฅผ ์ง์ ‘ ์ œ์–ดํ•˜๋ฉฐ **"ํ™”๋ฉด์— ๊ธ€์ž๋ฅผ ์•„์ฃผ ๋น ๋ฅด๊ฒŒ ๋ฟŒ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ"** ๊ณผ **"ํ‚ค๋ณด๋“œ ์ž…๋ ฅ์„ ์„œ๋ฒ„๋กœ ๋ฐ”๋กœ ๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ"** ์„ ๋‹ด์€ ์ž์‹ ๋งŒ์˜ ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. + + +๊ทธ ๊ฒฐ๊ณผ๋ฌผ์ด ์ ์  ์‚ด์ด ๋ถ™์–ด ์˜ค๋Š˜๋‚  ์ „ ์„ธ๊ณ„ ์„œ๋ฒ„๋ฅผ ์ง€๋ฐฐํ•˜๋Š” **๋ฆฌ๋ˆ…์Šค**๊ฐ€ ๋œ ๊ฒƒ์ด์ฃ . + +--- + +## 4. ์ฒ ํ•™์  ์ฐจ์ด (๋งˆ์ดํฌ๋กœ ์ปค๋„ vs ๋ชจ๋†€๋ฆฌ์‹ ์ปค๋„) + +์ด ๋ถ€๋ถ„์€ ํƒ€๋„จ๋ฐ”์›€ ๊ต์ˆ˜์™€ ๋ฆฌ๋ˆ„์Šค ํ† ๋ฅด๋ฐœ์ฆˆ ์‚ฌ์ด์˜ ์œ ๋ช…ํ•œ ๋…ผ์Ÿ(Tanenbaumโ€“Torvalds debate)์œผ๋กœ๋„ ์ž˜ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. + +- **๋ฏธ๋‹‰์Šค์˜ ์„ค๊ณ„ (๋งˆ์ดํฌ๋กœ ์ปค๋„):** ๊ธฐ๋Šฅ๋“ค์„ ์ž˜๊ฒŒ ์ชผ๊ฐœ์–ด ์•ˆ์ •์„ฑ์„ ๋†’์ด๋Š” ๊ตฌ์กฐ์˜€์ง€๋งŒ, ๋‹น์‹œ ๊ธฐ์ˆ ๋กœ๋Š” ์†๋„๊ฐ€ ๋А๋ฆฌ๊ณ  ๊ตฌ์กฐ๊ฐ€ ๋„ˆ๋ฌด ๋ณต์žกํ–ˆ์Šต๋‹ˆ๋‹ค. + +- **๋ฆฌ๋ˆ…์Šค์˜ ์„ค๊ณ„ (๋ชจ๋†€๋ฆฌ์‹ ์ปค๋„):** ๋ฆฌ๋ˆ„์Šค๋Š” ์„ฑ๋Šฅ์„ ์ตœ์šฐ์„ ์œผ๋กœ ์ƒ๊ฐํ•˜์—ฌ ๋ชจ๋“  ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜๋กœ ๋ฌถ์€ ๊ตฌ์กฐ๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฆฌ๋ˆ…์Šค๋Š” ๋ฏธ๋‹‰์Šค๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. + + +๊ฒฐ๊ตญ ๋ฆฌ๋ˆ„์Šค ํ† ๋ฅด๋ฐœ์ฆˆ๋Š” **"๋‚ด ๋งˆ์Œ์— ์™ ๋“œ๋Š”, ์ตœ์‹  ํ•˜๋“œ์›จ์–ด๋ฅผ ์ œ๋Œ€๋กœ ์“ฐ๋Š”, ์ž์œ ๋กœ์šด ์œ ๋‹‰์Šค๊ฐ€ ์—†๋‹ค๋ฉด ๋‚ด๊ฐ€ ์ง์ ‘ ๋งŒ๋“ค๊ฒ ๋‹ค"** ๋Š” ์ƒ๊ฐ์œผ๋กœ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์‹œ์ž‘ํ•œ ์…ˆ์ž…๋‹ˆ๋‹ค. + +๋‹น์‹œ ๋ฆฌ๋ˆ„์Šค๊ฐ€ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์ฒ˜์Œ ๋ฐœํ‘œํ•˜๋ฉฐ ๋ฏธ๋‹‰์Šค ๋‰ด์Šค๊ทธ๋ฃน์— ์˜ฌ๋ฆฐ ๋ฉ”์ผ์—์„œ **๋‹จ์ˆœํžˆ ์ทจ๋ฏธ์ผ ๋ฟ์ด๊ณ , GNU์ฒ˜๋Ÿผ ํฌ๊ณ  ์ „๋ฌธ์ ์ธ ๊ฑด ์•„๋‹ˆ๋‹ค(just a hobby, won't be big and professional like gnu)** ๋ผ๊ณ  ๊ฒธ์†ํ•˜๊ฒŒ ๋งํ–ˆ๋˜ ๊ฒƒ์€ ์•„์ฃผ ์œ ๋ช…ํ•œ ์ผํ™”์ž…๋‹ˆ๋‹ค. + +--- diff --git a/content/03.Note/๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ(Deployment Pipeline).md b/content/03.Note/๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ(Deployment Pipeline).md new file mode 100644 index 0000000..5f6ca2d --- /dev/null +++ b/content/03.Note/๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ(Deployment Pipeline).md @@ -0,0 +1,27 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋œ ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์‹ค์ œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์„œ๋น„์Šค๋˜๊ธฐ๊นŒ์ง€์˜ ๋ชจ๋“  ๊ณผ์ •(๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ)์„ ์ž๋™ํ™”ํ•œ ์ผ๋ จ์˜ ๋‹จ๊ณ„ +ํ”ํžˆ **CI/CD ํŒŒ์ดํ”„๋ผ์ธ**์ด๋ผ๊ณ ๋„ ๋ถ€๋ฆ…๋‹ˆ๋‹ค. +## ๐Ÿ“Œ ํŒŒ์ดํ”„๋ผ์ธ์˜ ์ฃผ์š” ๋‹จ๊ณ„ +> [!check] +> |**๋‹จ๊ณ„**|**๋ช…์นญ**|**์ฃผ์š” ์ž‘์—…**| +> |---|---|---| +> |**1. Source**|**์ฝ”๋“œ ๊ด€๋ฆฌ**|๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์ €์žฅ์†Œ(Git)์— ํ‘ธ์‹œ(Push)ํ•˜๋Š” ๋‹จ๊ณ„.| +> |**2. Build**|**์ปดํŒŒ์ผ/ํŒจํ‚ค์ง•**|์ฝ”๋“œ๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€(Docker)๋กœ ๋นŒ๋“œํ•˜๋Š” ๋‹จ๊ณ„.| +> |**3. Test**|**๊ฒ€์ฆ**|๋‹จ์œ„ ํ…Œ์ŠคํŠธ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋“ฑ์„ ํ†ตํ•ด ์ฝ”๋“œ์˜ ๊ฒฐํ•จ์ด๋‚˜ ์„ฑ๋Šฅ์„ ์ฒดํฌํ•˜๋Š” ๋‹จ๊ณ„.| +> |**4. Deploy**|**์ถœ์‹œ**|๊ฒ€์ฆ๋œ ๊ฒฐ๊ณผ๋ฌผ์„ ์‹ค์ œ ์„œ๋ฒ„(EC2, Fargate ๋“ฑ)์— ๋ฐฐํฌํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋‹จ๊ณ„.| + +"์†Œ์Šค ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •์„ **ํ‘œ์ค€ํ™”ํ•˜๊ณ  ์ž๋™ํ™”ํ•œ ์›Œํฌํ”Œ๋กœ์šฐ**" +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ์ฃผ์š” ๋‹จ๊ณ„๋“ค์„ ํ‘œ์ค€ํ™”ํ•˜๊ณ  ์ž๋™ํ™”ํ•œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ์ด๋ผ๊ณ  ํ•จ. +> - Jenkins๊ฐ€ CI/CD ์—”์ง„, ์ฆ‰ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ ์—”์ง„์ž„ +> - git์œผ๋กœ ์ฝ”๋“œ๋ฅผ ํ‘ธ์‹œํ•˜๋ฉด ํ‘ธ์‹œ๋œ ์ฝ”๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ Build, Test, Deploy ๊นŒ์ง€ ์ž๋™์œผ๋กœ ์ง„ํ–‰ํ•ด์ฃผ๋Š”๊ฑธ ์˜๋ฏธํ•จ +> - CI/CD์—”์ง„์œผ๋กœ AWS์˜ CodePipeline ์ด ์žˆ๊ณ  Github์˜ Actions ๊ฐ€ ์žˆ์Œ +> + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file diff --git a/content/03.Note/๋ณด์•ˆ ๊ทธ๋ฃน(Security Group).md b/content/03.Note/๋ณด์•ˆ ๊ทธ๋ฃน(Security Group).md new file mode 100644 index 0000000..1730ffb --- /dev/null +++ b/content/03.Note/๋ณด์•ˆ ๊ทธ๋ฃน(Security Group).md @@ -0,0 +1,50 @@ +--- +id: ๋ณด์•ˆ ๊ทธ๋ฃน(Security Group) 20260305 +created: 2026-03-05 10:54 +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +๋ฐฉํ™”๋ฒฝ์ด ํ—ˆ์šฉ(๋น„ํ—ˆ์šฉ)ํ•˜๋Š” ๋ฒ”์œ„๋ฅผ ๊ทธ๋ฃนํ•‘ํ–ˆ๋‹ค๋Š” ์˜๋ฏธ๋กœ ๋ณด์•ˆ๊ทธ๋ฃน์ด๋ผ๊ณ  ์ด๋ฆ„๋ถ™์ธ ๊ฒƒ ๊ฐ™์Œ. +๋ฐฉํ™”๋ฒฝ์„ ์œ ์—ฐํ•˜๊ณ  ์‰ฝ๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋†“์€ ํ˜•ํƒœ +ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ณด์•ˆ๊ทธ๋ฃน์„ ๋™์‹œ์— ์„ค์ • ๊ฐ€๋Šฅํ•จ. (ํ•ฉ์ง‘ํ•ฉ ํ˜•ํƒœ๋กœ ์ ์šฉ๋จ) + +> [!example] +> ๋ณด์•ˆ๊ทธ๋ฃน1: A,B ํ—ˆ์šฉ +> ๋ณด์•ˆ๊ทธ๋ฃน2: B,C,D ํ—ˆ์šฉ +> ๋ณด์•ˆ๊ทธ๋ฃน 1,2 ๋ชจ๋‘ ์ง€์ •ํ•˜๋ฉด A,B,C,D ๋ชจ๋‘ ํ—ˆ์šฉ๋จ + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +**"์ธ์Šคํ„ด์Šค(๊ฐ€์ƒ ์„œ๋ฒ„)๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ๊ฐ€์ƒ ๋ฐฉํ™”๋ฒฝ"**์ž…๋‹ˆ๋‹ค.** + +## ๐Ÿ“Œ ์ƒ์„ธ +### 1. ํ—ˆ์šฉ(Allow) ๊ทœ์น™๋งŒ ์„ค์ • ๊ฐ€๋Šฅ + +๋ณด์•ˆ ๊ทธ๋ฃน์—๋Š” "์ด IP๋Š” ์ฐจ๋‹จํ•ด!"๋ผ๋Š” ๊ฑฐ๋ถ€(Deny) ๊ทœ์น™์„ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ํ†ต๋กœ๋ฅผ ๋ง‰์•„๋‘๊ณ , **"์ด ํฌํŠธ์™€ ์ด IP๋งŒ ๋“ค์–ด์˜ค๊ฒŒ ํ•ด์ค˜"**๋ผ๋Š” ํ—ˆ์šฉ ๊ทœ์น™๋งŒ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹(ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ)์ž…๋‹ˆ๋‹ค. + +### 2. ์ƒํƒœ ์ €์žฅ(Stateful) ๋ฐฉ์‹ + +๊ฐ€์žฅ ๋˜‘๋˜‘ํ•œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. + +- **์ธ๋ฐ”์šด๋“œ(Inbound):** ๋ฐ–์—์„œ ์•ˆ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์ด ํ—ˆ์šฉ๋˜์—ˆ๋‹ค๋ฉด, + +- **์•„์›ƒ๋ฐ”์šด๋“œ(Outbound):** ์•ˆ์—์„œ ๋‚˜๊ฐ€๋Š” ์‘๋‹ต์€ ๋ณ„๋„์˜ ์„ค์ • ์—†์ด๋„ **์ž๋™์œผ๋กœ ํ—ˆ์šฉ**๋ฉ๋‹ˆ๋‹ค. (๋ฐ˜๋Œ€๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.) + + +### 3. ์ธ์Šคํ„ด์Šค ๋‹จ์œ„์˜ ๋ณด์•ˆ + +๋„คํŠธ์›Œํฌ ์ „์ฒด(์„œ๋ธŒ๋„ท)๋ฅผ ๋ง‰๋Š” ACL(Network ACL)๊ณผ ๋‹ฌ๋ฆฌ, ๋ณด์•ˆ ๊ทธ๋ฃน์€ **๊ฐœ๋ณ„ ์ธ์Šคํ„ด์Šค ๋‹จ์œ„**๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์›น ์„œ๋ฒ„์šฉ ๋ณด์•ˆ ๊ทธ๋ฃน๊ณผ DB ์„œ๋ฒ„์šฉ ๋ณด์•ˆ ๊ทธ๋ฃน์„ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ๊ฐ๊ฐ ์ฑ„์›Œ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +### 4. ์–ธ์ œ๋“ ์ง€ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ + +๊ทœ์น™์„ ์ˆ˜์ •ํ•˜๋ฉด ํ•ด๋‹น ๋ณด์•ˆ ๊ทธ๋ฃน์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์ธ์Šคํ„ด์Šค์— **์ฆ‰์‹œ ์ ์šฉ**๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฅผ ๊ป๋‹ค ์ผค ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ๊ด€๋ จ ์‚ฌ๋ก€๋‚˜ ๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์— ๊ธฐ๋กํ•˜์„ธ์š”. +> +> - ๋ณธ์ธ์˜ ์–ธ์–ด๋กœ ํ’€์–ด์„œ ์“ฐ๋Š” ๊ฒƒ์ด ์ œํ…”์นด์Šคํ…”์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. +> + +--- diff --git a/content/03.Note/๋ณด์•ˆ์„ฑ(Security).md b/content/03.Note/๋ณด์•ˆ์„ฑ(Security).md new file mode 100644 index 0000000..a3136c5 --- /dev/null +++ b/content/03.Note/๋ณด์•ˆ์„ฑ(Security).md @@ -0,0 +1,23 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> ์‹œ์Šคํ…œ, ๋ฐ์ดํ„ฐ, ๊ทธ๋ฆฌ๊ณ  ๋„คํŠธ์›Œํฌ๋ฅผ **๋น„์ธ๊ฐ€๋œ ์ ‘๊ทผ, ์ˆ˜์ •, ํŒŒ๊ดด**๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๋Šฅ๋ ฅ + +## ๐Ÿ“Œ ์ƒ์„ธ + +| **์š”์†Œ** | **์„ค๋ช…** | **ํ•ต์‹ฌ ๊ฐ€์น˜** | +| ------------------------- | ----------------------------------- | ------------- | +| **๊ธฐ๋ฐ€์„ฑ (Confidentiality)** | ํ—ˆ๊ฐ€๋œ ์‚ฌ์šฉ์ž๋งŒ์ด ์ •๋ณด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ. | ์•”ํ˜ธํ™”, ์ ‘๊ทผ ์ œ์–ด | +| **๋ฌด๊ฒฐ์„ฑ (Integrity)** | ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋˜๊ฑฐ๋‚˜ ์ €์žฅ๋  ๋•Œ ์ž„์˜๋กœ ์ˆ˜์ •๋˜์ง€ ์•Š์•„์•ผ ํ•จ. | ๋””์ง€ํ„ธ ์„œ๋ช…, ํ•ด์‹œ ํ•จ์ˆ˜ | +| **๊ฐ€์šฉ์„ฑ (Availability)** | ์ธ๊ฐ€๋œ ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์–ธ์ œ๋“  ์ž์›์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ. | DDoS ๋ฐฉ์–ด, ์ด์ค‘ํ™” | + + +## ๐Ÿ“ ์ƒ์„ธ ์„ค๋ช… +> [!note] +> +> - ๋ง๊ทธ๋Œ€๋กœ ์™ธ๋ถ€์˜ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ๊ฐ€ ์ž˜ ๋˜์–ด์ง€๋Š”์ง€๋ฅผ ๋งํ•จ +> + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file diff --git a/content/03.Note/์ƒ์‚ฐ์„ฑ(Productivity).md b/content/03.Note/์ƒ์‚ฐ์„ฑ(Productivity).md new file mode 100644 index 0000000..b8f42a0 --- /dev/null +++ b/content/03.Note/์ƒ์‚ฐ์„ฑ(Productivity).md @@ -0,0 +1,34 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> ํˆฌ์ž…๋œ ์ž์›(์‹œ๊ฐ„, ์ธ๋ ฅ, ๋น„์šฉ) ๋Œ€๋น„ ์–ป์–ด๋‚ธ ์‚ฐ์ถœ๋ฌผ(๊ฒฐ๊ณผ๋ฌผ, ๊ฐ€์น˜)์˜ ๋น„์œจ +> +> IT ์•„ํ‚คํ…์ฒ˜ ๊ด€์ ์—์„œ์˜ ์ƒ์‚ฐ์„ฑ์€ ๋‹จ์ˆœํžˆ ์ฝ”๋“œ๋ฅผ ๋นจ๋ฆฌ ์งœ๋Š” ๊ฒƒ์„ ๋„˜์–ด, ์–ผ๋งˆ๋‚˜ ํšจ์œจ์ ์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๊ณ  ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ€์น˜๋ฅผ ๋น ๋ฅด๊ฒŒ ์‹œ์žฅ์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋А๋ƒ(**Time-to-Market**)์— ์ดˆ์ ์ด ๋งž์ถฐ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. + +### 1. ์ƒ์‚ฐ์„ฑ์˜ ์ •์˜ + +๊ฒฝ์ œํ•™์  ๊ด€์ ๊ณผ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์  ๊ด€์ ์—์„œ์˜ ์ƒ์‚ฐ์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋ฉ๋‹ˆ๋‹ค. + +$$์ƒ์‚ฐ์„ฑ = \frac{Output (์‚ฐ์ถœ๋ฌผ)}{Input (ํˆฌ์ž… ์ž์›)}$$ + +- **IT์—์„œ์˜ Input:** ๊ฐœ๋ฐœ ์‹œ๊ฐ„, ์šด์˜ ์ธ๋ ฅ, ์ธํ”„๋ผ ๋น„์šฉ, ๊ธฐ์ˆ  ๋ถ€์ฑ„. + +- **IT์—์„œ์˜ Output:** ๋ฐฐํฌ๋œ ๊ธฐ๋Šฅ์˜ ์ˆ˜, ์„œ๋น„์Šค ์•ˆ์ •์„ฑ, ๊ณ ๊ฐ ๋งŒ์กฑ๋„, ๋งค์ถœ ๊ฐ€์น˜. + +### 2. ์ƒ์‚ฐ์„ฑ์„ ๊ฒฐ์ •์ง“๋Š” 3๋Œ€ ์š”์†Œ + +|**์š”์†Œ**|**์„ธ๋ถ€ ๋‚ด์šฉ**| +|---|---| +|**๋„๊ตฌ ๋ฐ ๊ธฐ์ˆ  (Tools)**|์ž๋™ํ™” ๋„๊ตฌ(CI/CD), ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค(Fargate ๋“ฑ), ํšจ์œจ์ ์ธ ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉ.| +|**ํ”„๋กœ์„ธ์Šค (Process)**|์• ์ž์ผ(Agile) ๋ฐฉ๋ฒ•๋ก , ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ฒด๊ณ„, ๋ช…ํ™•ํ•œ ๋ฌธ์„œํ™”(PARA/์ œํ…”์นด์Šคํ… ๋“ฑ).| +|**์ธ์  ์ž์› (People)**|๊ฐœ๋ฐœ์ž์˜ ์ˆ™๋ จ๋„, ํŒ€ ๊ฐ„์˜ ์›ํ™œํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ.| + +## ๐Ÿ“๋…ธํŠธ +> [!note] +> +> - ์ฆ‰ ์ƒ์‚ฐ์„ฑ์ด ์ข‹๋‹ค๋Š”๊ฑด ํˆฌ์ž…๋˜๋Š” ๋ฆฌ์†Œ์Šค ๋Œ€๋น„ ์‚ฐ์ถœ๋ฌผ์ด ๋งŽ์€ ๊ฒฝ์šฐ๋ฅผ ์˜๋ฏธํ•จ +> - ์ƒ์‚ฐ์„ฑ ์ธก์ •์— ๊ฐ€์น˜๋„ ํฌํ•จ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์ˆœํžˆ ์–‘์ด ๋งŽ๋‹ค๊ณ  ์ƒ์‚ฐ์„ฑ์ด ์ข‹์€๊ฑด ์•„๋‹ˆ๋‹ค + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file diff --git a/content/03.Note/์„œ๋ฒ„๋ฆฌ์Šค(Serverless).md b/content/03.Note/์„œ๋ฒ„๋ฆฌ์Šค(Serverless).md new file mode 100644 index 0000000..c82bc47 --- /dev/null +++ b/content/03.Note/์„œ๋ฒ„๋ฆฌ์Šค(Serverless).md @@ -0,0 +1,17 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> **์„œ๋ฒ„๋ฆฌ์Šค(Serverless)**๋Š” ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ "์„œ๋ฒ„๊ฐ€ ์—†๋‹ค"๋Š” ๋œป์ด ์•„๋‹ˆ๋ผ, **"์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ์ปดํ“จํŒ… ๋ชจ๋ธ"**์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ธํ”„๋ผ์˜ ๋ณต์žกํ•œ ์ถ”์ƒํ™”๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ์˜ค์ง **์ฝ”๋“œ(๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง)**์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +> [!check] +|**ํŠน์ง•**|**์„ธ๋ถ€ ์„ค๋ช…**| +|---|---| +|**๊ด€๋ฆฌ ์„œ๋ฒ„ ์—†์Œ**|OS ์„ค์น˜, ํŒจ์น˜, ํ•˜๋“œ์›จ์–ด ๊ด€๋ฆฌ์— ์‹ ๊ฒฝ ์“ธ ํ•„์š”๊ฐ€ ์—†์Œ.| +|**์œ ์—ฐํ•œ ํ™•์žฅ์„ฑ**|ํŠธ๋ž˜ํ”ฝ์— ๋”ฐ๋ผ ์ž์›์ด ์ž๋™์œผ๋กœ ๋Š˜์–ด๋‚˜๊ฑฐ๋‚˜ ์ค„์–ด๋“ฆ (Auto-scaling).| +|**์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ๋ฐ˜ ๊ณผ๊ธˆ**|์„œ๋ฒ„๋ฅผ ์ผœ๋‘” ์‹œ๊ฐ„์ด ์•„๋‹ˆ๋ผ, ์‹ค์ œ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋œ ์‹œ๊ฐ„/ํšŸ์ˆ˜๋งŒํผ๋งŒ ๋น„์šฉ ์ง€๋ถˆ.| +|**๊ณ ๊ฐ€์šฉ์„ฑ ๋‚ด์žฅ**|ํด๋ผ์šฐ๋“œ ์ œ๊ณต์‚ฌ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐ€์šฉ ์˜์—ญ์— ๊ฑธ์ณ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ถ„์‚ฐํ•˜์—ฌ ์•ˆ์ •์„ฑ ๋ณด์žฅ.| + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge diff --git a/content/03.Note/์„œ๋ธŒ๋„ท(Subnet).md b/content/03.Note/์„œ๋ธŒ๋„ท(Subnet).md new file mode 100644 index 0000000..eccafc6 --- /dev/null +++ b/content/03.Note/์„œ๋ธŒ๋„ท(Subnet).md @@ -0,0 +1,33 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> ๊ฑฐ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ์ธ [[VPC(Virtual Private Cloud)]]๋ฅผ ๋” ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด **๋” ์ž‘์€ ๋‹จ์œ„๋กœ ์ชผ๊ฐ  ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ** + + **์ฐธ๊ณ ๋กœ VPC๋„ ์„œ๋ธŒ๋„ท๋„ ๋ชจ๋‘ ๋…ผ๋ฆฌ์ ์ธ ๊ฐœ๋…, ๋ฌผ๋ฆฌ์ ์ธ ๋™์ž‘์€ ๊ฐ€์šฉ ์˜์—ญ์—์„œ ์ด๋ฃจ์–ด์ง** + +## ๐Ÿ“Œ ์„œ๋ธŒ๋„ท์„ ๋‚˜๋ˆ„๋Š” ์ด์œ  +> [!check] +> - **๋ณด์•ˆ (Security):** ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋  ๊ณต๊ฐ„๊ณผ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ์™„์ „ํžˆ ๊ฒฉ๋ฆฌ๋  ๊ณต๊ฐ„์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค. +> +> - **์„ฑ๋Šฅ (Performance):** ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์ด ํ•œ๊บผ๋ฒˆ์— ๋ชฐ๋ฆฌ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ๊ด€๋ฆฌ ํšจ์œจ์„ฑ์„ ๋†’์ž…๋‹ˆ๋‹ค. +> +> - **์กฐ์งํ™”:** ์šฉ๋„๋ณ„(์›น ์„œ๋ฒ„์šฉ, DB์šฉ, ๊ด€๋ฆฌ์šฉ ๋“ฑ)๋กœ ์ž์›์„ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - VPC๊ฐ€ ์•„ํŒŒํŠธ ๋‹จ์ง€๋ผ๋ฉด ์„œ๋ธŒ๋„ท์€ ์•„ํŒŒํŠธ๋‹จ์ง€์˜ ๋™์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ. +> - AWS์˜ ํด๋ผ์šฐ๋“œ๋ฅผ VPC ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์„œ ์‚ฌ์šฉํ•˜๊ณ  ๊ทธ VPC๋Š” ์„œ๋ธŒ๋„ท ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์„œ ์‚ฌ์šฉํ•จ +> - ์„œ๋ธŒ๋„ท ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•˜์ง€ ์•Š์œผ๋ฉด VPC๋กœ ์ ‘๊ทผํ•˜๋Š” ์š”์ฒญ๋“ค์€ VPC๋‚ด์—์žˆ๋Š” ๋ชจ๋“  ์„œ๋น„์Šค๋“ค์—๊ฒŒ ์ „๋‹ฌํ•ด์ฃผ์–ด์•ผํ•จ. ์ด๋ฅผ ๋ง‰๊ธฐ์œ„ํ•ด ์กด์žฌํ•˜๋Š” ๊ฐœ๋…(ํ•œ๋ฒˆ์— ๋ชจ๋“  ๋™์„ ๋‹ค ์ฐพ์•„๊ฐ€์ง€ ์•Š๊ฒŒ๋”) + +### ์„œ๋ธŒ๋„ท์˜ ์ข…๋ฅ˜ + +| **๊ตฌ๋ถ„** | **ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท (Public)** | **ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท (Private)** | +| --------- | ----------------------------- | ---------------------------- | +| **ํŠน์ง•** | ์™ธ๋ถ€ ์ธํ„ฐ๋„ท๊ณผ ์–‘๋ฐฉํ–ฅ ํ†ต์‹  ๊ฐ€๋Šฅ | ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์—์„œ ์ง์ ‘ ์ ‘๊ทผ ๋ถˆ๊ฐ€ | +| **์—ฐ๊ฒฐ ๋ฐฉ์‹** | **์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด(IGW)**์™€ ์—ฐ๊ฒฐ๋จ | ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด์™€ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์Œ | +| **๋ฐฐ์น˜ ์ž์›** | ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ(ALB), ๋ฐฐ์Šค์ฒœ ํ˜ธ์ŠคํŠธ(Bastion) | **๋ฐฑ์—”๋“œ ์„œ๋ฒ„(.NET)**, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(DB) | +| **๋น„์œ ** | ์•„ํŒŒํŠธ ์ •๋ฌธ ์•ˆ๋‚ด์†Œ (๋ˆ„๊ตฌ๋‚˜ ๋ฐฉ๋ฌธ ๊ฐ€๋Šฅ) | ์•„ํŒŒํŠธ ๋‚ด๋ถ€์˜ ์•ˆ๋ฐฉ (๊ฐ€์กฑ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ) | +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file diff --git a/content/03.Note/์ˆœ์ˆ˜ ํ•จ์ˆ˜(Pure Function).md b/content/03.Note/์ˆœ์ˆ˜ ํ•จ์ˆ˜(Pure Function).md new file mode 100644 index 0000000..351cd31 --- /dev/null +++ b/content/03.Note/์ˆœ์ˆ˜ ํ•จ์ˆ˜(Pure Function).md @@ -0,0 +1,70 @@ +--- +id: ์ˆœ์ˆ˜ ํ•จ์ˆ˜(Pure Function) 20260407 +created: 2026-04-07 15:50 +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +[[์œ ๋‹‰์Šค์˜ ์ฒ ํ•™๊ณผ ํ•„ํ„ฐ]] ์—์„œ์˜ ํ•„ํ„ฐ์˜ ๊ฐœ๋… ์ค‘ ํ•œ๊ฐ€์ง€๋งŒ ์ž˜ํ•˜๊ฒŒ + ํ•จ๊ป˜ ๋™์ž‘ํ•˜๊ฒŒ ๋ฅผ ์ง€ํ‚ค๊ธฐ ์œ„ํ•ด์„œ ์ง€์ผœ์ ธ์•ผ ํ•  ์ตœ์†Œํ•œ์˜ ์กฐ๊ฑด. ์™œ๋ƒํ•˜๋ฉด ์ˆœ์ˆ˜ํ•˜์ง€ ์•Š์€ ํ•„ํ„ฐ๋Š” ํ•จ๊ป˜ ๋™์ž‘ํ•˜๊ธฐ๊ฐ€ ๊ต‰์žฅํžˆ ์–ด๋ ค์›Œ์งˆ ์ˆ˜ ์žˆ๊ณ  ๋™์ž‘์ค‘์— ์™ธ๋ถ€์˜ ๊ฐ’์„ ๋ฐ”๊ฟ”๋ฒ„๋ฆฌ๋ฉด์„œ ๋™์ž‘์ด ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋ฉˆ์ถฐ๋ฒ„๋ฆด์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž„. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… + ์™ธ๋ถ€ ์ƒํƒœ์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  ์˜ค์ง ์ž…๋ ฅ๊ฐ’์—๋งŒ ๋ฐ˜์‘ํ•˜๋ฉฐ, ์™ธ๋ถ€์— ์•„๋ฌด๋Ÿฐ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” '๊นจ๋—ํ•œ' ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. + +์ˆœ์ˆ˜ ํ•จ์ˆ˜๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋ฐ˜๋“œ์‹œ ๋งŒ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +## 1. ๋™์ผํ•œ ์ž…๋ ฅ์—๋Š” ํ•ญ์ƒ ๋™์ผํ•œ ์ถœ๋ ฅ (Deterministic) + +ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜๋Š” ์‹œ์ ์ด๋‚˜ ํ™˜๊ฒฝ์— ์ƒ๊ด€์—†์ด, **๋งค๊ฐœ๋ณ€์ˆ˜(Input)**๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๊ฒฐ๊ณผ๊ฐ’์€ ๋Š˜ ๋˜‘๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +- **์ˆœ์ˆ˜ ํ•จ์ˆ˜ ์˜ˆ์‹œ:** + ``` javascript + function add(a, b) { + return a + b; + } + ``` + + ์ด ํ•จ์ˆ˜๋Š” ์–ธ์ œ ์–ด๋””์„œ ์‹คํ–‰ํ•˜๋“  `add(2, 3)`์„ ํ˜ธ์ถœํ•˜๋ฉด ๋ฌด์กฐ๊ฑด **5**๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. + +- **๋น„์ˆœ์ˆ˜ ํ•จ์ˆ˜ ์˜ˆ์‹œ:** + ``` javascript + let tax = 0.1; + function calculatePrice(price) { + return price + (price * tax); // ์™ธ๋ถ€ ๋ณ€์ˆ˜ tax์— ์˜์กด + } + ``` + + ์™ธ๋ถ€์˜ `tax` ๊ฐ’์ด ๋ฐ”๋€Œ๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ ์ˆœ์ˆ˜ ํ•จ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. `Math.random()`์ด๋‚˜ ํ˜„์žฌ ์‹œ๊ฐ„์„ ๊ฐ€์ ธ์˜ค๋Š” ํ•จ์ˆ˜๋„ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋น„์ˆœ์ˆ˜ ํ•จ์ˆ˜์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. + +## 2. ๋ถ€์ˆ˜ ํšจ๊ณผ๊ฐ€ ์—†์Œ (No Side Effects) + +ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ํ•จ์ˆ˜ ๋ฐ–์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜, ์™ธ๋ถ€์™€ ์ƒํ˜ธ์ž‘์šฉ(์ž…์ถœ๋ ฅ ๋“ฑ)์„ ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +- **ํ”ผํ•ด์•ผ ํ•  ๋ถ€์ˆ˜ ํšจ๊ณผ๋“ค:** + + - ์™ธ๋ถ€ ๋ณ€์ˆ˜ ์ˆ˜์ • + + - ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด ๋“ฑ ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ์˜ ์›๋ณธ ์ˆ˜์ • + + - ์ฝ˜์†” ์ถœ๋ ฅ(`console.log`)์ด๋‚˜ ํŒŒ์ผ ์“ฐ๊ธฐ + + - ๋„คํŠธ์›Œํฌ ์š”์ฒญ(API ํ˜ธ์ถœ) + + +--- + +## ์ˆœ์ˆ˜ ํ•จ์ˆ˜์˜ ์žฅ์  + +์™œ ๊ตณ์ด ์ด๋ ‡๊ฒŒ ์—„๊ฒฉํ•˜๊ฒŒ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊นŒ์š”? ๊ทธ ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์  ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. + +1. **์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ:** ์ฝ”๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ์ง€ ๋จธ๋ฆฟ์†์œผ๋กœ ๊ทธ๋ฆฌ๊ธฐ๊ฐ€ ํ›จ์”ฌ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. + +2. **ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ:** ์™ธ๋ถ€ ํ™˜๊ฒฝ์„ ์„ค์ •(Mocking)ํ•  ํ•„์š” ์—†์ด ์ž…๋ ฅ๊ฐ’๋งŒ ๋„ฃ์œผ๋ฉด ๋˜๋ฏ€๋กœ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ ๋งค์šฐ ๊ฐ„ํŽธํ•ฉ๋‹ˆ๋‹ค. + +3. **๋””๋ฒ„๊น… ํšจ์œจ:** ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์™ธ๋ถ€๋ฅผ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š์œผ๋‹ˆ, ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ์ถ”์  ๋ฒ”์œ„๊ฐ€ ํ™• ์ข์•„์ง‘๋‹ˆ๋‹ค. + +4. **์บ์‹ฑ(Memoization):** ๋™์ผ ์ž…๋ ฅ์— ๋™์ผ ์ถœ๋ ฅ์ด ๋ณด์žฅ๋˜๋ฏ€๋กœ, ๊ณ„์‚ฐ์ด ๋ณต์žกํ•œ ๊ฒฝ์šฐ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•ด๋‘๊ณ  ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. + + +> [!note] ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ ๋ชจ๋“  ํ•จ์ˆ˜๋ฅผ ์ˆœ์ˆ˜ ํ•จ์ˆ˜๋กœ ๋งŒ๋“ค ์ˆ˜๋Š” ์—†์ง€๋งŒ(๊ฒฐ๊ตญ ํ™”๋ฉด ์ถœ๋ ฅ์ด๋‚˜ ๋ฐ์ดํ„ฐ ์ €์žฅ์ด ํ•„์š”ํ•˜๋‹ˆ๊นŒ์š”), ๊ฐ€๋Šฅํ•œ ๋งŽ์€ ๋กœ์ง์„ ์ˆœ์ˆ˜ ํ•จ์ˆ˜๋กœ ๋ถ„๋ฆฌํ•˜๋ฉด ์ „์ฒด์ ์ธ ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ์ด ํฌ๊ฒŒ ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค. + diff --git a/content/03.Note/์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„(Signal-to-Noise Ratio).md b/content/03.Note/์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„(Signal-to-Noise Ratio).md new file mode 100644 index 0000000..f7527ee --- /dev/null +++ b/content/03.Note/์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„(Signal-to-Noise Ratio).md @@ -0,0 +1,28 @@ +--- +id: ์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„(Signal-to-Noise Ratio) 20260317 +created: 2026-03-17 17:24 +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„๊ฐ€ ๋†’๋‹ค๋Š”๊ฑด ์•„๋ฌด๋ฆฌ ์ƒ๊ฐํ•ด๋„ ์‹ ํ˜ธ ๋Œ€๋น„ ์†Œ์Œ์˜ ๋น„์œจ์ด ๋†’๋‹ค๋Š”๊ฑธ๋กœ ๋ณด์ด๋Š”๋ฐ.. +๊ทธ๋ƒฅ ์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„ ๋ผ๋Š”๊ฑฐ๋ฅผ ๊ณ ์œ ๋ช…์‚ฌ์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜๋Š”๊ฒŒ ํŽธํ• ๋“ฏ +์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„๊ฐ€ ๋†’๋‹ค -> ์˜๋ฏธ์žˆ๋Š” ์ •๋ณด์˜ ๋น„์ค‘์ด ๋†’๋‹ค + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +**๋ฌด์—‡์ด ์‹ ํ˜ธ๊ณ  ๋ฌด์—‡์ด ์†Œ์Œ์ธ๊ฐ€?** +**์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„๋ฅผ ๋†’์ธ๋‹ค**๋Š” ๋ง์€ **๋ถˆํ•„์š”ํ•œ ์†Œ์Œ(๋…ธ์ด์ฆˆ)์„ ์ตœ๋Œ€ํ•œ ์ œ๊ฑฐํ•ด์„œ ์ˆœ์ˆ˜ํ•œ ์ •๋ณด(์‹ ํ˜ธ)๋งŒ ๋‚จ๊ธด๋‹ค** ๋Š” ๋œป + +## ๐Ÿ“Œ ์ƒ์„ธ +์‹ ํ˜ธ์ค‘์— ์†Œ์Œ์˜ ๋น„์œจ์ด ์–ผ๋งˆ์ธ๊ฐ€? ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ... +> [!question] +> Q. ์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„๊ฐ€ ๋†’๋‹จ๊ฑด ์‹ ํ˜ธ : ์†Œ์Œ ์ค‘ ์†Œ์Œ์˜ ๋น„์œจ์ด ํฌ๋‹ค๋Š”๊ฑฐ์•„๋ƒ? +> A. ์•„, ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜์‹ค ์ˆ˜๋„ ์žˆ๊ฒ ๋„ค์š”! ์ˆ˜ํ•™์ ์ธ ๋ถ„์ˆ˜ ๊ตฌ์กฐ๋ฅผ ๋– ์˜ฌ๋ ค๋ณด์‹œ๋ฉด ๋ฐ”๋กœ ์ดํ•ด๊ฐ€ ๋˜์‹ค ๊ฑฐ์˜ˆ์š”. +> **์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„($SNR$)**๋Š” ๋ง ๊ทธ๋Œ€๋กœ **์‹ ํ˜ธ($Signal$)๋ฅผ ์†Œ์Œ($Noise$)์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’**์ž…๋‹ˆ๋‹ค. +$$SNR = \frac{\text{Signal}}{\text{Noise}}$$ + +- **์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„๊ฐ€ ๋†’๋‹ค:** ๋…ธ๋ž˜ ์†Œ๋ฆฌ(์‹ ํ˜ธ)๋Š” ์ฉŒ๋ ์ฉŒ๋ ํ•œ๋ฐ ์ง€์ง€์ง๊ฑฐ๋ฆฌ๋Š” ์žก์Œ(์†Œ์Œ)์€ ๊ฑฐ์˜ ์•ˆ ๋“ค๋ฆฌ๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์•„์ฃผ ๊นจ๋—ํ•˜๊ฒŒ ๋“ค๋ฆฌ๊ฒ ์ฃ ? +- **์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„๊ฐ€ ๋‚ฎ๋‹ค:** ๋…ธ๋ž˜ ์†Œ๋ฆฌ๋Š” ์ž‘์€๋ฐ ์žก์Œ์ด ๋„ˆ๋ฌด ์ปค์„œ ๋…ธ๋ž˜๊ฐ€ ๋ฌปํžˆ๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์งœ์ฆ์ด ๋‚˜๊ณ  ๋“ฃ๊ธฐ ํž˜๋“ญ๋‹ˆ๋‹ค. + +--- diff --git a/content/03.Note/์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ(Single-tenancy).md b/content/03.Note/์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ(Single-tenancy).md new file mode 100644 index 0000000..a84b19f --- /dev/null +++ b/content/03.Note/์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ(Single-tenancy).md @@ -0,0 +1,41 @@ +--- +id: "์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ(Single-tenancy) 20260305" +created: "2026-03-05 13:06" +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ด๊ณณ์— ํ•˜๋‚˜์˜ ์ƒ๊ฐ ๋˜๋Š” ์•„์ด๋””์–ด๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. + + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +ํ•˜๋‚˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ์ธ์Šคํ„ด์Šค๊ฐ€ **๋‹จ ํ•œ ๋ช…์˜ ์‚ฌ์šฉ์ž**๋งŒ์„ ์œ„ํ•ด ๋…๋ฆฝ์ ์œผ๋กœ ์šด์˜๋˜๋Š” ๊ตฌ์กฐ +๋‹จ๋… ์ฃผํƒ์— ํ•œ ๊ฐ€์กฑ๋งŒ ์‚ฌ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +- **ํŠน์ง•:** ์‚ฌ์šฉ์ž๋งˆ๋‹ค ์ „์šฉ ์ธํ”„๋ผ์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. + +- **์žฅ์ :** + + - **๋†’์€ ๋ณด์•ˆ์„ฑ:** ๋ฌผ๋ฆฌ์ /๋…ผ๋ฆฌ์ ์œผ๋กœ ์™„์ „ํžˆ ๊ฒฉ๋ฆฌ๋˜์–ด ์žˆ์–ด ๋ณด์•ˆ์ด ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค. + + - **์ปค์Šคํ„ฐ๋งˆ์ด์ง•:** ํ•ด๋‹น ์‚ฌ์šฉ์ž๋งŒ์„ ์œ„ํ•œ ๋งž์ถค ์„ค์ •์ด ์ž์œ ๋กญ์Šต๋‹ˆ๋‹ค. + +- **๋‹จ์ :** * **๋น„์šฉ ๋ถ€๋‹ด:** ์ธํ”„๋ผ ๊ตฌ์ถ• ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์ด ๋†’์Šต๋‹ˆ๋‹ค. + + - **๊ด€๋ฆฌ ๋ณต์žก๋„:** ๊ฐ ์‚ฌ์šฉ์ž๋ณ„๋กœ ์—…๋ฐ์ดํŠธ๋‚˜ ๊ด€๋ฆฌ๋ฅผ ๋”ฐ๋กœ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +- **์˜ˆ์‹œ:** ์˜จํ”„๋ ˆ๋ฏธ์Šค ์„œ๋ฒ„ ๊ตฌ์ถ•, ํŠน์ • ๊ธฐ์—…์šฉ ์ „์šฉ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ๊ด€๋ จ ์‚ฌ๋ก€๋‚˜ ๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์— ๊ธฐ๋กํ•˜์„ธ์š”. +> +> - ๋ณธ์ธ์˜ ์–ธ์–ด๋กœ ํ’€์–ด์„œ ์“ฐ๋Š” ๊ฒƒ์ด ์ œํ…”์นด์Šคํ…”์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. +> + +--- + +## ๐Ÿ”— ๊ด€๋ จ ๋…ธํŠธ +[[ํ…Œ๋„Œ์‹œ(Tenancy)]], [[๋ฉ€ํ‹ฐ ํ…Œ๋„Œ์‹œ(Multi-tenancy)]] \ No newline at end of file diff --git a/content/03.Note/์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ๋ฌด์„ ๋””๋ฒ„๊น….md b/content/03.Note/์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ๋ฌด์„ ๋””๋ฒ„๊น….md new file mode 100644 index 0000000..b0ee6ce --- /dev/null +++ b/content/03.Note/์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ๋ฌด์„ ๋””๋ฒ„๊น….md @@ -0,0 +1,27 @@ +--- +id: "์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ๋ฌด์„ ๋””๋ฒ„๊น… 20260407" +created: "2026-04-07 11:15" +tags: +aliases: +--- +### android studio <-> smart phone ๋ฌด์„  ๋””๋ฒ„๊น… ๋ฐฉ๋ฒ• + +ํœด๋Œ€ํฐ์˜ ์„ค์ • > ๊ฐœ๋ฐœ์ž ์˜ต์…˜์œผ๋กœ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. +๋ฌด์„  ๋””๋ฒ„๊น… ํ•ญ๋ชฉ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค (์Šค์œ„์น˜๋งŒ ์ผœ์ง€ ๋ง๊ณ , ๊ธ€์ž๋ฅผ ๋ˆŒ๋Ÿฌ ์ƒ์„ธ ํŽ˜์ด์ง€๋กœ ์ง„์ž…ํ•˜์„ธ์š”). +ํ™”๋ฉด์— ๋ณด์ด๋Š” 'IP ์ฃผ์†Œ ๋ฐ ํฌํŠธ' ์ •๋ณด๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. +์˜ˆ: 192.168.0.15:42135 (์ด ํฌํŠธ๋Š” ๋งค๋ฒˆ ๋ฐ”๋€๋‹ˆ๋‹ค!) + +์•ˆ๋“œ๋กœ์ด๋“œ์ŠคํŠœ๋””์˜ค์—์„œ ํ„ฐ๋ฏธ๋„์„ ์—ฐ๋‹ค (alt + f12) +ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜์™€๊ฐ™์ด ์ž…๋ ฅํ•œ๋‹ค. + +#### 1. ํ˜น์‹œ ๋ชจ๋ฅผ ์ฐŒ๊บผ๊ธฐ ํ”„๋กœ์„ธ์Šค ์ •๋ฆฌ +adb kill-server +adb start-server + +#### 2. ๊ธฐ๊ธฐ์— ํ‘œ์‹œ๋œ IP์™€ ํฌํŠธ๋กœ ์ง์ ‘ ์—ฐ๊ฒฐ +adb connect 192.168.0.15:42135 + +adb ๊ถŒํ•œ ํƒ€์ž„์•„์›ƒ ํ•ด์ œ +๊ฐœ๋ฐœ์ž ์˜ต์…˜์— ์žˆ๋Š” 'ADB ๊ถŒํ•œ ํƒ€์ž„์•„์›ƒ ํ•ด์ œ(Disable adb authorization timeout)' ๊ธฐ๋Šฅ์€ ๋ณด์•ˆ๊ณผ ํŽธ์˜์„ฑ ์‚ฌ์ด์˜ ๊ท ํ˜•์„ ์กฐ์ ˆํ•˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค. +๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด, "์ด PC๋ฅผ ์‹ ๋ขฐํ• ๊นŒ์š”?"๋ผ๊ณ  ๋ฌผ์–ด๋ดค๋˜ ๊ทธ ์ธ์ฆ ์œ ํšจ๊ธฐ๊ฐ„์„ ๋ฌด์ œํ•œ์œผ๋กœ ๋Š˜๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. +์‚ฌ์šฉ์ž๋‹˜์ฒ˜๋Ÿผ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค๋กœ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋‚˜ ์—…๋ฌด๋ฅผ ํ•˜์‹œ๋Š” ๋ถ„๋“ค์€ ์ด ๊ธฐ๋Šฅ์„ '์ผฌ(Enable)' ์ƒํƒœ๋กœ ๋‘๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. diff --git a/content/03.Note/์šฉ๋Ÿ‰ ๊ณต๊ธ‰์ž ์ „๋žต (Capacity Provider Strategy).md b/content/03.Note/์šฉ๋Ÿ‰ ๊ณต๊ธ‰์ž ์ „๋žต (Capacity Provider Strategy).md new file mode 100644 index 0000000..59cded9 --- /dev/null +++ b/content/03.Note/์šฉ๋Ÿ‰ ๊ณต๊ธ‰์ž ์ „๋žต (Capacity Provider Strategy).md @@ -0,0 +1,62 @@ +--- +id: "์šฉ๋Ÿ‰ ๊ณต๊ธ‰์ž ์ „๋žต (Capacity Provider Strategy) 20260305" +created: "2026-03-05 10:32" +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ด๊ณณ์— ํ•˜๋‚˜์˜ ์ƒ๊ฐ ๋˜๋Š” ์•„์ด๋””์–ด๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. + + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> ํ•˜๋‚˜ ์ด์ƒ์˜ ์ธํ”„๋ผ(์šฉ๋Ÿ‰ ๊ณต๊ธ‰์ž)๋ฅผ **์–ด๋–ค ๋น„์œจ๋กœ ์„ž์–ด์„œ ์“ธ์ง€** ๊ฒฐ์ •ํ•˜๋Š” ๊ณ ๋„ํ™”๋œ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. +> "ํ‰์†Œ์—” **[[ํŒŒ๊ฒŒ์ดํŠธ(Fargate)]]**๋ฅผ ์“ฐ๋˜, ๋น„์šฉ ์ ˆ๊ฐ์„ ์œ„ํ•ด ์ผ๋ถ€๋Š” **[[ํŒŒ๊ฒŒ์ดํŠธ ์ŠคํŒŸ(Fargate Spot)]]**์„ ์„ž์–ด์„œ ์จ์ค˜" ๊ฐ™์€ ์ „๋žต์„ ์งค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +- **๋ฐฉ์‹:** "ํ‰์†Œ์—” **[[ํŒŒ๊ฒŒ์ดํŠธ(Fargate)]]**๋ฅผ ์“ฐ๋˜, ๋น„์šฉ ์ ˆ๊ฐ์„ ์œ„ํ•ด ์ผ๋ถ€๋Š” **[[ํŒŒ๊ฒŒ์ดํŠธ ์ŠคํŒŸ(Fargate Spot)]]**์„ ์„ž์–ด์„œ ์จ์ค˜" ๊ฐ™์€ ์ „๋žต์„ ์งค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- **ํ•ต์‹ฌ ์š”์†Œ:** + + - **Base (๊ธฐ๋ณธ๊ฐ’):** ์ตœ์†Œํ•œ ์ด๋งŒํผ์€ ํŠน์ • ๊ณต๊ธ‰์ž์—์„œ ์‹คํ–‰ํ•ด๋ผ (์˜ˆ: ์ตœ์†Œ 2๊ฐœ๋Š” ์•ˆ์ •์ ์ธ Fargate์—์„œ ์‹คํ–‰). + + - **Weight (๊ฐ€์ค‘์น˜):** ์ถ”๊ฐ€๋กœ ๋Š˜์–ด๋‚˜๋Š” ํƒœ์Šคํฌ๋Š” ์–ด๋–ค ๋น„์œจ๋กœ ๋‚˜๋ˆŒ ๊ฒƒ์ธ๊ฐ€ (์˜ˆ: Fargate 1 : Fargate Spot 3 ๋น„์œจ๋กœ ํ™•์žฅ). + +- **๋น„์œ :** "๊ธฐ๋ณธ ์‹์‚ฌ 2์ธ๋ถ„์€ ์ฝ”์Šค ์š”๋ฆฌ๋กœ ์ฃผ๊ณ , ๊ทธ ์ดํ›„ ์ถ”๊ฐ€๋˜๋Š” ์Œ์‹์€ ๋ท”ํŽ˜์‹ 3 : ๋‹จํ’ˆ 1 ๋น„์œจ๋กœ ์„ž์–ด์™€์ฃผ์„ธ์š”"๋ผ๊ณ  ์ •๊ตํ•˜๊ฒŒ ์ฃผ๋ฌธํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. + +### ๊ธฐ๋ณธ (Base) + +- **์˜๋ฏธ:** "๋ฌด์Šจ ์ผ์ด ์žˆ์–ด๋„ **์ตœ์†Œ ์ด๋งŒํผ์˜ ๊ฐœ์ˆ˜**๋Š” ์ด ๊ณต๊ธ‰์ž์—์„œ ์‹คํ–‰ํ•ด๋ผ." + +- **์ž‘๋™ ๋ฐฉ์‹:** ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ์ฑ„์›Œ์ง€๋Š” ์ˆซ์ž์ž…๋‹ˆ๋‹ค. + +- **์˜ˆ์‹œ:** ๋งŒ์•ฝ `๊ธฐ๋ณธ`์„ 2๋กœ ์„ค์ •ํ•˜๋ฉด, ์ „์ฒด ํƒœ์Šคํฌ๊ฐ€ 10๊ฐœ๋“  100๊ฐœ๋“  ์ƒ๊ด€์—†์ด ์ฒ˜์Œ 2๊ฐœ๋Š” ๋ฌด์กฐ๊ฑด ์ง€์ •๋œ ๊ณต๊ธ‰์ž(Fargate)์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. + +### ๊ฐ€์ค‘์น˜ (Weight) + +- **์˜๋ฏธ:** "๊ธฐ๋ณธ(Base) ๊ฐœ์ˆ˜๋ฅผ ์ฑ„์šฐ๊ณ  ๋‚จ์€ ํƒœ์Šคํฌ๋“ค์„ **์–ด๋–ค ๋น„์œจ**๋กœ ๋‚˜๋ˆŒ ๊ฒƒ์ธ๊ฐ€?" + +- **์ž‘๋™ ๋ฐฉ์‹:** ์—ฌ๋Ÿฌ ๊ณต๊ธ‰์ž๋ฅผ ์ถ”๊ฐ€ํ–ˆ์„ ๋•Œ ์ƒ๋Œ€์ ์ธ ๋น„์œจ๋กœ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. + +- **์˜ˆ์‹œ:** `FARGATE(๊ฐ€์ค‘์น˜ 1)`์™€ `FARGATE_SPOT(๊ฐ€์ค‘์น˜ 3)`์œผ๋กœ ์„ค์ •ํ•˜๋ฉด, ๊ธฐ๋ณธ ๊ฐœ์ˆ˜๋ฅผ ์ฑ„์šด ํ›„ ์ถ”๊ฐ€๋˜๋Š” 4๊ฐœ์˜ ํƒœ์Šคํฌ ์ค‘ 1๊ฐœ๋Š” Fargate, 3๊ฐœ๋Š” Spot์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค. + +### ๐Ÿ’ก ์™œ '์šฉ๋Ÿ‰ ๊ณต๊ธ‰์ž ์ „๋žต'์„ ์จ์•ผ ํ• ๊นŒ์š”? (ํ•ต์‹ฌ ์ด์œ ) +๊ฐ€์žฅ ํฐ ์žฅ์ ์€ **๋น„์šฉ ์ ˆ๊ฐ๊ณผ ์ž๋™ ์Šค์ผ€์ผ๋ง**์ž…๋‹ˆ๋‹ค. ํŠนํžˆ **[[EC2(Elastic Compute Cloud)]]**๋ฅผ ์‚ฌ์šฉํ•˜์‹ ๋‹ค๋ฉด, ์‹œ์ž‘ ์œ ํ˜• ๋ฐฉ์‹์€ ์„œ๋ฒ„(EC2)๊ฐ€ ๋ชจ์ž๋ž„ ๋•Œ ํƒœ์Šคํฌ ์‹คํ–‰์ด ์‹คํŒจํ•˜์ง€๋งŒ, ์šฉ๋Ÿ‰ ๊ณต๊ธ‰์ž๋ฅผ ์“ฐ๋ฉด ECS๊ฐ€ ์ง์ ‘ **Auto Scaling Group(ASG)**์— ๋ช…๋ น์„ ๋‚ด๋ ค์„œ ์„œ๋ฒ„๋ฅผ ์ƒˆ๋กœ ๋ฐ›์•„์˜จ ๋’ค ๊ทธ ์œ„์— [[ํƒœ์Šคํฌ(Task)]]๋ฅผ ๋„์›Œ์ค๋‹ˆ๋‹ค. + +**[[ํŒŒ๊ฒŒ์ดํŠธ(Fargate)]]**๋ฅผ ์“ฐ์‹ค ๋•Œ๋„ [[ํŒŒ๊ฒŒ์ดํŠธ ์ŠคํŒŸ(Fargate Spot)]]์„ ์ ์ ˆํžˆ ์„ž์œผ๋ฉด ์„ฑ๋Šฅ์€ ์œ ์ง€ํ•˜๋ฉด์„œ ๋น„์šฉ์„ ์ตœ๋Œ€ 70%๊นŒ์ง€ ์•„๋‚„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ==์š”์ฆ˜์€ ๋Œ€๋ถ€๋ถ„ ์ด ์ „๋žต ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.== + +--- + + +### ์ถ”์ฒœ ์‹œ๋‚˜๋ฆฌ์˜ค +**์‹œ๋‚˜๋ฆฌ์˜ค: "์•ˆ์ •์„ฑ๋„ ์ฑ™๊ธฐ๊ณ  ๋ˆ๋„ ์•„๋ผ๊ณ  ์‹ถ์„ ๋•Œ"** + +|**์šฉ๋Ÿ‰ ๊ณต๊ธ‰์ž**|**๊ธฐ๋ณธ (Base)**|**๊ฐ€์ค‘์น˜ (Weight)**|**์„ค๋ช…**| +|---|---|---|---| +|**FARGATE**|**2**|**1**|**์ตœ์†Œ 2๊ฐœ**๋Š” ์ ˆ๋Œ€ ๊บผ์ง€์ง€ ์•Š๋Š” ์ผ๋ฐ˜ Fargate๋กœ ์œ ์ง€ (์•ˆ์ •์„ฑ)| +|**FARGATE_SPOT**|**0**|**3**|๊ทธ ์ดํ›„ ๋Š˜์–ด๋‚˜๋Š” ํƒœ์Šคํฌ๋Š” **75% ๋น„์œจ**๋กœ ์ €๋ ดํ•œ Spot ์‚ฌ์šฉ (๋น„์šฉ ์ ˆ๊ฐ)| +### ์™œ ์ด๋ ‡๊ฒŒ ํ•˜๋‚˜์š”? + +1. **์•ˆ์ •์„ฑ:** `FARGATE_SPOT`์€ AWS์—์„œ ์ž์›์ด ๋ถ€์กฑํ•˜๋ฉด ์˜ˆ๊ณ  ์—†์ด ๊บผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ `Base`๋ฅผ ์ผ๋ฐ˜ `FARGATE`๋กœ ์žก์•„๋‘๋ฉด, ์„œ๋ฒ„๊ฐ€ ์•„์˜ˆ ๋จนํ†ต์ด ๋˜๋Š” ์‚ฌํƒœ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +2. **๋น„์šฉ:** ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ ค ํƒœ์Šคํฌ๊ฐ€ 10๊ฐœ, 20๊ฐœ๋กœ ๋Š˜์–ด๋‚  ๋•Œ, ๋Š˜์–ด๋‚œ ๋ถ„๋Ÿ‰์˜ ๋Œ€๋ถ€๋ถ„(75%)์„ ํ›จ์”ฌ ์ €๋ ดํ•œ Spot์œผ๋กœ ๋Œ๋ ค ๋น„์šฉ์„ ๋Œ€ํญ ์•„๋‚„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. \ No newline at end of file diff --git a/content/03.Note/์œˆ๋„์šฐ ์„œ๋ฒ„์˜ ๋ฉ€ํ‹ฐ ์œ ์ €.md b/content/03.Note/์œˆ๋„์šฐ ์„œ๋ฒ„์˜ ๋ฉ€ํ‹ฐ ์œ ์ €.md new file mode 100644 index 0000000..191f998 --- /dev/null +++ b/content/03.Note/์œˆ๋„์šฐ ์„œ๋ฒ„์˜ ๋ฉ€ํ‹ฐ ์œ ์ €.md @@ -0,0 +1,69 @@ +--- +id: ์œˆ๋„์šฐ ์„œ๋ฒ„์˜ ๋ฉ€ํ‹ฐ ์œ ์ € 20260407 +created: 2026-04-07 13:26 +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +> [!question] +> Q. ์œˆ๋„์šฐ์„œ๋ฒ„์˜ ๊ฒฝ์šฐ์—๋Š” ๋ˆ„๊ฐ€ ์›๊ฒฉ์ ‘์†์ค‘์ผ ๋–„ ๋‚ด๊ฐ€ ์ ‘์†์‹œ๋„๋ฅผ ํ•˜๋ฉด ๊ฐ™์€ ํ™”๋ฉด์„ ๋‘˜ ์ด์ƒ์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ๋ณด๊ฒŒ๋˜๊ฑฐ๋‚˜ ์‹ฌํ•˜๋ฉด ๋จผ์ € ์ ‘์†ํ–ˆ๋˜ ์œ ์ €๊ฐ€ ์ ‘์†์ข…๋ฃŒ๋˜๋ฒ„๋ฆฌ๋”๋ผ๊ณ . ์œˆ๋„์šฐ ์„œ๋ฒ„๋Š” ์ด๋Ÿฐ ๋ฉ€ํ‹ฐ์œ ์ € ํ™˜๊ฒฝ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ์„ค๊ณ„๋œ๊ฑฐ์•ผ? +> +> A. ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋ง์”€๋“œ๋ฆฌ๋ฉด, **์œˆ๋„์šฐ ์„œ๋ฒ„(Windows Server) ์—ญ์‹œ ์™„๋ฒฝํ•œ ๋ฉ€ํ‹ฐ์œ ์ €๋ฅผ ์ง€์›ํ•˜๋„๋ก ์„ค๊ณ„๋œ ์šด์˜์ฒด์ œ**์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์ธ PC์šฉ ์œˆ๋„์šฐ(Windows 10/11)์™€๋Š” ๋ผ์ด์„ ์Šค ์ •์ฑ…๊ณผ ๊ธฐ๋ณธ ์„ค์ •๊ฐ’์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒช์œผ์‹  ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. + +์™œ ๋‚˜๋Š” ์œˆ๋„์šฐ ์„œ๋ฒ„๋Š” ๋ฉ€ํ‹ฐ ์œ ์ €๋ฅผ ์ œ๋Œ€๋กœ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ฐฉ๊ฐํ•œ๊ฑธ๊นŒ? + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +[[๋ฉ€ํ‹ฐ์œ ์ €(Multi-user)]] +![[๋ฉ€ํ‹ฐ์œ ์ €(Multi-user)#๐Ÿ“‘ ๊ฐœ๋…]] + +ํ•˜์ง€๋งŒ ๋‚˜๋Š” ์ข…์ข… mstsc๋กœ ์œˆ๋„์šฐ ์„œ๋ฒ„์— ์ ‘์†ํ•  ๋•Œ ๋ˆ„๊ตฐ๊ฐ€์˜ '์–ด?' ์†Œ๋ฆฌ๋ฅผ ๋“ค์€์ ์ด ์žˆ๊ณ  ๋˜ ๋‚ด๊ฐ€ ์ž‘์—…์ค‘์— ๋กœ๊ทธ์•„์›ƒ์ด ๋˜๋ฒ„๋ ค์„œ '์–ด??' ์†Œ๋ฆฌ๋ฅผ ๋‚ธ ์ ์ด ์žˆ๋‹ค. +์ด๋Ÿฐ์ผ์ด ์™œ ๋ฐœ์ƒํ–ˆ๋˜๊ฑธ๊นŒ? + + +ํ˜„์žฌ ๊ฒช์œผ์‹  ์ƒํ™ฉ์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๊ด€์ ์—์„œ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +## 1. ์œˆ๋„์šฐ์˜ ๊ธฐ๋ณธ ๋ชจ๋“œ: ๊ด€๋ฆฌ์šฉ ์›๊ฒฉ ๋ฐ์Šคํฌํ†ฑ (Admin Mode) + +์œˆ๋„์šฐ ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ **์ตœ๋Œ€ 2๋ช…**๊นŒ์ง€ ๋™์‹œ ์ ‘์†์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. + +- **๋ชฉ์ :** ์„œ๋ฒ„ ์„ค์ • ๋ฐ ์œ ์ง€๋ณด์ˆ˜(๊ด€๋ฆฌ์šฉ)์ž…๋‹ˆ๋‹ค. + +- **์ž‘๋™ ๋ฐฉ์‹:** ๋งŒ์•ฝ 2๋ช…์˜ ๊ด€๋ฆฌ์ž๊ฐ€ ์ด๋ฏธ ์ ‘์†ํ•ด ์žˆ๋Š” ์ƒํƒœ์—์„œ 3๋ฒˆ์งธ ์‚ฌ๋žŒ์ด ์ ‘์†์„ ์‹œ๋„ํ•˜๋ฉด, ์‹œ์Šคํ…œ์€ ๊ธฐ์กด ์‚ฌ์šฉ์ž ์ค‘ ํ•œ ๋ช…์„ ๋Š์–ด๋ฒ„๋ฆฌ๊ฑฐ๋‚˜(Kick), ์ ‘์†์„ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. + +- **ํ™”๋ฉด ๊ณต์œ  ํ˜„์ƒ:** ๋งŒ์•ฝ ๋‘ ๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ **๋™์ผํ•œ ์‚ฌ์šฉ์ž ๊ณ„์ •(์˜ˆ: Administrator)** ์œผ๋กœ ์ ‘์†์„ ์‹œ๋„ํ•˜๋ฉด, ์„ค์ •์— ๋”ฐ๋ผ ๊ธฐ์กด ์„ธ์…˜์„ ๋บ์–ด์˜ค๊ฑฐ๋‚˜(์„ธ์…˜ ๋ฆฌ์ปค๋„ฅํŠธ), ๊ฐ™์€ ํ™”๋ฉด์„ ๋ณด๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค. + +## 2. ์ง„์ •ํ•œ ๋ฉ€ํ‹ฐ์œ ์ € ํ™˜๊ฒฝ: ์›๊ฒฉ ๋ฐ์Šคํฌํ†ฑ ์„œ๋น„์Šค (RDS) + +์ˆ˜์‹ญ ๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ์ž์˜ ๋…๋ฆฝ๋œ ๋ฐ”ํƒ•ํ™”๋ฉด์„ ๊ฐ€์ง€๊ณ  ๋™์‹œ์— ์ž‘์—…ํ•˜๋ ค๋ฉด, ์œˆ๋„์šฐ ์„œ๋ฒ„์—์„œ **RDS(Remote Desktop Services)** ์—ญํ• ์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +- **๋…๋ฆฝ๋œ ์„ธ์…˜:** RDS ํ™˜๊ฒฝ์—์„œ๋Š” ๊ฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•  ๋•Œ๋งˆ๋‹ค ์šด์˜์ฒด์ œ๊ฐ€ **๊ฐœ๋ณ„์ ์ธ ๊ฐ€์ƒ ๋ฐ์Šคํฌํ†ฑ ํ™˜๊ฒฝ(Session)** ์„ ์ƒ์„ฑํ•ด ์ค๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์˜† ์‚ฌ๋žŒ์ด ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ์„œ๋กœ ๊ฐ„์„ญํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. + + +- **๋ผ์ด์„ ์Šค(CAL):** ์œˆ๋„์šฐ ์„œ๋ฒ„๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ด€๋ฆฌ์šฉ 2์ธ ์™ธ์— ์ถ”๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•˜๋ ค๋ฉด **RDS CAL**์ด๋ผ๋Š” ๋ณ„๋„์˜ ๋ผ์ด์„ ์Šค ๋น„์šฉ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. MS์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ์ƒ, ๋ฉ€ํ‹ฐ์œ ์ € ๊ธฐ๋Šฅ์„ "์œ ๋ฃŒ ์˜ต์…˜"์œผ๋กœ ๋ถ„๋ฆฌํ•ด ๋‘” ์…ˆ์ž…๋‹ˆ๋‹ค. + **๊ด€๋ฆฌ ํšจ์œจ์„ฑ:** ์„œ๋ฒ„ ์ ๊ฒ€์„ ์œ„ํ•ด ๊ด€๋ฆฌ์ž ๋‘ ๋ช… ์ •๋„๋งŒ ๋“ค์–ด์˜ค๋ฉด ์ถฉ๋ถ„ํ•˜๋‹ค๋Š” ํŒ๋‹จ์ž…๋‹ˆ๋‹ค. + (๋ˆ์ด ๋” ํฐ ์ด์œ ์ธ๊ฑฐ๊ฐ™๋‹ค.) + +## 3. ์š”์•ฝ ๋ฐ ํ•ด๊ฒฐ์ฑ… + +์œˆ๋„์šฐ ์„œ๋ฒ„๊ฐ€ [[๋ฉ€ํ‹ฐ์œ ์ €(Multi-user)]]๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์€ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, **๋น„์šฉ๊ณผ ์„ค์ •์˜ ๋ฌธ์ œ**์ž…๋‹ˆ๋‹ค. + +- **๋จผ์ € ์ ‘์†ํ•œ ์œ ์ €๊ฐ€ ํŠ•๊ธฐ๋Š” ์ด์œ :** ํ—ˆ์šฉ๋œ ๋™์‹œ ์ ‘์† ์„ธ์…˜ ์ˆ˜(๊ธฐ๋ณธ 2๊ฐœ)๋ฅผ ์ดˆ๊ณผํ–ˆ๊ฑฐ๋‚˜, ๋™์ผํ•œ ๊ณ„์ •์œผ๋กœ ์ค‘๋ณต ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. + +- **ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:** + + 1. **์„œ๋กœ ๋‹ค๋ฅธ ๊ณ„์ • ์‚ฌ์šฉ:** ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๊ฐœ๋ณ„ ๊ณ„์ •์„ ์ƒ์„ฑํ•˜์—ฌ ์ ‘์†ํ•˜๋ฉด ๊ด€๋ฆฌ ๋ชจ๋“œ์—์„œ๋„ ์ตœ๋Œ€ 2๋ช…๊นŒ์ง€๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. + + 2. **RDS ์—ญํ•  ์„ค์น˜:** 3์ธ ์ด์ƒ์˜ ๋™์‹œ ์ ‘์†์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ์„œ๋ฒ„ ์—ญํ• ์—์„œ `Remote Desktop Services`๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋ผ์ด์„ ์Šค๋ฅผ ๋“ฑ๋กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + + 3. **๊ทธ๋ฃน ์ •์ฑ…(gpedit.msc) ์ˆ˜์ •:** `์ปดํ“จํ„ฐ ๊ตฌ์„ฑ -> ๊ด€๋ฆฌ ํ…œํ”Œ๋ฆฟ -> Windows ๊ตฌ์„ฑ ์š”์†Œ -> ํ„ฐ๋ฏธ๋„ ์„œ๋น„์Šค -> ์›๊ฒฉ ๋ฐ์Šคํฌํ†ฑ ์„ธ์…˜ ํ˜ธ์ŠคํŠธ -> ์—ฐ๊ฒฐ` ํ•ญ๋ชฉ์—์„œ **์›๊ฒฉ ๋ฐ์Šคํฌํ†ฑ ์„œ๋น„์Šค ์‚ฌ์šฉ์ž๋ฅผ ํ•˜๋‚˜์˜ ์›๊ฒฉ ๋ฐ์Šคํฌํ†ฑ ์„œ๋น„์Šค ์„ธ์…˜์œผ๋กœ ์ œํ•œ** ์˜ต์…˜์„ ์‚ฌ์šฉ ์•ˆ ํ•จ์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋™์ผ ๊ณ„์ •์œผ๋กœ๋„ ์—ฌ๋Ÿฌ ์„ธ์…˜์„ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + + +> [!note] ๊ฒฐ๊ตญ.. ๋ˆ์ด ๋ฌธ์ œ์˜€๋‹ค +๋ผ์ด์„ผ์Šค ๋ฌธ์ œ์˜€์„์ค„์ด์•ผ.. + +> [!question] +> Q. RDS ์—ญํ• ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ผ์ด์„ผ์Šค๋ฌธ์ œ ์ƒ๊ด€์—†์ด ๋˜๋Š”๊ฑฐ์•ผ ์•„๋‹ˆ๋ฉด RDs ์—ญํ• ๋„ ์„ค์ •ํ•˜๊ณ  ๋ผ์ด์„ผ์Šค๋น„๋„ ๋‚ด์•ผ์ง€ 3๋ช…์ด์ƒ ๋™์‹œ์ ‘์†์ด ๊ฐ€๋Šฅํ•œ๊ฑฐ์•ผ? +> A. ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋ง์”€๋“œ๋ฆฌ๋ฉด, **RDS ์—ญํ•  ํ™œ์„ฑํ™”์™€ ๋ผ์ด์„ ์Šค ๊ตฌ๋งค(๋น„์šฉ ์ง€๋ถˆ)๊ฐ€ ๋ชจ๋‘ ์ด๋ฃจ์–ด์ ธ์•ผ** 3๋ช… ์ด์ƒ์˜ ๋™์‹œ ์ ‘์†์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. + +๊ทธ๋ƒฅ.. ์„œ๋ฒ„๋Š” ๋ฆฌ๋ˆ…์Šค ์“ฐ์ž. (๊ณต์งœ์ธ๋ฐ๋‹ค๊ฐ€ ์„ฑ๋Šฅ๋„ ์ข‹๊ณ ...) \ No newline at end of file diff --git a/content/03.Note/์œ ๋‹‰์Šค(Unix).md b/content/03.Note/์œ ๋‹‰์Šค(Unix).md new file mode 100644 index 0000000..1236399 --- /dev/null +++ b/content/03.Note/์œ ๋‹‰์Šค(Unix).md @@ -0,0 +1,54 @@ +--- +id: "์œ ๋‹‰์Šค(Unix) 20260407" +created: "2026-04-07 13:13" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +HP-UX๋„ ์šด์ข‹๊ฒŒ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ์•ž์œผ๋กœ ๋‚ด๊ฐ€ ์œ ๋‹‰์Šค๋ฅผ ๋˜ ์“ธ ์ผ์ด ์žˆ์„๊นŒ? +๊ทธ๋ฆฌ๊ณ  ์‚ฌ์‹ค.. ๋ฆฌ๋ˆ…์Šค๋ž‘ ํฌ๊ฒŒ ๋‹ค๋ฅธ ๊ฒƒ ๊ฐ™์ง€๋„ ์•Š์•˜๋‹ค. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +**์œ ๋‹‰์Šค(Unix)** ๋Š” 1960๋…„๋Œ€ ํ›„๋ฐ˜๋ถ€ํ„ฐ ๊ฐœ๋ฐœ๋œ **์ปดํ“จํ„ฐ ์šด์˜์ฒด์ œ(OS)** ๋กœ, ํ˜„๋Œ€ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์˜ ๋ฟŒ๋ฆฌ๊ฐ€ ๋˜๋Š” ์•„์ฃผ ์ค‘์š”ํ•œ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜๋‚  ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฆฌ๋ˆ…์Šค, macOS, ์•ˆ๋“œ๋กœ์ด๋“œ ๋“ฑ์ด ๋ชจ๋‘ ์œ ๋‹‰์Šค์˜ ์ฒ ํ•™๊ณผ ๊ตฌ์กฐ๋ฅผ ๊ณ„์Šนํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +## 1. ์œ ๋‹‰์Šค์˜ ํ•ต์‹ฌ ํŠน์ง• + +์œ ๋‹‰์Šค๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ **๋‹ค์ค‘ ์‚ฌ์šฉ์ž**์™€ **๋‹ค์ค‘ ์ž‘์—…**์„ ์—ผ๋‘์— ๋‘๊ณ  ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. + +- **๋ฉ€ํ‹ฐํƒœ์Šคํ‚น(Multi-tasking):** ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- [[๋ฉ€ํ‹ฐ์œ ์ €(Multi-user)]] ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๋™์‹œ์— ์‹œ์Šคํ…œ์— ์ ‘์†ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- **๊ณ„์ธต์  ํŒŒ์ผ ์‹œ์Šคํ…œ:** ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋””๋ ‰ํ„ฐ๋ฆฌ(ํด๋”) ๊ตฌ์กฐ๋กœ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์‹ฌ์ง€์–ด ํ•˜๋“œ์›จ์–ด ์žฅ์น˜๊นŒ์ง€๋„ ํŒŒ์ผ๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. + [[๋ฆฌ๋ˆ…์Šค์™€ ์œ ๋‹‰์Šค์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ]] + +- **๋†’์€ ์ด์‹์„ฑ:** ๋Œ€๋ถ€๋ถ„ C์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์–ด, ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด ํ™˜๊ฒฝ์— ๋งž์ถฐ ์ˆ˜์ •ํ•˜๊ณ  ์„ค์น˜ํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. + +## 2. ์œ ๋‹‰์Šค์˜ ์‹œ์Šคํ…œ ๊ตฌ์กฐ + +์œ ๋‹‰์Šค๋Š” ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. + +- [[์ปค๋„(Kernel)]]: ์šด์˜์ฒด์ œ์˜ ์‹ฌ์žฅ๋ถ€์ž…๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด๋ฅผ ์ œ์–ดํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ, ํ”„๋กœ์„ธ์Šค, ํŒŒ์ผ ์‹œ์Šคํ…œ ๋“ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. + +- **์…ธ(Shell):** ์‚ฌ์šฉ์ž์™€ ์ปค๋„ ์‚ฌ์ด์˜ ๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ด๋ฅผ ํ•ด์„ํ•ด์„œ ์ปค๋„์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ: bash, zsh ๋“ฑ) + +- **์œ ํ‹ธ๋ฆฌํ‹ฐ/์• ํ”Œ๋ฆฌ์ผ€์ด์…˜:** ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ๋“ค์ž…๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ, ํŽธ์ง‘๊ธฐ, ๋„คํŠธ์›Œํฌ ๋„๊ตฌ ๋“ฑ์ด ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. + +## 3. [[์œ ๋‹‰์Šค ์ฒ ํ•™ (The Unix Philosophy)]] + +![[์œ ๋‹‰์Šค ์ฒ ํ•™ (The Unix Philosophy)#๊ฐœ๋…]] + +--- + +## 4. ์œ ๋‹‰์Šค์˜ ๊ณ„๋ณด์™€ ์˜ํ–ฅ + +์œ ๋‹‰์Šค๋Š” ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ ์—ฌ๋Ÿฌ ๊ฐˆ๋ž˜๋กœ ๋ฐœ์ „ํ–ˆ์Šต๋‹ˆ๋‹ค. + +- **BSD ๊ณ„์—ด:** ์บ˜๋ฆฌํฌ๋‹ˆ์•„ ๋Œ€ํ•™๊ต ๋ฒ„ํด๋ฆฌ ์บ ํผ์Šค์—์„œ ๋ฐœ์ „์‹œํ‚จ ๋ฒ„์ „์œผ๋กœ, ํ˜„์žฌ์˜ **macOS**์™€ **iOS**์˜ ๊ธฐ๋ฐ˜์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. + +- **System V ๊ณ„์—ด:** ์ƒ์šฉ ์œ ๋‹‰์Šค์˜ ํ‘œ์ค€์ด ๋œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. + +- **๋ฆฌ๋ˆ…์Šค(Linux):** ์œ ๋‹‰์Šค๋Š” ์•„๋‹ˆ์ง€๋งŒ ์œ ๋‹‰์Šค์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ๋ณธ๋–  ๋งŒ๋“  **์œ ๋‹‰์Šค ๊ณ„์—ด(Unix-like)** ์šด์˜์ฒด์ œ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์„œ๋ฒ„์™€ ๋ชจ๋ฐ”์ผ ์‹œ์žฅ์˜ ์ ˆ๋Œ€ ๊ฐ•์ž์ฃ . + diff --git a/content/03.Note/์œ ์—ฐ์„ฑ(Flexibility).md b/content/03.Note/์œ ์—ฐ์„ฑ(Flexibility).md new file mode 100644 index 0000000..546012b --- /dev/null +++ b/content/03.Note/์œ ์—ฐ์„ฑ(Flexibility).md @@ -0,0 +1,22 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> "๋ณ€ํ™”์— ์–ผ๋งˆ๋‚˜ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?" + +## ๐Ÿ“Œ ์ƒ์„ธ +> [!check] +> - **ํ™˜๊ฒฝ์˜ ์œ ์—ฐ์„ฑ:** ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ํด๋ผ์šฐ๋“œ๋กœ, ๋˜๋Š” ์œˆ๋„์šฐ์—์„œ ๋ฆฌ๋ˆ…์Šค๋กœ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์˜ฎ๊ธธ ๋•Œ์˜ ์šฉ์ด์„ฑ. +> +> - **๊ตฌ์กฐ์˜ ์œ ์—ฐ์„ฑ:** ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜(MSA)์ฒ˜๋Ÿผ ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜์ •ํ•  ๋•Œ ์ „์ฒด ์‹œ์Šคํ…œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ. +> +> - **๊ธฐ์ˆ ์˜ ์œ ์—ฐ์„ฑ:** ํŠน์ • ๋ฒค๋”(Vendor Lock-in)์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์˜คํ”ˆ ์†Œ์Šค๋‚˜ ๋„๊ตฌ๋ฅผ ์กฐํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ์–ด๋– ํ•œ ์ƒํ™ฉ์— ์–ผ๋งˆ๋‚˜ ์œ ์—ฐํ•˜๊ฒŒ ์ž˜ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š”์ง€, ๋‹จ์–ด ๋œป ๊ทธ๋Œ€๋กœ ์ดํ•ดํ•˜๋ฉด ๋ ๋“ฏ +> + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file diff --git a/content/03.Note/์œ ์—ฐํ•œ ๋‹จ์ˆœํ•จ.md b/content/03.Note/์œ ์—ฐํ•œ ๋‹จ์ˆœํ•จ.md new file mode 100644 index 0000000..18898a8 --- /dev/null +++ b/content/03.Note/์œ ์—ฐํ•œ ๋‹จ์ˆœํ•จ.md @@ -0,0 +1,50 @@ +--- +id: "์œ ์—ฐํ•œ ๋‹จ์ˆœํ•จ 20260318" +created: "2026-03-18 09:22" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +๋ณต์žกํ•˜๊ฒŒ ์ƒ๊ฐํ•˜์ง€ ๋ง๊ณ  ๋‹จ์ˆœํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๋˜ ์œ ์—ฐํ•œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹ค. + +--- + +### 1. '๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ'๊ณผ '๊ธธ์„ ์—ด์–ด๋‘๋Š” ๊ฒƒ'์˜ ์ฐจ์ด + +์—…์Šค์ผ€์ผ๋ง์„ ์—ผ๋‘์— ๋‘”๋‹ค๋Š” ๊ฒƒ์ด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ณต์žกํ•œ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์ด๋‚˜ ๊ฑฐ๋Œ€ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋„์ž…ํ•˜๋ผ๋Š” ๋œป์ด ์•„๋‹™๋‹ˆ๋‹ค. + +- **๋‚˜์œ ์„ค๊ณ„ (๊ณผ์ž‰ ์—”์ง€๋‹ˆ์–ด๋ง):** "๋‚˜์ค‘์— ์‚ฌ์šฉ์ž๊ฐ€ 100๋งŒ ๋ช…์ด ๋ ์ง€ ๋ชจ๋ฅด๋‹ˆ, ์ง€๊ธˆ ๋‹น์žฅ Redis ์บ์‹œ๋ฅผ ๋ถ™์ด๊ณ  ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋กœ ์ชผ๊ฐœ์ž!" โ†’ **๋‹จ์ˆœํ•จ ์œ„๋ฐ˜ (YAGNI)** + +- **์ข‹์€ ์„ค๊ณ„ (ํ™•์žฅ์„ฑ ๊ณ ๋ ค):** "์ง€๊ธˆ์€ ๋กœ์ปฌ DB๋ฅผ ์“ฐ์ง€๋งŒ, ๋‚˜์ค‘์— DB๊ฐ€ ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ์„œ๋ฒ„๊ฐ€ ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ์œผ๋‹ˆ **๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌ**ํ•ด๋‘์ž." โ†’ **์œ ์—ฐํ•œ ๋‹จ์ˆœํ•จ** + + +์ฆ‰, **๋‚˜์ค‘์— ๊ณ ์น˜๊ธฐ ํž˜๋“ค๊ฒŒ ์ฝ”๋“œ๋ฅผ ๊ผฌ์•„๋†“์ง€ ์•Š๋Š” ๊ฒƒ** ์ž์ฒด๊ฐ€ ์—…์Šค์ผ€์ผ๋ง์„ ์ค€๋น„ํ•˜๋Š” ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. + +### 2. ํŒŒ๋ ˆํ†  ๋ฒ•์น™์˜ ์žฌํ•ด์„ + +๋ฐ์ดํ„ฐ๊ฐ€ ๋Š˜์–ด๋‚  ๋•Œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋Š” ์ง€์ ์€ ๋Œ€๊ฐœ ์ „์ฒด ์ฝ”๋“œ์˜ 20%๋„ ์•ˆ ๋ฉ๋‹ˆ๋‹ค. + +- **๋‹จ์ˆœํ™”:** 80%์˜ ์ผ๋ฐ˜์ ์ธ ๋กœ์ง์€ ์ตœ๋Œ€ํ•œ ์ฝ๊ธฐ ์‰ฝ๊ณ  ๋‹จ์ˆœํ•˜๊ฒŒ ์งญ๋‹ˆ๋‹ค. + +- **์—…์Šค์ผ€์ผ๋ง ๋Œ€๋น„:** ๋‚˜๋จธ์ง€ 20%์˜ ํ•ต์‹ฌ ๋กœ์ง(์˜ˆ: ๋ฐ์ดํ„ฐ ์กฐํšŒ, ๋Œ€๋Ÿ‰ ์ฒ˜๋ฆฌ)์—์„œ **ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํŒจํ„ด(Interface ์‚ฌ์šฉ, ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋“ฑ)**์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. + + +์ด๊ฒƒ์€ ๋ชจ๋“  ๊ณณ์— ํž˜์„ ์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, **์„ฑ๋Šฅ์˜ ๊ธ‰์†Œ๊ฐ€ ๋  ๋งŒํ•œ ๊ณณ์—๋งŒ ์ตœ์†Œํ•œ์˜ ์„ค๊ณ„์  ์žฅ์น˜**๋ฅผ ํ•ด๋‘๋Š” ์ „๋žต์ž…๋‹ˆ๋‹ค. + +### 3. '๋ฒ„ํ‹ฐ๋Š” ์ฝ”๋“œ'์˜ ์ง„์งœ ์˜๋ฏธ: ๊ฐ€๋…์„ฑ + +์—ญ์„ค์ ์ด๊ฒŒ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋Š˜์–ด๋‚˜์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ, ๊ทธ ๋ฌธ์ œ๋ฅผ ๊ฐ€์žฅ ๋นจ๋ฆฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋Š” **๋‹จ์ˆœํ•œ ์ฝ”๋“œ**์ž…๋‹ˆ๋‹ค. + +- ์ฝ”๋“œ๊ฐ€ ๋‹จ์ˆœํ•˜๋ฉด ์–ด๋””๊ฐ€ ๋ณ‘๋ชฉ์ธ์ง€ ๊ธˆ๋ฐฉ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- ์ฝ”๋“œ๊ฐ€ ๋‹จ์ˆœํ•˜๋ฉด ์ตœ์ ํ™”๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ต์ฒดํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. + +- ๋ฐ˜๋ฉด, ๋ฏธ๋ฆฌ ์—…์Šค์ผ€์ผ๋ง์„ ํ•œ๋‹ต์‹œ๊ณ  ๋ณต์žกํ•˜๊ฒŒ ์งœ๋†“์€ ์ฝ”๋“œ๋Š” ์ •์ž‘ ๋ฌธ์ œ๊ฐ€ ํ„ฐ์กŒ์„ ๋•Œ ์ˆ˜์ •ํ•˜๊ธฐ๊ฐ€ ํ›จ์”ฌ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - **"์ถ”์ธก์— ๊ทผ๊ฑฐํ•ด์„œ ๋ฏธ๋ฆฌ ๋ณต์žกํ•œ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์ง€ ๋ง๋˜(๋‹จ์ˆœํ•จ), ๋‚˜์ค‘์— ๊ทธ ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•ด์•ผ ํ•  ๋•Œ ์ฝ”๋“œ ์ „์ฒด๋ฅผ ๊ฐˆ์•„์—Ž์ง€ ์•Š์•„๋„ ๋˜๊ฒŒ๋” '๋ฒฝ'์„ ์ž˜ ์„ธ์›Œ๋‘๋ผ(ํ™•์žฅ์„ฑ)"** +> + +--- diff --git a/content/03.Note/์ตœ์ ํ™”(Optimization).md b/content/03.Note/์ตœ์ ํ™”(Optimization).md new file mode 100644 index 0000000..7a1893a --- /dev/null +++ b/content/03.Note/์ตœ์ ํ™”(Optimization).md @@ -0,0 +1,46 @@ +--- +id: "์ตœ์ ํ™”(Optimization) 20260317" +created: "2026-03-17 16:59" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ด๊ณณ์— ํ•˜๋‚˜์˜ ์ƒ๊ฐ ๋˜๋Š” ์•„์ด๋””์–ด๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. + +--- +## ๐Ÿ“Œ ์ƒ์„ธ +### 1. ์„ค๊ณ„์˜ ์ตœ์ ํ™” = ๊ตฌ์กฐ์˜ ๋‹จ์ˆœํ™” + +ํ”ํžˆ ์ตœ์ ํ™”๋ผ๊ณ  ํ•˜๋ฉด '๊ธฐ๊ต๋ฅผ ๋ถ€๋ ค ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ฒƒ'์„ ์ƒ๊ฐํ•˜๊ธฐ ์‰ฝ์ง€๋งŒ, ๊ฐ€์žฅ ๋†’์€ ์ˆ˜์ค€์˜ ์ตœ์ ํ™”๋Š” **๋ถˆํ•„์š”ํ•œ ๋‹จ๊ณ„๋ฅผ ์ œ๊ฑฐ**ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. + +- **๋ณต์žกํ•œ ๋กœ์ง:** A๋ฅผ ๊ฑฐ์ณ B๋ฅผ ํ™•์ธํ•˜๊ณ  C๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. + +- **์ตœ์ ํ™”๋œ ๋กœ์ง:** ๋ฐ”๋กœ C๋ฅผ ์‹คํ–‰ํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ์—†์Œ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ค‘๊ฐ„ ๊ณผ์ •์„ ์‚ญ์ œํ•œ๋‹ค. + +- **๊ฒฐ๊ณผ:** ์„ฑ๋Šฅ์€ ๋นจ๋ผ์ง€๊ณ (์ตœ์ ํ™”), ์ฝ”๋“œ๋Š” ์งง์•„์ง‘๋‹ˆ๋‹ค(๋‹จ์ˆœํ™”). + + +### 2. ์ธ์ง€์  ์ตœ์ ํ™” (Cognitive Optimization) + +์ฝ”๋“œ๋Š” ์ปดํ“จํ„ฐ๋งŒ ์ฝ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์‚ฌ๋žŒ๋„ ์ฝ์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ณต์žกํ•œ ์ฝ”๋“œ๋Š” ๋””๋ฒ„๊น…๊ณผ ์œ ์ง€๋ณด์ˆ˜ ์‹œ๊ฐ„์„ ์—„์ฒญ๋‚˜๊ฒŒ ์žก์•„๋จน์ฃ . + +- **๋‹จ์ˆœํ•œ ์ฝ”๋“œ**๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋“œ๋Š” **๋‡Œ์˜ ์—ฐ์‚ฐ ๋น„์šฉ(Cognitive Load)**์„ ์ตœ์†Œํ™”ํ•ด ์ค๋‹ˆ๋‹ค. + +- ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ „์ฒด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์˜ ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” '์‚ฌ๋žŒ์„ ์œ„ํ•œ ์ตœ์ ํ™”'๊ฐ€ ๋˜๋Š” ์…ˆ์ž…๋‹ˆ๋‹ค. + + +### 3. ์•Œ๊ณ ๋ฆฌ์ฆ˜์  ์ตœ์ ํ™” + +์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ๋•Œ ์ „์ฒด๋ฅผ ๋‹ค ๋’ค์ง€๋Š” `O(n)` ๋ฐฉ์‹๋ณด๋‹ค, ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ์—์„œ ์ด์ง„ ํƒ์ƒ‰์„ ํ•˜๋Š” `O(log n)` ๋ฐฉ์‹์ด ํ›จ์”ฌ ๋น ๋ฆ…๋‹ˆ๋‹ค. + +- ๋•Œ๋กœ๋Š” ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜(์ตœ์ ํ™”)์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด, ์ง€์ €๋ถ„ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ์ž”๋œฉ ๋„ฃ์–ด๋‘” ์ด์ „ ์ฝ”๋“œ๋ณด๋‹ค ํ›จ์”ฌ **๊ฐ„๊ฒฐํ•˜๊ณ  ๋ช…ํ™•(๋‹จ์ˆœํ™”)**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ๊ด€๋ จ ์‚ฌ๋ก€๋‚˜ ๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์— ๊ธฐ๋กํ•˜์„ธ์š”. +> +> - ๋ณธ์ธ์˜ ์–ธ์–ด๋กœ ํ’€์–ด์„œ ์“ฐ๋Š” ๊ฒƒ์ด ์ œํ…”์นด์Šคํ…”์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. +> + +--- diff --git a/content/03.Note/์ปค๋„(Kernel).md b/content/03.Note/์ปค๋„(Kernel).md new file mode 100644 index 0000000..16c16af --- /dev/null +++ b/content/03.Note/์ปค๋„(Kernel).md @@ -0,0 +1,40 @@ +--- +id: ์ปค๋„(Kernel) 20260407 +created: 2026-04-07 13:40 +tags: + - operating-system + - os + - hardware + - computer + - computer-science +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์‹ค์ œ ํ•˜๋“œ์›จ์–ด ์ž์›์„ ๊ด€๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ํ•˜๋“œ์›จ์–ด๋ฅผ ์กฐ์ž‘ํ•ด์ฃผ๋Š” ๊ด€๋ฆฌ์ž. +์‚ฌ์šฉ์ž <-> ํ•˜๋“œ์›จ์–ด ์‚ฌ์ด์˜ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ชจ๋‘ ์ปค๋„์ด ํ•ด์ค€๋‹ค๊ณ  ๋ณด๋ฉด ๋จ. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +์šด์˜์ฒด์ œ(OS)์˜ **์ปค๋„(Kernel)** ์€ ํ•œ๋งˆ๋””๋กœ **์ปดํ“จํ„ฐ์˜ ์‹ฌ์žฅ์ด์ž ๋ชจ๋“  ์ž์›์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ด€๋ฆฌ์ž**๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ์ปดํ“จํ„ฐ์˜ ํ•˜๋“œ์›จ์–ด ์‚ฌ์ด์—์„œ ๋‹ค๋ฆฌ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์•„์ฃผ ํ•ต์‹ฌ์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. + +## 1. ์ปค๋„์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ + +์ปค๋„์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ œ์–ดํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋ง‰์œผ๋ฉด์„œ, ๋Œ€์‹  ์•ˆ์ „ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ž์›์„ ๋ฐฐ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. + +- **ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ**: ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก CPU ์‚ฌ์šฉ ์‹œ๊ฐ„์„ ๋‚˜๋ˆ„๊ณ  ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. + +- **๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ**: ๊ฐ ํ”„๋กœ๊ทธ๋žจ์ด ์–ด๋А ์ •๋„์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ• ์ง€ ๊ฒฐ์ •ํ•˜๊ณ , ์„œ๋กœ์˜ ์˜์—ญ์„ ์นจ๋ฒ”ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. + +- **ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ**: ํ•˜๋“œ๋””์Šคํฌ๋‚˜ SSD์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฝ์–ด์˜ค๋Š” ๋ฐฉ์‹์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. + +- **์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„ ์ œ์–ด**: ๋ชจ๋‹ˆํ„ฐ, ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค ๋“ฑ ๊ฐ์ข… ํ•˜๋“œ์›จ์–ด์™€ ํ†ต์‹ ํ•˜์—ฌ ๋ช…๋ น์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. + +- **์‹œ์Šคํ…œ ํ˜ธ์ถœ(System Call) ์ œ๊ณต**: ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ํ•˜๋“œ์›จ์–ด ์ž์›์„ ์“ฐ๊ณ  ์‹ถ์„ ๋•Œ ์ปค๋„์— ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต๋กœ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. + +--- +### ์šฐ๋ฆฌ ์ฃผ๋ณ€์˜ ์ปค๋„ ์˜ˆ์‹œ +- **Linux ์ปค๋„**: ์•ˆ๋“œ๋กœ์ด๋“œ ์Šค๋งˆํŠธํฐ, ์„œ๋ฒ„์šฉ OS, ์ž„๋ฒ ๋””๋“œ ๊ธฐ๊ธฐ ๋“ฑ์—์„œ ๋„๋ฆฌ ์“ฐ์ด๋Š” ๋Œ€ํ‘œ์ ์ธ **๋‹จ์ผํ˜• ์ปค๋„**์ž…๋‹ˆ๋‹ค. + +- **NT ์ปค๋„**: ์šฐ๋ฆฌ๊ฐ€ ์“ฐ๋Š” **Windows**์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. **ํ˜ผํ•ฉํ˜• ์ปค๋„** ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. + +- **XNU ์ปค๋„**: macOS์™€ iOS์˜ ๋ฟŒ๋ฆฌ๊ฐ€ ๋˜๋Š” ์ปค๋„๋กœ, ๋งˆ์ดํฌ๋กœ ์ปค๋„(Mach)๊ณผ ๋‹จ์ผํ˜• ์ปค๋„(BSD)์˜ ํŠน์ง•์„ ๊ฒฐํ•ฉํ•œ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. diff --git a/content/03.Note/์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜.md b/content/03.Note/์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜.md new file mode 100644 index 0000000..0bbd217 --- /dev/null +++ b/content/03.Note/์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜.md @@ -0,0 +1,51 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> ์ˆ˜๋งŽ์€ [[์ปจํ…Œ์ด๋„ˆ(Container)]]์˜ ๋ฐฐํฌ, ๊ด€๋ฆฌ, ํ™•์žฅ, ๋„คํŠธ์›Œํ‚น์„ ์ž๋™ํ™”ํ•˜๋Š” **'ํ†ตํ•ฉ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ'**์ž…๋‹ˆ๋‹ค. +> ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฃผ์š” ๊ธฐ๋Šฅ๋“ค์„ ์ž๋™ํ™”ํ•ด์„œ ์‹ค์ œ๋กœ ๊ตฌ๋™์‹œ์ผœ์ฃผ๋Š” ์‹œ์Šคํ…œ + +## ๐Ÿ“Œ ์ƒ์„ธ +> [!check] +> |**ํ•ต์‹ฌ ๊ธฐ๋Šฅ**|**์„ธ๋ถ€ ์„ค๋ช…**|**๊ธฐ๋Œ€ ํšจ๊ณผ**| +> |---|---|---| +> |**์ž๋™ ๋ฐฐ์น˜ (Scheduling)**|์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ๊ฐ€์žฅ ์ ์ ˆํ•œ ์„œ๋ฒ„๋ฅผ ์ฐพ์•„ ์ž๋™์œผ๋กœ ํ• ๋‹น|์ž์› ํšจ์œจ์„ฑ ๊ทน๋Œ€ํ™”| +> |**์ž๊ฐ€ ์น˜์œ  (Self-healing)**|์ฃฝ์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ž๋™์œผ๋กœ ์žฌ์‹œ์ž‘ ๋˜๋Š” ๊ต์ฒด|**๊ณ ๊ฐ€์šฉ์„ฑ(HA) ํ™•๋ณด**| +> |**์˜คํ†  ์Šค์ผ€์ผ๋ง (Scaling)**|ํŠธ๋ž˜ํ”ฝ ๋ถ€ํ•˜์— ๋”ฐ๋ผ ์ปจํ…Œ์ด๋„ˆ ๊ฐœ์ˆ˜๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์กฐ์ ˆ|์„ฑ๋Šฅ ์œ ์ง€ ๋ฐ ๋น„์šฉ ์ตœ์ ํ™”| +> |**๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ (LB)**|์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ์— ํŠธ๋ž˜ํ”ฝ์„ ๊ณ ๋ฅด๊ฒŒ ๋ถ„์‚ฐ|์„œ๋น„์Šค ์•ˆ์ •์„ฑ ํ–ฅ์ƒ| +> |**๋ฌด์ค‘๋‹จ ๋ฐฐํฌ (Rolling Update)**|์„œ๋น„์Šค ์ค‘๋‹จ ์—†์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์ƒˆ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ|์šด์˜ ์—ฐ์†์„ฑ ๋ณด์žฅ| + +### ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ (Conceptual View) + +์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์€ ํฌ๊ฒŒ **์ง€ํœ˜๋ถ€(Control Plane)**์™€ **์‹คํ–‰๋ถ€(Data Plane)**๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. + +> [!abstract] **์ง€ํœ˜๋ถ€ (Control Plane / Master)** +> +> - ์‹œ์Šคํ…œ์˜ ์ƒํƒœ๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ๋ช…๋ น์„ ๋‚ด๋ฆฌ๋Š” ๋‘๋‡Œ ์—ญํ• . +> +> - ์–ด๋–ค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์–ด๋””์— ๋„์šธ์ง€ ๊ฒฐ์ •(Scheduling)ํ•˜๊ณ  ์ƒํƒœ๋ฅผ ๊ฐ์‹œํ•จ. +> + +> [!abstract] **์‹คํ–‰๋ถ€ (Data Plane / Worker Node)** +> +> - ์‹ค์ œ๋กœ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋Œ์•„๊ฐ€๋Š” ์ž‘์—… ๊ณต๊ฐ„(์„œ๋ฒ„). +> +> - ์ง€ํœ˜๋ถ€์˜ ๋ช…๋ น์„ ๋ฐ›์•„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ƒํƒœ๋ฅผ ๋ณด๊ณ ํ•จ. +> + +|**๊ตฌ๋ถ„**|**์„œ๋น„์Šค ๋ช…์นญ**|**ํŠน์ง•**| +|---|---|---| +|**์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ (์ง€ํœ˜์ž)**|**Amazon ECS / EKS**|์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฃฐ๊ณผ ์ •์ฑ…์„ ์„ค์ •ํ•จ.| +|**์ปดํ“จํŒ… ์—”์ง„ (์—ฐ์ฃผ์ž)**|**EC2 / Fargate**|์‹ค์ œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋ฌผ๋ฆฌ์ /๊ฐ€์ƒ์  ์ธํ”„๋ผ.| + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•ด์„œ [[๊ฐ€์šฉ์„ฑ(Availability)]]๊ณผ [[ํ™•์žฅ์„ฑ(Scalability)]]๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์ฃผ๋Š” ์—”์ง„ +> - ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์•Œ์•„์„œ ์ž˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์—”์ง„ +> - ํ•™์Šต์ปค๋ธŒ๋Š” ์กด์žฌํ•จ. ([[์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes)]] ํ•™์Šต ํ•„์š”) +> (AWS์˜ ๊ฒฝ์šฐ ์ด ํ•™์Šต์ปค๋ธŒ๋ฅผ ์™„ํ™”ํ•ด์ฃผ๋Š” ECS ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•จ.) +> + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file diff --git a/content/03.Note/์ปจํ…Œ์ด๋„ˆ(Container).md b/content/03.Note/์ปจํ…Œ์ด๋„ˆ(Container).md new file mode 100644 index 0000000..66b7ccd --- /dev/null +++ b/content/03.Note/์ปจํ…Œ์ด๋„ˆ(Container).md @@ -0,0 +1,22 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> ์ปจํ…Œ์ด๋„ˆ(Container)๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ทธ ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ(์ฝ”๋“œ, ๋Ÿฐํƒ€์ž„, ์‹œ์Šคํ…œ ๋„๊ตฌ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์„ค์ • ๋“ฑ)์„ ํ•˜๋‚˜๋กœ ๋ฌถ์€ **ํ‘œ์ค€ํ™”๋œ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€**์ž…๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +> [!check] +> ### ํ•ต์‹ฌ ๊ฐœ๋…: "์šด์†ก์šฉ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ฐ™๋‹ค" +> +> ํ•ญ๊ตฌ์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์•ˆ์— ๋ฌด์—‡์ด ๋“ค์—ˆ๋“ (์ „์ž์ œํ’ˆ์ด๋“  ๊ฐ€๊ตฌ๋“ ) ๊ทœ๊ฒฉํ™”๋˜์–ด ๋ฐฐ์— ์‰ฝ๊ฒŒ ์‹ค์„ ์ˆ˜ ์žˆ๋“ฏ์ด, ์†Œํ”„ํŠธ์›จ์–ด ์ปจํ…Œ์ด๋„ˆ๋„ ์–ด๋–ค ํ™˜๊ฒฝ(๊ฐœ๋ฐœ์ž PC, ํ…Œ์ŠคํŠธ ์„œ๋ฒ„, ํด๋ผ์šฐ๋“œ)์—์„œ๋“  **๋™์ผํ•˜๊ฒŒ ์ž‘๋™**ํ•˜๋„๋ก ๊ทœ๊ฒฉํ™”๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์—”์ง„ํ™”ํ•ด๋†“์€๊ฒƒ์ด ๋„์ปค์ž…๋‹ˆ๋‹ค. + + +![[๊ฐ€์ƒ ๋จธ์‹ (VM) vs ์ปจํ…Œ์ด๋„ˆ]] + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #docker \ No newline at end of file diff --git a/content/03.Note/์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ.md b/content/03.Note/์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ.md new file mode 100644 index 0000000..1a18096 --- /dev/null +++ b/content/03.Note/์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ.md @@ -0,0 +1,53 @@ +--- +id: ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ 20260317 +created: 2026-03-17 17:19 +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +๊ธ€๋กœ ์ฝ์„ ๋• ๋ฌด์Šจ ๋ง์ธ์ง€ ์–ด๋ ดํ’‹์ด ์ง์ž‘์ด ๋˜์ง€๋งŒ ์‹ค์ œ๋กœ ํ•ด๋ณด๋ฉด ๊ฐ€๋…์„ฑ์ด ์ข‹์€ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฑด ์–ด๋ ต๋‹ค. + +๋ฌธ์žฅ์ฒ˜๋Ÿผ ์ฝํžˆ๋Š” ์ฝ”๋“œ์™€ ์ธ์ง€ ๋ถ€ํ•˜์˜ ์ตœ์†Œํ™”๋Š” ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์ข‹์€ ๋Œ€์‘์ฑ…์ธ ๊ฒƒ ๊ฐ™๊ณ , + + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +**๊ฐ€๋…์„ฑ์ด ๋†’์€ ์ฝ”๋“œ**๋Š” ๋‹จ์ˆœํžˆ "์˜ˆ์œ ์ฝ”๋“œ"๋ฅผ ๋„˜์–ด **์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ์‚ฌ๋žŒ์˜ ๋‡Œ๊ฐ€ ์—๋„ˆ์ง€๋ฅผ ์ตœ์†Œํ•œ์œผ๋กœ ์“ฐ๊ฒŒ ๋งŒ๋“œ๋Š” ์ฝ”๋“œ**๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ๊ฐ€๋…์„ฑ์ด ์ข‹์€ ์ฝ”๋“œ์˜ ๊ธฐ์ค€ +### 1. ๋ฌธ์žฅ์ฒ˜๋Ÿผ ์ฝํžˆ๋Š” ์ฝ”๋“œ (์˜๋„ ๋…ธ์ถœ) + +์ฝ”๋“œ๋ฅผ ๋ดค์„ ๋•Œ "์–ด๋–ป๊ฒŒ(How)" ์ž‘๋™ํ•˜๋Š”์ง€ ๋ถ„์„ํ•˜๊ธฐ ์ „์—, "๋ฌด์—‡์„(What)" ํ•˜๋ ค๋Š”์ง€ ๋ฐ”๋กœ ์ดํ•ด๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +- **๋‚˜์œ ์˜ˆ:** `if (user.Status == 1 && user.Age > 19 && user.HasPaid)` (์ˆซ์ž 1์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ํ•œ์ฐธ ์ƒ๊ฐํ•ด์•ผ ํ•จ) + +- **์ข‹์€ ์˜ˆ:** `if (user.IsActiveAdultMember())` (ํ•จ์ˆ˜ ์ด๋ฆ„๋งŒ์œผ๋กœ ์˜๋„๊ฐ€ ๋ช…ํ™•ํ•จ) + + +### 2. ์ธ์ง€ ๋ถ€ํ•˜(Cognitive Load)์˜ ์ตœ์†Œํ™” + +์‚ฌ๋žŒ์˜ ๋‹จ๊ธฐ ๊ธฐ์–ต๋ ฅ์€ ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์— ๋จธ๋ฆฟ์†์— ๋‹ด์•„์•ผ ํ•  ์ •๋ณด๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์ฝ๊ธฐ ํž˜๋“  ์ฝ”๋“œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. + +- **๋‚ฎ์€ ์ค‘์ฒฉ๋„:** `if` ๋ฌธ ์•ˆ์— `if`, ๊ทธ ์•ˆ์— `for` ๋ฃจํ”„๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ๊ฒน์ณ ์žˆ์œผ๋ฉด ๋‡Œ๋Š” ๊ฐ ๋‹จ๊ณ„์˜ ์กฐ๊ฑด์„ ๊ธฐ์–ตํ•˜๋А๋ผ ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. (Early Return ํŒจํ„ด ๋“ฑ์œผ๋กœ ์ค‘์ฒฉ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.) + +- **์ž‘์€ ํ•จ์ˆ˜:** ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๊ฐ€ 100์ค„์ด๋ผ๋ฉด ํ๋ฆ„์„ ๋†“์น˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. 5~10์ค„ ๋‚ด์™ธ์˜ ์ž‘์€ ํ•จ์ˆ˜๋กœ ์ชผ๊ฐœ๋ฉด ๊ฐ๊ฐ์˜ ์ฑ…์ž„์ด ๋ช…ํ™•ํ•ด์ง‘๋‹ˆ๋‹ค. + + +### 3. ์ผ๊ด€์„ฑ (Consistency) + +์‚ฌ๋žŒ์€ ํŒจํ„ด์„ ์ธ์‹ํ•˜๋Š” ๋ฐ ๋Šฅ์ˆ™ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ ์ „์ฒด์—์„œ ๋™์ผํ•œ ๊ทœ์น™์ด ์ ์šฉ๋˜์–ด ์žˆ๋‹ค๋ฉด ๋‹ค์Œ์— ์˜ฌ ๋‚ด์šฉ์„ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. + +- ๋ณ€์ˆ˜ ๋ช…๋ช… ๊ทœ์น™(CamelCase vs snake_case), ํด๋” ๊ตฌ์กฐ, ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ฐฉ์‹ ๋“ฑ์ด ํ”„๋กœ์ ํŠธ ์ „์ฒด์—์„œ ์ผ๊ด€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +- **"๋†€๋žŒ ์ตœ์†Œํ™”์˜ ์›์น™(Principle of Least Astonishment)":** ์ฝ”๋“œ๋ฅผ ์ฝ์—ˆ์„ ๋•Œ "์–ด? ์ด๊ฒŒ ์™œ ์—ฌ๊ธฐ์„œ ์ด๋ ‡๊ฒŒ ๋™์ž‘ํ•˜์ง€?"๋ผ๋Š” ๋‹นํ˜น๊ฐ์ด ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + + +### 4. [[์‹ ํ˜ธ ๋Œ€ ์†Œ์Œ๋น„(Signal-to-Noise Ratio)]] + +์ฝ”๋“œ์—์„œ ์ง„์งœ ์ค‘์š”ํ•œ ๋กœ์ง(์‹ ํ˜ธ)์€ ๊ฐ•์กฐํ•˜๊ณ , ํ˜•์‹์ ์ธ ๋ฌธ๋ฒ•์ด๋‚˜ ๊ตฐ๋”๋”๊ธฐ(์†Œ์Œ)๋Š” ์ค„์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. + +- **๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์ œ๊ฑฐ:** ์ฝ”๋“œ๋งŒ์œผ๋กœ ์„ค๋ช…์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ฃผ์„์€ ์†Œ์Œ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. + +- **๋‹จ์ˆœํ•œ ์ถ”์ƒํ™”:** ๋„ˆ๋ฌด ๋ณต์žกํ•œ ๋””์ž์ธ ํŒจํ„ด์„ ๋‚จ์šฉํ•˜๋ฉด ์‹ค์ œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฐพ๊ธฐ ํž˜๋“ค์–ด์ง‘๋‹ˆ๋‹ค. + +--- diff --git a/content/03.Note/์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes).md b/content/03.Note/์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes).md new file mode 100644 index 0000000..9eec193 --- /dev/null +++ b/content/03.Note/์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes).md @@ -0,0 +1,23 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 +K8s (K๋’ค์— 8๊ธ€์ž๊ฐ€ ์žˆ๋‹ค๊ณ  ์ด๋ ‡๊ฒŒ ํ‘œ๊ธฐํ•˜๊ธฐ๋„ ํ•จ) +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +"์ˆ˜๋งŽ์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ง€ํœ˜ํ•˜์—ฌ **์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์ƒํƒœ(Desired State)**๋กœ ์œ ์ง€ํ•ด ์ฃผ๋Š” ๊ฑฐ๋Œ€ํ•œ ์ž๋™ํ™” ๊ด€๋ฆฌ ์‹œ์Šคํ…œ" + +์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ, ํ™•์žฅ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์ž๋™ํ™”ํ•ด ์ฃผ๋Š” ์˜คํ”ˆ ์†Œ์Šค [[์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜]] ํ”Œ๋žซํผ**์ž…๋‹ˆ๋‹ค. +๊ตฌ๊ธ€์ด ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋˜ ์‹œ์Šคํ…œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํƒ„์ƒํ–ˆ์œผ๋ฉฐ, ํ˜„์žฌ ์ „ ์„ธ๊ณ„ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ ํ‘œ์ค€์œผ๋กœ ์ž๋ฆฌ ์žก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. +## ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ๋Šฅ +> [!check] +> **โ‘  ์„ ์–ธ์  ๊ตฌ์„ฑ (Declarative Configuration)** "์ปจํ…Œ์ด๋„ˆ 3๊ฐœ๋ฅผ ๋„์›Œ์ค˜"๋ผ๊ณ  ๋ช…๋ น์„œ(YAML ํŒŒ์ผ)๋ฅผ ๋˜์ง€๋ฉด, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ช…๋ น์„œ์™€ ์ผ์น˜ํ•˜๋„๋ก ์Šค์Šค๋กœ ์ž์›์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. +> **โ‘ก ์ž๊ฐ€ ์น˜์œ  (Self-healing)** ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ฃฝ์œผ๋ฉด ์ฆ‰์‹œ ๊ฐ์ง€ํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ๋„์›๋‹ˆ๋‹ค. ๋…ธ๋“œ ์ž์ฒด๊ฐ€ ์ฃฝ์–ด๋„ ํ•ด๋‹น ๋…ธ๋“œ์— ์žˆ๋˜ ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ๋‹ค๋ฅธ ๊ฑด๊ฐ•ํ•œ ๋…ธ๋“œ๋กœ ์˜ฎ๊ฒจ์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. +> **โ‘ข ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ๋ฐ ๋กค๋ฐฑ** ์„œ๋น„์Šค๋ฅผ ์ค‘๋‹จํ•˜์ง€ ์•Š๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฒ„์ „์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ์ฆ‰์‹œ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋˜๋Œ๋ฆฌ๋Š”(Rollback) ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์„ ํ•ด์ฃผ๋Š” ์—”์ง„, ์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ์ •ํ™•ํžˆ ์•Œ๊ณ  ์“ฐ๊ธฐ๊ฐ€ ๊นŒ๋‹ค๋กœ์›€. +> (์•Œ์•„์•ผ ํ•  ๋‚ด์šฉ์ด ๋งŽ๋‹ค.) +> - ํ•˜์ง€๋งŒ ์˜จ๋ผ์ธ ์„œ๋น„์Šค ์šด์˜์— ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๋‹ค ์ง€์›ํ•ด์ค€๋‹ค. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file diff --git a/content/03.Note/ํด๋Ÿฌ์Šคํ„ฐ(Cluster).md b/content/03.Note/ํด๋Ÿฌ์Šคํ„ฐ(Cluster).md new file mode 100644 index 0000000..9d116f5 --- /dev/null +++ b/content/03.Note/ํด๋Ÿฌ์Šคํ„ฐ(Cluster).md @@ -0,0 +1,45 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> **"์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ๋œ ์ž์›์„ ํ•˜๋‚˜์˜ ๊ฑฐ๋Œ€ํ•œ ๋‹จ์ผ ์‹œ์Šคํ…œ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ์ˆ "**์ž…๋‹ˆ๋‹ค. +> "์—ฌ๋Ÿฌ ๋Œ€์˜ ์ปดํ“จํ„ฐ(Node)๋ฅผ ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ, ์™ธ๋ถ€์—์„œ๋Š” ๋งˆ์น˜ ํ•œ ๋Œ€์˜ ๊ณ ์„ฑ๋Šฅ ์ปดํ“จํ„ฐ์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ง‘ํ•ฉ์ฒด" + +## ๐Ÿ“Œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชฉ์  +> [!check] +> |**๊ตฌ๋ถ„**|**ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๋ฌธ์ œ**|**ํด๋Ÿฌ์Šคํ„ฐ์˜ ์—ญํ• **| +> |---|---|---| +> |**์‹ ๋ขฐ์„ฑ (Reliability)**|ํ•œ ๋Œ€๊ฐ€ ๊ณ ์žฅ ๋‚˜๋ฉด ์„œ๋น„์Šค ์ค‘๋‹จ|**์žฅ์•  ๊ทน๋ณต(Failover):** ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๊ฐ€ ์ฆ‰์‹œ ์—…๋ฌด๋ฅผ ๋Œ€์‹ ํ•จ| +> |**์„ฑ๋Šฅ (Performance)**|ํ•œ ๋Œ€์˜ ์„ฑ๋Šฅ์œผ๋กœ๋Š” ์ฒ˜๋ฆฌ ๋ถˆ๊ฐ€|**๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ:** ์ž‘์—…์„ ์ชผ๊ฐœ์–ด ์—ฌ๋Ÿฌ ๋Œ€๊ฐ€ ๋™์‹œ์— ์ˆ˜ํ–‰| +> |**ํ™•์žฅ์„ฑ (Scalability)**|์„ฑ๋Šฅ์„ ๋” ๋†’์—ฌ์•ผ ํ•˜๋Š” ์ƒํ™ฉ|**์ˆ˜ํ‰ ํ™•์žฅ:** ์ปดํ“จํ„ฐ๋ฅผ ์˜†์œผ๋กœ ๊ณ„์† ์ด์–ด ๋ถ™์ž„| + +์‹ ๋ขฐ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ํ™•๋ณดํ•˜๊ณ  ๊ณ ์„ฑ๋Šฅ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•จ + +### ํด๋Ÿฌ์Šคํ„ฐ์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ +**โ‘  ๋…ธ๋“œ (Node)** ํด๋Ÿฌ์Šคํ„ฐ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฐœ๋ณ„ ์ปดํ“จํ„ฐ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ฆฌ ์„œ๋ฒ„์ผ ์ˆ˜๋„ ์žˆ๊ณ  ๊ฐ€์ƒ ๋จธ์‹ (VM)์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. + +**โ‘ก ์ „์šฉ ๋„คํŠธ์›Œํฌ (Cluster Interconnect)** ๋…ธ๋“œ๋“ค๋ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ณ  ์„œ๋กœ์˜ ์ƒ์‚ฌ๋ฅผ ํ™•์ธ(Heartbeat)ํ•˜๊ธฐ ์œ„ํ•œ ์ดˆ๊ณ ์† ํ†ต์‹ ๋ง์ž…๋‹ˆ๋‹ค. + +**โ‘ข ํด๋Ÿฌ์Šคํ„ฐ ์›จ์–ด (Clusterware/Middleware)** ์—ฌ๋Ÿฌ ๋Œ€์˜ ๋…ธ๋“œ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด ๊ด€๋ฆฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ธต์ž…๋‹ˆ๋‹ค. ๋ˆ„๊ฐ€ ๋Œ€์žฅ(Master)์ธ์ง€, ๋ˆ„๊ฐ€ ์ฃฝ์—ˆ๋Š”์ง€, ์ž‘์—…์„ ์–ด๋””์— ๋ณด๋‚ผ์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. + + +### ๐Ÿ’ก ํ•œ๋ˆˆ์— ๋ณด๋Š” ๋น„์œ : "์˜ค์ผ€์ŠคํŠธ๋ผ" + +- **์—ฐ์ฃผ์ž ํ•œ ๋ช…:** ๊ฐœ๋ณ„ ์ปดํ“จํ„ฐ (Node) +- **์˜ค์ผ€์ŠคํŠธ๋ผ ์ „์ฒด:** ํด๋Ÿฌ์Šคํ„ฐ (Cluster) +- **์ง€ํœ˜์ž:** ํด๋Ÿฌ์Šคํ„ฐ ์›จ์–ด (๊ด€๋ฆฌ ์‹œ์Šคํ…œ) + +- **๊ด€๊ฐ(์‚ฌ์šฉ์ž):** ๊ด€๊ฐ์€ ๊ฐœ๋ณ„ ์—ฐ์ฃผ์ž์˜ ์—ฐ์Šต ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ, ์˜ค์ผ€์ŠคํŠธ๋ผ๊ฐ€ ๋งŒ๋“ค์–ด๋‚ด๋Š” **ํ•˜๋‚˜์˜ ์™„์„ฑ๋œ ๊ตํ–ฅ๊ณก(์„œ๋น„์Šค)**์„ ๋“ฃ์Šต๋‹ˆ๋‹ค. ์—ฐ์ฃผ์ž ํ•œ ๋ช…์ด ์ž ์‹œ ์ž๋ฆฌ๋ฅผ ๋น„์›Œ๋„(์žฅ์• ) ๋‹ค๋ฅธ ์—ฐ์ฃผ์ž๊ฐ€ ๋ฉ”์›Œ์ฃผ์–ด ๊ณก์€ ๊ณ„์† ์—ฐ์ฃผ๋ฉ๋‹ˆ๋‹ค. + +[[์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜]] +์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์€ ์ฆ‰ ํ•˜๋‚˜์˜ ์™„์„ฑ๋œ ์„œ๋น„์Šค ํ˜•ํƒœ์˜ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์„ ์˜๋ฏธ + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ปดํ“จํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ์ถ”์ƒ์ ์ธ ๋‹จ์œ„๋กœ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ์ฒ˜๋Ÿผ ์“ธ์ˆ˜์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ  +> - ์ฆ‰, ์—ฌ๋Ÿฌ ๋…ธ๋“œ์˜ ํ•ฉ์œผ๋กœ ํ•˜๋‚˜์˜ ์Šˆํผ์ปดํ“จํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ +> + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file diff --git a/content/03.Note/ํƒœ์Šคํฌ ์‹คํ–‰ ์—ญํ• (Task Execution Role).md b/content/03.Note/ํƒœ์Šคํฌ ์‹คํ–‰ ์—ญํ• (Task Execution Role).md new file mode 100644 index 0000000..fe86458 --- /dev/null +++ b/content/03.Note/ํƒœ์Šคํฌ ์‹คํ–‰ ์—ญํ• (Task Execution Role).md @@ -0,0 +1,22 @@ +--- +id: "ํƒœ์Šคํฌ ์‹คํ–‰ ์—ญํ• (Task Execution Role) 20260305" +created: "2026-03-05 09:35" +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +ํƒœ์Šคํฌ๊ฐ€ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ถŒํ•œ๋“ค์„ ์ •์˜ํ•ด๋†“๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> "ํƒœ์Šคํฌ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ECS ์„œ๋น„์Šค๊ฐ€ ๋นŒ๋ ค ์“ฐ๋Š” ๊ถŒํ•œ" +ํƒœ์Šคํฌ๊ฐ€ ์‹ค์ œ๋กœ ๊ตฌ๋™๋˜๊ธฐ **์ „**๊ณผ ๊ตฌ๋™๋˜๋Š” **๊ณผ์ •**์—์„œ ํ•„์š”ํ•œ ๊ถŒํ•œ +## ๐Ÿ“Œ ์ฃผ์š” ์šฉ๋„ +> [!check] +> - **ECR ์ด๋ฏธ์ง€ ํ’€(Pull):** ํ”„๋ผ์ด๋น— ์ €์žฅ์†Œ์—์„œ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ๊ถŒํ•œ. +> +> - **CloudWatch Logs:** ๋กœ๊ทธ๋ฅผ ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ๊ทธ๋ฃน์— ์ ‘๊ทผํ•  ๊ถŒํ•œ. +> +> - **Secrets Manager / Parameter Store:** ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๋‹ด์„ ๋น„๋ฐ€๋ฒˆํ˜ธ๋‚˜ ์„ค์ •๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๊ถŒํ•œ. + +--- diff --git a/content/03.Note/ํƒœ์Šคํฌ ์—ญํ• (Task Role).md b/content/03.Note/ํƒœ์Šคํฌ ์—ญํ• (Task Role).md new file mode 100644 index 0000000..99c5fed --- /dev/null +++ b/content/03.Note/ํƒœ์Šคํฌ ์—ญํ• (Task Role).md @@ -0,0 +1,32 @@ +--- +id: "ํƒœ์Šคํฌ ์—ญํ• (Task Role) 20260305" +created: "2026-03-05 09:38" +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +ํƒœ์Šคํฌ์˜ ์ปจํ…Œ์ด๋„ˆ์—์„œ ๊ตฌ๋™๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ถŒํ•œ์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์Œ. +์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด AWS์˜ ์„œ๋น„์Šค์— ์ง์ ‘ ์ ‘๊ทผํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์— ์„ค์ •์ด ํ•„์š”ํ•จ + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> "๋‚ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์ฝ”๋“œ)์ด ์‹คํ–‰ ์ค‘์— ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ถŒํ•œ" +> ํƒœ์Šคํฌ๊ฐ€ **์‹คํ–‰๋œ ํ›„**, ๋‚ด ์†Œ์Šค ์ฝ”๋“œ(Java, Python, Node.js ๋“ฑ) ์•ˆ์—์„œ AWS SDK๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ํ•„์š”ํ•œ ๊ถŒํ•œ์ž…๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ฃผ์š” ์šฉ๋„ +> [!check] +> - **S3 ๋ฒ„ํ‚ท ์ ‘๊ทผ:** ์‚ฌ์šฉ์ž๊ฐ€ ์—…๋กœ๋“œํ•œ ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ฝ์„ ๋•Œ. +> +> - **DynamoDB/RDS:** ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ณ  ์ฝ์„ ๋•Œ. +> +> - **SQS/SNS:** ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ฑฐ๋‚˜ ๋ฐ›์„ ๋•Œ. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ๊ด€๋ จ ์‚ฌ๋ก€๋‚˜ ๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์— ๊ธฐ๋กํ•˜์„ธ์š”. +> +> - ๋ณธ์ธ์˜ ์–ธ์–ด๋กœ ํ’€์–ด์„œ ์“ฐ๋Š” ๊ฒƒ์ด ์ œํ…”์นด์Šคํ…”์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. +> + +--- diff --git a/content/03.Note/ํƒœ์Šคํฌ ์ •์˜ ํŒจ๋ฐ€๋ฆฌ.md b/content/03.Note/ํƒœ์Šคํฌ ์ •์˜ ํŒจ๋ฐ€๋ฆฌ.md new file mode 100644 index 0000000..6893bdb --- /dev/null +++ b/content/03.Note/ํƒœ์Šคํฌ ์ •์˜ ํŒจ๋ฐ€๋ฆฌ.md @@ -0,0 +1,44 @@ +--- +id: ํƒœ์Šคํฌ ์ •์˜ ํŒจ๋ฐ€๋ฆฌ 20260305 +created: 2026-03-05 09:04 +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +ํƒœ์Šคํฌ๋Š” ์ธ์Šคํ„ด์Šค, ํƒœ์Šคํฌ ์ •์˜ ํŒจ๋ฐ€๋ฆฌ๋Š” ๊ฐ์ฒด์™€ ๊ฐ™๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. +์ฆ‰, ๋ถ•์–ด๋นต(ํƒœ์Šคํฌ)๊ณผ ๋ถ•์–ด๋นตํ‹€(ํƒœ์Šคํฌ ์ •์˜ ํŒจ๋ฐ€๋ฆฌ)์˜ ์‚ฌ์ด์™€ ๊ฐ™๋‹ค. + +> [!question] +> Q. ํƒœ์Šคํฌ ์ด๋ฆ„์ด๋ผ๊ณ  ํ•˜๋ฉด ๋˜์ง€ ์™œ ํƒœ์Šคํฌ ์ •์˜ ํŒจ๋ฐ€๋ฆฌ ์ด๋ฆ„ ์ด๋ผ๊ณ  ์ด์ƒํ•˜๊ฒŒ ์ด๋ฆ„๋ถ™์—ฌ๋†“์€๊ฑฐ์•ผ? +> A. ๊ทธ ๋งˆ์Œ 100% ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค! ์ฒ˜์Œ์— AWS ECS๋ฅผ ์ ‘ํ•˜๋ฉด **"๊ทธ๋ƒฅ ํƒœ์Šคํฌ ์ด๋ฆ„(Task Name)์ด๋ผ๊ณ  ํ•˜๋ฉด ๋ ๊ฑธ, ์™œ ๊ตณ์ด 'ํŒจ๋ฐ€๋ฆฌ(Family)'๋ผ๋Š” ๊ฑฐ์ฐฝํ•œ ๋‹จ์–ด๋ฅผ ๋ถ™์—ฌ์„œ ํ—ท๊ฐˆ๋ฆฌ๊ฒŒ ํ• ๊นŒ?"**๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค๊ธฐ ๋งˆ๋ จ์ด์ฃ . + +์ด๊ฒŒ ๋‹จ์ˆœํžˆ ์ด๋ฆ„์„ ์–ด๋ ต๊ฒŒ ์ง€์€ ๊ฒŒ ์•„๋‹ˆ๋ผ, **'๋ฒ„์ „ ๊ด€๋ฆฌ'**๋ผ๋Š” ๊ฐœ๋… ๋•Œ๋ฌธ์— ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. + +## 1. ํƒœ์Šคํฌ ์ •์˜๋Š” "ํ•œ ๋ฒˆ ์“ฐ๋ฉด ์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅ(Immutable)" ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค + +AWS ECS์—์„œ **ํƒœ์Šคํฌ ์ •์˜(Task Definition)**๋Š” ํ•œ ๋ฒˆ ๋งŒ๋“ค๋ฉด ๋‚ด์šฉ์„ ๊ณ ์น  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ด๋ฏธ์ง€ ํƒœ๊ทธ๋ฅผ `v1`์—์„œ `v2`๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด, ๊ธฐ์กด ๊ฒƒ์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ **์ƒˆ๋กœ์šด ๋ฒ„์ „**์„ ๊ตฌ์›Œ๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +์ด๋•Œ, **"์ด ์„ค๊ณ„๋„๋“ค์€ ๋‹ค ๊ฐ™์€ ์šฉ๋„์˜ ์„ค๊ณ„๋„๋“ค์ด์•ผ"**๋ผ๊ณ  ๋ฌถ์–ด์ฃผ๋Š” ๊ทธ๋ฃน ์ด๋ฆ„์ด ๋ฐ”๋กœ **ํŒจ๋ฐ€๋ฆฌ(Family)**์ž…๋‹ˆ๋‹ค. + +- **Family Name:** `my-web-app` (์„ฑ์”จ) + +- **Revision 1:** `my-web-app:1` (์ฒซ์งธ) + +- **Revision 2:** `my-web-app:2` (๋‘˜์งธ) + +- **Revision 3:** `my-web-app:3` (์…‹์งธ) + + +## 2. 'ํƒœ์Šคํฌ ์ด๋ฆ„'๊ณผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค + +๋งŒ์•ฝ ์ด๊ฑธ ๊ทธ๋ƒฅ 'ํƒœ์Šคํฌ ์ด๋ฆ„'์ด๋ผ๊ณ  ๋ถˆ๋Ÿฌ๋ฒ„๋ฆฌ๋ฉด, **์‹ค์ œ๋กœ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š” ์‹คํ–‰ ๊ฐ์ฒด(Running Task)**์™€ ๊ตฌ๋ถ„์ด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. + +- **ํƒœ์Šคํฌ ์ •์˜ ํŒจ๋ฐ€๋ฆฌ (Family):** "์›น ์„œ๋ฒ„๋ฅผ ๋„์šฐ๊ธฐ ์œ„ํ•œ **์„ค๊ณ„๋„ ์„ธํŠธ**" (๋ถ•์–ด๋นต ํ‹€์˜ ์ข…๋ฅ˜) + +- **ํƒœ์Šคํฌ (Task):** "์ง€๊ธˆ ์„œ๋ฒ„์—์„œ **์‹ค์ œ๋กœ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค**" (ํ‹€์—์„œ ์ฐ์–ด๋‚ธ ์‹ค์ œ ๋ถ•์–ด๋นต) + + +๋งŒ์•ฝ ์งˆ๋ฌธ์ž๋‹˜์ด `my-web-app`์ด๋ผ๋Š” ํŒจ๋ฐ€๋ฆฌ ์ด๋ฆ„์„ ์ •ํ–ˆ๋‹ค๋ฉด, ๊ทธ ์„ค๊ณ„๋„๋กœ 10๊ฐœ์˜ **ํƒœ์Šคํฌ**๋ฅผ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ "ํƒœ์Šคํฌ ์ด๋ฆ„์ด ๋ญ์•ผ?"๋ผ๊ณ  ๋ฌผ์œผ๋ฉด "10๊ฐœ ์ค‘์— ์–ด๋–ค ๊ฑฐ?"๋ผ๊ณ  ๋˜๋ฌป๊ฒŒ ๋˜์ฃ . ๊ทธ๋ž˜์„œ **์„ค๊ณ„๋„์˜ ์ด๋ฆ„**์€ 'ํŒจ๋ฐ€๋ฆฌ'๋ผ๊ณ  ๋ถˆ๋Ÿฌ์„œ ํ™•์‹คํžˆ ๊ตฌ๋ถ„ ์ง“๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. + +## 3. ์„œ๋น„์Šค(Service)์™€์˜ ์—ฐ๊ฒฐ ๊ณ ๋ฆฌ + +ECS **์„œ๋น„์Šค**๋ฅผ ๋งŒ๋“ค ๋•Œ "์–ด๋–ค ํƒœ์Šคํฌ๋ฅผ ๋Œ๋ฆด๋ž˜?"๋ผ๊ณ  ๋ฌผ์–ด๋ณด๋Š”๋ฐ, ์ด๋•Œ ํŠน์ • ๋ฒ„์ „(`:1`)์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๋ณดํ†ต์€ **ํŒจ๋ฐ€๋ฆฌ ์ด๋ฆ„**์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์„œ๋น„์Šค๋Š” **"์•„, ์ด ํŒจ๋ฐ€๋ฆฌ(๊ฐ€์กฑ) ์ค‘์—์„œ ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „(Latest Revision)์„ ๊ฐ€์ ธ๋‹ค๊ฐ€ ์“ฐ๋ฉด ๋˜๊ฒ ๊ตฌ๋‚˜!"**๋ผ๊ณ  ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค. \ No newline at end of file diff --git a/content/03.Note/ํƒœ์Šคํฌ(Task).md b/content/03.Note/ํƒœ์Šคํฌ(Task).md new file mode 100644 index 0000000..7c263a9 --- /dev/null +++ b/content/03.Note/ํƒœ์Šคํฌ(Task).md @@ -0,0 +1,29 @@ +--- +id: ํƒœ์Šคํฌ(Task) 20260304 +created: 2026-03-04 17:12 +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” ์ž‘์—… ๋‹จ์œ„์— ๋”ํ•ด ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ •๋ณด๋“ค์„ ๋‹ด์•„ ๋†“์€ ์‹คํ–‰ ๋‹จ์œ„ +ํƒœ์Šคํฌ ๋‹จ์œ„๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ๋‹ค. ์ด๋Ÿฐ ๋А๋‚Œ์ธ ๋“ฏ + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> ์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” **'์ž‘์—… ๋‹จ์œ„'**๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. + + +## ๐Ÿ“ ECS์—์„œ์˜ ํƒœ์Šคํฌ +> [!note] +> ํƒœ์Šคํฌ๋Š” ๋‹จ์ˆœํžˆ ์ปจํ…Œ์ด๋„ˆ ํ•˜๋‚˜๋งŒ์„ ์˜๋ฏธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ํƒœ์Šคํฌ ์•ˆ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์š”์†Œ๋“ค์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. +- **ํ•˜๋‚˜ ์ด์ƒ์˜ ์ปจํ…Œ์ด๋„ˆ:** ๋ณดํ†ต์€ ํ•˜๋‚˜์˜ ๋ฉ”์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋“ค์–ด๊ฐ€์ง€๋งŒ, ๋กœ๊ทธ ์ˆ˜์ง‘์ด๋‚˜ ํ”„๋ก์‹œ ์—ญํ• ์„ ํ•˜๋Š” '์‚ฌ์ด๋“œ์นด(Sidecar)' ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ•จ๊ป˜ ๋ฌถ์–ด ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. + +- **๊ณต์œ  ์ž์›:** ํƒœ์Šคํฌ ๋‚ด์˜ ์ปจํ…Œ์ด๋„ˆ๋“ค์€ **๋™์ผํ•œ ๋„คํŠธ์›Œํฌ ๋„ค์ž„์ŠคํŽ˜์ด์Šค(IP ์ฃผ์†Œ)**์™€ **์Šคํ† ๋ฆฌ์ง€ ๋ณผ๋ฅจ**์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํƒœ์Šคํฌ ์•ˆ์˜ ์ปจํ…Œ์ด๋„ˆ๋ผ๋ฆฌ๋Š” `localhost`๋กœ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. + +- **์‹คํ–‰ ํ™˜๊ฒฝ ์„ค์ •:** CPU, ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ, IAM ์—ญํ• (๊ถŒํ•œ), ๋„คํŠธ์›Œํฌ ๋ชจ๋“œ ๋“ฑ์ด ํƒœ์Šคํฌ ๋‹จ์œ„๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. +--- + +## ๐Ÿ”— ๊ด€๋ จ ๋…ธํŠธ +- [[IAM(Identity and Access Management)]] + +**Tags:** #task \ No newline at end of file diff --git a/content/03.Note/ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ(Terminal Emulator).md b/content/03.Note/ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ(Terminal Emulator).md new file mode 100644 index 0000000..3182cee --- /dev/null +++ b/content/03.Note/ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ(Terminal Emulator).md @@ -0,0 +1,51 @@ +--- +id: ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ(Terminal Emulator) 20260407 +created: 2026-04-07 14:01 +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ด๊ณณ์— ํ•˜๋‚˜์˜ ์ƒ๊ฐ ๋˜๋Š” ์•„์ด๋””์–ด๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +**ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ(Terminal Emulator)** ๋Š” ์‰ฝ๊ฒŒ ๋งํ•ด **"์ง„์งœ ๋ฌผ๋ฆฌ์ ์ธ ํ„ฐ๋ฏธ๋„ ๊ธฐ๊ณ„๊ฐ€ ์—†์–ด๋„, ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ทธ ๊ธฐ๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ํ‰๋‚ด ๋‚ด์–ด ์ปดํ“จํ„ฐ์™€ ๋Œ€ํ™”ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ"** ์ž…๋‹ˆ๋‹ค. + +์ด ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋ ค๋ฉด ๊ณผ๊ฑฐ์˜ ํ•˜๋“œ์›จ์–ด ํ„ฐ๋ฏธ๋„์ด ๋ฌด์—‡์ด์—ˆ๋Š”์ง€ ๋จผ์ € ์•„๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. + +--- + +## 1. ๊ณผ๊ฑฐ์˜ "์ง„์งœ" ํ„ฐ๋ฏธ๋„ (Hard Terminal) + +์•„์ฃผ ์˜›๋‚ ์—๋Š” ์ปดํ“จํ„ฐ(๋ฉ”์ธํ”„๋ ˆ์ž„)๊ฐ€ ์ง‘์ฑ„๋งŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‚ฌ์šฉ์ž๋Š” ์ปดํ“จํ„ฐ ๋ณธ์ฒด์— ์ง์ ‘ ์•‰์„ ์ˆ˜ ์—†์—ˆ๊ณ , **ํ™”๋ฉด๊ณผ ํ‚ค๋ณด๋“œ๋งŒ ๋‹ฌ๋ฆฐ ์ž…๋ ฅ ์žฅ์น˜**๋ฅผ ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๊ณณ์— ๋‘๊ณ  ํ†ต์‹ ์„ ์œผ๋กœ ์—ฐ๊ฒฐํ•ด์„œ ์ผ์Šต๋‹ˆ๋‹ค. ์ด๊ฑธ **ํ„ฐ๋ฏธ๋„(๋‹จ๋ง๊ธฐ)** ์ด๋ผ๊ณ  ๋ถˆ๋ €์Šต๋‹ˆ๋‹ค. + +- **๋ณธ์ฒด:** ๊ณ„์‚ฐ๊ณผ ์ฒ˜๋ฆฌ๋ฅผ ๋‹ด๋‹น (๊ฑฐ๋Œ€ํ•œ ์„œ๋ฒ„) + +- **ํ„ฐ๋ฏธ๋„:** ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํ™”๋ฉด์— ๋ฟŒ๋ ค์ฃผ๋Š” ์—ญํ• ๋งŒ ์ˆ˜ํ–‰ (๋‘๋‡Œ๊ฐ€ ์—†์Œ) + + ![[Pasted image 20260407140335.png]] + +## 2. ํ„ฐ๋ฏธ๋„ "์—๋ฎฌ๋ ˆ์ดํ„ฐ"์˜ ๋“ฑ์žฅ + +์„ธ์›”์ด ํ˜๋Ÿฌ ๊ฐœ์ธ์šฉ PC(๋ฐ์Šคํฌํ†ฑ)๊ฐ€ ๋ณด๊ธ‰๋˜๋ฉด์„œ, ๋” ์ด์ƒ ํ™”๋ฉด๋งŒ ๋‹ฌ๋ฆฐ ์ปค๋‹ค๋ž€ ํ„ฐ๋ฏธ๋„ ๊ธฐ๊ณ„๊ฐ€ ํ•„์š” ์—†๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์„œ๋ฒ„๋‚˜ ์šด์˜์ฒด์ œ๋Š” ์—ฌ์ „ํžˆ ๊ณผ๊ฑฐ ํ„ฐ๋ฏธ๋„ ๋ฐฉ์‹์˜ **ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ๋ช…๋ น์–ด**๋กœ ๋Œ€ํ™”ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์—ˆ์ฃ . + +๊ทธ๋ž˜์„œ PC ์•ˆ์—์„œ **"๋งˆ์น˜ ๋‚ด๊ฐ€ ์˜ˆ์ „์˜ ๊ทธ ํ„ฐ๋ฏธ๋„ ๊ธฐ๊ณ„์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์†์—ฌ์„œ"** ์šด์˜์ฒด์ œ์™€ ๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ, ์ด๊ฒƒ์ด ๋ฐ”๋กœ ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. + +- **ํ•˜๋Š” ์ผ:** ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ณด๋“œ๋กœ ์นœ ๊ธ€์ž๋ฅผ ์šด์˜์ฒด์ œ์— ์ „๋‹ฌํ•˜๊ณ , ์šด์˜์ฒด์ œ๊ฐ€ ๋ณด๋‚ธ ํ…์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ํ™”๋ฉด์— ์˜ˆ์˜๊ฒŒ ๊ทธ๋ ค์ค๋‹ˆ๋‹ค. + +- **๋Œ€ํ‘œ์ ์ธ ์˜ˆ:** * **Windows:** ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ(CMD), PowerShell, Windows Terminal + + - **macOS:** Terminal.app, iTerm2 + + - **Linux:** GNOME Terminal, xterm + + +> [!warning] ์…ธ(Shell)๊ณผ์˜ ์ฐจ์ด์  (์ค‘์š”!) + +๋งŽ์€ ๋ถ„์ด ํ—ท๊ฐˆ๋ ค ํ•˜์‹œ๋Š”๋ฐ, ๋‘˜์€ ์—ญํ• ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. + +- **ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ:** ๊ธ€์ž๊ฐ€ ๋ณด์—ฌ์ง€๋Š” **์ฐฝ(Window)** ๊ทธ ์ž์ฒด์ž…๋‹ˆ๋‹ค. (๊ป๋ฐ๊ธฐ) + +- **์…ธ(Shell):** ๊ทธ ์ฐฝ ์•ˆ์—์„œ ๋‚ด ๋ช…๋ น์„ ํ•ด์„ํ•ด์„œ ์‹คํ–‰ํ•ด์ฃผ๋Š” **ํ”„๋กœ๊ทธ๋žจ(ํ†ต์—ญ์‚ฌ)** ์ž…๋‹ˆ๋‹ค. (์˜ˆ: bash, zsh) + +์ฆ‰ ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” putty์™€ ๋งค์šฐ ๋น„์Šทํ•˜๋‹ค๊ณ  ๋ณด๋ฉด ๋จ. diff --git a/content/03.Note/ํ…Œ๋„Œ์‹œ(Tenancy).md b/content/03.Note/ํ…Œ๋„Œ์‹œ(Tenancy).md new file mode 100644 index 0000000..772847e --- /dev/null +++ b/content/03.Note/ํ…Œ๋„Œ์‹œ(Tenancy).md @@ -0,0 +1,40 @@ +--- +id: "ํ…Œ๋„Œ์‹œ(Tenancy) 20260305" +created: "2026-03-05 13:01" +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +ํ…Œ๋„Œ์‹œ๊ฐ€ ์ฐจ์šฉ, ์ž„๋Œ€์ฐจ ๋ญ ๊ทธ๋Ÿฐ ๋œป์ด๋‹ˆ๊นŒ ๊ฒฐ๊ตญ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์„ ์ž„๋Œ€ํ•ด์„œ ์“ด๋‹ค ๊ทธ๋Ÿฐ ๋А๋‚Œ์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ๋จ + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +์‚ฌ์ „์  ์˜๋ฏธ๋กœ '์ž„๋Œ€์ฐจ' ๋˜๋Š” '์ฐจ์šฉ'์„ ๋œปํ•˜์ง€๋งŒ, IT์™€ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์—์„œ๋Š” **์†Œํ”„ํŠธ์›จ์–ด ์ธ์Šคํ„ด์Šค๋‚˜ ์ปดํ“จํŒ… ์ž์›์„ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ์‹**์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +1. [[๋ฉ€ํ‹ฐ ํ…Œ๋„Œ์‹œ(Multi-tenancy)]] +2. [[์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ(Single-tenancy)]] + +### ๋น„๊ต ์š”์•ฝ + +| **๊ตฌ๋ถ„** | **๋ฉ€ํ‹ฐ ํ…Œ๋„Œ์‹œ (Multi-tenancy)** | **์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ (Single-tenancy)** | +| --------- | -------------------------- | --------------------------- | +| **๋น„์œ ** | ์•„ํŒŒํŠธ, ํ˜ธํ…” | ๋‹จ๋… ์ฃผํƒ | +| **์ž์› ๊ณต์œ ** | ์—ฌ๋Ÿฌ ํ…Œ๋„ŒํŠธ๊ฐ€ ๊ณต์œ  | ๋‹จ์ผ ํ…Œ๋„ŒํŠธ ์ „์šฉ | +| **๋น„์šฉ** | ์ €๋ ดํ•จ (SaaS ๋ชจ๋ธ) | ๋น„์Œˆ (์ „์šฉ ์„œ๋ฒ„ ๋ชจ๋ธ) | +| **๋ณด์•ˆ** | ์–‘ํ˜ธ (๋…ผ๋ฆฌ์  ๊ฒฉ๋ฆฌ) | ์ตœ๊ณ  (๋ฌผ๋ฆฌ์  ๊ฒฉ๋ฆฌ) | +| **์ ํ•ฉํ•œ ๊ณณ** | ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž, ์ค‘์†Œ๊ธฐ์—… | ๋Œ€๊ธฐ์—…, ๊ธˆ์œต๊ถŒ, ์ •๋ถ€ ๊ธฐ๊ด€ | + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ์˜จํ”„๋ ˆ๋ฏธ์Šค์™€ ์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐœ๋… + +|**๊ตฌ๋ถ„**|**์˜จํ”„๋ ˆ๋ฏธ์Šค (On-premise)**|**์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ (Single-tenancy)**| +|---|---|---| +|**๊ด€์ **|**์–ด๋””์—** ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š”๊ฐ€?|**๋ˆ„๊ฐ€** ์ด ์ž์›์„ ๋…์ ํ•˜๋Š”๊ฐ€?| +|**์œ„์น˜**|์šฐ๋ฆฌ ํšŒ์‚ฌ ๋‚ด๋ถ€ ์ „์‚ฐ์‹ค|์–ด๋””๋“  ์ƒ๊ด€์—†์Œ (ํšŒ์‚ฌ ๋‚ด๋ถ€ or ํด๋ผ์šฐ๋“œ)| +|**๋ฐ˜๋Œ€ ๊ฐœ๋…**|ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ (Public Cloud)|๋ฉ€ํ‹ฐ ํ…Œ๋„Œ์‹œ (Multi-tenancy)| + +--- + +๋ชจ๋“  ์˜จํ”„๋ ˆ๋ฏธ์Šค๋Š” ๋Œ€๊ฐœ ์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค (์ž์‚ฌ ์„œ๋น„์Šค๋งŒ ๋Œ๋ฆฌ๋‹ˆ๊นŒ์š”). ํ•˜์ง€๋งŒ ๋ชจ๋“  ์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ๊ฐ€ ์˜จํ”„๋ ˆ๋ฏธ์Šค์ธ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์š”์ฆ˜์€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ๋„ ๋ณด์•ˆ์ด๋‚˜ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์‹ฑ๊ธ€ ํ…Œ๋„Œ์‹œ ๋ฐฉ์‹์„ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. \ No newline at end of file diff --git a/content/03.Note/ํŒŒ๊ฒŒ์ดํŠธ ์ŠคํŒŸ(Fargate Spot).md b/content/03.Note/ํŒŒ๊ฒŒ์ดํŠธ ์ŠคํŒŸ(Fargate Spot).md new file mode 100644 index 0000000..9e526b6 --- /dev/null +++ b/content/03.Note/ํŒŒ๊ฒŒ์ดํŠธ ์ŠคํŒŸ(Fargate Spot).md @@ -0,0 +1,55 @@ +--- +id: ํŒŒ๊ฒŒ์ดํŠธ ์ŠคํŒŸ(Fargate Spot) 20260305 +created: 2026-03-05 10:32 +tags: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +๊ณต์šฉ [[ํŒŒ๊ฒŒ์ดํŠธ(Fargate)]]๋ฅผ ์ €๋ ดํ•˜๊ฒŒ ๋นŒ๋ ค์„œ ์“ธ ์ˆ˜ ์žˆ๋Š”๋ฐ ์–ธ์ œ ์ž๋ฆฌ๋ฅผ ๋นผ์ค˜์•ผํ• ์ง€ ๋ชจ๋ฅธ๋‹ค. + + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> AWS์˜ ๋‚จ๋Š” ์ปดํ“จํŒ… ์šฉ๋Ÿ‰์„ ํ™œ์šฉํ•˜์—ฌ ํ›จ์”ฌ ์ €๋ ดํ•œ ๊ฐ€๊ฒฉ์— [[ํŒŒ๊ฒŒ์ดํŠธ(Fargate)]]์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋Š” ์š”๊ธˆ ๋ชจ๋ธ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. + +์‰ฝ๊ฒŒ ๋งํ•ด, **"์“ฐ์ง€ ์•Š๊ณ  ๋…ธ๋Š” ์„œ๋ฒ„๋ฅผ ๋นŒ๋ ค ์“ฐ๋Š” ๋Œ€์‹ , ์•„์ฃผ ์‹ผ ๊ฐ’์— ํŒŒ๊ฒŒ์ดํŠธ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ์‹"**์ด๋ผ๊ณ  ์ดํ•ดํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ํŠน์ง• +> [!check] +> ### 1. ํŒŒ๊ฒฉ์ ์ธ ๋น„์šฉ ์ ˆ๊ฐ +> +> - ๊ธฐ์กด ํŒŒ๊ฒŒ์ดํŠธ ๊ฐ€๊ฒฉ ๋Œ€๋น„ **์ตœ๋Œ€ 70%๊นŒ์ง€ ์ €๋ ด**ํ•˜๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +> +> - ์˜ˆ์‚ฐ์ด ํ•œ์ •๋œ ํ”„๋กœ์ ํŠธ๋‚˜ ๋Œ€๊ทœ๋ชจ ๋ฐฐ์น˜๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋งค์šฐ ๊ฒฝ์ œ์ ์ž…๋‹ˆ๋‹ค. +> +> +> ### 2. ์„œ๋ฒ„๋ฆฌ์Šค์˜ ํŽธ๋ฆฌํ•จ +> +> - ์ธํ”„๋ผ(EC2 ์ธ์Šคํ„ด์Šค)๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. +> +> - ์ปจํ…Œ์ด๋„ˆ ์„ค์ •๋งŒ ํ•˜๋ฉด AWS๊ฐ€ ์•Œ์•„์„œ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•ด ์ค๋‹ˆ๋‹ค. +> +> +> ### 3. ์ค‘๋‹จ ๊ฐ€๋Šฅ์„ฑ (์ค‘์š”!) +> +> - AWS์— ์ž์›์ด ๋ถ€์กฑํ•ด์ง€๋ฉด **์‹คํ–‰ ์ค‘์ธ ์ž‘์—…์ด ์˜ˆ๊ณ  ์—†์ด ์ค‘๋‹จ**๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +> +> - ์ค‘๋‹จ๋˜๊ธฐ ์•ฝ 2๋ถ„ ์ „์— ์•Œ๋ฆผ์„ ์ฃผ์ง€๋งŒ, ๊ธฐ๋ณธ์ ์œผ๋กœ ์–ธ์ œ๋“  ๊บผ์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] ํŒŒ๊ฒŒ์ดํŠธ ์ŠคํŒŸ์€ **"์ค‘๊ฐ„์— ๊บผ์ ธ๋„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ๊ทธ๋งŒ์ธ ์ž‘์—…"**์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. +> +> - **๋ฐฐ์น˜ ์ž‘์—…:** ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ, ๋ฐ์ดํ„ฐ ๋ถ„์„, ๋กœ๊ทธ ์ˆ˜์ง‘ ๋“ฑ. +> +> - **ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ:** ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ ํ…Œ์ŠคํŠธ์šฉ์œผ๋กœ ๋„์šฐ๋Š” ์„œ๋ฒ„. +> +> - **ํ™•์žฅ์„ฑ ๋Œ€์‘:** ๋ฉ”์ธ ์„œ๋ฒ„๋Š” ์ผ๋ฐ˜ ํŒŒ๊ฒŒ์ดํŠธ๋กœ ๋„์šฐ๊ณ , ๊ฐ‘์ž๊ธฐ ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ฆด ๋•Œ ์ถ”๊ฐ€๋˜๋Š” ์„œ๋ฒ„๋งŒ ์ŠคํŒŸ์œผ๋กœ ์„ค์ •. +> + +## โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ +> [!warning] +> - **์ƒํƒœ ๋น„์ €์žฅ(Stateless):** ์„œ๋ฒ„๊ฐ€ ์–ธ์ œ๋“  ๊บผ์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์„œ๋ฒ„ ๋‚ด๋ถ€์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ์™ธ๋ถ€ DB๋‚˜ S3์— ์ €์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. +> +> - **๊ฐ€์šฉ์„ฑ ์ „๋žต:** ์„œ๋น„์Šค๊ฐ€ ์™„์ „ํžˆ ๋ฉˆ์ถ”๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ์•ˆ์ •์ ์ธ **Fargate On-Demand**์™€ **Fargate Spot**์„ ์ ์ ˆํ•œ ๋น„์œจ(์˜ˆ: 4:6)๋กœ ์„ž์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค. + +--- diff --git a/content/03.Note/ํŒŒ๊ฒŒ์ดํŠธ(Fargate).md b/content/03.Note/ํŒŒ๊ฒŒ์ดํŠธ(Fargate).md new file mode 100644 index 0000000..781d013 --- /dev/null +++ b/content/03.Note/ํŒŒ๊ฒŒ์ดํŠธ(Fargate).md @@ -0,0 +1,14 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> **AWS Fargate**๋Š” Amazon ECS(Elastic Container Service)๋‚˜ EKS(Elastic Kubernetes Service)์—์„œ ์ž‘๋™ํ•˜๋Š” [[์„œ๋ฒ„๋ฆฌ์Šค(Serverless)]] ์ปดํ“จํŒ… ์—”์ง„์ž…๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ƒ ๋จธ์‹ (EC2)์„ ์ง์ ‘ ๊ด€๋ฆฌํ•  ํ•„์š” ์—†์ด, ์ปจํ…Œ์ด๋„ˆ ๋‹จ์œ„๋กœ ๋ฐฐํฌํ•˜๊ณ  ์šด์˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ฃผ์š” ํŠน์ง• +- **๊ด€๋ฆฌ ๋ถ€๋‹ด ์ œ๋กœ (No Infrastructure Management):** ๋” ์ด์ƒ "์œˆ๋„์šฐ 7 ์ง€์› ์ข…๋ฃŒ"๋‚˜ "์„œ๋ฒ„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถฉ๋Œ" ๊ฐ™์€ ์ธํ”„๋ผ ๋ฌธ์ œ๋กœ ๊ณ ๋ฏผํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. OS ์ˆ˜์ค€์˜ ๊ด€๋ฆฌ๋Š” AWS๊ฐ€ ์ฑ…์ž„์ง‘๋‹ˆ๋‹ค. +- **๋ณด์•ˆ ๋ฐ ๊ฒฉ๋ฆฌ (Security by Design):** ๊ฐ ์ปจํ…Œ์ด๋„ˆ(Task)๋Š” ๊ณ ์œ ํ•œ ๊ฐ€์ƒํ™” ๊ฒฝ๊ณ„ ๋‚ด์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ, ํ•œ ์„œ๋น„์Šค์˜ ์žฅ์• ๋‚˜ ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด ๋‹ค๋ฅธ ์„œ๋น„์Šค๋กœ ์ „ํŒŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. +- **์œ ์—ฐํ•œ ์Šค์ผ€์ผ๋ง:** ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ฆด ๋•Œ ์„œ๋ฒ„(Node)๋ฅผ ์ถ”๊ฐ€๋กœ ๋„์šฐ๋Š” ๋ณต์žกํ•œ ๊ณผ์ • ์—†์ด, ์ปจํ…Œ์ด๋„ˆ ์ˆ˜๋งŒ ๋Š˜๋ฆฌ๋ฉด AWS๊ฐ€ ์•Œ์•„์„œ ๊ฐ€์šฉ์ž์›์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #fargate +- \ No newline at end of file diff --git a/content/03.Note/ํŒŒ๊ฒŒ์ดํŠธ(Fargate)์˜ ์žฅ์ .md b/content/03.Note/ํŒŒ๊ฒŒ์ดํŠธ(Fargate)์˜ ์žฅ์ .md new file mode 100644 index 0000000..291be93 --- /dev/null +++ b/content/03.Note/ํŒŒ๊ฒŒ์ดํŠธ(Fargate)์˜ ์žฅ์ .md @@ -0,0 +1,20 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 +## ๐Ÿ“ ์žฅ์  +> [!note] +> - **[[๊ฐ€์šฉ์„ฑ(Availability)]]**: ํ•˜๋“œ์›จ์–ด ์žฅ์•  ์‹œ AWS๊ฐ€ ์ฆ‰์‹œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค๋ฅธ ๊ณณ์— ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ **Self-healing**์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. +> +> - **[[์œ ์—ฐ์„ฑ(Flexibility)]] & [[ํ™•์žฅ์„ฑ(Scalability)]]**: ํŠธ๋ž˜ํ”ฝ ๋ณ€ํ™”์— ๋งž์ถฐ ์ปจํ…Œ์ด๋„ˆ ๊ฐœ์ˆ˜๋งŒ ์กฐ์ ˆํ•˜๋ฉด ์ฆ‰์‹œ ํ™•์žฅ๋˜๋Š” **Serverless ์Šค์ผ€์ผ๋ง**์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. +> +> - **[[๋ณด์•ˆ์„ฑ(Security)]]**: ํƒœ์Šคํฌ ๋‹จ์œ„์˜ **๊ฐ•๋ ฅํ•œ ๊ฒฉ๋ฆฌ**์™€ ์ž๋™ํ™”๋œ ํ˜ธ์ŠคํŠธ OS ํŒจ์น˜๋กœ ๋ณด์•ˆ ๋ฆฌ์Šคํฌ๋ฅผ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. +> +> - **[[์ƒ์‚ฐ์„ฑ(Productivity)]]**: ์„œ๋ฒ„ ๊ด€๋ฆฌ ์—…๋ฌด(OS, ํŒจ์น˜ ๋“ฑ)๊ฐ€ ์‚ฌ๋ผ์ ธ ๊ฐœ๋ฐœ์ž๊ฐ€ **๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์—๋งŒ ์ง‘์ค‘**ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ๊ฒฐ๊ตญ Aws๊ฐ€ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ตด๋ ค์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒ๋˜๋Š” ์žฅ์ ๋“ค์ž„ +> - ์ „๋ฌธ๊ฐ€๊ฐ€ ์ธํ”„๋ผ ๋ฌธ์ œ๋ฅผ ์ฑ…์ž„์ ธ์ฃผ๋Š” ์ปดํ“จํŒ… ํ™˜๊ฒฝ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ž +> + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file diff --git a/content/03.Note/ํŒŒ๋ ˆํ† ์˜ ๋ฒ•์น™.md b/content/03.Note/ํŒŒ๋ ˆํ† ์˜ ๋ฒ•์น™.md new file mode 100644 index 0000000..510b4c8 --- /dev/null +++ b/content/03.Note/ํŒŒ๋ ˆํ† ์˜ ๋ฒ•์น™.md @@ -0,0 +1,50 @@ +--- +id: "ํŒŒ๋ ˆํ† ์˜ ๋ฒ•์น™ 20260317" +created: "2026-03-17 16:33" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ด๊ฑธ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€์ž…ํ•ด์„œ ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์šฉ ์‹œ๊ฐ„์˜ 80%๊ฐ€ 20%์˜ ์ฝ”๋“œ์— ์˜ํ•ด ๋™์ž‘ํ•œ๋‹ค. ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค. + + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +์ „์ฒด ๊ฒฐ๊ณผ์˜ **80%** ๊ฐ€ ์ „์ฒด ์›์ธ์˜ **20%** ์—์„œ ์ผ์–ด๋‚˜๋Š” ํ˜„์ƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. +**80 ๋Œ€ 20 ๋ฒ•์น™**์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ๊ฒฝ์˜, ๊ฒฝ์ œ, ์ผ์ƒ์ƒํ™œ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํšจ์œจ์„ฑ์„ ๊ฐ•์กฐํ•  ๋•Œ ์ž์ฃผ ์ธ์šฉ๋ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ + +### 1. ์œ ๋ž˜ + +์ด ๋ฒ•์น™์€ 19์„ธ๊ธฐ ์ดํƒˆ๋ฆฌ์•„์˜ ๊ฒฝ์ œํ•™์ž **๋นŒํ”„๋ ˆ๋„ ํŒŒ๋ ˆํ† (Vilfredo Pareto)** ๊ฐ€ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ์ดํƒˆ๋ฆฌ์•„ ์ธ๊ตฌ์˜ 20%๊ฐ€ ์ „์ฒด ๋ถ€์˜ 80%๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ์•„๋ƒˆ๊ณ , ์ดํ›„ ํ’ˆ์งˆ ๊ด€๋ฆฌ ์ „๋ฌธ๊ฐ€์ธ ์กฐ์…‰ ์ฃผ๋ž€(Joseph Juran)์ด ์ด ๊ฐœ๋…์„ ๊ธฐ์—… ๊ฒฝ์˜๊ณผ ํ’ˆ์งˆ ๊ด€๋ฆฌ์— ์ ์šฉํ•˜๋ฉด์„œ ๋Œ€์ค‘ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. + +### 2. ์ฃผ์š” ์‚ฌ๋ก€ + +์šฐ๋ฆฌ ์ฃผ๋ณ€์—์„œ๋„ ์ด ๋ฒ•์น™์ด ์ ์šฉ๋˜๋Š” ์‚ฌ๋ก€๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- **๊ธฐ์—… ๊ฒฝ์˜:** ์ „์ฒด ๋งค์ถœ์˜ 80%๋Š” ์ƒ์œ„ 20%์˜ ๋‹จ๊ณจ ๊ณ ๊ฐ์—๊ฒŒ์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. + +- **์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ:** ์‚ฌ์šฉ์ž๋“ค์˜ ๋ถˆ๋งŒ ์‚ฌํ•ญ ์ค‘ 80%๋Š” ์ „์ฒด ๋ฒ„๊ทธ์˜ 20%์—์„œ ๊ธฐ์ธํ•ฉ๋‹ˆ๋‹ค. + +- **์ž๊ธฐ ๊ณ„๋ฐœ:** ์„ฑ๊ณผ์˜ 80%๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ง‘์ค‘ํ•˜๋Š” ์‹œ๊ฐ„ ์ค‘ ํ•ต์‹ฌ์ ์ธ 20%์—์„œ ๋‚˜์˜ต๋‹ˆ๋‹ค. + +- **์–ธ์–ด:** ์ผ์ƒ ๋Œ€ํ™”์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์–ด์˜ 80%๋Š” ์ „์ฒด ์–ดํœ˜์˜ ์•ฝ 20%์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. + +### 3. ํŒŒ๋ ˆํ†  ๋ฒ•์น™์˜ ํ•ต์‹ฌ ๋ฉ”์‹œ์ง€: ์„ ํƒ๊ณผ ์ง‘์ค‘ + +์ด ๋ฒ•์น™์ด ์ฃผ๋Š” ๊ฐ€์žฅ ํฐ ๊ตํ›ˆ์€ **๋ชจ๋“  ๋…ธ๋ ฅ์ด ๋™์ผํ•œ ๊ฐ€์น˜๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๋Š”๋‹ค**๋Š” ์ ์ž…๋‹ˆ๋‹ค. + +1. **์šฐ์„ ์ˆœ์œ„ ์„ค์ •:** 10๊ฐ€์ง€ ์ผ์ด ์žˆ๋‹ค๋ฉด ๊ทธ์ค‘ ๊ฐ€์žฅ ํฐ ์„ฑ๊ณผ๋ฅผ ๋‚ผ 2๊ฐ€์ง€ ํ•ต์‹ฌ ์—…๋ฌด์— ๋จผ์ € ์ง‘์ค‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. + +2. **ํšจ์œจ์„ฑ ๊ทน๋Œ€ํ™”:** ์ ์€ ๋…ธ๋ ฅ์œผ๋กœ ์ตœ๋Œ€์˜ ํšจ๊ณผ๋ฅผ ๋‚ด๊ธฐ ์œ„ํ•ด ๋ถˆํ•„์š”ํ•œ 80%์˜ ์ฃผ๋ณ€ ์—…๋ฌด๋ฅผ ๋œ์–ด๋‚ด๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. + +3. **์ž์› ๋ฐฐ๋ถ„:** ํ•œ์ •๋œ ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์„ ๊ฐ€์žฅ ์ˆ˜์ต์„ฑ์ด ๋†’์€ 20%์— ์ง‘์ค‘์ ์œผ๋กœ ํˆฌ์žํ•˜๋Š” ์ „๋žต์ด ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> ํŒŒ๋ ˆํ†  ๋ฒ•์น™์€ ์—„๊ฒฉํ•œ ์ˆ˜ํ•™์  ๊ณต์‹์ด ์•„๋‹ˆ๋ผ ํ•˜๋‚˜์˜ **๊ฒฝํ–ฅ์„ฑ**์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ๋น„์œจ์€ 70:30์ด ๋  ์ˆ˜๋„ ์žˆ๊ณ  90:10์ด ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฒƒ์€ ์›์ธ๊ณผ ๊ฒฐ๊ณผ์˜ ๋ถˆ๊ท ํ˜•์„ ์ดํ•ดํ•˜๊ณ  ํ•ต์‹ฌ์— ์ง‘์ค‘ํ•˜๋Š” ํƒœ๋„์ž…๋‹ˆ๋‹ค. +> + +--- diff --git a/content/03.Note/ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Functional Programming).md b/content/03.Note/ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Functional Programming).md new file mode 100644 index 0000000..fc63c94 --- /dev/null +++ b/content/03.Note/ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Functional Programming).md @@ -0,0 +1,36 @@ +--- +id: "ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Functional Programming) 20260407" +created: "2026-04-07 15:46" +tags: +aliases: +--- +## ๐Ÿ’ก ์ƒ๊ฐ +์ด๊ณณ์— ํ•˜๋‚˜์˜ ์ƒ๊ฐ ๋˜๋Š” ์•„์ด๋””์–ด๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. + +--- +## ๐Ÿ“‘ ๊ฐœ๋… +**ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Functional Programming)** ์€ ์œ ๋‹‰์Šค ์ฒ ํ•™์˜ ํ•„ํ„ฐ ๊ฐœ๋…์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ฌธ๋ฒ•๊ณผ ๊ตฌ์กฐ๋กœ ๊ฐ€์žฅ ์™„๋ฒฝํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด๋‚ธ ๋ฐฉ๋ฒ•๋ก ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. +[[์œ ๋‹‰์Šค ์ฒ ํ•™ (The Unix Philosophy)]]์ด ์šด์˜์ฒด์ œ ์ˆ˜์ค€์—์„œ **ํ”„๋กœ๊ทธ๋žจ**์„ ์ชผ๊ฐœ๊ณ  ์—ฐ๊ฒฐํ•œ๋‹ค๋ฉด, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ฝ”๋“œ ์ˆ˜์ค€์—์„œ **ํ•จ์ˆ˜**๋ฅผ ์ชผ๊ฐœ๊ณ  ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. + +## ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ํ•„ํ„ฐ๊ฐ€ ๋˜๋Š” ๋ฐฉ์‹ +ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ•ต์‹ฌ ๊ฐœ๋…๋“ค์€ ์œ ๋‹‰์Šค ํ•„ํ„ฐ์˜ ํŠน์„ฑ๊ณผ ์ผ๋Œ€์ผ๋กœ ๋Œ€์‘๋ฉ๋‹ˆ๋‹ค. + +### 1. [[์ˆœ์ˆ˜ ํ•จ์ˆ˜(Pure Function)]] = ์™„๋ฒฝํ•œ ํ•„ํ„ฐ + +์ˆœ์ˆ˜ ํ•จ์ˆ˜๋Š” ์™ธ๋ถ€ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์˜ค์ง ์ž…๋ ฅ๊ฐ’์— ์˜ํ•ด์„œ๋งŒ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์œ ๋‹‰์Šค ํ•„ํ„ฐ๊ฐ€ ์ž…๋ ฅ(stdin)์„ ๋ฐ›์•„ ์ถœ๋ ฅ(stdout)์„ ๋‚ด๋ณด๋‚ด๋Š” ๊ณผ์ •์—์„œ ์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ๊ณณ์„ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. + +- **์ž…๋ ฅ โ†’ [ ํ•จ์ˆ˜(Filter) ] โ†’ ์ถœ๋ ฅ** + + +### 2. [[๊ณ ์ฐจ ํ•จ์ˆ˜(Higher-Order Function)]]์™€ ํ•ฉ์„ฑ (Composition) + +์œ ๋‹‰์Šค์—์„œ ํŒŒ์ดํ”„(`|`)๋ฅผ ์‚ฌ์šฉํ•ด ์—ฌ๋Ÿฌ ๋ช…๋ น์–ด๋ฅผ ์ž‡๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” **ํ•จ์ˆ˜ ํ•ฉ์„ฑ**์„ ํ†ตํ•ด ์ž‘์€ ํ•„ํ„ฐ๋“ค์„ ์กฐ๋ฆฝํ•ฉ๋‹ˆ๋‹ค. + +- ์œ ๋‹‰์Šค: `cat file.txt | grep "error" | wc -l` + +- ํ•จ์ˆ˜ํ˜•: `count(filter(read("file.txt"), "error"))` ํ˜น์€ ํŒŒ์ดํ”„ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋” ์ง๊ด€์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + + +### 3. ๋ถˆ๋ณ€์„ฑ (Immutability) + +ํ•„ํ„ฐ๊ฐ€ ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ํ›ผ์†ํ•˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๋ณด๋‚ด๋“ฏ, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋„ ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋Œ€์‹  ํ•ญ์ƒ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋•๋ถ„์— ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ถ”์ ํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ๋ช…ํ™•ํ•ด์ง‘๋‹ˆ๋‹ค. \ No newline at end of file diff --git a/content/03.Note/ํ™•์žฅ์„ฑ(Scalability).md b/content/03.Note/ํ™•์žฅ์„ฑ(Scalability).md new file mode 100644 index 0000000..278d7b5 --- /dev/null +++ b/content/03.Note/ํ™•์žฅ์„ฑ(Scalability).md @@ -0,0 +1,38 @@ +- ์ž‘์„ฑ **๋‚ ์งœ:** 2026-02-27 + +## ๐Ÿ“‘ ๊ฐœ๋… +> [!abstract] +> ๋‹จ์ˆœํžˆ "์„œ๋ฒ„๋ฅผ ๋Š˜๋ฆฐ๋‹ค"๋Š” ๊ฐœ๋…์„ ๋„˜์–ด, **์‹œ์Šคํ…œ์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง์— ๋”ฐ๋ผ ์„ฑ๋Šฅ๊ณผ ๋น„์šฉ์˜ ํšจ์œจ์„ฑ์„ ์œ ์ง€**ํ•˜๋Š”๊ฒƒ์„ ์˜๋ฏธ + +### ํ™•์žฅ์„ฑ์˜ ๋‘ ๊ฐ€์ง€ ๋ฐฉํ–ฅ: Scale-up vs Scale-out +ํ™•์žฅ์„ฑ์€ ๋ฆฌ์†Œ์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. + +## ๐Ÿ“Œ ์ƒ์„ธ +> [!check] +> #### โ‘  ์ˆ˜์ง ํ™•์žฅ (Scale-up) +> +> ํ•˜๋‚˜์˜ ์„œ๋ฒ„ ์ž์ฒด์˜ ์‚ฌ์–‘(CPU, RAM, Disk)์„ ๋” ๋†’์€ ๋“ฑ๊ธ‰์œผ๋กœ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. +> +> - **์žฅ์ :** ์•„ํ‚คํ…์ฒ˜ ๋ณ€๊ฒฝ์ด ๊ฑฐ์˜ ํ•„์š” ์—†๊ณ  ์„ค์ •์ด ๋‹จ์ˆœํ•จ. +> +> - **๋‹จ์ :** ํ•˜๋“œ์›จ์–ด ํ•œ๊ณ„(Physical Limit)๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ์‚ฌ์–‘์ด ๋†’์•„์งˆ์ˆ˜๋ก ๋น„์šฉ์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ƒ์Šนํ•จ. ๊ต์ฒด ์‹œ ๋‹ค์šดํƒ€์ž„์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ. +> +> +> #### โ‘ก ์ˆ˜ํ‰ ํ™•์žฅ (Scale-out) +> +> ๋น„์Šทํ•œ ์‚ฌ์–‘์˜ ์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ ๋Œ€ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. +> +> - **์žฅ์ :** ์ด๋ก ์ƒ **๋ฌดํ•œ ํ™•์žฅ**์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์„œ๋ฒ„ ํ•œ ๋Œ€๊ฐ€ ์ฃฝ์–ด๋„ ์„œ๋น„์Šค ์œ ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•œ **๊ณ ๊ฐ€์šฉ์„ฑ**์„ ์ œ๊ณตํ•จ. +> +> - **๋‹จ์ :** ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•ด ์ค„ **๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ(ALB ๋“ฑ)**๊ฐ€ ํ•„์ˆ˜์ ์ด๋ฉฐ, ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”์™€ ๊ฐ™์€ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์„ค๊ณ„์˜ ๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ•จ. + +## ๐Ÿ“ ๋…ธํŠธ +> [!note] +> +> - ๊ด€๋ จ ์‚ฌ๋ก€๋‚˜ ๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์— ๊ธฐ๋กํ•˜์„ธ์š”. +> +> - ๋ณธ์ธ์˜ ์–ธ์–ด๋กœ ํ’€์–ด์„œ ์“ฐ๋Š” ๊ฒƒ์ด ์ œํ…”์นด์Šคํ…”์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. +> + +## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ +- **ํƒœ๊ทธ:** #zettelkasten #knowledge \ No newline at end of file