From 9c7cf85703e88888644581a38504b8748ebdc23c Mon Sep 17 00:00:00 2001 From: 2ssac <163278029+theSnackOverflow@users.noreply.github.com> Date: Thu, 25 Sep 2025 08:42:39 +0900 Subject: [PATCH 01/33] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ce58dc..8058b3c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Git-Study ### ๐Ÿ’ป ์‹คํ–‰ ํ™˜๊ฒฝ ์•ˆ๋‚ด ๊ณผ์ œ ํ™•์ธ๊ณผ ์ˆ˜ํ–‰, ์ธ์ฆ์€ ๋ชจ๋‘ CLI ํ™˜๊ฒฝ์—์„œ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. -> ๋งฅ์˜ ๊ฒฝ์šฐ `Git_Study` ํด๋” ์œ„์—์„œ ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์‹  ํ›„ `์„œ๋น„์Šค` > `ํด๋”์—์„œ ์ƒˆ๋กœ์šด ํ„ฐ๋ฏธ๋„ ์—ด๊ธฐ`๋ฅผ ํด๋ฆญํ•˜์…”์„œ ํ„ฐ๋ฏธ๋„์„ ์‹คํ–‰ํ•ด์ฃผ์„ธ์š”! +> ๋งฅ์˜ ๊ฒฝ์šฐ `9th_UMC_Git_Workbook` ํด๋” ์œ„์—์„œ ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์‹  ํ›„ `์„œ๋น„์Šค` > `ํด๋”์—์„œ ์ƒˆ๋กœ์šด ํ„ฐ๋ฏธ๋„ ์—ด๊ธฐ`๋ฅผ ํด๋ฆญํ•˜์…”์„œ ํ„ฐ๋ฏธ๋„์„ ์‹คํ–‰ํ•ด์ฃผ์„ธ์š”! > ์œˆ๋„์šฐ์˜ ๊ฒฝ์šฐ Git Bash๋ฅผ ์ด์šฉํ•ด ์ง„ํ–‰ํ•ด์ฃผ์„ธ์š”. From a50007f1c692494085bb299bc24df1b2765899f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9E=A5=EC=9D=80=EC=A3=BC?= Date: Thu, 25 Sep 2025 18:37:16 +0900 Subject: [PATCH 02/33] =?UTF-8?q?week1-mori=20=EA=B3=BC=EC=A0=9C=20?= =?UTF-8?q?=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + week1.md | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 .gitignore create mode 100644 week1.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ce1b36c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ignore.md \ No newline at end of file diff --git a/week1.md b/week1.md new file mode 100644 index 0000000..14fe8a7 --- /dev/null +++ b/week1.md @@ -0,0 +1,68 @@ +\## 1์ฃผ์ฐจ: TypeScript ๊ธฐ์ดˆ ์ •๋ฆฌ + + + +\## TypeScript + + + +TypeScript๋Š” JavaScript์— ํƒ€์ž… ์‹œ์Šคํ…œ์„ ์ถ”๊ฐ€ํ•œ ์–ธ์–ด๋กœ, ์ปดํŒŒ์ผ ์‹œ์ ์— ํƒ€์ž… ๊ฒ€์‚ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค€๋‹ค. + +์ด๋กœ ์ธํ•ด ์ฝ”๋“œ ์•ˆ์ •์„ฑ์ด ๋†’์•„์ง€๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง + + + +--- + + + +\## ๐Ÿ” ์ฃผ์š” ๊ฐœ๋… + +\### 1. TypeScript + +* ๋งค๊ฐœ๋ณ€์ˆ˜ ํƒ€์ž… : ๋งค๊ฐœ๋ณ€์ˆ˜ ์ด๋ฆ„ ๋’ค์— ': ํƒ€์ž…' ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ +* ๋ฐ˜ํ™˜ ํƒ€์ž… : ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก ( )๋’ค์— ': ํƒ€์ž…'์„ ๋ถ™์—ฌ์„œ ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ์ง€ ๋ช…์‹œ +* ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํƒ€์ž… + +  - ์ˆซ์ž : number + +  - ๋ฌธ์ž์—ด : string + +  - ์ฐธ / ๊ฑฐ์ง“ ๋ถˆ ๊ฐ’ : boolean + +  - ๊ฐ’ ์—†์Œ : null + +  - ๊ฐ’์ด ์•„์ง ํ• ๋‹น๋˜์ง€ ์•Š์Œ : undefined + +  - ๊ณ ์œ ํ•œ ๊ฐ’ : symbol + +  - ๋งค์šฐ ํฐ ์ •์ˆ˜ : bigint + +  - ๊ฐ์ฒด ํ‘œํ˜„ : object + + + +\### 2. ๋ฐฐ์—ดํƒ€์ž…, ํŠœํ”Œํƒ€์ž… + +* ๋ฐฐ์—ด ํƒ€์ž… + +  - string \[ ] : ๋ฐฐ์—ด ์š”์†Œ๊ฐ€ ๋ฌธ์ž์—ด์ž„์„ ๊ฐ„๋‹จํžˆ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ• + +  - Array : ์ œ๋„ค๋ฆญ ๋ฌธ๋ฒ•์„ ํ™œ์šฉํ•ด์„œ ํƒ€์ž…์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• + +* ํŠœํ”Œ ํƒ€์ž… : ๋ฐฐ์—ด๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ๊ฐ ์š”์†Œ์˜ ํƒ€์ž…๊ณผ ์ˆœ์„œ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ์Œ + +  - ์˜ˆ์‹œ : const tuple \[string, boolean, number] = \["๋ชจ๋ฆฌ", ture, 21] + + + +\### 3. Interface ๊ฐ์ฒด ํƒ€์ดํ•‘ + +* Merging Interfaces : TypeScript์—์„œ๋Š” \*\*๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์„ ์–ธ๋˜๋ฉด ์ž๋™์œผ๋กœ ๋ณ‘ํ•ฉ\*\* + +  - ํŠน์ง• : ์ž๋™ ๋ณ‘ํ•ฉ, ํ™•์žฅ์„ฑ, ํƒ€์ž… ์•ˆ์ •์„ฑ ์œ ์ง€ + +* ๋„ค์ž„์ŠคํŽ˜์ด์Šค : ์ฝ”๋“œ๋ฅผ \*\*๋ชจ๋“ˆํ™”ํ•˜๊ณ  ๊ทธ๋ฃนํ™”ํ•ด์„œ ๊ด€๋ฆฌ\*\*ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• + +  - ํŠน์ง• : ์ฝ”๋“œ ์กฐ์งํ™”, ์ž๋™ ๋ณ‘ํ•ฉ, ์ „์—ญ ์˜ค์—ผ ๋ฐฉ์ง€ + From 87f85fcb30c841837f5ca0fba3b20ede2ce71c8f Mon Sep 17 00:00:00 2001 From: MunJinYeong Date: Fri, 26 Sep 2025 14:23:08 +0900 Subject: [PATCH 03/33] =?UTF-8?q?=EB=A7=A4=EB=AF=B8=201=EC=A3=BC=EC=B0=A8?= =?UTF-8?q?=20=EA=B3=BC=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + week1.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 .gitignore create mode 100644 week1.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ce1b36c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ignore.md \ No newline at end of file diff --git a/week1.md b/week1.md new file mode 100644 index 0000000..5ca50c5 --- /dev/null +++ b/week1.md @@ -0,0 +1,43 @@ +### ๐Ÿ”ฅ Git์ด๋ž€ ๋ฌด์—‡์ด๊ณ  ์™œ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”? + +[cite_start]Git์€ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„์˜ ์ž‘์—…์„ ์กฐ์œจํ•˜๋Š” **๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ**์ž…๋‹ˆ๋‹ค. [cite: 1] + +--- + +### **์ฃผ์š” ๊ฐœ๋…** + +* **ํŒŒ์ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ถ”์ :** Git์„ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ ๋ฒ„์ „์œผ๋กœ ์ €์žฅํ•  ํ•„์š” ์—†์ด, ํŒŒ์ผ ๋‚ด์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ **๋กœ๊ทธ ํ˜•์‹**์œผ๋กœ ๊ธฐ๋กํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [cite_start]์ด๋ฅผ ํ†ตํ•ด ํŠน์ • ์‹œ์ ์˜ ๋‚ด์šฉ์œผ๋กœ ์‰ฝ๊ฒŒ ๋˜๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ €์žฅ ๊ณต๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [cite: 1] +* **ํ˜‘์—… ์กฐ์œจ:** **GitHub**์™€ ๊ฐ™์€ ์›๊ฒฉ ์ €์žฅ์†Œ(remote)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์ผํ•œ ํŒŒ์ผ์— ์ ‘๊ทผํ•˜๊ณ  ๊ณต๋™์œผ๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [cite_start]๊ฐ ์‚ฌ์šฉ์ž๋Š” ํŒŒ์ผ์˜ ์ „์ฒด ์ด๋ ฅ์„ ์ž์‹ ์˜ ์ปดํ“จํ„ฐ(local)์— ๋ณต์ œํ•˜์—ฌ ์ž‘์—…ํ•˜๋ฏ€๋กœ ์›ํ™œํ•œ ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. [cite: 1] +* **๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ:** ์ค‘์•™ ์ €์žฅ์†Œ์˜ ์ „์ฒด ์ด๋ ฅ์„ ๊ฐ ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ์— ๋ณต์‚ฌํ•˜์—ฌ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. [cite_start]์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐœ๋ณ„์ ์œผ๋กœ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๊ณ , ๋‚˜์ค‘์— ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [cite: 1] + +--- + +### **ํŒŒ์ผ ๊ด€๋ฆฌ ๋ฐฉ์‹** + +[cite_start]Git์€ **์ €์žฅ์†Œ(repository)**๋ผ๋Š” ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ๋“ค์„ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์ด๋Š” ๋กœ์ปฌ ์ €์žฅ์†Œ์™€ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. [cite: 1] + +1. [cite_start]**Working Directory (์ž‘์—… ๊ณต๊ฐ„):** ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ํด๋”์ž…๋‹ˆ๋‹ค. [cite: 1] + * [cite_start]`.gitignore` ํŒŒ์ผ์„ ์ด์šฉํ•ด ํŠน์ • ํŒŒ์ผ์ด๋‚˜ ํด๋”(์˜ˆ: ๋ณด์•ˆ ํ† ํฐ, ๊ฐœ์ธ ์„ค์ •)๊ฐ€ ์ถ”์ ๋˜์ง€ ์•Š๋„๋ก ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [cite: 1] +2. [cite_start]**Staging Area (์Šคํ…Œ์ด์ง• ๊ณต๊ฐ„):** ์ปค๋ฐ‹(commit)ํ•  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ค€๋น„ํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. [cite: 1] + * `git add` ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ(`modified`)์„ ์Šคํ…Œ์ด์ง•(`staged`) ์ƒํƒœ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. [cite_start]์ด๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๋ณ€๊ฒฝ ํŒŒ์ผ ์ค‘ ์›ํ•˜๋Š” ๊ฒƒ๋งŒ ์„ ํƒํ•˜์—ฌ ์ปค๋ฐ‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [cite: 1] +3. [cite_start]**Local Repository (๋กœ์ปฌ ์ €์žฅ์†Œ):** `git commit` ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ **๋ฒ„์ „**์œผ๋กœ ๊ธฐ๋กํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. [cite: 1] + * [cite_start]์ดํ›„ `git push` ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด ๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ์›๊ฒฉ ์ €์žฅ์†Œ์— ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. [cite: 1] + +--- + +### **๋ธŒ๋žœ์น˜(Branch)๋ž€?** + +[cite_start]๋ธŒ๋žœ์น˜๋Š” ๋‹ค๋ฅธ ์ž‘์—…์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์ธ ์˜์—ญ์—์„œ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. [cite: 1] + +* **๊ฐœ๋…:** ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋™์‹œ์— ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•  ๋•Œ, ์„œ๋กœ์˜ ์ž‘์—…์ด ์ถฉ๋Œํ•˜์ง€ ์•Š๋„๋ก ๋…๋ฆฝ๋œ ์ž‘์—… ๊ณต๊ฐ„์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. [cite_start]์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด `merge`๋‚˜ `Pull Request`๋ฅผ ํ†ตํ•ด ๊ธฐ์กด ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค. [cite: 1] +* **์ฃผ์š” ๋ช…๋ น์–ด:** + * [cite_start]`git branch [์ด๋ฆ„]`: ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ [cite: 1] + * [cite_start]`git switch [์ด๋ฆ„]`: ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜ (๊ณผ๊ฑฐ์—๋Š” `checkout` ์‚ฌ์šฉ) [cite: 1] + * [cite_start]`git merge [๋ธŒ๋žœ์น˜]`: ํ˜„์žฌ ๋ธŒ๋žœ์น˜์— ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์˜ ๋‚ด์šฉ์„ ๋ณ‘ํ•ฉ [cite: 1] + +--- + +### **Github ํ˜‘์—… ๊ธฐ๋Šฅ** + +* [cite_start]**Issue (์ด์Šˆ):** ํ”„๋กœ์ ํŠธ์˜ ์ž‘์—… ๋‹จ์œ„(๊ธฐ๋Šฅ ๊ตฌํ˜„, ๋ฒ„๊ทธ ์ˆ˜์ • ๋“ฑ)๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋‹ด๋‹น์ž๋ฅผ ํ• ๋‹นํ•˜์—ฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๊ณต์œ ํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. [cite: 1] +* **Pull Request (PR):** ํŠน์ • ๋ธŒ๋žœ์น˜์—์„œ ์™„๋ฃŒํ•œ ์ž‘์—…์„ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜ํ•ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. [cite_start]PR์„ ํ†ตํ•ด ๋™๋ฃŒ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ๋ฅผ ๋ฆฌ๋ทฐ(Code Review)ํ•˜๊ณ  ๋ณ‘ํ•ฉ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. [cite: 1] From 3a96258e75c3ae45cccf8f79a9488339133c79e4 Mon Sep 17 00:00:00 2001 From: 2ssac Date: Fri, 26 Sep 2025 14:45:28 +0900 Subject: [PATCH 04/33] =?UTF-8?q?[#2]docs:=20week1.md=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- week1.md | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 355 insertions(+) create mode 100644 week1.md diff --git a/week1.md b/week1.md new file mode 100644 index 0000000..e0559d2 --- /dev/null +++ b/week1.md @@ -0,0 +1,355 @@ +[๊ฐœ์ธ ๋…ธ์…˜ ์ •๋ฆฌ](https://splashy-bovid-12f.notion.site/Week01-2773db583b288063bd00dd4fcef170a2) + +## **1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ฐจ์ด** + +
+ +### **1๏ธโƒฃย ํ”„๋ ˆ์ž„์›Œํฌ(Framework)๋ž€?** + +- ์†Œํ”„ํŠธ์›จ์–ด์˜ ํŠน์ • ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ƒํ˜ธ ํ˜‘๋ ฅํ•˜๋Š” **ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ง‘ํ•ฉ** +- ์›ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ์ง‘์ค‘ํ•˜์—ฌ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก **์ผ์ •ํ•œ ํ˜•ํƒœ์™€ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ๋Š” ๊ณจ๊ฒฉ, ๋ผˆ๋Œ€**๋ฅผ ์˜๋ฏธ +- `ํ”„๋ ˆ์ž„์›Œํฌ`๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์‹œ ํ•„์ˆ˜์ ์ธ ์ฝ”๋“œ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, DB์—ฐ๋™๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด **์–ด๋А์ •๋„ ๊ตฌ์กฐ(๋ผˆ๋Œ€)**๋ฅผ ์ œ๊ณต + โ†’ ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ ์œ„์—์„œ `์‚ฌ์šฉ์ž`๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœ +- ๊ณตํ†ต๋œ ๋ถ€๋ถ„์€ `ํ”„๋ ˆ์ž„์›Œํฌ`๊ฐ€ ๊ด€๋ฆฌํ•˜๊ณ ,ย `์‚ฌ์šฉ์ž`๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ •ํ•ด์ค€ ๋ฐฉ์‹๋Œ€๋กœ ํด๋ž˜์Šค, ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ +- ex : ์•ฑ/์„œ๋ฒ„ ๋“ฑ์˜ ๊ตฌ๋™, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ์ด๋ฒคํŠธ ๋ฃจํ”„ ๋“ฑ + +
+ +### **2๏ธโƒฃย ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ธฐ๋Šฅ** + +1. **์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ**ย : ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ณตํ†ต ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์— ์šฉ์ด +2. **์ผ์ •ํ•œ ๊ตฌ์กฐ ์ œ๊ณต**ย : ํ”„๋ ˆ์ž„์›Œํฌ๋Š” **์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜**ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ทธ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฅด๋„๋ก ํ•จ +3. **๋ชจ๋“ˆํ™”**ย : ํ”„๋ ˆ์ž„์›Œํฌ๋Š” **๊ธฐ๋Šฅ์„ ๋ชจ๋“ˆํ™”**ํ•˜์—ฌ **๋…๋ฆฝ์ ์ธ ์ปดํฌ๋„ŒํŠธ**๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๊ฒŒ ํ•จ +4. **์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ**ย : **๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ์ž๋™ํ™”**ํ•˜๊ณ  ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ž„ +5. **์œ ์ง€๋ณด์ˆ˜์„ฑ**ย : **์ผ๊ด€๋œ ์ฝ”๋“œ ๊ตฌ์กฐ**๋ฅผ ์œ ์ง€ํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํ–ฅ์ƒ + +
+ +### **3๏ธโƒฃย ํ”„๋ ˆ์ž„์›Œํฌ ์˜ˆ์‹œ** + +- **Spring Framework** : JAVA ์„œ๋ฒ„ ๊ฐœ๋ฐœ +- **Django, Flask :** Python ์„œ๋ฒ„ ๊ฐœ๋ฐœ +- **Android :** ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ฐœ๋ฐœ +- **Angular, Vue.js :** ์›น ๊ฐœ๋ฐœ + +
+
+ +### **1๏ธโƒฃย ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Library)๋ž€?** + +- ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ **์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ๋น„ํœ˜๋ฐœ์„ฑ ์ž์›์˜ ๋ชจ์ž„** +- **๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ** ์ฝ”๋“œ, ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํด๋ž˜์Šค๊ฐ€ ํฌํ•จ +- `๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ`๋Š” ๋‹จ์ˆœ ํ™œ์šฉ ๊ฐ€๋Šฅํ•œ **๋„๊ตฌ๋“ค์˜ ์ง‘ํ•ฉ** + +
+ +### **2๏ธโƒฃย ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ธฐ๋Šฅ** + +1. **์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ** : ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” **ํŠน์ • ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ**์„ ์ด‰์ง„ +2. **์ถ”์ƒํ™”** : ๋ณต์žกํ•œ ์ž‘์—…์„ ๊ฐ„๋‹จํ•œ **ํ•จ์ˆ˜ ํ˜ธ์ถœ๋กœ ์ถ”์ƒํ™”** +3. **๋ชจ๋“ˆํ™”** : ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” **๊ธฐ๋Šฅ๋ณ„๋กœ ๋ชจ๋“ˆํ™”**๋˜์–ด ํ•„์š”์— ๋”ฐ๋ผ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ์Œ +4. **์œ ์—ฐ์„ฑ** : ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”์— ๋”ฐ๋ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ **์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉ** + +
+ +### **3๏ธโƒฃย ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜ˆ์‹œ** + +- **TensorFlow** : ๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ๋”ฅ๋Ÿฌ๋‹์„ ์œ„ํ•œ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ +- **Pandas** : ๋ฐ์ดํ„ฐ ๋ถ„์„๊ณผ ์กฐ์ž‘์„ ์œ„ํ•œ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ +- **NumPy** : ์ˆ˜์น˜ ๊ณ„์‚ฐ์„ ์œ„ํ•œ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ +- **jQuery** : HTML ๋ฌธ์„œ ํƒ์ƒ‰ ๋ฐ ์กฐ์ž‘, ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ, ์• ๋‹ˆ๋ฉ”์ด์…˜, Ajax๋ฅผ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ + +
+
+ +## **ํ”„๋ ˆ์ž„์›Œํฌ vs ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ** + +### **1๏ธโƒฃย ๊ตฌ์กฐ ์ œ๊ณต ์œ ๋ฌด** + +- `ํ”„๋ ˆ์ž„์›Œํฌ`๋Š” ์ „์ฒด **์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜** + โ†’ **์ผ์ •ํ•œ ๊ฐœ๋ฐœ ํŒจํ„ด**์„ ๋”ฐ๋ฅด๊ฒŒ ํ•จ +- `๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ`๋Š” **ํŠน์ • ๊ธฐ๋Šฅ๋งŒ ์ œ๊ณต**ํ•  ๋ฟ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ „์ฒด ~~๊ตฌ์กฐ์—๋Š” ๊ด€์—ฌํ•˜์ง€ ์•Š์Œ~~ + โ†’ ๊ฐœ๋ฐœ์ž ์Šค์Šค๋กœ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ **๊ตฌ์กฐ ์„ค๊ณ„ ๊ฐ€๋Šฅ** +
+ +### **2๏ธโƒฃย ์ œ์–ด์˜ ์—ญ์ „(Inversion of Control)** + +### ๊ฐ€์žฅ ํฐ ์ฐจ์ด์  + +- **`์ œ์–ด ํ๋ฆ„์— ๋Œ€ํ•œ ์ฃผ๋„์„ฑ`์ด ๋ˆ„๊ตฌ์—๊ฒŒ/์–ด๋””์— ์žˆ๋Š”๊ฐ€?** +- ์ฆ‰,ย ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ `Flow(ํ๋ฆ„)`๋ฅผ ๋ˆ„๊ฐ€ ์ฅ๊ณ  ์žˆ๋А๋ƒ? + +### ํ”„๋ ˆ์ž„์›Œํฌ + +- `ํ”„๋ ˆ์ž„์›Œํฌ`๋Š”ย ๊ทธ ํ‹€์•ˆ์— ์ œ์–ด ํ๋ฆ„์— ๋Œ€ํ•œ **์ฃผ๋„์„ฑ์ด ๋‚ดํฌ** +- ์‚ฌ์šฉ์ž๋Š” **ํ”„๋ ˆ์ž„์›Œํฌ ์•ˆ**์— ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑ + +### ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ + +- `๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ`๋Š” **ํŠน์ • ๊ธฐ๋Šฅ๋งŒ์„ ์ œ๊ณต**ํ•  ๋ฟ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ „์ฒด ๊ตฌ์กฐ์—๋Š” ๊ด€์—ฌํ•˜์ง€ ์•Š์Œ +- ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์Šค์Šค๋กœ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ **๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„** + +
+
+ +## 2. `null`๊ณผ `undefined`๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅด๋ฉฐ `null`์ด `object`์ธ ์ด์œ ๋Š”? + +--- + +## `null` vs `undefined` + +### ๊ณตํ†ต์  + +- `null` ๊ณผ `undefined` ๋ชจ๋‘ `๊ฐ’์ด ์—†์Œ` ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ž๋ฃŒํ˜• + +### ์ฐจ์ด์  + +`undefined` + +- Javascript์—์„œ **์ž๋™์œผ๋กœ** ํ• ๋‹น๋˜๋Š” ๊ฐ’ +- ๋ณ€์ˆ˜๋Š” ์„ ์–ธํ–ˆ์ง€๋งŒ ๊ฐ’์„ ํ• ๋‹นํ•˜์ง€ ์•Š์„ ๋•Œ, ์ž๋™์œผ๋กœ `undefined`๊ฐ€ ํ• ๋‹น + +`null` + +- **๊ฐœ๋ฐœ์ž๊ฐ€ ์˜๋„์ **์œผ๋กœ ํ• ๋‹นํ•˜๋Š” ๊ฐ’ +- ํŠน์ • ๋ณ€์ˆ˜๊ฐ€ `๊ฐ’์ด ์—†์Œ`์„ `๋ช…ํ™•ํ•˜๊ฒŒ` ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ๋„ฃ์–ด์ฃผ๋Š” ๊ฐ’ + +### ๋น„๊ต + +- `==` (๋А์Šจํ•œ ๋น„๊ต)์—์„œ๋Š” `null` ๊ณผ `undefined`๊ฐ€ ๊ฐ™๊ฒŒ ์ฒ˜๋ฆฌ +- `===` (์—„๊ฒฉํ•œ ๋น„๊ต)์—์„œ๋Š” `null`๊ณผ `undefined`๋Š” ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ + +### ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ + +`null` + +- ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•. +- ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋˜ ๋ณ€์ˆ˜๋ฅผ `null` ๋กœ ์„ค์ •ํ•˜๋ฉด, ํ•ด๋‹น ๋ณ€์ˆ˜๋Š” ๋” ์ด์ƒ ๊ทธ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค์ง€ ์•Š์œผ๋ฏ€๋กœ **์ฐธ์กฐ๊ฐ€ ๋Š์–ด์ง** +- ์ด๋ ‡๊ฒŒ ์ฐธ์กฐ๊ฐ€ ๋Š๊ธฐ๋ฉด JavaScript ์˜ GC ์—์„œ **๋ฉ”๋ชจ๋ฆฌ ์ œ๊ฑฐ**๋ฅผ ์‹คํ–‰ + +`undefined` + +- ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ์™ธ๋Š” ๊ด€๋ จ์ด ์—†์Œ. + +--- + +## `typeof null`์ด 'object' ์ธ ์ด์œ ? + +### 1๏ธโƒฃ ์—ญ์‚ฌ์ ์ธ ์ด์œ  + +- JavaScript ์ดˆ์ฐฝ๊ธฐ(1995๋…„)๋ถ€ํ„ฐ typeof null์€ "object"๋ฅผ ๋ฐ˜ํ™˜ํ–ˆ๋‹ค. ์ด๋Š” **๋ช…๋ฐฑํ•œ ๋ฒ„๊ทธ**์˜€์ง€๋งŒ, ์ด๋ฏธ ๋ฐฐํฌ๋œ ์›น์‚ฌ์ดํŠธ์™€ ์ฝ”๋“œ๊ฐ€ ์ด ๋™์ž‘์— ์˜์กดํ•˜๊ฒŒ ๋˜๋ฉด์„œ **์ˆ˜์ •ํ•˜์ง€ ๋ชปํ•˜๊ณ  ํ‘œ์ค€์— ๋‚จ๊ฒŒ ๋œ ์—ญ์‚ฌ์  ์œ ์‚ฐ์ด๋‹ค**. +- ECMAScript ๋ช…์„ธ(ECMA-262)์—์„œ๋„ typeof null === "object"๋ผ๊ณ  **๋ช…์‹œ์ ์œผ๋กœ ๊ทœ์ •**ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์œ ๋Š” ๋‹จ์ˆœํžˆ โ€œ์›น ํ˜ธํ™˜์„ฑโ€ ๋•Œ๋ฌธ์ด๋‹ค. +- ์‹ค์ œ๋กœ 2010๋…„๊ฒฝ typeof null์„ "null"๋กœ ๋ฐ”๊พธ์ž๋Š” ์ œ์•ˆ์ด ์žˆ์—ˆ์ง€๋งŒ, ํฌ๋กฌ(V8) ์—”์ง„์—์„œ ์‹คํ—˜์ ์œผ๋กœ ๋ฐ”๊ฟจ์„ ๋•Œ **์ˆ˜๋งŽ์€ ์›น์‚ฌ์ดํŠธ๊ฐ€ ๊นจ์ ธ์„œ** ๊ฒฐ๊ตญ ์ฒ ํšŒ๋˜์—ˆ๋‹ค. +- JavaScript ์ฐฝ์‹œ์ž ๋ธŒ๋ Œ๋˜ ์•„์ดํฌ(Brendan Eich)๋„ โ€œ๋‹น์‹œ ์ž๋ฐ”(Java)์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ๋งŒ๋“ค๋ผ๋Š” ์••๋ฐ•๊ณผ ์ด‰๋ฐ•ํ•œ ๊ฐœ๋ฐœ ์ผ์ • ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ์„ธ์„ธํ•œ ๋ถ€๋ถ„๊นŒ์ง€ ์ฑ™๊ธฐ์ง€ ๋ชปํ–ˆ๋‹คโ€๊ณ  ์–ธ๊ธ‰ํ–ˆ๋‹ค. ์ฆ‰, ๋น ๋ฅด๊ฒŒ ์™„์„ฑํ•˜๋А๋ผ ๋ฐœ์ƒํ•œ ์‹ค์ˆ˜์ด์ž, ๊ทธ๋Œ€๋กœ ๊ตณ์–ด์ง„ ๋ฒ„๊ทธ์ด๋‹ค. + +### 2๏ธโƒฃย **JavaScript ๋‚ด๋ถ€ ๋™์ž‘ ์›๋ฆฌ (๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ, ํƒ€์ž… ํƒœ๊ทธ)** + +`์ดˆ์ฐฝ๊ธฐ` JavaScript ์—”์ง„์€ **32๋น„ํŠธ ๊ฐ’** ์•ˆ์— **ํƒ€์ž… ํƒœ๊ทธ(type tag)**์™€ **๋ฐ์ดํ„ฐ**๋ฅผ ํ•จ๊ป˜ ์ €์žฅํ–ˆ๋‹ค. + +- **000 (์ด์ง„์ˆ˜)** โ†’ ๊ฐ์ฒด(Object)์˜ ์ฐธ์กฐ๊ฐ’ +- **001** โ†’ ์ •์ˆ˜(Integer) ๊ฐ’ +- **010** โ†’ ์‹ค์ˆ˜(Double, ์ฐธ์กฐ๋กœ ์ €์žฅ) +- **100** โ†’ ๋ฌธ์ž์—ด(String, ์ฐธ์กฐ๋กœ ์ €์žฅ) +- **110** โ†’ ๋ถˆ๋ฆฌ์–ธ(Boolean) + +์—ฌ๊ธฐ์„œ `null`์€ ํŠน๋ณ„ํžˆ **NULL ํฌ์ธํ„ฐ(์ฃผ์†Œ๊ฐ’ 0x00)** ๋กœ ์ €์žฅ๋˜์—ˆ๋‹ค. ์ฆ‰, ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” **๊ฐ์ฒด(Object) ํƒ€์ž… ํƒœ๊ทธ(000)** + **์ฐธ์กฐ๊ฐ’ 0** ํ˜•ํƒœ์˜€๋‹ค. + +๋”ฐ๋ผ์„œ ์—”์ง„ ์ž…์žฅ์—์„œ๋Š”`null`์„ **โ€œ๊ฐ์ฒด ์ฐธ์กฐ์ธ๋ฐ ๊ฐ’์ด 0์ธ ๊ฒƒโ€**์œผ๋กœ ์˜ค์ธํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ๊ทธ ๊ฒฐ๊ณผ `typeof null`์€ `object`๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฐ ๊ฒƒ์ด๋‹ค. + +
+ +--- + +## 3. Javascript๊ฐ€ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ์–ธ์–ด์ด๋ฉฐ ๋น„๋™๊ธฐ ์–ธ์–ด์ธ ์ด์œ  + +### 1๏ธโƒฃย Javascript๋Š” ์™œ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ๋ฅผ ์„ ํƒํ–ˆ์„๊นŒ? + +- `Javascript`๋Š” ์›นํŽ˜์ด์ง€์˜ ๋ณด์กฐ์ ์ธย ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ฒฝ๋Ÿ‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋„์ž…ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๊ณ  ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด +- **์›น์‚ฌ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๋˜ ๊ฐœ๋ฐœ์ž๋“ค**์—๊ฒŒ `JAVA`๋ผ๋Š” ์–ธ์–ด๋Š” ๋‹ค์†Œ ๋ฌด๊ฒ๊ณ  ์–ด๋ ค์šด ์–ธ์–ด์˜€๊ธฐ ๋•Œ๋ฌธ์—, ๋ธŒ๋žœ๋˜ ์•„์ดํฌ๋ผ๋Š” ์‚ฌ๋žŒ์„ ์Šค์นด์šฐํŠธํ•˜์—ฌ โ€˜์ž๋ฐ”์Šคํฌ๋ฆฝํŠธโ€™๊ฐ€ ํƒ„์ƒ๋˜์—ˆ๋‹ค. +- `JAVA` ์™œ ๋ฌด๊ฒ๊ณ  ์–ด๋ ค์šด ์–ธ์–ด๋ผ ์ƒ๊ฐํ–ˆ์„๊นŒ? โ†’ย **๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ๋ชจ๋ธ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‚œ์ด๋„๊ฐ€ ๋†’๋‹ค.** +- `Javascript`๋Š” ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š”ย ๋ณต์žกํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค(`ex` ๋™์‹œ์„ฑ ๋ฌธ์ œ ๋“ฑ)๋ฅผ ์‹ ๊ฒฝ ์“ธ ํ•„์š”๊ฐ€ ์—†๋‹ค. + +### 2๏ธโƒฃย Javascript ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹ + +- ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ๋กœ ๋™์ž‘ํ•œ๋‹ค๋Š” ๊ฒƒ +- ์‹ฑ๊ธ€์Šค๋ ˆ๋“œ ๋ฐฉ์‹์€ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํƒœ์Šคํฌ๋งŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ +- ํ•˜์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ์‚ดํŽด๋ณด๋ฉด ๋งŽ์€ ํƒœ์Šคํฌ๊ฐ€ ๋™์‹œ์— ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋А๊ปด์ง„๋‹ค. +- `ex` `html` ์š”์†Œ๊ฐ€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ฅผ ํ†ตํ•ด ์›€์ง์ด๋ฉด์„œ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ๋„ ํ•˜๊ณ , `http`์š”์ฒญ์„ ํ†ตํ•ด ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ค๋ฉด์„œ ๋ Œ๋”๋งํ•˜๊ธฐ๋„ ํ•œ๋‹ค. +- ์ด์ฒ˜๋Ÿผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋™์‹œ์„ฑ์„ ์ง€์›ํ•˜๋Š” ๊ฒƒ์ดย **`์ด๋ฒคํŠธ๋ฃจํ”„`** +- `์ด๋ฒคํŠธ๋ฃจํ”„`๋Š”ย **๋ธŒ๋ผ์šฐ์ €์— ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” ๊ธฐ๋Šฅ ์ค‘์— ํ•˜๋‚˜์ด๋‹ค.** + +##
+ +## 4. DOM๊ณผ Virtual DOM -> ๋ฆฌ์•กํŠธ์˜ ๊ฐ€์ƒDOM์ด ๊ฐ•ํ•œ ์ด์œ  + +### 1๏ธโƒฃย **DOM**์ด๋ž€? + +- **DOM**(Document Object Model, ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ) +- ๋ฌธ์„œ ๊ฐ์ฒด๋ž€ `HTML`, `head`, `body`์™€ ๊ฐ™์€ ํƒœ๊ทธ๋“ค์„ `Javascript`๊ฐ€ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์˜๋ฏธ +- `div`, `input`, `a`ย ๋“ฑ์ด DOM์— ํ•ด๋‹น + +### 2๏ธโƒฃย ๊ฐ€์ƒ ๋”(Virtual DOM)์˜ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ + +- ์‹ค์ œ DOM์—๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๋Š”๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ์–ด DOM์„ ์กฐ์ž‘ํ•˜๋Š” ์ž‘์—…์ด ๋ฌด๊ฑฐ์›€ +- ๊ทธ๋ž˜์„œ `React`์—์„œ๋Š” ์‹ค์ œ DOM์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ **๋‚ด๋ถ€์ ์œผ๋กœ `๊ฐ€์ƒ DOM`**์„ ๋งŒ๋“ค์–ด์„œ ๊ด€๋ฆฌ +- `Virtual DOM`์€ DOM์˜ **์š”์•ฝ๋ณธ** + +### 3๏ธโƒฃย Virtual DOM์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ  + +- **์ดˆ๊ธฐ ์ •์ ์ธ ์›นํŽ˜์ด์ง€์— ๋งž๊ณ„ ์„ค๊ณ„๋œ DOM**์€ ์ •์ ์ธ ์„ฑ๊ฒฉ + โ†’ ํ˜„์žฌ ํŠธ๋ Œ๋“œ์ธ **๋™์ ์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜**์— ์‚ฌ์šฉํ•˜๋ ค๋ฉด **์„ฑ๋Šฅ ์ƒ์— ๋ฌธ์ œ**๊ฐ€ ๋ฐœ์ƒ +- ์ตœ๊ทผ ํŠธ๋ Œ๋“œ์ธ ๋ณต์žกํ•œ `SPA`์—์„œ๋Š” **DOM ์กฐ์ž‘์ด ๊ต‰์žฅํžˆ ๋นˆ๋ฒˆ**ํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋ฉฐ, ๊ทธ ๋ณ€ํ™”๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” **๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋งŽ์€ ์—ฐ์‚ฐ**์„ ํ•˜๊ฒŒ ๋˜๊ณ , ๊ฒฐ๊ตญ ์ „์ฒด์ ์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ **๋น„ํšจ์œจ์ ** + +### 4๏ธโƒฃย Virtual DOM์˜ ๋™์ž‘ ๋ฐฉ์‹ + +- `Virtual DOM`์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹ค์ œ DOM์— ์ ‘๊ทผํ•˜๋ฉฐ ์กฐ์ž‘ํ•˜๋Š” ๋Œ€์‹ , ์ด๋ฅผ **์ถ”์ƒํ™”**ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ์‚ฌ์šฉ +- DOM์˜ ์ƒํƒœ๋ฅผ **๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ**ํ•˜๊ณ , ๋ณ€๊ฒฝ ์ „๊ณผ ๋ณ€๊ฒฝ ํ›„์˜ **์ƒํƒœ๋ฅผ ๋น„๊ต** ํ•œ ๋’ค **์ตœ์†Œํ•œ์˜ ๋‚ด์šฉ๋งŒ ๋ฐ˜์˜**ํ•˜์—ฌ ์„ฑ๋Šฅ ํ–ฅ์ƒ +- DOM์˜ ์ƒํƒœ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ์œ„์— ๊ณ„์† ์˜ฌ๋ ค๋‘๊ณ , **DOM์— ๋ณ€๊ฒฝ** ์žˆ์„ ๊ฒฝ์šฐ **ํ•ด๋‹น ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋งŒ ๋ฐ˜์˜** + +##
+ +## 5. ๋‚˜์˜ ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ์„ธํŒ… + + + + +## + +### ์ฐธ๊ณ  + +- https://idkim97.github.io/2022-08-16-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%20vs%20%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC/ +- https://velog.io/@woody_59/undefined%EC%99%80-null-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90 +- https://witch.work/ko/posts/javascript-why-typeof-null-is-object +- https://miracleground.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%99%9C-%EC%8B%B1%EA%B8%80-%EC%8A%A4%EB%A0%88%EB%93%9C%EB%A5%BC-%EC%84%A0%ED%83%9D%ED%96%88%EC%9D%84%EA%B9%8C-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EC%8A%A4%EB%A0%88%EB%93%9C-%EB%B9%84%EB%8F%99%EA%B8%B0-%EB%8F%99%EA%B8%B0-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%97%94%EC%A7%84-%EC%9D%B4%EB%B2%A4%ED%8A%B8%EB%A3%A8%ED%94%84 +- https://velog.io/@ctdlog/React-DOM%EC%9D%B4%EB%9E%80-Virtual-DOM%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0 From f62446d2f965f5e8cd38aa7b6ceb8c920bbe36aa Mon Sep 17 00:00:00 2001 From: 2ssac Date: Fri, 26 Sep 2025 14:57:36 +0900 Subject: [PATCH 05/33] =?UTF-8?q?[#2]docs:=20.gitignore=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + week1/validate.sh | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ce1b36c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ignore.md \ No newline at end of file diff --git a/week1/validate.sh b/week1/validate.sh index 9e393dd..bcb5d08 100755 --- a/week1/validate.sh +++ b/week1/validate.sh @@ -54,7 +54,8 @@ if git log --pretty=format:"%H" -- ignore.md | grep -q '.'; then fi if $week1_committed && ! $ignore_committed; then - echo " โœ… week1.md ํŒŒ์ผ์ด ์ปค๋ฐ‹๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n โœ… ignore.md ํŒŒ์ผ์ด ์ •์ƒ์ ์œผ๋กœ .gitignore์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค." + echo " โœ… week1.md ํŒŒ์ผ์ด ์ปค๋ฐ‹๋˜์—ˆ์Šต๋‹ˆ๋‹ค. + โœ… ignore.md ํŒŒ์ผ์ด ์ •์ƒ์ ์œผ๋กœ .gitignore์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค." else if ! $week1_committed; then echo " โŒ week1.md ํŒŒ์ผ์ด ์ปค๋ฐ‹๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค." From 142c6709721c1d8899203fc2788b33643fb189f8 Mon Sep 17 00:00:00 2001 From: jihoonkim501 Date: Sat, 27 Sep 2025 18:15:21 +0900 Subject: [PATCH 06/33] [Feat] first commit --- .gitignore | 2 ++ week1.md | 1 + 2 files changed, 3 insertions(+) create mode 100644 .gitignore create mode 100644 week1.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..43e91e5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +ignore.md + diff --git a/week1.md b/week1.md new file mode 100644 index 0000000..16cd949 --- /dev/null +++ b/week1.md @@ -0,0 +1 @@ +hello UMC From 1a06605b201cc483f097e570376c9e9d68a658f3 Mon Sep 17 00:00:00 2001 From: Choe-Jong-Geon Date: Sun, 28 Sep 2025 12:42:25 +0900 Subject: [PATCH 07/33] =?UTF-8?q?1=EC=A3=BC=EC=B0=A8=20=EA=B3=BC=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + week1.md | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 .gitignore create mode 100644 week1.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ce1b36c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ignore.md \ No newline at end of file diff --git a/week1.md b/week1.md new file mode 100644 index 0000000..81c1f40 --- /dev/null +++ b/week1.md @@ -0,0 +1,78 @@ +# DB ์กฐ์ธ๊ณผ ๊ด€๋ จ ๊ฐœ๋… ์ •๋ฆฌ + +## 1. DB ์กฐ์ธ์ด๋ž€? +- ๋‘ ๊ฐœ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์„ ์—ฐ๊ฒฐํ•˜์—ฌ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ +- ๋ฐฐ๊ฒฝ: ํ…Œ์ด๋ธ” ๋‘ ๊ฐœ ์ด์ƒ์„ ์ฐธ์กฐํ•ด ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•  ํ•„์š”์„ฑ +- ํ…Œ์ด๋ธ” ๋ถ„๋ฆฌ ์ด์œ : ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ตœ์†Œํ™”, ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์œ ์ง€ + +--- + +## 2. Join ์ข…๋ฅ˜๋“ค + +- **Inner Join** + ๋‘ ํ…Œ์ด๋ธ”์—์„œ ๊ณตํ†ต๋œ ํ•„๋“œ๋ฅผ ๋ฐ˜ํ™˜ (์ง‘ํ•ฉ์˜ ๊ต์ง‘ํ•ฉ) + +- **Left Outer Join** + ์™ผ์ชฝ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰์„ ํฌํ•จํ•˜๊ณ , ์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”์—์„œ ์ผ์น˜ํ•˜๋Š” ํ–‰๋งŒ ๋ฐ˜ํ™˜ + โ†’ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅธ์ชฝ ์ปฌ๋Ÿผ์€ `NULL` + +- **Right Outer Join** + Left Outer Join์˜ ๋ฐ˜๋Œ€. + ์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰์„ ํฌํ•จํ•˜๊ณ , ์™ผ์ชฝ ํ…Œ์ด๋ธ”์—์„œ ์ผ์น˜ํ•˜๋Š” ํ–‰๋งŒ ๋ฐ˜ํ™˜ + โ†’ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์™ผ์ชฝ ์ปฌ๋Ÿผ์€ `NULL` + +- **Full Outer Join** + Left Outer Join + Right Outer Join์˜ ๊ฒฐ๊ณผ (์ง‘ํ•ฉ์˜ ํ•ฉ์ง‘ํ•ฉ) + โ†’ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด `NULL`๋กœ ์ฑ„์›Œ์ง + +--- + +## 3. Join vs SubQuery +- **Join**: ์„ฑ๋Šฅ๊ณผ ๊ฐ€๋…์„ฑ ์ธก๋ฉด์—์„œ ์šฐ์ˆ˜ +- **SubQuery**: ํŠน์ • ์กฐ๊ฑด ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰, ๋ณต์žกํ•œ ์กฐ๊ฑด ์ฒ˜๋ฆฌ์— ์œ ๋ฆฌ +- ๊ฐœ์ธ์ ์ธ ๊ฒฐ๋ก : ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ **Join**์ด ์ง๊ด€์ ์ด๊ณ  ํšจ๊ณผ์  + +--- + +## 4. ํŠธ๋žœ์žญ์…˜(Transaction)์ด๋ž€? +- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๋Š” ์ž‘์—…๋“ค์˜ **๋…ผ๋ฆฌ์  ๋‹จ์œ„** +- ํŠธ๋žœ์žญ์…˜์€ **๋ชจ๋‘ ์„ฑ๊ณต(All) ๋˜๋Š” ๋ชจ๋‘ ์‹คํŒจ(Nothing)** ํ•ด์•ผ ํ•จ +- ์‹คํŒจ ์‹œ ์ด์ „ ์ƒํƒœ๋กœ ๋ณต๊ตฌ๋จ + +### ACID ํŠน์ง• +1. **์›์ž์„ฑ(Atomicity)**: ์ „๋ถ€ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ์ „๋ถ€ ์‹คํŒจ +2. **์ผ๊ด€์„ฑ(Consistency)**: ์„ฑ๊ณต ์‹œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์œ ์ง€ +3. **๊ฒฉ๋ฆฌ์„ฑ(Isolation)**: ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜์€ ์„œ๋กœ ๊ฐ„์„ญํ•˜์ง€ ์•Š์Œ +4. **์˜์†์„ฑ(Durability)**: ์„ฑ๊ณต ์‹œ ๊ฒฐ๊ณผ๋Š” ์˜๊ตฌ์ ์œผ๋กœ ๋ณด์กด + +--- + +## 5. Join์—์„œ ON vs WHERE + +- **ON**: ์กฐ์ธ ์‹œ, ํ…Œ์ด๋ธ”์„ ์—ฐ๊ฒฐํ•  ํ–‰์„ ๊ฒฐ์ • +- **WHERE**: ์กฐ์ธ ํ›„ ๊ฒฐ๊ณผ์—์„œ ์กฐ๊ฑด์„ ๊ฑธ์–ด ํ•„ํ„ฐ๋ง + +--- + +## 6. ํŽ˜์ด์ง•(Paging) + +๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๊ฐ€์ ธ์˜ค์ง€ ์•Š๊ณ  ์ผ์ • ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ์กฐํšŒํ•˜๋Š” ๊ธฐ๋ฒ• + +```sql +-- OFFSET ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง• +SELECT * FROM mission +ORDER BY mission_id DESC +LIMIT y OFFSET (x - 1) * y; + +-- Cursor ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง• +SELECT * FROM mission +WHERE ์ •๋ ฌ ๊ธฐ์ค€ > ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€ ๋งˆ์ง€๋ง‰ ๋ฐ์ดํ„ฐ ๊ฐ’ +ORDER BY ์ •๋ ฌ ๊ธฐ์ค€ +LIMIT ํŽ˜์ด์ง€ํฌ๊ธฐ; + +-- ์ปค๋ฒ„๋ง ์ธ๋ฑ์Šค ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง• +SELECT * FROM review AS r +WHERE r.star < ? + OR (r.star = ? AND r.review_id < ?) -- ์˜ˆ: 4 / 4 / 733 +ORDER BY r.star DESC, r.review_id DESC +LIMIT 15; \ No newline at end of file From 540b2f4d448a1efed4597260069e17203415446b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EC=A2=85=EA=B1=B4?= Date: Sun, 28 Sep 2025 13:10:21 +0900 Subject: [PATCH 08/33] =?UTF-8?q?=EC=B5=9C=EC=A2=85=EA=B1=B4=201=EC=A3=BC?= =?UTF-8?q?=EC=B0=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- week1/info.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/week1/info.sh b/week1/info.sh index 07eec26..a8762de 100755 --- a/week1/info.sh +++ b/week1/info.sh @@ -1,11 +1,11 @@ -echo "===============================1์ฃผ์ฐจ ๊ณผ์ œ===============================" -echo "0. \"week1-(๋ณธ์ธ ๋‹‰๋„ค์ž„)\"์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์‹  ํ›„ ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”! (e.g. week1-zimging)" -echo "1. week1.md ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”!" -echo "2. markdown ๋ฌธ๋ฒ•์„ ์ด์šฉํ•ด 1์ฃผ์ฐจ์— ๋ฐฐ์šด ๋‚ด์šฉ์„ week1.md ํŒŒ์ผ์— ์ •๋ฆฌํ•ด์ฃผ์„ธ์š”!" -echo "3. ignore.md ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ ๋’ค ์•„๋ฌด ๋‚ด์šฉ์ด๋‚˜ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!" -echo "4. gitignore ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ignore.md ํŒŒ์ผ์„ ์ถ”์  ํ•ด์ œํ•˜๋„๋ก ์„ค์ •ํ•ด์ฃผ์„ธ์š”!" -echo "5. ๋ชจ๋“  ํŒŒ์ผ์„ addํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด addํ•œ ํ›„, commitํ•ด ์ฃผ์„ธ์š”!" -echo "6. (๋ช…๋ น์–ด)๋ฅผ ์‚ฌ์šฉํ•ด ์œ„์˜ ๋‚ด์šฉ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹ค์Šตํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”!" -echo "7. \"๋ชจ๋“  ๊ณผ์ œ๊ฐ€ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค\"๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ•˜์…จ๋‹ค๋ฉด, ์บก์ณํ•˜์‹  ํ›„ week1 ๋ธŒ๋žœ์น˜๋ฅผ pushํ•ด์ฃผ์„ธ์š”!" -echo "8. ์–‘์‹์— ๋งž์ถฐ Pull Request๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!" +echo "===============================1์ฃผ์ฐจ ๊ณผ์ œ===============================" +echo "0. \"week1-(๋ณธ์ธ ๋‹‰๋„ค์ž„)\"์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์‹  ํ›„ ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”! (e.g. week1-zimging)" +echo "1. week1.md ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”!" +echo "2. markdown ๋ฌธ๋ฒ•์„ ์ด์šฉํ•ด 1์ฃผ์ฐจ์— ๋ฐฐ์šด ๋‚ด์šฉ์„ week1.md ํŒŒ์ผ์— ์ •๋ฆฌํ•ด์ฃผ์„ธ์š”!" +echo "3. ignore.md ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ ๋’ค ์•„๋ฌด ๋‚ด์šฉ์ด๋‚˜ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!" +echo "4. gitignore ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ignore.md ํŒŒ์ผ์„ ์ถ”์  ํ•ด์ œํ•˜๋„๋ก ์„ค์ •ํ•ด์ฃผ์„ธ์š”!" +echo "5. ๋ชจ๋“  ํŒŒ์ผ์„ addํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด addํ•œ ํ›„, commitํ•ด ์ฃผ์„ธ์š”!" +echo "6. (๋ช…๋ น์–ด)๋ฅผ ์‚ฌ์šฉํ•ด ์œ„์˜ ๋‚ด์šฉ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹ค์Šตํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”!" +echo "7. \"๋ชจ๋“  ๊ณผ์ œ๊ฐ€ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค\"๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ•˜์…จ๋‹ค๋ฉด, ์บก์ณํ•˜์‹  ํ›„ week1 ๋ธŒ๋žœ์น˜๋ฅผ pushํ•ด์ฃผ์„ธ์š”!" +echo "8. ์–‘์‹์— ๋งž์ถฐ Pull Request๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!" echo "=======================================================================" \ No newline at end of file From b40ba45763abd22f74b64b1167ae5a2c7791edbf Mon Sep 17 00:00:00 2001 From: smileman62 Date: Sun, 28 Sep 2025 19:17:50 +0900 Subject: [PATCH 09/33] week1 mission completed. --- .gitignore.txt | 1 + ignore.md.txt | 2 ++ week1.md.txt | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 .gitignore.txt create mode 100644 ignore.md.txt create mode 100644 week1.md.txt diff --git a/.gitignore.txt b/.gitignore.txt new file mode 100644 index 0000000..ce1b36c --- /dev/null +++ b/.gitignore.txt @@ -0,0 +1 @@ +ignore.md \ No newline at end of file diff --git a/ignore.md.txt b/ignore.md.txt new file mode 100644 index 0000000..a330f96 --- /dev/null +++ b/ignore.md.txt @@ -0,0 +1,2 @@ +ํ•˜์ด! ํ•˜ํ•˜ํ•˜ +์ด๋งˆ๋ฐ๋ชจ ์•„์˜ค๊ฐ€ ์Šจ๋ฐ์ด๋ฃจ~ \ No newline at end of file diff --git a/week1.md.txt b/week1.md.txt new file mode 100644 index 0000000..ef971b4 --- /dev/null +++ b/week1.md.txt @@ -0,0 +1,46 @@ +# Git์ด๋ž€ ๋ฌด์—‡์ด๊ณ  ์™œ ์‚ฌ์šฉํ• ๊นŒ? + +## 1. Git์˜ ์ •์˜ +- **Git**: + ํŒŒ์ผ์˜ **๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ **ํ•˜๊ณ , **์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„ ์ž‘์—…์„ ์กฐ์œจ**ํ•  ์ˆ˜ ์žˆ๋Š” + **๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ** + +--- + +## 2. Git์ด ํ•„์š”ํ•œ ์ด์œ  +- ๊ฐ™์€ ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ ๋ฒ„์ „์œผ๋กœ ์ €์žฅ('์ตœ์ข…', '์ง„์งœ_์ตœ์ข…', โ€ฆ)ํ•˜๋Š” ๋ถˆํŽธํ•จ ํ•ด๊ฒฐ +- **์–ธ์ œ**, **์–ด๋–ค ๋ณ€ํ™”**๊ฐ€ ์žˆ์—ˆ๋Š”์ง€ ๊ธฐ๋ก -> ํŠน์ • ์‹œ์ ์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ ๊ฐ€๋Šฅ +- ์—ฌ๋Ÿฌ ๋ช…์ด ๋™์‹œ์— ์ž‘์—…ํ•ด๋„ **๋™๊ธฐํ™” ๋ฐ ํ˜‘์—…** ์›ํ™œ +- ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ **์ €์žฅ์†Œ(repository)** ๋‹จ์œ„๋กœ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ + +--- + +## 3. Git์˜ ํ•ต์‹ฌ ๊ฐœ๋… +### Working Directory (์ž‘์—… ๊ณต๊ฐ„) +- ๋‚ด๊ฐ€ ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ํด๋” +- '.gitignore' ํŒŒ์ผ์„ ํ†ตํ•ด ์ถ”์ ํ•˜์ง€ ์•Š์„ ํŒŒ์ผ ๊ด€๋ฆฌ + +### Staging Area (์ค€๋น„ ๊ตฌ์—ญ) +- ํŒŒ์ผ ์ƒํƒœ 3๊ฐ€์ง€ + - 'unmodified' (๋ณ€๊ฒฝ ์—†์Œ) + - 'modified' (๋ณ€๊ฒฝ๋จ) + - 'staged' (์ปค๋ฐ‹ ์ค€๋น„๋จ) +- **add**: 'modified' -> 'staged' (์„ ํƒ์ ์œผ๋กœ ๊ธฐ๋ก ์ค€๋น„ ๊ฐ€๋Šฅ) + +### Local Repository (๋กœ์ปฌ ์ €์žฅ์†Œ) +- **commit**: 'staged' ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๊ธฐ๋ก (์ฒดํฌํฌ์ธํŠธ ์ €์žฅ) +- **push**: ๋กœ์ปฌ ์ €์žฅ์†Œ -> ์›๊ฒฉ ์ €์žฅ์†Œ(GitHub ๋“ฑ)์— ๋ฐ˜์˜ + +--- + +## 4. Git์˜ ํŠน์ง•: ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ +- ์›๊ฒฉ ์ €์žฅ์†Œ(GitHub)์˜ ๋ชจ๋“  ์ด๋ ฅ์„ ๋ณต์‚ฌํ•ด ๊ฐ์ž ๋กœ์ปฌ์—์„œ ๋…๋ฆฝ ์ž‘์—… ๊ฐ€๋Šฅ +- ํ•„์š” ์‹œ ์›๊ฒฉ๊ณผ ๋™๊ธฐํ™”(push/pull) -> ํ˜‘์—… ๋ฐ ๋ณ‘ํ•ฉ + +--- + +## ํ•ต์‹ฌ ์š”์•ฝ +- **Git์€ ํŒŒ์ผ์˜ ๋ณ€ํ™” ์ด๋ ฅ์„ ๊ธฐ๋กํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ** +- **์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋™์‹œ์— ํ˜‘์—…**ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๋„๊ตฌ +- **add -> commit -> push** ํ๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๊ด€๋ฆฌ +- ์ €์žฅ์†Œ('repository') ๋‹จ์œ„๋กœ ํŒŒ์ผ์„ ์ฒด๊ณ„์ ์œผ๋กœ ๋‹ค๋ฃธ From 1ae2147b6ae52f26b93094ae38ed2353a33edec2 Mon Sep 17 00:00:00 2001 From: smileman62 Date: Sun, 28 Sep 2025 19:21:08 +0900 Subject: [PATCH 10/33] week1 mission completed. --- .gitignore.txt => .gitignore | 0 ignore.md.txt | 2 -- week1.md.txt => week1.md | 0 3 files changed, 2 deletions(-) rename .gitignore.txt => .gitignore (100%) delete mode 100644 ignore.md.txt rename week1.md.txt => week1.md (100%) diff --git a/.gitignore.txt b/.gitignore similarity index 100% rename from .gitignore.txt rename to .gitignore diff --git a/ignore.md.txt b/ignore.md.txt deleted file mode 100644 index a330f96..0000000 --- a/ignore.md.txt +++ /dev/null @@ -1,2 +0,0 @@ -ํ•˜์ด! ํ•˜ํ•˜ํ•˜ -์ด๋งˆ๋ฐ๋ชจ ์•„์˜ค๊ฐ€ ์Šจ๋ฐ์ด๋ฃจ~ \ No newline at end of file diff --git a/week1.md.txt b/week1.md similarity index 100% rename from week1.md.txt rename to week1.md From df8c9c98e8097baf53be74765b767763ae8505d8 Mon Sep 17 00:00:00 2001 From: sandy Date: Sun, 28 Sep 2025 22:08:29 +0900 Subject: [PATCH 11/33] week1-sandy --- week1/.gitignore | 1 + week1/week1.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 week1/.gitignore create mode 100644 week1/week1.md diff --git a/week1/.gitignore b/week1/.gitignore new file mode 100644 index 0000000..ce1b36c --- /dev/null +++ b/week1/.gitignore @@ -0,0 +1 @@ +ignore.md \ No newline at end of file diff --git a/week1/week1.md b/week1/week1.md new file mode 100644 index 0000000..944cf8e --- /dev/null +++ b/week1/week1.md @@ -0,0 +1,49 @@ +## Git ์ด๋ž€? +**ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ **ํ•˜๊ณ  **์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„์— ํ•ด๋‹น ํŒŒ์ผ๋“ค์˜ ์ž‘์—…๋“ค์„ ์กฐ์œจ**ํ•˜๊ธฐ ์œ„ํ•œ *๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ* +1. ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์  +์ •ํ™•ํžˆ ์–ธ์ œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ๋Š”์ง€, ๊ทธ ๋•Œ ํŒŒ์ผ ๋‚ด์—์„œ ์–ด๋– ํ•œ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋Š”์ง€ ๊ธฐ๋กํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ์‹œ์ ์—์„œ ์ด์ „ ๋‚ด์šฉ์„ ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ๊บผ๋‚ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ธฐ๋ก์€ ๋กœ๊ทธ ํ˜•์‹์œผ๋กœ ๊ด€๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ €์žฅํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. + +2. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„์— ํ•ด๋‹น ํŒŒ์ผ๋“ค์˜ ์ž‘์—…๋“ค์„ ์กฐ์œจ +Git์„ ์ด์šฉํ•  ๋•Œ๋Š” Github์™€ ๊ฐ™์€ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ํ™œ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Github๋ฅผ ์ด์šฉํ•ด ํŒŒ์ผ ๋˜๋Š” ํด๋”๋ฅผ ๋‹ค์šด๋ฐ›์œผ๋ฉด ํ•ด๋‹น ํŒŒ์ผ(๋˜๋Š” ํด๋”)์˜ ๊ธฐ๋ก ๋˜ํ•œ ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ(๋กœ์ปฌ)์—์„œ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์™„์ „ํžˆ ๋™์ผํ•œ ์ž‘์—… ๋‚ด์šฉ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์›ํ™œํ•œ ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. + +3. ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ +์—ฌ๋Ÿฌ ๋ช…์ด ํ•œ ํŒŒ์ผ(๋˜๋Š” ํด๋”)์— ์ ‘๊ทผํ•ด ๊ฐœ๋ณ„์ ์œผ๋กœ ์ž‘์—…ํ•˜๊ณ , ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ก์œผ๋กœ์„œ ๋ฐ˜์˜ํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. + +## ๋‚ด ํŒŒ์ผ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• +1. ๋‚˜์˜ ์ž‘์—… ๊ณต๊ฐ„, **Working Directory** +๋‚ด๊ฐ€ ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„(ํด๋”)๋ฅผ ์›Œํ‚น ๋””๋ ‰ํ† ๋ฆฌ(working directory)๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. +๋ณดํ†ต ๋ณด์•ˆ ๋“ฑ์˜ ๋ฌธ์ œ๋กœ ์›๊ฒฉ ๋ ˆํฌ์— ์˜ฌ๋ผ๊ฐ€์ง€ ๋ชปํ•˜๋Š” ํŒŒ์ผ๋“ค์€ `.gitignore`๋ผ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ํ•ด๋‹น ํŒŒ์ผ๋“ค์„ ๋ชจ๋‘ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. `.gitignore`๋กœ ์ฒ˜๋ฆฌ๋œ ํŒŒ์ผ๋“ค์€ ๋ณ€ํ™”๊ฐ€ ์ƒ๊ฒจ๋„ ์ถ”์ ๋˜์ง€ ์•Š๊ณ , ์›๊ฒฉ ๋ ˆํฌ์—๋„ ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. + +2. ๋‚ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๋Š” **Staging Area** +์„ ํƒ์ ์œผ๋กœ ํŒŒ์ผ์„ ์ปค๋ฐ‹ํ•˜๊ธฐ ์œ„ํ•ด `staged` ๋‹จ๊ณ„๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ `staged` ์ƒํƒœ๊ฐ€ ๋œ ํŒŒ์ผ๋“ค์„ `staging area`์— ์žˆ๋‹ค๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. + +3. ๋‚ด ์ž‘์—…์ด ๊ธฐ๋ก๋˜๋Š” ๊ณณ, **Local Repository** +commit์„ ํ†ตํ•ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•˜๋Š” ๊ณณ์„ Local Repository๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. + +## Git์˜ ์‚ฌ์šฉ๋ฒ• +1. ์›๊ฒฉ ๋ ˆํฌ ์ƒ์„ฑํ•˜๊ณ  ๋กœ์ปฌ ๋ ˆํฌ์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ +2. .gitignore ๋กœ ํŒŒ์ผ ์ถ”์ ๋˜์ง€ ์•Š๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ +3. add, commit, push๋กœ ๋‚ด ํŒŒ์ผ ์ถ”์  ์ƒํƒœ ๊ด€๋ฆฌํ•˜๊ธฐ +4. ๋‚ด ํŒŒ์ผ ์ƒํƒœ ํ™•์ธํ•˜๊ธฐ + +## Branch๋ž€? +1. ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ์˜์—ญ, **Branch** +2. ๋ธŒ๋žœ์น˜ ๋งŒ๋“ค๊ณ  ์ „ํ™˜ํ•˜๊ธฐ +3. ๋ธŒ๋žœ์น˜ mergeํ•˜๊ธฐ + +## ์ปค๋ฐ‹ ๊ธฐ๋ก ํ™•์ธ ๋ฐฉ๋ฒ• +1. git log ์กฐํšŒํ•˜๊ธฐ + - ์ปค๋ฐ‹ ๊ธฐ๋ณธ ๊ตฌ์„ฑ + - ์ปค๋ฐ‹ ํ•ด์‹œ: `commit 691ceb4268ec2c5b2d1afd79dd41f5783dcfac46` + - ์ปค๋ฐ‹ ์ƒ์„ฑ์ž: `youz2me ` + - ์ปค๋ฐ‹ ์ผ์‹œ: `Sun Sep 22 18:34:03 2024 +0900` + - ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€: `fix: validate ๋ช…๋ น์–ด ํŒŒ๋ผ๋ฏธํ„ฐ ์•ˆ๋“ค์–ด๊ฐ€๊ฒŒ ์ˆ˜์ •` + +2. ๋‚ด ๋ธŒ๋žœ์น˜์˜ ๊ฐ€์žฅ ์ตœ์‹  ์ฃผ์†Œ, HEAD +๋ชจ๋“  ๋ธŒ๋žœ์น˜์—๋Š” HEAD๋ผ๋Š” ๊ฐ’์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. HEAD๋Š” ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ฐ’์œผ๋กœ, ํ˜„์žฌ ๋‚ด๊ฐ€ ์œ„์น˜ํ•˜๊ณ  ์žˆ๋Š” ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹์„ ํฌ์ธํ„ฐ๋กœ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +## Issue์™€ PR์˜ ์ฐจ์ด, ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ๋ฒ• +1. ๋‚˜์˜ ์ž‘์€ ๋ชฉํ‘œ๋ฅผ Issue๋กœ ์„ค์ •ํ•˜๊ธฐ +์ด์Šˆ๋Š” ํฌ๊ฒŒ *์ œ๋ชฉ๊ณผ ๋‚ด์šฉ, Assignees์™€ Labels, Projects, Milestone, Development*๋กœ ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +2. ๋‚ด ์ž‘์—…์„ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜ํ•  ๋•Œ๋Š”? Pull Request ์˜ฌ๋ฆฌ๊ธฐ \ No newline at end of file From 89b5cccc87498c3e29824ded18a28eaecfb93ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=9E=AC=EC=9A=A9?= Date: Mon, 29 Sep 2025 01:42:29 +0900 Subject: [PATCH 12/33] =?UTF-8?q?1=EC=A3=BC=EC=B0=A8=20=EA=B3=BC=EC=A0=9C?= =?UTF-8?q?=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- week1/.gitignore | 1 + week1/week1.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 week1/.gitignore create mode 100644 week1/week1.md diff --git a/week1/.gitignore b/week1/.gitignore new file mode 100644 index 0000000..b459310 --- /dev/null +++ b/week1/.gitignore @@ -0,0 +1 @@ +ignore.md diff --git a/week1/week1.md b/week1/week1.md new file mode 100644 index 0000000..88ee270 --- /dev/null +++ b/week1/week1.md @@ -0,0 +1,28 @@ +# Git 1์ฃผ์ฐจ + +## Git์ด๋ž€? +๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ํŒŒ์ผ์—์„œ ๋ณ€๊ฒฝ๋˜๋Š” ์‚ฌํ•ญ์„ ์ €์žฅํ•˜๊ณ  ์ณฌ๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ + +## Repository๋ž€? +์ž‘์—…ํ•˜๋Š” ํŒŒ์ผ๋“ค์ด ์ €์žฅ๋˜๋Š” ํด๋” + +### Working directory๋ž€? +๋‚ด๊ฐ€ ๋กœ์ปฌ์—์„œ ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„ + +### Staging Area๋ž€? +์ถ”์ ๋˜๋Š” ํŒŒ์ผ๋“ค์˜ ์ƒํƒœ๋Š” ์ด 3๊ฐ€์ง€ +unmodified : ๋ณ€๊ฒฝ ์—†์Œ +modified : ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ +staged : ์Šคํ…Œ์ด์ง€๋จ (?) + +#### staged ์ƒํƒœ๋Š” ๋ฌด์—‡์ผ๊นŒ? +commit์„ ์œ„ํ•œ ์ค€๋น„ ๋‹จ๊ณ„ + +๋กœ์ปฌ์—์„œ ์ž‘์—…ํ•œ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์›๊ฒฉ์—์„œ๋„ ์ €์žฅํ•˜๊ณ  ์‹ถ์œผ๋ฉด, +git add -> commit -> push -> ์ €์žฅ์™„๋ฃŒ! + +### .gitignore๋ž€? +๊ฐœ์ธ์ •๋ณด๋‚˜ ๋ณด์•ˆ์ด ํ•„์š”ํ•œ API key, node_module ๊ฐ™์€ ํฐ ์šฉ๋Ÿ‰์˜ ํŒŒ์ผ๋“ค์„ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ €์žฅํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•จ + + + From 70c9c094ba01e1e55c495505ddf8bea727f12517 Mon Sep 17 00:00:00 2001 From: pumisj Date: Mon, 29 Sep 2025 23:01:50 +0900 Subject: [PATCH 13/33] week1 mission clear --- .gitignore | 1 + week1.md | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 .gitignore create mode 100644 week1.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ce1b36c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ignore.md \ No newline at end of file diff --git a/week1.md b/week1.md new file mode 100644 index 0000000..d5c72ff --- /dev/null +++ b/week1.md @@ -0,0 +1,116 @@ +Git๊ณผ Github๋ž€ ๋ฌด์—‡์ธ๊ฐ€? +======================== + +- Git์€ ํŠน์ • ํŒŒ์ผ, ํด๋”์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ €์žฅํ•˜๋Š” ์‹œ์Šคํ…œ. ์ด๋ฅผ ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋ผ ๋ถ€๋ฅธ๋‹ค. +- Git์œผ๋กœ ๋กœ์ปฌ ํŒŒ์ผ์˜ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์˜จ๋ผ์ธ ์ƒ์— ์žˆ๋Š” ์ €์žฅ์†Œ์ธ Github๋ฅผ ์ด์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋™์‹œ์— ์ ‘๊ทผํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค + +--- + +### Git์„ ์ด์šฉํ•œ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• + +- Git์€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ผ๋Š” ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์ด ์ €์žฅ์†Œ ์•ˆ์—์„œ ์—ฌ๋Ÿฌ ํŒŒ์ผ, ํด๋”๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. + +* ๋‚ด๊ฐ€ ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„์„ *working directory* ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. + - ๊ธฐ๋ณธ์ ์œผ๋กœ *working directory* ๋‚ด๋ถ€์˜ ํŒŒ์ผ์€ ์ถ”์ ๋˜์ง€๋งŒ, ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ .gitignore์ด๋ผ๋Š” ํŒŒ์ผ์„ ์ด์šฉํ•ด ์ถ”์ ์„ ๋ชปํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. +* ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋“ฏ์ด Git์—์„œ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•  ๋•Œ๋Š” add, commit, push๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค + - add : ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋Š” ํŒŒ์ผ(ํด๋”)๋ฅผ commitํ•˜๊ธฐ ์œ„ํ•ด stage์— ์˜ฌ๋ ค์ฃผ๋Š” ๋ช…๋ น์–ด + - commit : staged์ƒํƒœ์ธ ํŒŒ์ผ์„ ๋กœ์ปฌ ๋ ˆํฌ์— ๊ธฐ๋กํ•˜๋Š” ๋ช…๋ น์–ด + - push : commit๋œ ๋‚ด์šฉ์„ ์›๊ฒฉ ๋ ˆํฌ์ธ Github์— ์˜ฌ๋ ค์ฃผ๋Š” ๋ช…๋ น์–ด + +add ์‚ฌ์šฉ ์˜ˆ์‹œ: + + $ git add . + $ git add kano.txt + +commit ์‚ฌ์šฉ ์˜ˆ์‹œ: + + $ git commit -m "my first commit" + +push ์‚ฌ์šฉ ์˜ˆ์‹œ: + + $ git push origin (branch) + +์—ฌ๊ธฐ์„œ origin์€ ์›๊ฒฉ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ URL์„ ๋‹ด๊ณ  ์žˆ๋Š” ํ‚ค์›Œ๋“œ์ธ๋ฐ, ๊ผญ origin์„ ์“ฐ์ง€ ์•Š์•„๋„ ๋˜์ง€๋งŒ ๋ณดํ†ต origin์„ ์‚ฌ์šฉํ•จ. + +๊ธฐ๋ณธ์ ์œผ๋กœ ๋กœ์ปฌ ๋ ˆํฌ๋ฅผ ๋งŒ๋“ค ๋•Œ **git clone**์œผ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด origin์œผ๋กœ URL์ด ํ• ๋‹น๋œ๋‹ค. + +๋‚ด ํŒŒ์ผ์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด: + + $ git status + +ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” working directory์—์„œ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋Š”์ง€๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. + +----- + +### Branch๋ž€? +- repository์—๋Š” ๋ฉ”์ธ ์ž‘์—… ๊ณต๊ฐ„์ด ๋˜๋Š” main ์ด ์žˆ๋‹ค. +- ์ด main์—์„œ๋Š” ๊ฐ ํŒ€์›์ด ์ž‘์—…ํ•œ ๋‚ด์šฉ์ด ํ•ฉ์ณ์ง€๋Š” ๊ณต๊ฐ„์ด ๋˜๊ณ , ๊ธฐ๋Šฅ๋ณ„๋กœ branch๋ฅผ ๋งŒ๋“ค์–ด ๊ทธ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๋Š” ์ธ์›๋“ค์€ ํ•ด๋‹น branch์—์„œ ์ž‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค. +- ๋ชจ๋‘ ์ž‘์—…์ด ๋๋‚˜๋ฉด ํ•ฉ์น˜๋Š” ์ž‘์—…์„ ํ•˜๋Š”๋ฐ, ๋ฐฉ๋ฒ•์œผ๋กœ merge์™€ pull request๊ฐ€ ์žˆ๋‹ค +- ํ•˜์ง€๋งŒ ๋ณดํ†ต ์ถฉ๋Œ์˜ ์œ„ํ—˜๋•Œ๋ฌธ์— merge๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  pull request๋กœ main๊ณผ ๋ณ‘ํ•ฉํ•œ๋‹ค. + +branch๋ฅผ ๋งŒ๋“œ๋Š” ๋ช…๋ น์–ด: + + $ git branch (branch) + +ํ•ด๋‹น branch๋กœ ์ด๋™ํ•˜๋Š” ๋ช…๋ น์–ด: + + $ git checkout (branch) + $ git switch (branch) + +์—ฌ๊ธฐ์„œ **checkout**๊ณผ **switch**๊ฐ€ ์žˆ๋Š”๋ฐ, ๊ธฐ์กด **checkout**์€ ๋ธŒ๋žœ์น˜๋ฅผ ์ด๋™, ํŒŒ์ผ์˜ ์ˆ˜์ • ๋‚ด์šฉ์„ ๋ณต์›ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, ํ˜„์žฌ๋Š” ์ด ์—ญํ• ์ด ๋„ˆ๋ฌด ๊ณผ๋„ํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•ด ๋ธŒ๋žœ์น˜๋ฅผ ์ด๋™์‹œํ‚ค๋Š” **switch**์™€ ํŒŒ์ผ์˜ ์ˆ˜์ • ๋‚ด์šฉ์„ ๋ณต์›ํ•˜๋Š” **restore**๋กœ ๋ช…๋ น์–ด๊ฐ€ ๋‚˜๋‰˜์—ˆ๋‹ค. + +๋”ฐ๋ผ์„œ **checkout**๋ณด๋‹ค๋Š” **switch**๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค. + +------- + +### Commit ๊ธฐ๋ก ํ™•์ธ + +> Git์€ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋‹ค. ์ปค๋ฐ‹์œผ๋กœ ์ง„ํ–‰์‚ฌํ•ญ์„ ์ €์žฅํ–ˆ์œผ๋‹ˆ ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋Š”์ง€, ์–ธ์ œ ์ˆ˜์ •ํ–ˆ๋Š”์ง€, ์‹ฌ์ง€์–ด๋Š” ๋‹ค์‹œ ๋Œ์•„๊ฐˆ ์ˆ˜๋„ ์žˆ๋‹ค. + +๊ทธ๋Ÿฌ๋ฉด ์–ด๋–ป๊ฒŒ ์ปค๋ฐ‹ํ•œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„๊นŒ. + + $ git log + +ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์ปค๋ฐ‹ํ•œ ๋กœ๊ทธ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. + +์ด ๋กœ๊ทธ์—๋Š” ์–ด๋–ค ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€์žˆ์„๊นŒ + +> **์ปค๋ฐ‹ ํ•ด์‹œ** : `commit 691ceb4268ec2c5b2d1afd79dd41f5783dcfac46` +> +> **์ปค๋ฐ‹ ์ƒ์„ฑ์ž** : `youz2me ` +> +> **์ปค๋ฐ‹ ์ผ์‹œ** : `Sun Sep 22 18:34:03 2024 +0900` +> +> **์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€:** `fix: validate ๋ช…๋ น์–ด ํŒŒ๋ผ๋ฏธํ„ฐ ์•ˆ๋“ค์–ด๊ฐ€๊ฒŒ ์ˆ˜์ •` + +๊ทผ๋ฐ ๋กœ๊ทธ๋ฅผ ๋ณด๋ฉด ์ด๋Ÿฐ ๋‚ด์šฉ์ด ๋ณด์ธ๋‹ค + + (HEAD -> main, origin/main, origin/HEAD) + +- HEAD ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ ๊ฐ€์žฅ ์ตœ์‹  ์ปค๋ฐ‹์„ ์ฐธ์กฐํ•˜๋Š” ๊ฐ’์œผ๋กœ, ๋ธŒ๋žœ์น˜๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•  ๋•Œ ์ด ์ „ ๋ธŒ๋žœ์น˜์˜ commit ๊ธฐ๋ก์„ ๋ชจ๋‘ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜จ๋‹ค. +- ๊ทธ๋ž˜์„œ main์˜ commit์ด v1๊นŒ์ง€ ์žˆ๋‹ค๋ฉด main์—์„œ์˜ head๋Š” v1์ด๊ณ , ์—ฌ๊ธฐ์„œ ํŒŒ์ƒ๋œ kano ๋ธŒ๋žœ์น˜์—์„œ ์ƒˆ๋กœ v2์ปค๋ฐ‹์„ ํ–ˆ์„ ๋•Œ kano์—์„œ์˜ ํ—ค๋“œ๋Š” v2์ด๋‹ค. + +------- + +### Issue์™€ PR + +- Issue๋Š” main ๋ธŒ๋žœ์น˜์—์„œ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ„๊ธฐ ์ „ ํŒ€์›๋“ค๊ณผ ํ”„๋กœ์ ํŠธ์˜ ์ง์—… ์ง„ํ–‰ ํ˜„ํ™ฉ๊ณผ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ๋ฒ„๊ทธ ์ˆ˜์ •, ๋ฆฌํŒฉํ† ๋ง ๋“ฑ์„ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ํŽ˜์ด์ง€์ด๋‹ค. +- ์ด์Šˆ์—๋Š” ์ œ๋ชฉ, ๋‚ด์šฉ, assignees, Labels, Projects, Milestone, Develop๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์ด ์žˆ๋‹ค. + +> `์ด์Šˆ ์ œ๋ชฉ`: ํŒ€ ๋‚ด ํ”„๋กœ์ ํŠธ ์ปจ๋ฒค์…˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ณดํ†ต ์ž‘์—… ํƒœ๊ทธ(๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ `feature`, ๋ฒ„๊ทธ ์ˆ˜์ • ์‹œ `fix`, โ€ฆ)์™€ ๋Œ€๋žต์ ์ธ ์ž‘์—… ์š”์•ฝ์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. +> +>`์ด์Šˆ ๋‚ด์šฉ`: ์ด ๋ถ€๋ถ„๋„ ์ปจ๋ฒค์…˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์˜ˆ์‹œ ์ž๋ฃŒ์—์„œ๋Š” ์ž‘์—…ํ•  ๋ธŒ๋žœ์น˜์™€ ์ž‘์€ ๋‹จ์œ„์˜ `To-Do`๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋„ค์š”! +> +>`Assignees`: ์ด์Šˆ๋ฅผ ์ž‘์—…ํ•  ๋‹ด๋‹น์ž๊ฐ€ ํ• ๋‹น๋˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ์•„์ด์ฝ˜์„ ๋ˆ„๋ฅด์‹  ํ›„ ์ ์ ˆํ•˜๊ฒŒ ํ• ๋‹นํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค! ๋ณดํ†ต ์ž‘์—…์ž๊ฐ€ ์ด์Šˆ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์—…์ž๊ฐ€ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. +> +>`Labels`: ์ž‘์—… ํƒœ๊ทธ๊ฐ€ ํ• ๋‹น๋˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„๋„ ํŒ€ ๋‚ด ์ปจ๋ฒค์…˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. +> +>`Projects`, `Milestone`: ์กฐ๊ธˆ ๋” ํฐ ๋‹จ์œ„์˜ ์ž‘์—… ๋‚ด์šฉ์„ ์ ์„ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ ์ด๋ฒˆ ์›Œํฌ๋ถ ๋‚ด์—์„œ๋Š” ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค! ์‹œ๊ฐ„ ์—ฌ์œ ๊ฐ€ ์žˆ์œผ์‹œ๋‹ค๋ฉด ์ฐพ์•„๋ณด๊ณ  ์ ์šฉํ•ด๋ณด์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค. +> +>`Development`: ์ด์Šˆ์™€ ์—ฐ๊ฒฐ๋œ ๋ธŒ๋žœ์น˜ ๋˜๋Š” PR์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- ์ด์Šˆ๋ฅผ ์ƒ์„ฑ, ๊ฐ ๋ธŒ๋žœ์น˜์—์„œ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ณ  ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ main์œผ๋กœ ๋ณ‘ํ•ฉํ•  ๋•Œ ๋‚ด ์ž‘์—… ๋‚ด์šฉ์˜ pull์„ ์š”์ฒญ(request)ํ•˜๋Š” ๊ฒƒ์ด PR์ด๋‹ค. +- ์ด์Šˆ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ PR์—๋„ ์ œ๋ชฉ, ๋‚ด์šฉ, Reviewers, Assignees, Labels, Projects, Milestone, Development๊ฐ€ ์žˆ๋‹ค. +- ๋‹ค๋ฅธ ๋‚ด์šฉ์€ ๊ฐ™์ง€๋งŒ Reviewers ๋ผ๋Š”๊ฒŒ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. + +> `Reviewers` ๋Š” ์ด๋ ‡๊ฒŒ ๋ฆฌ๋ทฐ๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ์—์„œ ํŠน์ • ์ธ๋ฌผ์„ ๋ฆฌ๋ทฐ์–ด๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ์–ด๋กœ ์ถ”๊ฐ€๋œ ์‚ฌ๋žŒ์€ ์ž‘์—…์ด ํ• ๋‹น๋˜์–ด ๋ฆฌ๋ทฐ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค! \ No newline at end of file From 29210af0e24b84bfb624319442d81de6d8717d34 Mon Sep 17 00:00:00 2001 From: pumisj Date: Mon, 29 Sep 2025 23:06:28 +0900 Subject: [PATCH 14/33] modify first commit --- week1/.gitignore | 1 + week1/week1.md | 116 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 week1/.gitignore create mode 100644 week1/week1.md diff --git a/week1/.gitignore b/week1/.gitignore new file mode 100644 index 0000000..ce1b36c --- /dev/null +++ b/week1/.gitignore @@ -0,0 +1 @@ +ignore.md \ No newline at end of file diff --git a/week1/week1.md b/week1/week1.md new file mode 100644 index 0000000..d5c72ff --- /dev/null +++ b/week1/week1.md @@ -0,0 +1,116 @@ +Git๊ณผ Github๋ž€ ๋ฌด์—‡์ธ๊ฐ€? +======================== + +- Git์€ ํŠน์ • ํŒŒ์ผ, ํด๋”์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ €์žฅํ•˜๋Š” ์‹œ์Šคํ…œ. ์ด๋ฅผ ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋ผ ๋ถ€๋ฅธ๋‹ค. +- Git์œผ๋กœ ๋กœ์ปฌ ํŒŒ์ผ์˜ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์˜จ๋ผ์ธ ์ƒ์— ์žˆ๋Š” ์ €์žฅ์†Œ์ธ Github๋ฅผ ์ด์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋™์‹œ์— ์ ‘๊ทผํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค + +--- + +### Git์„ ์ด์šฉํ•œ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• + +- Git์€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ผ๋Š” ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์ด ์ €์žฅ์†Œ ์•ˆ์—์„œ ์—ฌ๋Ÿฌ ํŒŒ์ผ, ํด๋”๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. + +* ๋‚ด๊ฐ€ ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„์„ *working directory* ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. + - ๊ธฐ๋ณธ์ ์œผ๋กœ *working directory* ๋‚ด๋ถ€์˜ ํŒŒ์ผ์€ ์ถ”์ ๋˜์ง€๋งŒ, ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ .gitignore์ด๋ผ๋Š” ํŒŒ์ผ์„ ์ด์šฉํ•ด ์ถ”์ ์„ ๋ชปํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. +* ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋“ฏ์ด Git์—์„œ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•  ๋•Œ๋Š” add, commit, push๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค + - add : ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋Š” ํŒŒ์ผ(ํด๋”)๋ฅผ commitํ•˜๊ธฐ ์œ„ํ•ด stage์— ์˜ฌ๋ ค์ฃผ๋Š” ๋ช…๋ น์–ด + - commit : staged์ƒํƒœ์ธ ํŒŒ์ผ์„ ๋กœ์ปฌ ๋ ˆํฌ์— ๊ธฐ๋กํ•˜๋Š” ๋ช…๋ น์–ด + - push : commit๋œ ๋‚ด์šฉ์„ ์›๊ฒฉ ๋ ˆํฌ์ธ Github์— ์˜ฌ๋ ค์ฃผ๋Š” ๋ช…๋ น์–ด + +add ์‚ฌ์šฉ ์˜ˆ์‹œ: + + $ git add . + $ git add kano.txt + +commit ์‚ฌ์šฉ ์˜ˆ์‹œ: + + $ git commit -m "my first commit" + +push ์‚ฌ์šฉ ์˜ˆ์‹œ: + + $ git push origin (branch) + +์—ฌ๊ธฐ์„œ origin์€ ์›๊ฒฉ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ URL์„ ๋‹ด๊ณ  ์žˆ๋Š” ํ‚ค์›Œ๋“œ์ธ๋ฐ, ๊ผญ origin์„ ์“ฐ์ง€ ์•Š์•„๋„ ๋˜์ง€๋งŒ ๋ณดํ†ต origin์„ ์‚ฌ์šฉํ•จ. + +๊ธฐ๋ณธ์ ์œผ๋กœ ๋กœ์ปฌ ๋ ˆํฌ๋ฅผ ๋งŒ๋“ค ๋•Œ **git clone**์œผ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด origin์œผ๋กœ URL์ด ํ• ๋‹น๋œ๋‹ค. + +๋‚ด ํŒŒ์ผ์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด: + + $ git status + +ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” working directory์—์„œ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋Š”์ง€๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. + +----- + +### Branch๋ž€? +- repository์—๋Š” ๋ฉ”์ธ ์ž‘์—… ๊ณต๊ฐ„์ด ๋˜๋Š” main ์ด ์žˆ๋‹ค. +- ์ด main์—์„œ๋Š” ๊ฐ ํŒ€์›์ด ์ž‘์—…ํ•œ ๋‚ด์šฉ์ด ํ•ฉ์ณ์ง€๋Š” ๊ณต๊ฐ„์ด ๋˜๊ณ , ๊ธฐ๋Šฅ๋ณ„๋กœ branch๋ฅผ ๋งŒ๋“ค์–ด ๊ทธ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๋Š” ์ธ์›๋“ค์€ ํ•ด๋‹น branch์—์„œ ์ž‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค. +- ๋ชจ๋‘ ์ž‘์—…์ด ๋๋‚˜๋ฉด ํ•ฉ์น˜๋Š” ์ž‘์—…์„ ํ•˜๋Š”๋ฐ, ๋ฐฉ๋ฒ•์œผ๋กœ merge์™€ pull request๊ฐ€ ์žˆ๋‹ค +- ํ•˜์ง€๋งŒ ๋ณดํ†ต ์ถฉ๋Œ์˜ ์œ„ํ—˜๋•Œ๋ฌธ์— merge๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  pull request๋กœ main๊ณผ ๋ณ‘ํ•ฉํ•œ๋‹ค. + +branch๋ฅผ ๋งŒ๋“œ๋Š” ๋ช…๋ น์–ด: + + $ git branch (branch) + +ํ•ด๋‹น branch๋กœ ์ด๋™ํ•˜๋Š” ๋ช…๋ น์–ด: + + $ git checkout (branch) + $ git switch (branch) + +์—ฌ๊ธฐ์„œ **checkout**๊ณผ **switch**๊ฐ€ ์žˆ๋Š”๋ฐ, ๊ธฐ์กด **checkout**์€ ๋ธŒ๋žœ์น˜๋ฅผ ์ด๋™, ํŒŒ์ผ์˜ ์ˆ˜์ • ๋‚ด์šฉ์„ ๋ณต์›ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, ํ˜„์žฌ๋Š” ์ด ์—ญํ• ์ด ๋„ˆ๋ฌด ๊ณผ๋„ํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•ด ๋ธŒ๋žœ์น˜๋ฅผ ์ด๋™์‹œํ‚ค๋Š” **switch**์™€ ํŒŒ์ผ์˜ ์ˆ˜์ • ๋‚ด์šฉ์„ ๋ณต์›ํ•˜๋Š” **restore**๋กœ ๋ช…๋ น์–ด๊ฐ€ ๋‚˜๋‰˜์—ˆ๋‹ค. + +๋”ฐ๋ผ์„œ **checkout**๋ณด๋‹ค๋Š” **switch**๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค. + +------- + +### Commit ๊ธฐ๋ก ํ™•์ธ + +> Git์€ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋‹ค. ์ปค๋ฐ‹์œผ๋กœ ์ง„ํ–‰์‚ฌํ•ญ์„ ์ €์žฅํ–ˆ์œผ๋‹ˆ ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋Š”์ง€, ์–ธ์ œ ์ˆ˜์ •ํ–ˆ๋Š”์ง€, ์‹ฌ์ง€์–ด๋Š” ๋‹ค์‹œ ๋Œ์•„๊ฐˆ ์ˆ˜๋„ ์žˆ๋‹ค. + +๊ทธ๋Ÿฌ๋ฉด ์–ด๋–ป๊ฒŒ ์ปค๋ฐ‹ํ•œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„๊นŒ. + + $ git log + +ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์ปค๋ฐ‹ํ•œ ๋กœ๊ทธ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. + +์ด ๋กœ๊ทธ์—๋Š” ์–ด๋–ค ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€์žˆ์„๊นŒ + +> **์ปค๋ฐ‹ ํ•ด์‹œ** : `commit 691ceb4268ec2c5b2d1afd79dd41f5783dcfac46` +> +> **์ปค๋ฐ‹ ์ƒ์„ฑ์ž** : `youz2me ` +> +> **์ปค๋ฐ‹ ์ผ์‹œ** : `Sun Sep 22 18:34:03 2024 +0900` +> +> **์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€:** `fix: validate ๋ช…๋ น์–ด ํŒŒ๋ผ๋ฏธํ„ฐ ์•ˆ๋“ค์–ด๊ฐ€๊ฒŒ ์ˆ˜์ •` + +๊ทผ๋ฐ ๋กœ๊ทธ๋ฅผ ๋ณด๋ฉด ์ด๋Ÿฐ ๋‚ด์šฉ์ด ๋ณด์ธ๋‹ค + + (HEAD -> main, origin/main, origin/HEAD) + +- HEAD ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ ๊ฐ€์žฅ ์ตœ์‹  ์ปค๋ฐ‹์„ ์ฐธ์กฐํ•˜๋Š” ๊ฐ’์œผ๋กœ, ๋ธŒ๋žœ์น˜๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•  ๋•Œ ์ด ์ „ ๋ธŒ๋žœ์น˜์˜ commit ๊ธฐ๋ก์„ ๋ชจ๋‘ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜จ๋‹ค. +- ๊ทธ๋ž˜์„œ main์˜ commit์ด v1๊นŒ์ง€ ์žˆ๋‹ค๋ฉด main์—์„œ์˜ head๋Š” v1์ด๊ณ , ์—ฌ๊ธฐ์„œ ํŒŒ์ƒ๋œ kano ๋ธŒ๋žœ์น˜์—์„œ ์ƒˆ๋กœ v2์ปค๋ฐ‹์„ ํ–ˆ์„ ๋•Œ kano์—์„œ์˜ ํ—ค๋“œ๋Š” v2์ด๋‹ค. + +------- + +### Issue์™€ PR + +- Issue๋Š” main ๋ธŒ๋žœ์น˜์—์„œ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ„๊ธฐ ์ „ ํŒ€์›๋“ค๊ณผ ํ”„๋กœ์ ํŠธ์˜ ์ง์—… ์ง„ํ–‰ ํ˜„ํ™ฉ๊ณผ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ๋ฒ„๊ทธ ์ˆ˜์ •, ๋ฆฌํŒฉํ† ๋ง ๋“ฑ์„ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ํŽ˜์ด์ง€์ด๋‹ค. +- ์ด์Šˆ์—๋Š” ์ œ๋ชฉ, ๋‚ด์šฉ, assignees, Labels, Projects, Milestone, Develop๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์ด ์žˆ๋‹ค. + +> `์ด์Šˆ ์ œ๋ชฉ`: ํŒ€ ๋‚ด ํ”„๋กœ์ ํŠธ ์ปจ๋ฒค์…˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ณดํ†ต ์ž‘์—… ํƒœ๊ทธ(๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ `feature`, ๋ฒ„๊ทธ ์ˆ˜์ • ์‹œ `fix`, โ€ฆ)์™€ ๋Œ€๋žต์ ์ธ ์ž‘์—… ์š”์•ฝ์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. +> +>`์ด์Šˆ ๋‚ด์šฉ`: ์ด ๋ถ€๋ถ„๋„ ์ปจ๋ฒค์…˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์˜ˆ์‹œ ์ž๋ฃŒ์—์„œ๋Š” ์ž‘์—…ํ•  ๋ธŒ๋žœ์น˜์™€ ์ž‘์€ ๋‹จ์œ„์˜ `To-Do`๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๋„ค์š”! +> +>`Assignees`: ์ด์Šˆ๋ฅผ ์ž‘์—…ํ•  ๋‹ด๋‹น์ž๊ฐ€ ํ• ๋‹น๋˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ์•„์ด์ฝ˜์„ ๋ˆ„๋ฅด์‹  ํ›„ ์ ์ ˆํ•˜๊ฒŒ ํ• ๋‹นํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค! ๋ณดํ†ต ์ž‘์—…์ž๊ฐ€ ์ด์Šˆ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์—…์ž๊ฐ€ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. +> +>`Labels`: ์ž‘์—… ํƒœ๊ทธ๊ฐ€ ํ• ๋‹น๋˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„๋„ ํŒ€ ๋‚ด ์ปจ๋ฒค์…˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. +> +>`Projects`, `Milestone`: ์กฐ๊ธˆ ๋” ํฐ ๋‹จ์œ„์˜ ์ž‘์—… ๋‚ด์šฉ์„ ์ ์„ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ ์ด๋ฒˆ ์›Œํฌ๋ถ ๋‚ด์—์„œ๋Š” ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค! ์‹œ๊ฐ„ ์—ฌ์œ ๊ฐ€ ์žˆ์œผ์‹œ๋‹ค๋ฉด ์ฐพ์•„๋ณด๊ณ  ์ ์šฉํ•ด๋ณด์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค. +> +>`Development`: ์ด์Šˆ์™€ ์—ฐ๊ฒฐ๋œ ๋ธŒ๋žœ์น˜ ๋˜๋Š” PR์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +- ์ด์Šˆ๋ฅผ ์ƒ์„ฑ, ๊ฐ ๋ธŒ๋žœ์น˜์—์„œ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ณ  ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ main์œผ๋กœ ๋ณ‘ํ•ฉํ•  ๋•Œ ๋‚ด ์ž‘์—… ๋‚ด์šฉ์˜ pull์„ ์š”์ฒญ(request)ํ•˜๋Š” ๊ฒƒ์ด PR์ด๋‹ค. +- ์ด์Šˆ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ PR์—๋„ ์ œ๋ชฉ, ๋‚ด์šฉ, Reviewers, Assignees, Labels, Projects, Milestone, Development๊ฐ€ ์žˆ๋‹ค. +- ๋‹ค๋ฅธ ๋‚ด์šฉ์€ ๊ฐ™์ง€๋งŒ Reviewers ๋ผ๋Š”๊ฒŒ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. + +> `Reviewers` ๋Š” ์ด๋ ‡๊ฒŒ ๋ฆฌ๋ทฐ๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ์—์„œ ํŠน์ • ์ธ๋ฌผ์„ ๋ฆฌ๋ทฐ์–ด๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ์–ด๋กœ ์ถ”๊ฐ€๋œ ์‚ฌ๋žŒ์€ ์ž‘์—…์ด ํ• ๋‹น๋˜์–ด ๋ฆฌ๋ทฐ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค! \ No newline at end of file From 646e1a3f50139546cba4721eb4b3c57b74943c6b Mon Sep 17 00:00:00 2001 From: jeniferkim Date: Tue, 30 Sep 2025 10:43:49 +0900 Subject: [PATCH 15/33] week1: add .PE file --- .PE | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .PE diff --git a/.PE b/.PE new file mode 100644 index 0000000..e69de29 From c75ce2eb81813aa7359dfeae8e41a31b1f62d797 Mon Sep 17 00:00:00 2001 From: jeniferkim Date: Tue, 30 Sep 2025 10:49:30 +0900 Subject: [PATCH 16/33] week1: move week1.md into week1 folder --- week1/week1.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 week1/week1.md diff --git a/week1/week1.md b/week1/week1.md new file mode 100644 index 0000000..7500c23 --- /dev/null +++ b/week1/week1.md @@ -0,0 +1,37 @@ +# Week1 ๊ณผ์ œ ์ •๋ฆฌ + + +## Git + +ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ , ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„์— ํ•ด๋‹น ํŒŒ์ผ๋“ค์˜ ์ž‘์—…๋“ค์„ ์กฐ์œจํ•˜๊ธฐ ์œ„ํ•œ ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ + +- ๋‚ด ์ปดํ“จํ„ฐ: ๋กœ์ปฌ +- Github: ์›๊ฒฉ + +ํ•œ ํŒŒ์ผ์— ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ํŒŒ์ผ๋„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ €์žฅ์†Œ(repository, ๋ ˆํฌ์ง€) ๊ฐœ๋… ์‚ฌ์šฉ + +--- + +## ์›๊ฒฉ๊ณผ ๋กœ์ปฌ ๊ด€๊ณ„ + +์›๊ฒฉ ๋ ˆํฌ์ง€์— ์˜ฌ๋ ค๊ฐ€๋Š” ์• ๋“ค์„ .gitignore์— ์ €์žฅ. ๋กœ๊ทธ, ์‹œํ—˜ ๋ฒ„ํผ, BaseURL, ๋˜๋Š” ์ˆจ๊ธฐ๋Š” ํŒŒ์ผ์„ ์›๊ฒฉ์— ์˜ฌ๋ฆฌ์ง€ ์•Š๋„๋ก ๊ด€๋ฆฌ +`.gitignore` ํŒŒ์ผ์€ ์ˆจ๊น€์ฒ˜๋ฆฌ(.),์ธ ํŒŒ์ผ -> ํŒŒ์ผ ํƒ์ƒ‰๊ธฐ์—์„œ ์ˆจ๊น€ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ œํ•ด์•ผ๋งŒ ํ™•์ธ ๊ฐ€๋Šฅ + +์„ ํƒ์ ์œผ๋กœ ํŒŒ์ผ์„ ์ปค๋ฐ‹ํ•˜๊ธฐ ์œ„ํ•ด staged ๋‹จ๊ณ„ ์กด์žฌ +๋‚ด๊ฐ€ ๋ฐ˜์˜ํ•˜๊ณ  ์‹ถ์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ `git add`๋ฅผ ํ†ตํ•ด staged ์ƒํƒœ๋กœ ๋งŒ๋“ค๊ณ , ์ดํ›„ `commit`์„ ํ†ตํ•ด ์ตœ์ข…์ ์œผ๋กœ ๋กœ์ปฌ ๋ ˆํฌ์— ๋ฐ˜์˜ + +--- + +## ์ฃผ์š” ๋ช…๋ น์–ด + +- `git push origin (๋ธŒ๋žœ์น˜ ์ด๋ฆ„)` + โ†’ origin์€ ์›๊ฒฉ ๋ ˆํฌ์˜ URL์„ ๋‹ด๊ณ  ์žˆ๋Š” ํ‚ค์›Œ๋“œ + +--- + +## ๋ธŒ๋žœ์น˜ + +- ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑ +- ๋ธŒ๋žœ์น˜๋Š” ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ๋งŽ์ด ๋ถ„๋ฆฌ +- ๋ธŒ๋žœ์น˜ ์ „ํ™˜ ์‹œ, `checkout`๋ณด๋‹ค `switch`(์ž‘์—… ๋‚ด์šฉ์„ ์ปค๋ฐ‹ํ•œ ํ›„)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ +- Git-Flow ๋ฐฉ์‹: ๊ธฐ๋Šฅ ๋ณ„๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ„๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ From 7a132f4828afd8850b41ce1ad09efcc8b21e8f27 Mon Sep 17 00:00:00 2001 From: jeniferkim Date: Tue, 30 Sep 2025 10:56:20 +0900 Subject: [PATCH 17/33] fix: place week1.md at repo root and ignore ignore.md as required --- .gitignore | 2 ++ week1/week1.md => week1.md | 0 2 files changed, 2 insertions(+) create mode 100644 .gitignore rename week1/week1.md => week1.md (100%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5f374da --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +week1/ignore.md +ignore.md diff --git a/week1/week1.md b/week1.md similarity index 100% rename from week1/week1.md rename to week1.md From 69ab691552bf2563e507f5b0a3e5b98c9ea82ffb Mon Sep 17 00:00:00 2001 From: yeson Date: Wed, 1 Oct 2025 00:49:16 +0900 Subject: [PATCH 18/33] first commit --- week1/.gitignore | 1 + week1/week1.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 week1/.gitignore create mode 100644 week1/week1.md diff --git a/week1/.gitignore b/week1/.gitignore new file mode 100644 index 0000000..ce1b36c --- /dev/null +++ b/week1/.gitignore @@ -0,0 +1 @@ +ignore.md \ No newline at end of file diff --git a/week1/week1.md b/week1/week1.md new file mode 100644 index 0000000..845bd67 --- /dev/null +++ b/week1/week1.md @@ -0,0 +1,49 @@ +## Git +ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ๊ธฐ๋กํ•˜๋Š” **๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ** + +**Github**์™€ ๊ฐ™์€ ์›๊ฒฉ(remote) ์ €์žฅ์†Œ๋ฅผ ํ†ตํ•ด ๊ฐ์ž์˜ ์ปดํ“จํ„ฐ(local)์—์„œ๋„ ๊ณต๋™์˜ ์ž‘์—…์— ์ ‘๊ทผํ•˜์—ฌ ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ์Œ + +## Repository (์ €์žฅ์†Œ) +: ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ €์žฅ์†Œ + +### Local Repository(๋กœ์ปฌ ์ €์žฅ์†Œ)์˜ ๊ตฌ์กฐ +1) ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„(ํด๋”)์ธ **working directory**์—์„œ ํŠน์ • ํŒŒ์ผ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ƒ๊น€(**modified์ƒํƒœ**) + +2) ๋กœ์ปฌ ๋ ˆํฌ์— ๋ฐ˜์˜ํ•  ํŒŒ์ผ๋งŒ ์„ ํƒํ•˜์—ฌ **add**ํ•˜์—ฌ **staged**์ƒํƒœ๋กœ ๋งŒ๋“ฆ + +3) **staged**์ƒํƒœ๊ฐ€ ๋œ ํŒŒ์ผ๋“ค์€ **staging area**์—, ๊ทธ๋ ‡์ง€ ์•Š์€ ํŒŒ์ผ๋“ค์€ ์—ฌ์ „ํžˆ **working directory**์— ์กด์žฌํ•จ + +4) **commit**์„ ํ†ตํ•ด ๋กœ์ปฌ ๋ ˆํฌ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ฐ˜์˜ + +--- + +### Remote Repository(์›๊ฒฉ ์ €์žฅ์†Œ) ์‚ฌ์šฉ๋ฒ• +๋กœ์ปฌ ๋ ˆํฌ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋“ค์€ **push**๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์›๊ฒฉ ๋ ˆํฌ์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Œ + +- `.gitignore`์ฒ˜๋ฆฌ๋ฅผ ํ•˜์—ฌ ๋กœ์ปฌ์—์„œ ๋ณ€ํ™”๋ฅผ ์ถ”์ ํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ๋“ค์€ ์›๊ฒฉ ๋ ˆํฌ์—๋„ ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์Œ! +- `branch`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถฉ๋Œ์—†์ด ๊ฐœ๋ณ„ ์ž‘์—… ๋ฐ ๋ณ‘ํ•ฉ ๊ฐ€๋Šฅ + +--- + +### branch +: ๋™์‹œ ์ž‘์—… ์ค‘ ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š๋„๋ก ๊ฐœ๋ณ„ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ + +๊ธฐ๋ณธ์ ์œผ๋กœ ๋ ˆํฌ์—๋Š” ์ค‘์‹ฌ ๊ธฐ๋‘ฅ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” `main`๋ธŒ๋žœ์น˜๊ฐ€ ์ƒ์„ฑ๋จ + +-> ๊ฐ์ž์˜ ๊ฐœ๋ณ„ ์ž‘์—…์„ ์œ„ํ•ด `branch`๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์—ฌ, ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๋ป—์–ด๋‚˜๊ฐ€๋Š” ๋‚˜๋ญ‡๊ฐ€์ง€์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•จ + +-> ๋‹ค๋ฅธ branch์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ˜„์žฌ branch์— ๋ณ‘ํ•ฉ์‹œํ‚ฌ ๋•Œ `merge`๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉ + +โš ๏ธ๋งŒ์•ฝ ๋‘ ๋ธŒ๋žœ์น˜์—์„œ ๋™์ผํ•œ ํŒŒ์ผ, ๋™์ผํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐ์ž ๋‹ค๋ฅด๊ฒŒ ์ˆ˜์ •ํ•œ๋‹ค๋ฉด ์ถฉ๋Œ ๋ฐœ์ƒ! + +-> `Issue`์™€ `Pull request`๋กœ ๋ฐฉ์ง€ ๋ฐ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ + +--- + +### Issue +: ํŒ€์›๋“ค๊ณผ ํ”„๋กœ์ ํŠธ์˜ ์ž‘์—… ์ง„ํ–‰ ํ˜„ํ™ฉ, ๊ธฐ๋Šฅ ๊ตฌํ˜„, ๋ฒ„๊ทธ ์ˆ˜์ •, ๋ฆฌํŒฉํ† ๋ง์„ ๊ณต์œ ํ•˜๋Š” ํ˜‘์—… ๋„๊ตฌ + +### Pull Request(PR) +: ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์—๊ฒŒ Pull์„ ๋ฐ›์•„์ค„ ๊ฒƒ์„ ์š”์ฒญ + +-> ํŒ€์›๋“ค์ด ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ์„ ํŒŒ์•…ํ•˜๊ณ , ์ฝ”๋“œ๋ฆฌ๋ทฐ๋‚˜ pull ๊ฑฐ์ ˆor์Šน์ธ์„ ํ†ตํ•ด main๋ธŒ๋žœ์น˜์˜ ์ถฉ๋Œ ๋ฐ ๋ณ‘ํ•ฉ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ \ No newline at end of file From acaa65c5dc0295159423ea9a210f7129f2889f21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=ED=95=9C=ED=95=98=EB=9E=8C?= Date: Fri, 3 Oct 2025 03:58:07 +0900 Subject: [PATCH 19/33] =?UTF-8?q?1=EC=A3=BC=EC=B0=A8=20=EC=9B=8C=ED=81=AC?= =?UTF-8?q?=EB=B6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + week1.md | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 172 insertions(+) create mode 100644 .gitignore create mode 100644 week1.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d18f384 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +ignore.md +.DS_Store \ No newline at end of file diff --git a/week1.md b/week1.md new file mode 100644 index 0000000..fcf0f78 --- /dev/null +++ b/week1.md @@ -0,0 +1,170 @@ +## **Git 1์ฃผ์ฐจ ์›Œํฌ๋ถ ์ •๋ฆฌ** + +### - **Git** ์ด๋ž€? + +ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„์— ํ•ด๋‹น ํŒŒ์ผ๋“ค์˜ ์ž‘์—…๋“ค์„ ์กฐ์œจํ•˜๊ธฐ ์œ„ํ•œ **๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ** + +### - ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ + +์—ฌ๋Ÿฌ ๋ช…์ด ํ•œ ํŒŒ์ผ(๋˜๋Š” ํด๋”)์— ์ ‘๊ทผํ•ด ๊ฐœ๋ณ„์ ์œผ๋กœ ์ž‘์—…ํ•˜๊ณ , ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ก์œผ๋กœ์„œ ๋ฐ˜์˜ํ•˜๋Š” ์‹œ์Šคํ…œ + +--- + +### ์ €์žฅ์†Œ (repository) + +##### - ์ž‘์—…ํ•˜๋Š” ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋“ค์ด ์ถ”์ ๋˜๊ณ  ์ €์žฅ๋˜๋Š” ํด๋” + +- ๋กœ์ปฌ ์ €์žฅ์†Œ (local repository): ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ ๋‚ด์— ์žˆ๋Š” ์ €์žฅ์†Œ +- ์›๊ฒฉ ์ €์žฅ์†Œ (remote repository): Github์— ์˜ฌ๋ผ๊ฐ€ ์žˆ๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ + +##### 1. Working Directory: ๋‚ด๊ฐ€ ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„(ํด๋”) + +##### 2. Staging Area: ๋‚ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ˜์—ญํ•˜๋Š” ๊ณณ + +# + +###### ์ถ”์ ๋˜๋Š” ํŒŒ์ผ๋“ค์˜ ์„ธ ๊ฐ€์ง€ ์ƒํƒœ + +- ๋ณ€๊ฒฝ ์—†์Œ (unmodified): ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ํŒŒ์ผ์„ ์˜๋ฏธ +- ๋ณ€๊ฒฝ๋จ (modified): ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ์„ ์˜๋ฏธ +- ์Šคํ…Œ์ด์ง€๋จ (staged): ์ปค๋ฐ‹์„ ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ๊ณ„, modified ๋œ ํŒŒ์ผ ์ค‘ ์„ ํƒ์ ์œผ๋กœ ํŒŒ์ผ์„ ์ปค๋ฐ‹ํ•˜๊ธฐ ์œ„ํ•œ ์ƒํƒœ + +# + + commit: staging area์— ์˜ฌ๋ผ๊ฐ€ ํŒŒ์ผ์ด staged ์ƒํƒœ๊ฐ€ ๋˜์—ˆ์„ ๋•Œ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ Local Repository์— ๊ธฐ๋ก + add: ๋‚ด๊ฐ€ ๋ฐ˜์˜ํ•˜๊ณ  ์‹ถ์€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ staged ์ƒํƒœ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ + push: ๋กœ์ปฌ ํŽ˜๋กœ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋“ค์„ ์›๊ฒฉ ๋ ˆํฌ์— ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ + +--- + +### .gitignore ๋กœ ํŒŒ์ผ ์ถ”์ ๋˜์ง€ ์•Š๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ + +.gitignore ํŒŒ์ผ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ + +> touch .gitignore + +.gitignore ํŒŒ์ผ ์•ˆ์— ์ถ”์  ํ•ด์ œํ•˜๊ณ  ์‹ถ์€ ํŒŒ์ผ๋ช… ์ž‘์„ฑ + +```sh +*.txt # *.(ํ™•์žฅ์ž ์ด๋ฆ„) +``` + +ํŠน์ • ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„ ํŒŒ์ผ์„ ๋ชจ๋‘ ์ถ”์  ํ•ด์ œ ๊ฐ€๋Šฅ + +```sh +folder_name/ # (ํด๋” ์ด๋ฆ„)/ +``` + +ํด๋” ์ถ”์  ํ•ด์ œ ๊ฐ€๋Šฅ + +--- + +### add, commit, push๋กœ ๋‚ด ํŒŒ์ผ ์ถ”์  ์ƒํƒœ ๊ด€๋ฆฌํ•˜๊ธฐ + +```sh +git add . -> ๋ชจ๋“  ํŒŒ์ผ์„ staged ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ +git add (ํŒŒ์ผ ์ด๋ฆ„) -> ํŠน์ • ํŒŒ์ผ๋งŒ staged ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ +``` + +staged ๋œ ํŒŒ์ผ๋“ค์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋กœ์ปฌ ๋ ˆํฌ์— ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด **commit** ๋ช…๋ น์–ด ์‚ฌ์šฉ + +```sh +git commit -m "(์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€)" -> ๋กœ์ปฌ ๋ ˆํฌ์— ๋ฐ˜์˜ +``` + +์ปค๋ฐ‹์œผ๋กœ ๋กœ์ปฌ ๋ ˆํฌ์— ๋ฐ˜์˜๋œ ๋‚ด์šฉ์„ ์›๊ฒฉ ๋ ˆํฌ๋กœ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด์„œ **push** ๋ช…๋ น์–ด ์‚ฌ์šฉ + +> **origin**: ์›๊ฒฉ ๋ ˆํฌ์˜ URL์„ ๋‹ด๊ณ  ์žˆ๋Š” ํ‚ค์›Œ๋“œ + +```sh +git push origin (๋ธŒ๋žœ์น˜ ์ด๋ฆ„) -> ์›๊ฒฉ ๋ ˆํฌ์— ๋ณด๋ƒ„ +``` + +### ๋‚ด ํŒŒ์ผ ์ƒํƒœ ํ™•์ธํ•˜๊ธฐ + +```sh +git status +``` + +--- + +### Branch + +##### 1. ์˜๋ฏธ: ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ์˜์—ญ + +- ๊ฐœ๋ฐœ์ž๋“ค์ด ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ +- ๋ณดํ†ต ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ๋งŽ์ด ๋ถ„๋ฆฌ + +##### 2. ๋ธŒ๋žœ์น˜ ๋งŒ๋“ค๊ณ  ์ „ํ™˜ํ•˜๊ธฐ + +# + +๋ธŒ๋žœ์น˜ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• + +```sh +git branch (๋ธŒ๋žœ์น˜ ์ด๋ฆ„) +``` + +์œ„์™€ ๊ฐ™์ด ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ ์ ์–ด์ฃผ๋ฉด ์ƒ์„ฑ ์™„๋ฃŒ + +```sh +git checkout (๋ธŒ๋žœ์น˜ ์ด๋ฆ„) -> ๋ธŒ๋žœ์น˜ ์ด๋™ & ํŒŒ์ผ์˜ ์ˆ˜์ • ๋‚ด์šฉ์„ ๋ณต์›ํ•ด์ฃผ๋Š” ์—ญํ•  +git switch (๋ธŒ๋žœ์น˜ ์ด๋ฆ„) -> ๋ธŒ๋žœ์น˜ ์ด๋™ (์ถ”์ฒœ) +``` + +##### 3. ๋ธŒ๋žœ์น˜ **merge** ํ•˜๊ธฐ + +# + +```sh +git merge (๋ณ‘ํ•ฉํ•  ๋ธŒ๋žœ์น˜) +``` + +์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ•œ๊บผ๋ฒˆ์— ์ž‘์—…ํ•˜๋‹ค ๋ณด๋‹ˆ ์ถฉ๋™์˜ ์œ„ํ—˜์ด ์žˆ์–ด์„œ ๋ณดํ†ต **merge** ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด ๋ณ‘ํ•ฉํ•˜์ง€ ์•Š์Œ +์ด ๊ฒฝ์šฐ ๋ณ‘ํ•ฉ์„ ์œ„ํ•ด **Pull Request** ์‚ฌ์šฉ + +--- + +### ์ปค๋ฐ‹ ๊ธฐ๋ก ํ™•์ธํ•˜๊ธฐ + +##### 1. git log ์กฐํšŒํ•˜๊ธฐ + +์ •ํ™•ํžˆ ์–ธ์ œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ๋Š”์ง€ ๊ทธ๋•Œ, ํŒŒ์ผ ๋‚ด์—์„œ ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋Š”์ง€ commit์„ ํ†ตํ•ด ๊ธฐ๋กํ•จ +์ด ๊ธฐ๋ก๋“ค์„ ์–ด๋–ป๊ฒŒ ์‚ดํŽด๋ณผ๊นŒ? + +```sh +git log +``` + +์ปค๋ฐ‹๋“ค์˜ ๊ธฐ๋ก์„ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ์„ ๋กœ๊ทธ๋ฅผ ์‚ดํŽด๋ณธ๋‹ค๊ณ  ํ‘œํ˜„ + +> > **์ปค๋ฐ‹ ํ•ด์‹œ** : `commit 691ceb4268ec2c5b2d1afd79dd41f5783dcfac46` > **์ปค๋ฐ‹ ์ƒ์„ฑ์ž** : `youz2me ` > **์ปค๋ฐ‹ ์ผ์‹œ** : `Sun Sep 22 18:34:03 2024 +0900` > **์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€:** `fix: validate ๋ช…๋ น์–ด ํŒŒ๋ผ๋ฏธํ„ฐ ์•ˆ๋“ค์–ด๊ฐ€๊ฒŒ ์ˆ˜์ •` + +##### 2. ๋‚ด ๋ธŒ๋žœ์น˜์˜ ๊ฐ€์žฅ ์ตœ์‹  ์ฃผ์†Œ, `HEAD` + +`HEAD`๋Š” ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹์„ ์ฐธ์กฐํ•˜๋Š” ๊ฐ’, ํ˜„์žฌ ๋‚ด๊ฐ€ ์œ„์น˜ํ•˜๊ณ  ์žˆ๋Š” ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹์„ ํฌ์ธํ„ฐ๋กœ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์Œ + +--- + +### `Issue`์™€ `PR` + +##### 1. Issue + +`main` ๋ธŒ๋žœ์น˜์—์„œ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ„๊ธฐ ์ „ ํŒ€์›๋“ค๊ณผ ํ”„๋กœ์ ํŠธ์˜ ์ž‘์—… ์ง„ํ–‰ ํ˜„ํ™ฉ๊ณผ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ๋ฒ„๊ทธ ์ˆ˜์ •, ๋ฆฌํŒฉํ† ๋ง ๋“ฑ์„ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด `Issue` ๋ผ๋Š” ๊ฒƒ์„ ์ƒ์„ฑ + +> `์ด์Šˆ ์ œ๋ชฉ`: ๋ณดํ†ต ์ž‘์—… ํƒœ๊ทธ(๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ `feature`, ๋ฒ„๊ทธ ์ˆ˜์ • ์‹œ `fix`, โ€ฆ)์™€ ๋Œ€๋žต์ ์ธ ์ž‘์—… ์š”์•ฝ + +> `์ด์Šˆ ๋‚ด์šฉ`: ์ปจ๋ฒค์…˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ๋ถ€๋ถ„, ์˜ˆ์‹œ ์ž๋ฃŒ์—์„œ๋Š” ์ž‘์—…ํ•  ๋ธŒ๋žœ์น˜์™€ ์ž‘์€ ๋‹จ์œ„์˜ `To-Do`๊ฐ€ ๋“ค์–ด๊ฐ + +> `Assignees`: ์ด์Šˆ๋ฅผ ์ž‘์—…ํ•  ๋‹ด๋‹น์ž๊ฐ€ ํ• ๋‹น๋˜๋Š” ๋ถ€๋ถ„, ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ์•„์ด์ฝ˜์„ ๋ˆ„๋ฅด์‹  ํ›„ ์ ์ ˆํ•˜๊ฒŒ ํ• ๋‹น + +> `Labels`: ์ž‘์—… ํƒœ๊ทธ๊ฐ€ ํ• ๋‹น๋˜๋Š” ๋ถ€๋ถ„ + +> `Projects`, `Milestone`: ์กฐ๊ธˆ ๋” ํฐ ๋‹จ์œ„์˜ ์ž‘์—… ๋‚ด์šฉ์„ ์ ์„ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„ + +> `Development`: ์ด์Šˆ์™€ ์—ฐ๊ฒฐ๋œ ๋ธŒ๋žœ์น˜ ๋˜๋Š” PR์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ + +##### 2. Pull Request + +์ด์Šˆ ์ƒ์„ฑ ํ›„ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค๊ณ  ์ง„ํ–‰ํ•œ ์ž‘์—… ๋‚ด์šฉ์„ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜๋กœ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ +๋ฉ”์ธ ๋ธŒ๋žœ์น˜์—๊ฒŒ Pull์„ ๋ฐ›์•„์ค„ ๊ฒƒ์„ ์š”์ฒญํ•˜๋Š” ์ž‘์—… From 22af2f43bdb655f73e68755e60501c52a881258f Mon Sep 17 00:00:00 2001 From: kimtg Date: Fri, 3 Oct 2025 16:45:11 +0900 Subject: [PATCH 20/33] first commit --- .DS_Store | Bin 0 -> 10244 bytes .gitignore | 7 ++++++ temp1.rtf | 8 ++++++ temp2.rtf | 8 ++++++ validate.sh | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ week1.md | 1 + 6 files changed, 93 insertions(+) create mode 100644 .DS_Store create mode 100644 .gitignore create mode 100644 temp1.rtf create mode 100644 temp2.rtf create mode 100644 validate.sh create mode 100644 week1.md diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..10c9cf135211b974a55b1426be04295454cf6bb4 GIT binary patch literal 10244 zcmeHMTWl0n7(V~Bg&8`~0g4pd2@8dA$x>PP@Ipi?>+i2xRT=QFtg9Xf`1@;XssjGi)s+JS0za#K#oC>b z9zAK8$8c?!fbNZ^sf-Mj$3t;5In?qho&`J$coy(1@Tgh9y&w2d_x+=025-Nf1w0Fk zVFCL8;Kxj9(4~WnI)5ElP#2oYsSE8Stm8Yt;rU$}bm<_Yjwd5!g z?nr|!9b}ZL6JY8D+?naag(h%jN9xB0CI~vjD?AH$78t_<6gCrn`zlskkKtREjx%8; zy}OFOH&f2!Q2q5i=~~%F_Sh~6MfO^-+Qct(%fYQ3(9w8JX$O00O=)b;JArO{zJ z!?xOIQ`sG&aF=DK?M7#?u!iHaUQ)(Vcd9t3mQ|Z@XsguO^l$;f*=e)qEnKpEWzD)^ z^QM*^*Gi=6GiH{GVi!L14O@FkQ`7Cenqnt9qgGrs6wT=F$ZD1r)73U3npCGlKoG8# zl+Bs@xKEbH>l)6)w1XMVJ|va%yfcS?zAWxha7`_yLT6E=^E{4&voD%2%e$$hF|A^$ zxC%>`$zq#@o0p<)$BGrA*w%yb3CW^MK-E>%qTH@WW2!DG0-L9{PLw;c%>L3Am$|-F zl*4!ilDI|7<<&RH@;*B4)~IE-rc?u$bk&{vNtAV2iD+7F?ZxY)IkHZ!VcI8A=m>6(BJ@A&Bz^m{&yaA`-47>~H z;5@ts7vU;=0-wSca09-FAK*v034g$!aGNXQW^-lS9Bu&@;Ffb0Tn$&tt>M;k+qhOP z%tg5aoXPdE4RG$2N%pdKuH+73ZQ?MtvTodqJ3BTMeH%7z+PvlAf#UUP41BX5o9$n; zY(;hL`ud?m%1(9eAm_uw!Ndq8Ihb(H%&7BxjiFSWmqYMqxV9sh)IOeKTAIvyFAx{< z2qvkBH5ZFZd4!QPi8TYh3Lb$gaZXdL@~sjOo>Bp827EOFF9B<;5!VR_RH=|PWicoS z5^);7Mqe|JV3YWN3kBE74e}GYMQ$Ssrol`ogT+vZXa5P<2;1=V)3e_W`yc{Qh=Br0 zFdzj75eG+L0G@$CI10xR2dCgUcphGYm*Ew74c>&e5DRa^JBWn$;R1XBAHm0P8LqgP z_!bfI3;a6jl(*#0H>2>|y`1u-+0^7lclkqSE&3LQW5Lmr}6*h@xTAyZ5U7PS-`WvLu>&kYzj3s;0DHfHqcnRAM<|9G|_&8 zw1NriPADF!6N<+MjVUg1Wo{6~=@)c)gN)KqDBn>>`X7A=xNo67FP`wo#1r!F_u+WK NSoeF Date: Fri, 3 Oct 2025 17:12:10 +0900 Subject: [PATCH 21/33] WIP: Final local --- .DS_Store | Bin 10244 -> 10244 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.DS_Store b/.DS_Store index 10c9cf135211b974a55b1426be04295454cf6bb4..9bc0aee8db4363f7cd3b587e8419700b79f580a0 100644 GIT binary patch delta 23 ecmZn(XbIS`hmqaH&|F8s$Yk<-3ENFfENTE;8wSt- delta 15 WcmZn(XbIS`hjH=@371VwENTEVFa>)6 From c6d01dac0411cdde890f32f3fee63da320f964fd Mon Sep 17 00:00:00 2001 From: cheshire Date: Sun, 5 Oct 2025 02:53:35 +0900 Subject: [PATCH 22/33] 1week --- week1/gitignore.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 week1/gitignore.md diff --git a/week1/gitignore.md b/week1/gitignore.md new file mode 100644 index 0000000..9a71f81 --- /dev/null +++ b/week1/gitignore.md @@ -0,0 +1,2 @@ +hello world + From 0b9fb2d5335799365b0e1bc753016fc57d1f1d65 Mon Sep 17 00:00:00 2001 From: guingguing Date: Sun, 5 Oct 2025 07:17:00 +0900 Subject: [PATCH 23/33] week1: add week1.md and .gitignore to ignore ignore.md --- .DS_Store | Bin 0 -> 6148 bytes .gitignore | 1 + week1.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 .DS_Store create mode 100644 .gitignore create mode 100644 week1.md diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..28fb006ee360f56338bb1ccb6fe54d1c95734eac GIT binary patch literal 6148 zcmeHKJ8Hu~5S@vgAaLW-aJEI)F7SE3>Eo6`%rCfC^B7IR&yvH>#;E`m__qq!{ZQbBHE{^^s{@0#0Kg@} zZkT&70W1~(*2EzY5ts%Q7*x#`LxYZZ$-J641O{EyPsToZvSx>(emdgC(?x3_M=C%C z#tJNAxwiWM2A}Ew$0V+(02O#B1$5cHcUyc?*4D|#S*DVDe{WV@xCSwflf!<=|KJrm@YIbaBl^!3R@Yj literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b459310 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ignore.md diff --git a/week1.md b/week1.md new file mode 100644 index 0000000..8ed0028 --- /dev/null +++ b/week1.md @@ -0,0 +1,44 @@ +# Week 1 + +## Git์ด๋ž€? +- ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ™์€ ํŒŒ์ผ์˜ ์ž‘์—…์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” **๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ** +- ์ฝ”๋“œ๋ฅผ **์•ˆ์ „ํ•˜๊ฒŒ ๊ธฐ๋กํ•˜๊ณ  ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋„๊ตฌ** + +--- + +## Git์˜ 3๊ฐ€์ง€ ์˜์—ญ +1. **Working Directory** + โ†’ ์‹ค์ œ๋กœ ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๊ณต๊ฐ„ +2. **Staging Area** + โ†’ ์ปค๋ฐ‹ํ•˜๊ธฐ ์ „์— ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ž ์‹œ ์˜ฌ๋ ค๋‘๋Š” ๊ณต๊ฐ„ +3. **Local Repository** + โ†’ ์ตœ์ข…์ ์œผ๋กœ ์ปค๋ฐ‹์ด ์ €์žฅ๋˜๋Š” ๋‚˜์˜ ๋กœ์ปฌ ์ €์žฅ์†Œ + +--- + +## Git ๊ธฐ๋ณธ ํ๋ฆ„ +1. ์›๊ฒฉ ์ €์žฅ์†Œ(Remote)์™€ ๋กœ์ปฌ ์—ฐ๊ฒฐ +2. `.gitignore`๋กœ ์ถ”์ ํ•˜์ง€ ์•Š์„ ํŒŒ์ผ ๊ด€๋ฆฌ +3. `add`, `commit`, `push`๋กœ ํŒŒ์ผ ์ƒํƒœ ๊ด€๋ฆฌ +4. `git status`๋กœ ํ˜„์žฌ ์ƒํƒœ ํ™•์ธ + +--- + +## ๋ธŒ๋žœ์น˜(Branch) +- ๋…๋ฆฝ์ ์ธ ์ž‘์—… ๊ณต๊ฐ„์œผ๋กœ, ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ๋™์‹œ์— ๊ฐœ๋ฐœํ•  ๋•Œ ์‚ฌ์šฉ +- ๋ช…๋ น์–ด + - `git branch` : ๋ธŒ๋žœ์น˜ ๋ชฉ๋ก ๋ณด๊ธฐ + - `git checkout -b ๋ธŒ๋žœ์น˜๋ช…` : ์ƒˆ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ + ์ด๋™ + - `git merge` : ๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ + +--- + +## ์ปค๋ฐ‹ ๊ธฐ๋ก ํ™•์ธ +- `git log` : ์ปค๋ฐ‹ ๋‚ด์—ญ ์กฐํšŒ +- `HEAD` : ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹์„ ๊ฐ€๋ฆฌํ‚ด + +--- + +## Issue์™€ PR (Pull Request) +- **Issue** : ํ•ด์•ผ ํ•  ์ผ์ด๋‚˜ ๋ฒ„๊ทธ๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๊ด€๋ฆฌ +- **Pull Request(PR)** : ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜ํ•  ๋•Œ ์‚ฌ์šฉ From ddf01d26aa17a4444c85fb0449ef0f359d82abd9 Mon Sep 17 00:00:00 2001 From: yerin-lab <181642401+yerin-lab@users.noreply.github.com> Date: Sun, 5 Oct 2025 09:51:30 +0900 Subject: [PATCH 24/33] =?UTF-8?q?[week1]=20=EC=98=88=EB=94=94/=EC=B0=A8?= =?UTF-8?q?=EC=98=88=EB=A6=B0=20(#15)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 2ssac <163278029+theSnackOverflow@users.noreply.github.com> --- week1/week1.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/week1/week1.md b/week1/week1.md index 944cf8e..bcd5123 100644 --- a/week1/week1.md +++ b/week1/week1.md @@ -46,4 +46,5 @@ commit์„ ํ†ตํ•ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•˜๋Š” ๊ณณ์„ Local Repository 1. ๋‚˜์˜ ์ž‘์€ ๋ชฉํ‘œ๋ฅผ Issue๋กœ ์„ค์ •ํ•˜๊ธฐ ์ด์Šˆ๋Š” ํฌ๊ฒŒ *์ œ๋ชฉ๊ณผ ๋‚ด์šฉ, Assignees์™€ Labels, Projects, Milestone, Development*๋กœ ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -2. ๋‚ด ์ž‘์—…์„ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜ํ•  ๋•Œ๋Š”? Pull Request ์˜ฌ๋ฆฌ๊ธฐ \ No newline at end of file +2. ๋‚ด ์ž‘์—…์„ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜ํ•  ๋•Œ๋Š”? Pull Request ์˜ฌ๋ฆฌ๊ธฐ +- git log : ์ปค๋ฐ‹ ํ•ด์‹œ์™€ ํ•จ๊ป˜ ์ปค๋ฐ‹ ์ผ์‹œ, ์ƒ์„ฑํ•œ ์‚ฌ๋žŒ์„ ๋ณด์—ฌ์ค€๋‹ค. \ No newline at end of file From 09a886071fd94bb4af823a8446d2aeb2d7793bbc Mon Sep 17 00:00:00 2001 From: CHANWON Date: Sun, 5 Oct 2025 09:52:09 +0900 Subject: [PATCH 25/33] =?UTF-8?q?[Week1]=20=EB=88=84=EB=88=84/=EC=A0=95?= =?UTF-8?q?=EC=B0=AC=EC=9B=90=20(#16)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Git ์›Œํฌ๋ถ 1์ฃผ์ฐจ * ignore ํŒŒ์ผ ์œ„์น˜ ๋ณ€๊ฒฝ --------- Co-authored-by: 2ssac <163278029+theSnackOverflow@users.noreply.github.com> From ab3bbf85d21a021362038521fda6ec2041f21669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=8F=84=EC=97=B0?= Date: Sun, 5 Oct 2025 09:52:45 +0900 Subject: [PATCH 26/33] =?UTF-8?q?[Week1]=20=EA=B0=80=EB=84=B7/=EA=B9=80?= =?UTF-8?q?=EB=8F=84=EC=97=B0=20(#17)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * week1 ๊ณผ์ œ ์‹ค์Šต * week1 ๊ณผ์ œ ์‹ค์Šต ์ˆ˜์ • * week1 ๊ณผ์ œ ์‹ค์Šต ์ˆ˜์ • --------- Co-authored-by: 2ssac <163278029+theSnackOverflow@users.noreply.github.com> From fe2ebedc3554f8bd792e1abde21f861eb70fe170 Mon Sep 17 00:00:00 2001 From: Jiwoo Date: Sun, 5 Oct 2025 09:53:56 +0900 Subject: [PATCH 27/33] =?UTF-8?q?Week1=20=EA=B3=BC=EC=A0=9C=20=EC=A0=9C?= =?UTF-8?q?=EC=B6=9C=20(#18)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 2ssac <163278029+theSnackOverflow@users.noreply.github.com> From 91ea70d10a107449970e6444e66f75cae258cb17 Mon Sep 17 00:00:00 2001 From: yeon-ju12 Date: Sun, 5 Oct 2025 09:54:50 +0900 Subject: [PATCH 28/33] git workbook week1 eden (#19) Co-authored-by: 2ssac <163278029+theSnackOverflow@users.noreply.github.com> From da736a5bf75aef434068e8bf97ee6b629a8b69f8 Mon Sep 17 00:00:00 2001 From: 2ssac Date: Sun, 5 Oct 2025 09:56:38 +0900 Subject: [PATCH 29/33] =?UTF-8?q?=EC=B6=A9=EB=8F=8C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 7 ------ temp1.rtf | 8 ------- temp2.rtf | 8 ------- validate.sh | 69 ----------------------------------------------------- week1.md | 1 - 5 files changed, 93 deletions(-) delete mode 100644 .gitignore delete mode 100644 temp1.rtf delete mode 100644 temp2.rtf delete mode 100644 validate.sh delete mode 100644 week1.md diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 15d214f..0000000 --- a/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -ignore.md -9th_UMC_Git_Workbook/ -ignore.md -ignore.md -ignore.md -ignore.md -ignore \ No newline at end of file diff --git a/temp1.rtf b/temp1.rtf deleted file mode 100644 index 7e1b0e8..0000000 --- a/temp1.rtf +++ /dev/null @@ -1,8 +0,0 @@ -{\rtf1\ansi\ansicpg949\cocoartf2865 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 -\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 - -\f0\fs24 \cf0 Hello} \ No newline at end of file diff --git a/temp2.rtf b/temp2.rtf deleted file mode 100644 index c2162f1..0000000 --- a/temp2.rtf +++ /dev/null @@ -1,8 +0,0 @@ -{\rtf1\ansi\ansicpg949\cocoartf2865 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 -\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 - -\f0\fs24 \cf0 Hi} \ No newline at end of file diff --git a/validate.sh b/validate.sh deleted file mode 100644 index 9e393dd..0000000 --- a/validate.sh +++ /dev/null @@ -1,69 +0,0 @@ -current_branch=$(git branch --show-current) -week1_committed=false -ignore_committed=false - -if [[ "$current_branch" == week1-* ]]; then - echo " โœ… ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์ด ์˜ฌ๋ฐ”๋ฆ…๋‹ˆ๋‹ค: $current_branch" -else - echo -e " โŒ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n ํ˜„์žฌ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์€ $current_branch ์ด๋ฉฐ, week1-๋‹‰๋„ค์ž„ ํ˜•์‹์ด์–ด์•ผ ํ•ด์š”!" - exit 1 -fi - -if [ -f "week1.md" ]; then - echo " โœ… week1.md ํŒŒ์ผ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค." - - # ํŒŒ์ผ์ด ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธ - if [ -s "week1.md" ]; then - echo " โœ… week1.md ํŒŒ์ผ์— ๋‚ด์šฉ์ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค." - else - echo " โŒ week1.md ํŒŒ์ผ์ด ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค." - exit 1 - fi -else - echo " โŒ week1.md ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค." - exit 1 -fi - -if [ -f "ignore.md" ]; then - echo " โœ… ignore.md ํŒŒ์ผ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค." -else - echo " โŒ ignore.md ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค." - exit 1 -fi - -if [ -f ".gitignore" ]; then - echo " โœ… .gitignore ํŒŒ์ผ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค." - - if grep -q "ignore.md" .gitignore; then - echo " โœ… .gitignore ํŒŒ์ผ์— ignore.md ํŒŒ์ผ์ด ์ œ๋Œ€๋กœ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค." - else - echo " โŒ .gitignore ํŒŒ์ผ์— ignore.md ํŒŒ์ผ์ด ์„ค์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค." - exit 1 - fi -else - echo " โŒ .gitignore ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค." - exit 1 -fi - -if git log --pretty=format:"%H" -- week1.md | grep -q '.'; then - week1_committed=true -fi - -if git log --pretty=format:"%H" -- ignore.md | grep -q '.'; then - ignore_committed=true -fi - -if $week1_committed && ! $ignore_committed; then - echo " โœ… week1.md ํŒŒ์ผ์ด ์ปค๋ฐ‹๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n โœ… ignore.md ํŒŒ์ผ์ด ์ •์ƒ์ ์œผ๋กœ .gitignore์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค." -else - if ! $week1_committed; then - echo " โŒ week1.md ํŒŒ์ผ์ด ์ปค๋ฐ‹๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค." - fi - if $ignore_committed; then - echo " โŒ ignore.md ํŒŒ์ผ์ด ์ปค๋ฐ‹๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ignore.md ํŒŒ์ผ์€ ์ปค๋ฐ‹๋˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค." - fi - exit 1 -fi - -echo "==================================================================" -echo "โœ… ๋ชจ๋“  ๊ณผ์ œ๊ฐ€ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!" \ No newline at end of file diff --git a/week1.md b/week1.md deleted file mode 100644 index b6fc4c6..0000000 --- a/week1.md +++ /dev/null @@ -1 +0,0 @@ -hello \ No newline at end of file From f364c524a3b9708b71137502d1e310050a5afcc4 Mon Sep 17 00:00:00 2001 From: 2ssac Date: Sun, 5 Oct 2025 09:58:42 +0900 Subject: [PATCH 30/33] =?UTF-8?q?.DS=5FStore=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 10244 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 9bc0aee8db4363f7cd3b587e8419700b79f580a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 zcmeHMU2GIp6uxKL!VDeg07VLR!a^bZWGO8yY0Hn<{>g7Cur1w|pJjJv><*osS$1Z( zg;H%ud;!7ur17684MrXeDDedoP@Ipi?>+cU#*Z6%a1Azg*ufMjY+V5K(s2Ug$_*oSz*6xh- z=t;vohHJwFbZ<0GWn`#49*UdEp_W(iEZ|wdvw&xTN6iB6{lJg9?;kZYc>DD%;8|b{ z3()@uA7)B}E*)gl`Rl-fy3kZkU1%p^9p3>C&*##hO9vTsR8hxKMaopcePRGpN4}4C zM;dhLAfrs308=O6&P*RJG=VcaQXe)jLC_&y;aR}5z!(;wu$l1NSFz%H4BxVJoCz!G z-PQEHnQ|tFz&CfLYh@eRW4j=fdu)H3du$6+ip8mNN4T?Vw-}LTWbswqnzA+1uy(0w z3u#0uvGDc1DQ+6u(<+sB#7#YuG^~g;Js#EL89i#N^|~I?4y(v3vEpe{*SDLNMu+JP z+iIUpWw(jKU6z@)8=b+z8jjC;Nf}Gssp6noR&Bzetx{*x!vzRurp=zWaLMwOHS2=S zn_6~UEs>_rm{}@{UHHs5Z0#vcO}F=Iik;|;T5;7-G^4vCt65r1SKEweQk@QdLAY8{ zHfQeR<+40p*Kj7L9n5IHY@XUWQSQhx`%7C~=K4}m z4&xa};ubBJSKlDZ`{=Y=qn6#8QVm?v6?g6@QPyQ8qG`3Y7vm!?cQbOGpA`92saer% z(-ERIw&5;1>2URm;_P8=*_;wNB)9X@7kosLG$X5FOa^~e7MkHJa=%JNa2cysd=v{h zHOJ5u!79cU@Me<9O43BOlKmJ7>L(}2OXL(eOD>X2;>+l2o2tUCM_!ItuTU-%0n=9kya0@s;x16iwYPec%4Y!ut#m*#nX#c*zG360&08KGC|;Y!z&Go$*}g@~ zRs?F-*AE?1cB*p+IUgPlCPpC1!Gv>WMxE!Y45i|{9D+x~wH?8v_VEK%DQz~Fhe|e3-OTZdy#B~A!RVrjnSqut- zM4U!>V|g==V3YWN3kBE6b@DU0Np2wurol`ogT+vVXa5P<2;1=V)3e_W`yc{Qh=Br0 zFdzj75eG+L0G@$CI10xR2PffqcmZC9SKw869o~Ys5ex6YyNHAj;5>W?AHyeb2`;;s z_zn^AEBrR2?T-JJ5I+0^7lclkr7FFyVGhRgMLr?1?Tekzf7S#me&7AB0) zY$$E$rqPW$ImA=_e@+653rQvErqS;IJGNcDstRMMyTkLXWFx>G7*9egzY-#q^J|2qxi$vq2r7I=s)0EJDVrUu-=c+UnJ zYxiN^kC`UgZ;)0nVciMEBXvUY*q|}RC9cd3qB#A6E^m-gItt}G>PY{i4*~ZrwCBYW W9+`MT-u*rtFBt27Pnr+v{r@-a^Z6eD From c06becfcd1b1253c8156ea891db11a8a48e11ac9 Mon Sep 17 00:00:00 2001 From: 2ssac Date: Sun, 5 Oct 2025 10:53:44 +0900 Subject: [PATCH 31/33] =?UTF-8?q?remove:=20main=20=EB=B8=8C=EB=9E=9C?= =?UTF-8?q?=EC=B9=98=20=EC=B5=9C=EC=8B=A0=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 6148 -> 0 bytes .PE | 0 .gitignore | 1 - week1.md | 50 -------------------------------------------------- 4 files changed, 51 deletions(-) delete mode 100644 .DS_Store delete mode 100644 .PE delete mode 100644 .gitignore delete mode 100644 week1.md diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 28fb006ee360f56338bb1ccb6fe54d1c95734eac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJ8Hu~5S@vgAaLW-aJEI)F7SE3>Eo6`%rCfC^B7IR&yvH>#;E`m__qq!{ZQbBHE{^^s{@0#0Kg@} zZkT&70W1~(*2EzY5ts%Q7*x#`LxYZZ$-J641O{EyPsToZvSx>(emdgC(?x3_M=C%C z#tJNAxwiWM2A}Ew$0V+(02O#B1$5cHcUyc?*4D|#S*DVDe{WV@xCSwflf!<=|KJrm@YIbaBl^!3R@Yj diff --git a/.PE b/.PE deleted file mode 100644 index e69de29..0000000 diff --git a/.gitignore b/.gitignore deleted file mode 100644 index ce1b36c..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -ignore.md \ No newline at end of file diff --git a/week1.md b/week1.md deleted file mode 100644 index 1a17cf6..0000000 --- a/week1.md +++ /dev/null @@ -1,50 +0,0 @@ -# Week 1 - -## Git์ด๋ž€? - -- ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ™์€ ํŒŒ์ผ์˜ ์ž‘์—…์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” **๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ** -- ์ฝ”๋“œ๋ฅผ **์•ˆ์ „ํ•˜๊ฒŒ ๊ธฐ๋กํ•˜๊ณ  ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋„๊ตฌ** - ---- - -## Git์˜ 3๊ฐ€์ง€ ์˜์—ญ - -1. **Working Directory** - โ†’ ์‹ค์ œ๋กœ ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๊ณต๊ฐ„ -2. **Staging Area** - โ†’ ์ปค๋ฐ‹ํ•˜๊ธฐ ์ „์— ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ž ์‹œ ์˜ฌ๋ ค๋‘๋Š” ๊ณต๊ฐ„ -3. **Local Repository** - โ†’ ์ตœ์ข…์ ์œผ๋กœ ์ปค๋ฐ‹์ด ์ €์žฅ๋˜๋Š” ๋‚˜์˜ ๋กœ์ปฌ ์ €์žฅ์†Œ - ---- - -## Git ๊ธฐ๋ณธ ํ๋ฆ„ - -1. ์›๊ฒฉ ์ €์žฅ์†Œ(Remote)์™€ ๋กœ์ปฌ ์—ฐ๊ฒฐ -2. `.gitignore`๋กœ ์ถ”์ ํ•˜์ง€ ์•Š์„ ํŒŒ์ผ ๊ด€๋ฆฌ -3. `add`, `commit`, `push`๋กœ ํŒŒ์ผ ์ƒํƒœ ๊ด€๋ฆฌ -4. `git status`๋กœ ํ˜„์žฌ ์ƒํƒœ ํ™•์ธ - ---- - -## ๋ธŒ๋žœ์น˜(Branch) - -- ๋…๋ฆฝ์ ์ธ ์ž‘์—… ๊ณต๊ฐ„์œผ๋กœ, ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ๋™์‹œ์— ๊ฐœ๋ฐœํ•  ๋•Œ ์‚ฌ์šฉ -- ๋ช…๋ น์–ด - - `git branch` : ๋ธŒ๋žœ์น˜ ๋ชฉ๋ก ๋ณด๊ธฐ - - `git checkout -b ๋ธŒ๋žœ์น˜๋ช…` : ์ƒˆ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ + ์ด๋™ - - `git merge` : ๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ - ---- - -## ์ปค๋ฐ‹ ๊ธฐ๋ก ํ™•์ธ - -- `git log` : ์ปค๋ฐ‹ ๋‚ด์—ญ ์กฐํšŒ -- `HEAD` : ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹์„ ๊ฐ€๋ฆฌํ‚ด - ---- - -## Issue์™€ PR (Pull Request) - -- **Issue** : ํ•ด์•ผ ํ•  ์ผ์ด๋‚˜ ๋ฒ„๊ทธ๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๊ด€๋ฆฌ -- **Pull Request(PR)** : ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜ํ•  ๋•Œ ์‚ฌ์šฉ \ No newline at end of file From ff0de76ae24b0271ef9a6e5165e9c4ea228c88d2 Mon Sep 17 00:00:00 2001 From: wldmsdl7 Date: Sun, 5 Oct 2025 11:51:14 +0900 Subject: [PATCH 32/33] =?UTF-8?q?week1=20=EC=8B=A4=EC=8A=B5=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- week1/gitignore.md | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 week1/gitignore.md diff --git a/week1/gitignore.md b/week1/gitignore.md deleted file mode 100644 index 9a71f81..0000000 --- a/week1/gitignore.md +++ /dev/null @@ -1,2 +0,0 @@ -hello world - From 8a29cd1180374a694bd16beec025d536880171f1 Mon Sep 17 00:00:00 2001 From: wldmsdl7 Date: Sun, 5 Oct 2025 11:57:20 +0900 Subject: [PATCH 33/33] =?UTF-8?q?week1=20=EC=8B=A4=EC=8A=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + week1.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 .gitignore create mode 100644 week1.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b459310 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ignore.md diff --git a/week1.md b/week1.md new file mode 100644 index 0000000..bcd5123 --- /dev/null +++ b/week1.md @@ -0,0 +1,50 @@ +## Git ์ด๋ž€? +**ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ **ํ•˜๊ณ  **์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„์— ํ•ด๋‹น ํŒŒ์ผ๋“ค์˜ ์ž‘์—…๋“ค์„ ์กฐ์œจ**ํ•˜๊ธฐ ์œ„ํ•œ *๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ* +1. ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์  +์ •ํ™•ํžˆ ์–ธ์ œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ๋Š”์ง€, ๊ทธ ๋•Œ ํŒŒ์ผ ๋‚ด์—์„œ ์–ด๋– ํ•œ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋Š”์ง€ ๊ธฐ๋กํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ์‹œ์ ์—์„œ ์ด์ „ ๋‚ด์šฉ์„ ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ๊บผ๋‚ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ธฐ๋ก์€ ๋กœ๊ทธ ํ˜•์‹์œผ๋กœ ๊ด€๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ €์žฅํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. + +2. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„์— ํ•ด๋‹น ํŒŒ์ผ๋“ค์˜ ์ž‘์—…๋“ค์„ ์กฐ์œจ +Git์„ ์ด์šฉํ•  ๋•Œ๋Š” Github์™€ ๊ฐ™์€ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ํ™œ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Github๋ฅผ ์ด์šฉํ•ด ํŒŒ์ผ ๋˜๋Š” ํด๋”๋ฅผ ๋‹ค์šด๋ฐ›์œผ๋ฉด ํ•ด๋‹น ํŒŒ์ผ(๋˜๋Š” ํด๋”)์˜ ๊ธฐ๋ก ๋˜ํ•œ ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ(๋กœ์ปฌ)์—์„œ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์™„์ „ํžˆ ๋™์ผํ•œ ์ž‘์—… ๋‚ด์šฉ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์›ํ™œํ•œ ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. + +3. ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ +์—ฌ๋Ÿฌ ๋ช…์ด ํ•œ ํŒŒ์ผ(๋˜๋Š” ํด๋”)์— ์ ‘๊ทผํ•ด ๊ฐœ๋ณ„์ ์œผ๋กœ ์ž‘์—…ํ•˜๊ณ , ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ก์œผ๋กœ์„œ ๋ฐ˜์˜ํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. + +## ๋‚ด ํŒŒ์ผ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• +1. ๋‚˜์˜ ์ž‘์—… ๊ณต๊ฐ„, **Working Directory** +๋‚ด๊ฐ€ ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„(ํด๋”)๋ฅผ ์›Œํ‚น ๋””๋ ‰ํ† ๋ฆฌ(working directory)๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. +๋ณดํ†ต ๋ณด์•ˆ ๋“ฑ์˜ ๋ฌธ์ œ๋กœ ์›๊ฒฉ ๋ ˆํฌ์— ์˜ฌ๋ผ๊ฐ€์ง€ ๋ชปํ•˜๋Š” ํŒŒ์ผ๋“ค์€ `.gitignore`๋ผ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ํ•ด๋‹น ํŒŒ์ผ๋“ค์„ ๋ชจ๋‘ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. `.gitignore`๋กœ ์ฒ˜๋ฆฌ๋œ ํŒŒ์ผ๋“ค์€ ๋ณ€ํ™”๊ฐ€ ์ƒ๊ฒจ๋„ ์ถ”์ ๋˜์ง€ ์•Š๊ณ , ์›๊ฒฉ ๋ ˆํฌ์—๋„ ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. + +2. ๋‚ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๋Š” **Staging Area** +์„ ํƒ์ ์œผ๋กœ ํŒŒ์ผ์„ ์ปค๋ฐ‹ํ•˜๊ธฐ ์œ„ํ•ด `staged` ๋‹จ๊ณ„๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ `staged` ์ƒํƒœ๊ฐ€ ๋œ ํŒŒ์ผ๋“ค์„ `staging area`์— ์žˆ๋‹ค๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. + +3. ๋‚ด ์ž‘์—…์ด ๊ธฐ๋ก๋˜๋Š” ๊ณณ, **Local Repository** +commit์„ ํ†ตํ•ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•˜๋Š” ๊ณณ์„ Local Repository๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. + +## Git์˜ ์‚ฌ์šฉ๋ฒ• +1. ์›๊ฒฉ ๋ ˆํฌ ์ƒ์„ฑํ•˜๊ณ  ๋กœ์ปฌ ๋ ˆํฌ์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ +2. .gitignore ๋กœ ํŒŒ์ผ ์ถ”์ ๋˜์ง€ ์•Š๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ +3. add, commit, push๋กœ ๋‚ด ํŒŒ์ผ ์ถ”์  ์ƒํƒœ ๊ด€๋ฆฌํ•˜๊ธฐ +4. ๋‚ด ํŒŒ์ผ ์ƒํƒœ ํ™•์ธํ•˜๊ธฐ + +## Branch๋ž€? +1. ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ์˜์—ญ, **Branch** +2. ๋ธŒ๋žœ์น˜ ๋งŒ๋“ค๊ณ  ์ „ํ™˜ํ•˜๊ธฐ +3. ๋ธŒ๋žœ์น˜ mergeํ•˜๊ธฐ + +## ์ปค๋ฐ‹ ๊ธฐ๋ก ํ™•์ธ ๋ฐฉ๋ฒ• +1. git log ์กฐํšŒํ•˜๊ธฐ + - ์ปค๋ฐ‹ ๊ธฐ๋ณธ ๊ตฌ์„ฑ + - ์ปค๋ฐ‹ ํ•ด์‹œ: `commit 691ceb4268ec2c5b2d1afd79dd41f5783dcfac46` + - ์ปค๋ฐ‹ ์ƒ์„ฑ์ž: `youz2me ` + - ์ปค๋ฐ‹ ์ผ์‹œ: `Sun Sep 22 18:34:03 2024 +0900` + - ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€: `fix: validate ๋ช…๋ น์–ด ํŒŒ๋ผ๋ฏธํ„ฐ ์•ˆ๋“ค์–ด๊ฐ€๊ฒŒ ์ˆ˜์ •` + +2. ๋‚ด ๋ธŒ๋žœ์น˜์˜ ๊ฐ€์žฅ ์ตœ์‹  ์ฃผ์†Œ, HEAD +๋ชจ๋“  ๋ธŒ๋žœ์น˜์—๋Š” HEAD๋ผ๋Š” ๊ฐ’์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. HEAD๋Š” ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ฐ’์œผ๋กœ, ํ˜„์žฌ ๋‚ด๊ฐ€ ์œ„์น˜ํ•˜๊ณ  ์žˆ๋Š” ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹์„ ํฌ์ธํ„ฐ๋กœ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +## Issue์™€ PR์˜ ์ฐจ์ด, ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ๋ฒ• +1. ๋‚˜์˜ ์ž‘์€ ๋ชฉํ‘œ๋ฅผ Issue๋กœ ์„ค์ •ํ•˜๊ธฐ +์ด์Šˆ๋Š” ํฌ๊ฒŒ *์ œ๋ชฉ๊ณผ ๋‚ด์šฉ, Assignees์™€ Labels, Projects, Milestone, Development*๋กœ ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +2. ๋‚ด ์ž‘์—…์„ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜ํ•  ๋•Œ๋Š”? Pull Request ์˜ฌ๋ฆฌ๊ธฐ +- git log : ์ปค๋ฐ‹ ํ•ด์‹œ์™€ ํ•จ๊ป˜ ์ปค๋ฐ‹ ์ผ์‹œ, ์ƒ์„ฑํ•œ ์‚ฌ๋žŒ์„ ๋ณด์—ฌ์ค€๋‹ค. \ No newline at end of file