๋ฐฐํฌ ๋งํฌ
https://git-challenge.com/
ํ ๋
ธ์
ย | ย
๋ฐฑ๋ก๊ทธ
ย | ย
๊ธฐํ์ ย | ย
figma
๊ทธ๋ผ์ด๋ ๋ฃฐ
ย | ย
๊ฐ๋ฐ ์ํค
- ๐ ๋ชฉ์ฐจ
- โ๐ป ํ๋ก์ ํธ ๊ฐ์
- ๐ ํต์ฌ ๊ธฐ๋ฅ
- โ๏ธ ๊ธฐ์ ์คํ
- ๐๏ธ ์์คํ ์ํคํ ์ฒ
- ๐ FE ๊ธฐ์ ์ ๋์
- ๐ BE ๊ธฐ์ ์ ๋์
- ๐งก ํ์ ์๊ฐ
Git Challenge๋ ์ฌ์ฉ์๋ค์ด git์ ์ฌ์ฉํ๋ฉฐ ๋ฐ์ํ ์ ์๋ ๋ค์ํ ์ํฉ์ ๋ฏธ๋ฆฌ ์ฒดํํ๊ณ , ํ์ตํ ์ ์๋๋ก ๋์์ฃผ๋ ์๋น์ค์ ๋๋ค. ์ด ์๋น์ค๋ฅผ ํตํด ์ฌ์ฉ์๋ค์ git ๋ช ๋ น์ด์ ๋ํด ์ค์ตํ๊ณ , ์ค์ ๋ก ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ์ํฉ์ ํด๊ฒฐํ๋ ๊ฒฝํ์ ํ ์ ์์ต๋๋ค.
์ด ์ธ๊ฐ์ง ๋์ด๋๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ๊ฒช์ ์ ์๋ Git ๋ฌธ์ ์ํฉ์ ์ค์ตํ๋ฉฐ ์ฐ์ตํด๋ณด์ธ์!
- ํํ ๋ฆฌ์ผ ์ ๋์ ๋์ด๋ Git start
- Git start๋ณด๋ค ์ด๋ ค์ด ๋์ด๋์ด๋ฉฐ ์คํ ๋ฆฌ ํ์์ Git advanced
- ์๊ฒฉ ์ ์ฅ์์ ๊ด๋ จ๋ ๋ฌธ์ ์ด๋ฉฐ ์คํ ๋ฆฌ ํ์์ Remote start
ํฐ๋ฏธ๋ ํ๊ฒฝ์์ ์ง์ Git ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ณ , vi ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ๋ฉฐ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์ธ์.
Git ๋ช ๋ น์ด ๋์์ ๋ฐ๋ผ ๋ณํ๋๋ Git ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉฐ, Git์ ๋ํ ์ดํด๋ฅผ ๋์ฌ๋ณด์ธ์.
๋ฌธ์ ํ์ด์ ํ์ํ ํต์ฌ ๋ช ๋ น์ด์ ๋ชจ๋ฒ ๋ต์์ผ๋ก Git์ ํ์ตํ ํ ๋ฌธ์ ๋ฅผ ๋ค์ ํ์ด๋ณด์ธ์.
๋ฌธ์ ๋ฅผ ๋ง์ท๋ค๋ฉด ๋ด ํ์ด๋ฅผ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๊ณต์ ํด ๋ณด์ธ์.
๋ถ๋ฅ | ๊ธฐ์ ์คํ |
---|---|
๊ณตํต |
|
ํ๋ก ํธ์๋ |
|
๋ฐฑ์๋ |
|
ํจํค์ง ๋งค๋์ |
|
๋ฐฐํฌ |
|
ํ์ |
์ปฌ๋ฌ, ํ์ดํฌ๊ทธ๋ํผ ์์คํ | Semantic Token |
---|---|
- ์์๊ณผ ๊ธ๊ผด์ ๋์์ธ ํ ํฐ์ผ๋ก ์ถ์ํํ ์ปฌ๋ฌ, ํ์ดํฌ๊ทธ๋ํผ ์์คํ ์ผ๋ก ๋์์ธ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์์ต๋๋ค.
- ์์๊ณผ ๊ธ๊ผด์ ์๋ฏธ๋ฅผ ๋ถ์ฌํ Semantic Token์ผ๋ก ์ปค๋ฎค๋์ผ์ด์ ๋น์ฉ์ ์ ์ฝํ ์ ์์์ต๋๋ค.
- ๋์์ธ ๋ณ๊ฒฝ์ด ํ์ํ ๋ ๋ณ์์ ์ฃผ์ ๋ ์์ ์ฝ๋๋ง ์์ ํ๋ฉด ๋์ด ์ด๊ธฐ ๊ฐ๋ฐ ๋จ๊ณ์์ ๋์์ธ ๋ณ๊ฒฝ์ ๋ํ ์ ์ฐ์ฑ์ ํ๋ณดํ ์ ์์์ต๋๋ค.
- Describe-Context-It, DCI ํจํด์ผ๋ก ํ ์คํธ ์ผ์ด์ค๋ฅผ ๊ณ์ธตํํ์ฌ ํ ์คํธ ๊ฒฐ๊ณผ์ ๊ฐ๋ ์ฑ์ ๊ฐ์ ํ์ต๋๋ค.
- ๋ณต์กํ ๋ก์ง์ ๊ฐ ๊ตฌ๋ฌธ, ํจ์, ๋ถ๊ธฐ๋ณ๋ก ์ฒ ์ ํ ํ ์คํธํ์ฌ ๊ธฐ๋ฅ ์ถ๊ฐ ๋ฐ ๋ฆฌํฉํ ๋ง ์์๋ ์ปดํฌ๋ํธ์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ ์ ์์์ต๋๋ค.
- ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ๋ฉฐ ๋์น ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ์ ํ์ ํ์ฌ TDD๋ก ๊ตฌํํ์ต๋๋ค.
- Problem
- D3 tree๋ ํธ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ํ ๋ ์ด์์์ ๋๋ค. ํ์ง๋ง Git ๋ก๊ทธ ๋ฐ์ดํฐ๋ ํธ๋ฆฌ๊ฐ ์๋ ๋คํธ์ํฌ ๊ทธ๋ํ ๋ฐ์ดํฐ์ด๊ธฐ ๋๋ฌธ์ D3 tree ๋ ์ด์์์ ์ ์ฉํ ์ ์๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
- Solved
- Git ๋ก๊ทธ ๋ฐ์ดํฐ์์ Multiple Parents ๋ ธ๋๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด, ์ผ๋ถ ๊ฐ์ ์ ๋ถ๋ฆฌํ์ฌ ํธ๋ฆฌ ๋ฐ์ดํฐ๋ก ๊ฐ๊ณตํ ํ D3 tree ๋ ์ด์์์ ์ ์ฉํ์ต๋๋ค. ์ดํ์๋ ๋ถ๋ฆฌํ ๊ฐ์ ์ ๋ค์ ์ถ๊ฐํ์ฌ ๋คํธ์ํฌ ๊ทธ๋ํ๋ฅผ ์๊ฐํํ์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋น๊ต | ๋ฌธ์ ํด๊ฒฐ |
---|---|
๋๋ฉ ํ์ด์ง | Git ๊ทธ๋ํ ๋ณํ |
---|---|
- Intersection Observer๋ฅผ ์ฌ์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ํ๋ฉด์์ ํ์ฌ ๋ณด์ด๋ ์์ญ์ ๋์ ์ผ๋ก ๊ฐ์งํ๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์คํฌ๋กค ์ด๋ฒคํธ ์ ๋๋ฉ์ด์ ์ ์ค๊ณํ๊ณ ๊ตฌํํ์ต๋๋ค. ์ด๋ฅผ ํตํด ์๋น์ค์ ์ฒ์ ์ง์ ํ์ ๋ ์ฌ์ฉ์์๊ฒ ์ ์ ํ ๋งฅ๋ฝ์ ์ ๋ฌํ๊ณ , ์์ฐ์ค๋ฌ์ด ํ๋ฉด ์ ํ์ ์ ๊ณตํ๊ธฐ ์ํด ๋ ธ๋ ฅํ์ต๋๋ค.
- ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ Git ๋ช ๋ น์ด์ ๋์์ ์๊ฐ์ ์ผ๋ก ํ์ ํ ์ ์๋๋ก Git ๊ทธ๋ํ ๋ณํ์ ์ ๋๋ฉ์ด์ ์ ์ ์ฉํ์ต๋๋ค. D3์ ๋ฐ์ดํฐ ์กฐ์ธ์ ์ด์ฉํด ๋ฐ์ดํฐ ์ถ๊ฐ, ์์ , ๊ทธ๋ฆฌ๊ณ ์ญ์ ์ ๋๋ฉ์ด์ ์ ๊ตฌํํ์ต๋๋ค.
- ์ฌ์ฉ์๋ณ ๊ฒฉ๋ฆฌ๋ git ๋ฌธ์ ํ์ด ํ๊ฒฝ์ ์ ๊ณตํ๋ฉด์๋, git์ ์ ์ญ ์ค์ ๋ค์ด ๋ค๋ฅธ ์ฌ์ฉ์๋ค์๊ฒ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ํ๊ธฐ ์ํด ๋์ปค ์ปจํ ์ด๋๋ฅผ ์ด์ฉํ์ต๋๋ค.
- ์ปจํ ์ด๋ ์์ฑ ์๊ฐ์ ์๋ผ๊ณ ์ ๊ฐ ๋ฌธ์ ๋ณ๋ก ๋ฏธ๋ฆฌ ์์ฑ๋ ์ปจํ ์ด๋ ํ๊ฒฝ์ ์ฌ์ฉ์๋ฅผ ํ ๋นํ๊ณ ์๋ก์ด ์ปจํ ์ด๋๋ฅผ ์์ฑํฉ๋๋ค.
- ์๋ฒ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด ์ค๋ ๋(30๋ถ) ์ปจํ ์ด๋๋ ์๋ ์ ๋ฆฌ๋๋ฉฐ ์ฌ์ฉ์ ์ฌ์ ์ ์ log ๊ธฐ๋ฐ์ผ๋ก ๋ณต๊ตฌ๋ฉ๋๋ค.
- ๋คํธ์ํฌ ์ฐจ๋จ, ์คํ ๊ฐ๋ฅ ๋ช ๋ น์ด ๊ฒ์ฆ, ์ ์ ๊ถํ ์ ํ ๋ฑ์ผ๋ก ์ฌ์ฉ์์ ์ ๋ ฅ์ ๊ฒ์ฆํ๊ณ ์ ํํ์ต๋๋ค.
- ssh๋ก ์ปจํ ์ด๋์ ๋ช ๋ น์ ์ ๋ฌํ๊ณ ๋ฐ์์ค๋๋ก ๊ตฌํํ์ผ๋ ์ถฉ๋ถํ ๋น ๋ฅด์ง ์์์ต๋๋ค.
- ์ปจํ ์ด๋ ๊ด๋ฆฌ ๋ฐ ์กฐํ๋ฅผ ์ํ ์์ ๋ฐ์ดํฐ๋ฅผ ๋จ๋ฐ์ ์ผ๋ก ์ ์กํ ๋ ํจ์จ์ ์ธ HTTP/1.1์ ์ฌ์ฉํ๋ ์๋ฒ๋ฅผ ์ถ๊ฐ ๋์ ํ์ต๋๋ค.
- HTTP ์๋ฒ๋ฅผ ์ถ๊ฐ๋ก ๊ฐ๋ฐํ๋ ๊ฒ์ด ์ฌ์ฐ๋ฉด์๋ ๋น ๋ฅธ ๋ฐฉ๋ฒ์์ ๋ฆฌ์์นํ์ต๋๋ค.
- ์ง์ ๊ตฌํํ ํฐ๋ฏธ๋๊ณผ ๋ฐฑ์๋ ๊ตฌ์กฐ๋ก๋ vi Editor์ ๊ฐ์ ์ํธ์์ฉ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค.
- ํธ์ง๊ธฐ์ ๋์์ ํธ์งํ ํ์ผ์ ์ฝ๋ ๊ณผ์ , ํ์ผ์ ํธ์งํ๋ ๊ณผ์ ๋ ๋จ๊ณ๋ก ์ด์ํํ์ฌ Git์์ core.editor๋ก ์ฌ์ฉํ ํธ์ง๊ธฐ ํ๋ก๊ทธ๋จ์ ์ง์ ์์ฑํ์ต๋๋ค.
- Jest๋ ํ ์คํ ํ๋ ์์ํฌ๋ก, ๋จ์ ํ ์คํธ ๋ฐ ํตํฉ ํ ์คํธ๋ฅผ ์ํด ๋๋ฆฌ ์ฌ์ฉ๋๊ณ , ๋ค์ํ ํ ์คํธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์์ ๋ฌธ์ ํ๊ฒฝ ์ปจํ ์ด๋๊ฐ Jest ํ ์คํธ๋ฅผ ํต๊ณผํ๋ฉด ์ ๋ต์ ๋๋ค.
- Jest๋ฅผ ์ฌ์ฉํ๋ฉด ์ฑ์ ๋ก์ง์ ๋ํด ๋ฉํฐํ๋ก์ธ์ค๋ฅผ ์ด์ฉํด ๋ณ๋ ฌ ์คํ์ด ๊ฐ๋ฅํฉ๋๋ค.
- Jest ์์ฒด์ ์ผ๋ก ํ ์คํธ ํ๊ฒฝ ์ค์ ๊ณผ ํ ์คํธ ์คํ ํ๊ฒฝ์ ์ค๋นํ๋ ๊ณผ์ ์ด ํ์ํ๊ณ , ์ด ๋๋ฌธ์ ์ผ๋ฐ ์ฝ๋๋ก ์ฑ์ ํ๋ ๊ฒ์ ๋นํด ์๋๊ฐ ๋๋ ธ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์ง ์์์ต๋๋ค.
- HyperCLOVA X ์์ง์ ์ถฉ๋ถํ ๋ฐฉ๋ํ ์ ๋ณด๋ฅผ ๋๋ตํ ์ ์์ต๋๋ค.
- Git ์ค์น๋ Git๊ณผ ๋ฌด๊ดํ ๋ต๋ณ์ ํ์ง ์๋๋ก ํ์์ต๋๋ค.
- ๊ต์ก์ ์ํด ์ฐฝ์์ ์ธ ํด๊ฒฐ๋ฒ ๋ณด๋ค๋ ํ์ต์ ์ํ ์ ํ์ ์ธ ํด๊ฒฐ๋ฒ์ ๋ตํ๋๋ก ํ์์ต๋๋ค.
๋ฐ์ฉ์ค | ๋ฐ์ ์ | ๋ฐ์ ํ | ์ค์ฑํ |
---|---|---|---|
BE | BE | FE | FE |
@flydog98 | @LuizyHub | @YuHyun-P | @yunchaehyun |