Skip to content

Commit

Permalink
docs: Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
YuHyun-P authored Dec 12, 2023
1 parent b2db071 commit cc25f5a
Showing 1 changed file with 155 additions and 13 deletions.
168 changes: 155 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
<div align="center">
<h1>Git Challenge</h1>
<p>Git์„ ์‚ฌ์šฉํ•˜๋‹ค ์ž์ฃผ ๋งŒ๋‚  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์„ ๋ฌธ์ œ๋กœ ํ’€๋ฉด์„œ Git์„ ํ•™์Šตํ•˜๋Š” ์„œ๋น„์Šค</p>



![Frame 30](https://github.com/boostcampwm2023/web01-GitChallenge/assets/79246447/fe5e7fbd-93fe-40ea-be09-a902b712f6c3)


</div>

> ๋ฐฐํฌ ๋งํฌ <br/>
> ๋ฐฐํฌ ๋งํฌ <br />
> **https://git-challenge.com/**
<br/>
Expand All @@ -30,16 +26,79 @@
<a href="https://hits.seeyoufarm.com"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fboostcampwm2023%2Fweb01-GitChallenge%2Fhit-counter&count_bg=%23FF7B5A&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com"/></a>
</div>

## ๐Ÿ“„ ๋ชฉ์ฐจ

- [๐Ÿ“„ ๋ชฉ์ฐจ](#-๋ชฉ์ฐจ)
- [โœ๐Ÿป ํ”„๋กœ์ ํŠธ ๊ฐœ์š”](#-ํ”„๋กœ์ ํŠธ-๊ฐœ์š”)
- [๐Ÿš€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ](#-ํ•ต์‹ฌ-๊ธฐ๋Šฅ)
- [์ž์ฃผ ๋งˆ์ฃผ์น  ์ˆ˜ ์žˆ๋Š” Git ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋ณด์„ธ์š”](#์ž์ฃผ-๋งˆ์ฃผ์น -์ˆ˜-์žˆ๋Š”-git-๋ฌธ์ œ๋ฅผ-ํ•ด๊ฒฐํ•ด-๋ณด์„ธ์š”)
- [ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์—์„œ Git์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด์š”](#ํ„ฐ๋ฏธ๋„-ํ™˜๊ฒฝ์—์„œ-git์„-์กฐ์ž‘ํ• -์ˆ˜-์žˆ์–ด์š”)
- [Git ๊ทธ๋ž˜ํ”„๋กœ ๋ณ€ํ™”๋˜๋Š” Git ์ƒํ™ฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”](#git-๊ทธ๋ž˜ํ”„๋กœ-๋ณ€ํ™”๋˜๋Š”-git-์ƒํ™ฉ์„-ํ™•์ธํ• -์ˆ˜-์žˆ์–ด์š”)
- [๋ฌธ์ œ ํ•ด๊ฒฐ์ด ์–ด๋ ต๋‹ค๋ฉด ๋„์›€๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š”](#๋ฌธ์ œ-ํ•ด๊ฒฐ์ด-์–ด๋ ต๋‹ค๋ฉด-๋„์›€๋ฐ›์„-์ˆ˜-์žˆ์–ด์š”)
- [์ •๋‹ต์„ ๋งž์ถ”๋ฉด ๋‚ด ๋‹ต์•ˆ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์–ด์š”](#์ •๋‹ต์„-๋งž์ถ”๋ฉด-๋‚ด-๋‹ต์•ˆ์„-๊ณต์œ ํ• -์ˆ˜-์žˆ์–ด์š”)
- [โš™๏ธ ๊ธฐ์ˆ  ์Šคํƒ](#๏ธ-๊ธฐ์ˆ -์Šคํƒ)
- [๐Ÿ›๏ธ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜](#๏ธ-์‹œ์Šคํ…œ-์•„ํ‚คํ…์ฒ˜)
- [๐Ÿ”Ž FE ๊ธฐ์ˆ ์  ๋„์ „](#-fe-๊ธฐ์ˆ ์ -๋„์ „)
- [๋””์ž์ธ ์‹œ์Šคํ…œ ๊ตฌ์ถ•](#๋””์ž์ธ-์‹œ์Šคํ…œ-๊ตฌ์ถ•)
- [์ปดํฌ๋„ŒํŠธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ](#์ปดํฌ๋„ŒํŠธ-ํ…Œ์ŠคํŠธ-์ฝ”๋“œ)
- [D3๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”](#d3๋ฅผ-์ด์šฉํ•œ-๋ฐ์ดํ„ฐ-์‹œ๊ฐํ™”)
- [UX ๊ฐœ์„ ](#ux-๊ฐœ์„ )
- [๐Ÿ”Ž BE ๊ธฐ์ˆ ์  ๋„์ „](#-be-๊ธฐ์ˆ ์ -๋„์ „)
- [๋„์ปค ์ปจํ…Œ์ด๋„ˆ](#๋„์ปค-์ปจํ…Œ์ด๋„ˆ)
- [HTTP๋กœ ์›๊ฒฉ ํ„ฐ๋ฏธ๋„ ์กฐ์ž‘ํ•˜๊ธฐ](#http๋กœ-์›๊ฒฉ-ํ„ฐ๋ฏธ๋„-์กฐ์ž‘ํ•˜๊ธฐ)
- [Git editor ์ปค์Šคํ…€](#git-editor-์ปค์Šคํ…€)
- [์ฑ„์ ์„ ์œ„ํ•ด Jest๋ฅผ ์“ฐ์ง€ ์•Š์€ ์ด์œ ](#์ฑ„์ ์„-์œ„ํ•ด-jest๋ฅผ-์“ฐ์ง€-์•Š์€-์ด์œ )
- [AI ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ์„ค์ •ํ•˜๊ธฐ](#ai-์‹œ์Šคํ…œ-ํ”„๋กฌํ”„ํŠธ-์„ค์ •ํ•˜๊ธฐ)
- [๐Ÿงก ํŒ€์› ์†Œ๊ฐœ](#-ํŒ€์›-์†Œ๊ฐœ)

<br />

## โœ๐Ÿป ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

Git-Challenge๋Š” ์‚ฌ์šฉ์ž๋“ค์ด git์„ ์‚ฌ์šฉํ•˜๋ฉฐ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์„ ๋ฏธ๋ฆฌ ์ฒดํ—˜ํ•˜๊ณ , ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋“ค์€ git ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ์‹ค์Šตํ•˜๊ณ , ์‹ค์ œ๋กœ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ ์ƒํ™ฉ์„ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒฝํ—˜์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<br />

## ๊ธฐ์ˆ ์  ๋„์ „
## ๐Ÿš€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ

### ์ž์ฃผ ๋งˆ์ฃผ์น  ์ˆ˜ ์žˆ๋Š” Git ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋ณด์„ธ์š”

> ์ด ์„ธ๊ฐ€์ง€ ๋‚œ์ด๋„๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ๊ฒช์„ ์ˆ˜ ์žˆ๋Š” Git ๋ฌธ์ œ ์ƒํ™ฉ์„ ์‹ค์Šตํ•˜๋ฉฐ ์—ฐ์Šตํ•ด๋ณด์„ธ์š”!
- ํŠœํ† ๋ฆฌ์–ผ ์ •๋„์˜ ๋‚œ์ด๋„ **Git start**
- Git start๋ณด๋‹ค ์–ด๋ ค์šด ๋‚œ์ด๋„์ด๋ฉฐ ์Šคํ† ๋ฆฌ ํ˜•์‹์˜ **Git advanced**
- ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ์ด๋ฉฐ ์Šคํ† ๋ฆฌ ํ˜•์‹์˜ **Remote start**

</aside>

### ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์—์„œ Git์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด์š”

- ํ”„๋ก ํŠธ์—”๋“œ: ๋””์ž์ธ ์‹œ์Šคํ…œ ๊ตฌ์ถ•, Git graph ์‹œ๊ฐํ™”
- ๋ฐฑ์—”๋“œ: ์‚ฌ์šฉ์ž๋ณ„ ๋ถ„์‚ฐ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ, ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ
> ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์—์„œ ์ง์ ‘ Git ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ , vi ํŽธ์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ
> ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์„ธ์š”.
<img alt='' src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/7e89b3f3-6987-4a1e-85d3-d6430aa3ad05" />

### Git ๊ทธ๋ž˜ํ”„๋กœ ๋ณ€ํ™”๋˜๋Š” Git ์ƒํ™ฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”

> Git ๋ช…๋ น์–ด ๋™์ž‘์— ๋”ฐ๋ผ ๋ณ€ํ™”๋˜๋Š” Git ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด๋ฉฐ, Git์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋†’์—ฌ๋ณด์„ธ์š”.
<img alt='' src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/dd043d5c-347f-466a-8fe1-2660fe9f1953" />

### ๋ฌธ์ œ ํ•ด๊ฒฐ์ด ์–ด๋ ต๋‹ค๋ฉด ๋„์›€๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š”

> ๋ฌธ์ œ ํ’€์ด์— ํ•„์š”ํ•œ ํ•ต์‹ฌ ๋ช…๋ น์–ด์™€ ๋ชจ๋ฒ” ๋‹ต์•ˆ์œผ๋กœ Git์„ ํ•™์Šตํ•œ ํ›„ ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ํ’€์–ด๋ณด์„ธ์š”.
<img alt='' src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/a441aee3-f965-4dd3-aeb2-cdf17aa66194" />

### ์ •๋‹ต์„ ๋งž์ถ”๋ฉด ๋‚ด ๋‹ต์•ˆ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์–ด์š”

> ๋ฌธ์ œ๋ฅผ ๋งž์ท„๋‹ค๋ฉด ๋‚ด ํ’€์ด๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ณต์œ ํ•ด ๋ณด์„ธ์š”.
<img alt='' src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/deb17f8b-5a2d-4a9f-ade4-7b60692999ae" />

<br />

## ๊ธฐ์ˆ  ์Šคํƒ
## โš™๏ธ ๊ธฐ์ˆ  ์Šคํƒ

<table>
<thead>
Expand Down Expand Up @@ -114,13 +173,96 @@

<br />

## ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜
## ๐Ÿ›๏ธ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

![แ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ท แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ฅ](https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/d94724b8-a7a7-48e6-bba8-891bc7bfd696)

<br />

## ๐Ÿ”Ž FE ๊ธฐ์ˆ ์  ๋„์ „

![แ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ท แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ง](https://github.com/boostcampwm2023/web01-GitChallenge/assets/79246447/38f273e5-ff11-4c7b-b4cd-be731ad7f074)
### ๋””์ž์ธ ์‹œ์Šคํ…œ ๊ตฌ์ถ•

| ์ปฌ๋Ÿฌ, ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ ์‹œ์Šคํ…œ | Semantic Token |
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| <img alt="" src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/38512eb4-9a99-48bf-a2df-0bf9a89bb83d" /> | <img alt="" src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/d61c67c7-f2b9-4109-b8a5-7fd7ab97a518" /> |

- ์ƒ‰์ƒ๊ณผ ๊ธ€๊ผด์„ ๋””์ž์ธ ํ† ํฐ์œผ๋กœ ์ถ”์ƒํ™”ํ•œ **์ปฌ๋Ÿฌ, ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ ์‹œ์Šคํ…œ**์œผ๋กœ **๋””์ž์ธ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๋” ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ**ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
- ์ƒ‰์ƒ๊ณผ ๊ธ€๊ผด์— ์˜๋ฏธ๋ฅผ ๋ถ€์—ฌํ•œ **Semantic Token์œผ๋กœ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋น„์šฉ์„ ์ ˆ์•ฝ**ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
- ๋””์ž์ธ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•  ๋•Œ ๋ณ€์ˆ˜์— ์ฃผ์ž…๋œ ์ƒ‰์ƒ ์ฝ”๋“œ๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋˜์–ด **์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ ๋””์ž์ธ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์œ ์—ฐ์„ฑ์„ ํ™•๋ณด**ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

### ์ปดํฌ๋„ŒํŠธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ

- Describe-Context-It, **DCI ํŒจํ„ด์œผ๋กœ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ๊ณ„์ธตํ™”**ํ•˜์—ฌ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ์˜ ๊ฐ€๋…์„ฑ์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.
- ๋ณต์žกํ•œ ๋กœ์ง์„ ๊ฐ ๊ตฌ๋ฌธ, ํ•จ์ˆ˜, ๋ถ„๊ธฐ๋ณ„๋กœ ์ฒ ์ €ํžˆ ํ…Œ์ŠคํŠธํ•˜์—ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ ๋ฆฌํŒฉํ† ๋ง ์‹œ์—๋„ **์ปดํฌ๋„ŒํŠธ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€**ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
- ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๋ฉฐ ๋†“์นœ ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ์„ ํŒŒ์•…ํ•˜์—ฌ **TDD๋กœ ๊ตฌํ˜„**ํ–ˆ์Šต๋‹ˆ๋‹ค.

<img alt="" src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/1456a155-42fe-4f98-bbe6-4000ac72f0ff" width="80%" />

### D3๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”

- Problem
- D3 tree๋Š” ํŠธ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ ๋ ˆ์ด์•„์›ƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ **Git ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋Š” ํŠธ๋ฆฌ๊ฐ€ ์•„๋‹Œ ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ**์ด๊ธฐ ๋•Œ๋ฌธ์— D3 tree ๋ ˆ์ด์•„์›ƒ์— ์ ์šฉํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
- Solved
- Git ๋กœ๊ทธ ๋ฐ์ดํ„ฐ์—์„œ **Multiple Parents ๋…ธ๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด,** ์ผ๋ถ€ ๊ฐ„์„ ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ํŠธ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ๊ฐ€๊ณตํ•œ ํ›„ D3 tree ๋ ˆ์ด์•„์›ƒ์— ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„์—๋Š” **๋ถ„๋ฆฌํ•œ ๊ฐ„์„ ์„ ๋‹ค์‹œ ์ถ”๊ฐ€ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„๋ฅผ ์‹œ๊ฐํ™”**ํ–ˆ์Šต๋‹ˆ๋‹ค.

| ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋น„๊ต | ๋ฌธ์ œ ํ•ด๊ฒฐ |
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| <img alt="" src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/c6c77b30-a9d1-461e-bee8-11df0a317232" /> | <img alt="" src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/b01a4a30-5d4b-4bf2-80c7-8a7dd0e6a3ca" /> |

### UX ๊ฐœ์„ 

| ๋žœ๋”ฉ ํŽ˜์ด์ง€ | Git ๊ทธ๋ž˜ํ”„ ๋ณ€ํ™” |
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| <img alt="" src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/aae4947d-5782-4a1e-97b5-23c445cbe573" /> | <img alt="" src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/1ad9a125-1137-4a8d-b5c0-140360a987c4" /> |

- Intersection Observer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์—์„œ ํ˜„์žฌ ๋ณด์ด๋Š” ์˜์—ญ์„ ๋™์ ์œผ๋กœ ๊ฐ์ง€ํ•˜๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ **์Šคํฌ๋กค ์ด๋ฒคํŠธ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„**ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค์— ์ฒ˜์Œ ์ง„์ž…ํ–ˆ์„ ๋•Œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ์ ˆํ•œ ๋งฅ๋ฝ์„ ์ „๋‹ฌํ•˜๊ณ , **์ž์—ฐ์Šค๋Ÿฌ์šด ํ™”๋ฉด ์ „ํ™˜์„ ์ œ๊ณต**ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.
- ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ Git ๋ช…๋ น์–ด์˜ ๋™์ž‘์„ ์‹œ๊ฐ์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก Git ๊ทธ๋ž˜ํ”„ ๋ณ€ํ™”์— ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. D3์˜ ๋ฐ์ดํ„ฐ ์กฐ์ธ์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€, ์ˆ˜์ •, ๊ทธ๋ฆฌ๊ณ  ์‚ญ์ œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

<br />

## ๐Ÿ”Ž BE ๊ธฐ์ˆ ์  ๋„์ „

### ๋„์ปค ์ปจํ…Œ์ด๋„ˆ

<img width="50%" alt="docker container" src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/c59857a3-08e5-49f0-9e8c-bab8a419be3a">

- ์‚ฌ์šฉ์ž๋ณ„ **๊ฒฉ๋ฆฌ๋œ** git ๋ฌธ์ œ ํ’€์ด ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋ฉด์„œ๋„, git์˜ ์ „์—ญ ์„ค์ •๋“ค์ด ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
- ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ์‹œ๊ฐ„์„ ์•„๋ผ๊ณ ์ž ๊ฐ ๋ฌธ์ œ ๋ณ„๋กœ ๋ฏธ๋ฆฌ ์ƒ์„ฑ๋œ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์— ์‚ฌ์šฉ์ž๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
- ์„œ๋ฒ„ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์˜ค๋ž˜ ๋œ(30๋ถ„) ์ปจํ…Œ์ด๋„ˆ๋Š” ์ž๋™ ์ •๋ฆฌ๋˜๋ฉฐ ์‚ฌ์šฉ์ž ์žฌ์ ‘์† ์‹œ **log ๊ธฐ๋ฐ˜์œผ๋กœ ๋ณต๊ตฌ**๋ฉ๋‹ˆ๋‹ค.
- ๋„คํŠธ์›Œํฌ ์ฐจ๋‹จ, ์‹คํ–‰ ๊ฐ€๋Šฅ ๋ช…๋ น์–ด ๊ฒ€์ฆ, ์œ ์ € ๊ถŒํ•œ ์ œํ•œ ๋“ฑ์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๊ฒ€์ฆํ•˜๊ณ  ์ œํ•œํ–ˆ์Šต๋‹ˆ๋‹ค.

### HTTP๋กœ ์›๊ฒฉ ํ„ฐ๋ฏธ๋„ ์กฐ์ž‘ํ•˜๊ธฐ

<img width="70%" alt="protocol test" src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/95cdab2e-e847-45ff-8f23-5a9d8339c655">

- ssh๋กœ ์ปจํ…Œ์ด๋„ˆ์— ๋ช…๋ น์„ ์ „๋‹ฌํ•˜๊ณ  ๋ฐ›์•„์˜ค๋„๋ก ๊ตฌํ˜„ํ–ˆ์œผ๋‚˜ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
- ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ ๋ฐ ์กฐํšŒ๋ฅผ ์œ„ํ•œ ์ž‘์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹จ๋ฐœ์ ์œผ๋กœ ์ „์†กํ•  ๋•Œ ํšจ์œจ์ ์ธ **HTTP/1.1**์„ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.
- HTTP ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ์‰ฌ์šฐ๋ฉด์„œ๋„ ๋น ๋ฅธ ๋ฐฉ๋ฒ•์ž„์„ ๋ฆฌ์„œ์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

### Git editor ์ปค์Šคํ…€

<img alt="" src="https://github.com/boostcampwm2023/web01-GitChallenge/assets/96400112/c0c8529d-8755-4ac9-9335-7916dcf175a0" width="50%" />

- ์ง์ ‘ ๊ตฌํ˜„ํ•œ ํ„ฐ๋ฏธ๋„๊ณผ ๋ฐฑ์—”๋“œ ๊ตฌ์กฐ๋กœ๋Š” vi Editor์™€ ๊ฐ™์€ **์ƒํ˜ธ์ž‘์šฉ**์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
- ํŽธ์ง‘๊ธฐ์˜ ๋™์ž‘์„ ํŽธ์ง‘ํ•  ํŒŒ์ผ์„ ์ฝ๋Š” ๊ณผ์ •, ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๋Š” ๊ณผ์ • ๋‘ ๋‹จ๊ณ„๋กœ **์ด์›ํ™”**ํ•˜์—ฌ Git์—์„œ core.editor๋กœ ์‚ฌ์šฉํ•  ํŽธ์ง‘๊ธฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ง์ ‘ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

### ์ฑ„์ ์„ ์œ„ํ•ด Jest๋ฅผ ์“ฐ์ง€ ์•Š์€ ์ด์œ 

- Jest๋Š” **ํ…Œ์ŠคํŒ… ํ”„๋ ˆ์ž„์›Œํฌ**๋กœ, ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋ฐ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ , ๋‹ค์–‘ํ•œ ํ…Œ์ŠคํŠธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ๋ฌธ์ œ ํ™˜๊ฒฝ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ Jest ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋ฉด ์ •๋‹ต์ž…๋‹ˆ๋‹ค.
- Jest๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฑ„์  ๋กœ์ง์— ๋Œ€ํ•ด ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šค๋ฅผ ์ด์šฉํ•ด **๋ณ‘๋ ฌ ์‹คํ–‰**์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
- Jest ์ž์ฒด์ ์œผ๋กœ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ์„ค์ •๊ณผ ํ…Œ์ŠคํŠธ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ค€๋น„ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ–ˆ๊ณ , ์ด ๋•Œ๋ฌธ์— ์ผ๋ฐ˜ ์ฝ”๋“œ๋กœ ์ฑ„์ ํ•˜๋Š” ๊ฒƒ์— ๋น„ํ•ด **์†๋„๊ฐ€ ๋Š๋ ธ๊ธฐ** ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

### AI ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ์„ค์ •ํ•˜๊ธฐ

- **HyperCLOVA X ์—”์ง„**์€ ์ถฉ๋ถ„ํžˆ ๋ฐฉ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋Œ€๋‹ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- Git ์„ค์น˜๋‚˜ Git๊ณผ ๋ฌด๊ด€ํ•œ ๋‹ต๋ณ€์€ ํ•˜์ง€ ์•Š๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
- ๊ต์œก์„ ์œ„ํ•ด ์ฐฝ์˜์ ์ธ ํ•ด๊ฒฐ๋ฒ• ๋ณด๋‹ค๋Š” ํ•™์Šต์„ ์œ„ํ•œ **์ „ํ˜•์ ์ธ ํ•ด๊ฒฐ๋ฒ•**์„ ๋‹ตํ•˜๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
- [๐Ÿค– CLOVA Studio ํ™œ์šฉ์— ๋Œ€ํ•ด ์ž์„ธํ•œ ๊ธ€์€ ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค.](https://bow-snail-89d.notion.site/CLOVA-Studio-c9ae177c357b4c68905fb0df83e043e4?pvs=4)

<br />

## ํŒ€์› ์†Œ๊ฐœ
## ๐Ÿงก ํŒ€์› ์†Œ๊ฐœ

| ๋ฐ•์šฉ์ค€ | ๋ฐ•์ •์ œ | ๋ฐ•์œ ํ˜„ | ์œค์ฑ„ํ˜„ |
| :----------------------------------------------------------------------------: | :-----------------------------------------------------------------------------: | :--------------------------------------------------------------------------: | :--------------------------------------------------------------------------: |
Expand Down

0 comments on commit cc25f5a

Please sign in to comment.