-
Notifications
You must be signed in to change notification settings - Fork 7
๐ WEEK 03 ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ
choiseona edited this page Dec 3, 2024
·
2 revisions
์ธ๋ถ ๋ด์ฉ ๋ณด๊ธฐ
- ๋ฏธ๋ผ: ์ค๋๋ฐ ๋ ์๊ฐ์ด ๊ฑธ๋ ธ์ด์. ์์๋ถ๋ค ์์ธ ์ด๋ป๊ฒ ์ค์๋์?
-
์ ์: ์์ ๋ ๋นผ๋นผ๋ก/ํ์ผ ๊ฐ์ฌํฉ๋๋คโค๏ธ
- ๋ฏธ๋ผ: โค๏ธ
- ๋ค์: โค๏ธ
- ใฑใ
-
์์ : ์ค๋๋ฐ 10๋ถ ๊ฑธ๋ ธ์ด์.ใ
ใ
ใ
ใน
- ํ bb
- ๋ค์: ์๊ฒฝ ๋๊ณ ์์ด์.
- ํ์ฐ: ์ง๊ฐํ์ด์. ๊ด์ญ ๋ฒ์ค ์ ๋ง ๋ณ๋ก์์.
-
๋ฏธ๋ผ: ์ธ์คํด์ค ์์ฑ ๋ฐ
.pem
์ผ๋ก ๋ก๊ทธ์ธํ์ด์. -
์ ์: ํ์ด๋จธ util ๊ตฌํํ์ด์.
- (raf ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋๋ฐ ์น ๋ธ๋ผ์ฐ์ ๋นํ์ฑํ๋๋ฉด ํ์ด๋จธ๊ฐ ๋ฉ์ถ๋ค๊ณ ํด์. setInterval๋ก ๋ฐ๊ฟ์ผ ํ ๊น์?)
- useModal ๊ตฌํํ์ด์. Setting ์ปดํฌ๋ํธ๋ฅผ ๊ฑฐ์ ์๋ฃํ์ด์.
- ์์ : Playwright๋ก ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๊ณ E2E ํ ์คํธ ๋๊ตฌ๋ฅผ ์กฐ์ฌํ์ด์.
- ๋ค์: ๊ทธ๋ฆฌ๊ธฐ ๊ธฐ๋ฅ ๊ด๋ จ ์ด์๋ฅผ PR๋ก ๋ ๋ ธ์ด์.
- ํ์ฐ: ์บ๋ฒ์ค UI๋ฅผ ์ ์ํ์ด์.
- ๋ฏธ๋ผ: ์
- ์ ์: ์กธ๋ ค์. ์์์ผ์ ํญ์ ์กธ๋ฆฐ ๊ฒ ๊ฐ์์.๐ด
- ์์ : ์์ด์.
- ๋ค์: ๋งค์ฐ ํผ๊ณคํ์ด์.
- ํ์ฐ: ๊ด์ญ ๋ฒ์ค
-
์ฃผ๊ฐ ๊ณํ ์๋ฆฝ
- UI ๋ง๋ฌด๋ฆฌ
- Storybook PR ์์ฑ ์ Preview ๋ฐ ๋ฐฐํฌ
- ๊ฒ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ ์์
- ์ ๋ํฌํ URL ์์ฑ + ๋ฐฉ ์ ์ฅ
- WebSocket & ๋ฐฐํฌ
- CRDT(LWW ๋ฐฉ์) ๋ฐ ํ ์คํธ ์ฝ๋ ์ถ๊ฐ
- GitHub Action CI/CD
-
์์ ํ๋ฉด, ๋๊ธฐ, ๋ฉ์ธ, ์ข
๋ฃ ํ๋ฉด ๊ตฌํ
- ๊ธฐ์ด ๋ ์ด์์ ํผ๋ธ๋ฆฌ์ฑ
- ์ด๋ฏธ์ง ์ถ๊ฐ
-
๋ง์คํฐ ํด๋์ค ์ด๋ป๊ฒ ๋ค์์ง
- FE: ๋ค์, ์ ์ / BE: ์์ , ํ์ฐ, ๋ฏธ๋ผ
-
๋ฉํ ๋ํํ ๊ทธ๋ฃน ๋ฉํ ๋ง ์ผ์ ๋ฌผ์ด๋ณด๊ธฐ
-
๋น๋๋ฉด ์ฝ์ด ํ์ ์๊ฐํ ๊ณํ
- ์ด๋ฒ ์ฃผ ํ, ์ ๋น๋๋ฉด
- 10:00 - 10:30: ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ
- 12:00 - 13:00: ์ ์ฌ์๊ฐ
- 15:00, 19:00: ์ค๊ฐ ํ์
- ํํ์ด ํธ์ถํด์ ์ด์ผ๊ธฐ ๊ฐ๋ฅ
- 10:00 - 19:00 ์ฝ์ด ํ์์๋ Zep ์์ฃผ
- ์ด๋ฒ ์ฃผ ํ, ์ ๋น๋๋ฉด
-
PR ๋ฆฌ๋ทฐ & Approve
-
์ด๋ฒ ์ฃผ ๋ฐ๋ชจ ์๋๋ฆฌ์ค
- ๋ฐฉ ๋ง๋ค์ด์ ๋์์ ์ ๋ฐ ๋๋ก์๊น์ง
- CRDT ์ค์
-
์ฌ๋ ๊ธฐ์ ๊ณต์
- ์บ๋ฒ์ค ์ ์ฑ์ฐ๊ธฐ(BFS)
- E2E ํ ์คํธ ๋๊ตฌ
์ธ๋ถ ๋ด์ฉ ๋ณด๊ธฐ
- ์ ์: ์ง์ ๊ฐ์ ๊ธฐ์ ํ๊ณ ์๋ฒฝ์ ์ผ์ฐ ์ผ์ด๋ฌ์ด์.
- ๋ฏธ๋ผ: ์ด์ GitHub Action CI/CD ์์ ๋ณด๋ค๊ฐ ๊ธฐ์ต๋ ์์ด ์ ๋ค์ด ๋ฒ๋ ธ์ด์.
-
์์ : ์ด์ ์ฃฝ ๋จน๊ณ ๋ ๋ป๋ป ํ๋ฆฌ๋ฉด์ ์ค์ด์.
- ์ํ์ด์.
- ๋ค์: ์์ฌ์์ฌํ๊ฒ ์ผ์ด๋ฌ์ด์. (9์ 50๋ถ ๊ธฐ์)
- ํ์ฐ: ๋น๋๋ฉด์ ์ผํ๋ ๋ง์ด ์ ๋๋ ๊ฒ ๊ฐ์์.
-
์ ์: Setting ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ฌด๋ฆฌํ์ด์.
- Storybook PR ์์ฑ ์ Preview ๋ฐฐํฌ๋ฅผ ์๋ฃํ์ง๋ง, ์ํ๋ ํ๊ฒฝ ๊ตฌ์ฑ์ ํ๋๋ผ ์๊ฐ์ ๋ณด๋์ด์.
- ์๋ฆผ์ด ๋๋ฌด ๋ง์ด ๊ฐ์ ์ฃ์กํด์ใ ใ
- ๊ด์ฐฎ์์! ์จ๋ฆ ์ค์๊ฐ์ผ๋ก ๊ตฌ๊ฒฝํ์ด์.
- Storybook PR ์์ฑ ์ Preview ๋ฐฐํฌ๋ฅผ ์๋ฃํ์ง๋ง, ์ํ๋ ํ๊ฒฝ ๊ตฌ์ฑ์ ํ๋๋ผ ์๊ฐ์ ๋ณด๋์ด์.
- ๋ค์: ํ์ธํธ ํด ๊ด๋ จ ์ด์ PR๊ณผ ๋ฐ์ํ ๋๋ก์ ์ด์ PR์ ๋ ๋ ธ์ด์.
-
๋ฏธ๋ผ: GitHub Action CI/CD ๊ด๋ จ ๊ตฌ๊ธ๋ง์ ํ์ด์.
- ์ฐธ๊ณ ์์: GitHub Actions with Docker
-
ํ์ฐ: ์บ๋ฒ์ค๋ฅผ ์ฌ๋ฐ๊ฒ ๊ตฌํํ๊ณ ๋ผ์ฐํฐ ๊ตฌ์กฐ๋ฅผ ์ก์์ด์. ๋ ์ด์์๋ ์งฐ์ด์.
- 280px ~ 640px ๋ชจ๋ฐ์ผ๋ก ์ก์์ ์งํ ์ค์ด์์.
- ์บ๋ฒ์ค ์ ์์ญ์์ ํฌ์ปค์ฑ๋๋ฉด ์คํฌ๋กค๋์ง ์๋๋ก ์ค์ ํ์ด์.
- ๊ณ ๋ฏผ๊ฑฐ๋ฆฌ: ํ 800px๋ง ๋ผ๋ ์กฐ๊ธ ์์์ง๋๋ฐ, ์ต์ ํ๋ฅผ ์ด๋ป๊ฒ ํด์ผ ํ ์ง ์๊ฐ ์ค์ด์์.
- ์์ : ์บ๋ฒ์ค ์ผ์น ์ ๋๋ฅผ ๋น๊ตํ์ด์.
- ๋ฏธ๋ผ: ์์ด์.
- ์์ : ๋ชธ์ด ๊ฐ๊ธฐ๊ฐ ์์์ด์.
- ์ ์: ์์ด์.
- ๋ค์: Git ์ค์๋ฅผ ํ์ด์.
- ํ์ฐ: ๋น๋๋ฉด์ด๋ผ ์ง์ค์ด ์ด๋ ค์ ์ด์.
-
๋ฏธ๋ผ:
- ํ ์คํธ ๋ฐฐํฌํ ๊ฒ์ CI/CD๊น์ง ์ ์ฉํด๋ณด๊ธฐ
- Docker๋ก ๋ฐฐํฌํด๋ณด๊ธฐ
- Docker๋ก ๋ฐฐํฌํ ๊ฒ์ CI/CD๊น์ง ์ ์ฉํด๋ณด๊ธฐ
-
์์ :
- ์บ๋ฒ์ค ๊ธฐ๋ฅ์ ์ฐ๋ํ๋ฉด ๋ฐ๋ก CRDT์ ํ ์คํธ ์ฝ๋๋ฅผ ์ ์ฉํ ์ ์๋๋ก ๋ฌธ์ํํ๊ธฐ
- ๋ฏธ๋ผ๋์ ๊ตฌํ ๊ณผ์ ๊ธฐ๋ก ์ฝ์ด๋ณด๊ธฐ
-
์ ์:
- Storybook ๋ฐฐํฌ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ณ ๋ง๋ ์ปดํฌ๋ํธ๋ฅผ ๋ฐฐํฌํ๊ธฐ
- ๊ฒ์ ์ข ๋ฃ ๋ชจ๋ฌ์ ๊ตฌํํ๊ธฐ
-
๋ค์:
- PR ๋จธ์ง ํ UI์ ์บ๋ฒ์ค ๋ก์ง์ ํฉ์น๊ธฐ
- Git ์ค์ ์์ต ํ ์งํ
-
ํ์ฐ:
- ์ ์ฒด ํ์ด์ง ํผ๋ธ๋ฆฌ์ฑ
- ์๋ฃ๋๋ค๋ฉด ์บ๋ฒ์ค ๋๋ ์๋ฒ ์ชฝ ์์ ์งํ
- ์บ๋ฒ์ค UI ๊ตฌํ ์ดํ ๋๋ฒ๊น
- ์ ์ฒด ํ์ด์ง ํผ๋ธ๋ฆฌ์ฑ
์ธ๋ถ ๋ด์ฉ ๋ณด๊ธฐ
- ๋ฏธ๋ผ: ์ด์ ๋งฅ๋ถ์ ๊ฒฐ์ ํ์ด์. 15~19์ผ ์ค ๋์ฐฉ ์์ ์ด๋ผ๊ณ ํด์.
- ํ์ฐ: ๋ฏธ๋ผ๋ ๋งฅ๋ถ ์ฌ์ จ๋์.
- ์ ์: ํ ์ ๋ง์? ๋๋ฐ ๋๋ฐ ๋๋ฐ ๋๋ฐ ์ ๋ ๋งฅ๋ถ ์ฌ๊ณ ์ถ์ด์.
- ์์ : ๋ฏธ๋ผ๋์ด ๋งฅ๋ถ์ ๊ฒฐ์ ํด์ ๊ธฐ๋ถ์ด ์ข์์ด์. ๐ฅณ
- ๋ค์: ๊ฐ์ดํจ
- ๋ฏธ๋ผ: Docker๋ก ๋ฐฐํฌํ๊ณ CI/CD๋ฅผ ์ ์ฉํ์ด์. ํ์ต ๋ด์ฉ์ ์ ๋ฆฌํ์ด์.
- ์ ์: Storybook ๋ฐฐํฌ๋ฅผ ์๋ฃํ์ด์.
-
ํ์ฐ: ๊ดํ ์ ํ ํจ๊ณผ๋ฅผ ์ค๋ค๊ณ ๋
ธ๊ฐ๋ค๋ฅผ ๋ง์ด ํ์ด์.
- ์ปจํ ์ด๋ ์ญํ ์ ๋ง๋ค์์ด์.
- ์์ฐ์ค๋ฌ์ด ์ ๋๋ฉ์ด์ ์ ๋ง๋ค์์ด์.
- ์์ : Playwright์ ์จ๋ฆํ์ด์.
- ๋ค์: Deploy ์คํจ ๋ถ๋ถ์ ์์ ํ์ด์.
- ์ ์: ์์ด์.
-
์์ : Playwright ์คํ ์ค ํผ์ ์ข
๋ฃ๋ผ์ ์ค๋ฅ ์ฝ๋๋ฅผ ์ ์ ์์์ด์.
- ๋ฏธ๋ผ: ํ...
- ํ์ฐ: ๋ฏธ๋ผ๋์ ๋ ธํธ๋ถ์ด ๋ฐฉํด์์ด์.
- ๋ค์: Git์์์ ์์ํ ์ค์๋ค...
-
๊ณตํต ์์ :
- ์บ๋ฒ์ค UI + ๊ธฐ๋ฅ ์ฐ๋
- ์์ผ ์ฐ๊ฒฐ ๊ตฌํ
- ๋ฐ๋ชจ์ฉ API ๊ตฌํ
- CRDT ๋ก์ง ๋ถ์ด๊ธฐ
- ๊ทธ๋ฃน ๋ฉํ ๋ง ์ค๋น
-
์ ์:
- ๋ผ์ด๋ ๊ฒฐ๊ณผ ๋ชจ๋ฌ ๊ตฌํ
- Storybook ๋จ์ ๋ฐฐํฌ ๋ฐ ๊ธฐ์ ๋ก๊ทธ ์์ฑ
- ์ดํ ๋ฐฑ์๋ ๊ณต๋ถ
-
๋ฏธ๋ผ:
- ์์ผ ์ฐ๊ฒฐ
-
ํ์ฐ:
- ๋ฐฐ๊ฒฝ ํฌ๋ช ์ฒ๋ฆฌ
- ๋๊ธฐ/๋ฉ์ธ/๊ฒฐ๊ณผ ํ๋ฉด
- ๋๊ธฐ ํ๋ฉด ์๋ฃ๋๋ฉด ๋ฏธ๋ผ๋๊ป ์๋ฆผ
-
์์ :
- Playwright ๋ง๋ฌด๋ฆฌ ์์
- ์ ์ ์ธ ์ด๋ฏธ์ง ๋น๊ต(๊ฐ์ - 0%, ๋ค๋ฆ - ๊ฑฐ์ 100%)
- ๋์ ์ธ ์ด๋ฏธ์ง ๋น๊ต(๊ฐ์, ๋ค๋ฆ, ๋๋ค)
- ํฝ์ /PNG/์คํฌ๋ฆฐ์ท ์ค ์ ํ๋๊ฐ ๋์ ๋น๊ต ๋ฐฉ๋ฒ ์ ํ
- CRDT ์ /ํ ๊ธฐ๋ก
- Playwright ๋ง๋ฌด๋ฆฌ ์์
-
๋ค์:
- ์บ๋ฒ์ค UI + ๊ธฐ๋ฅ ์ฐ๋
- ํฝ์ ์๋ชจ๋ ๋ฐ์
์ธ๋ถ ๋ด์ฉ ๋ณด๊ธฐ
- ๋ฏธ๋ผ: ์งํ์ฒ ์ค์ผ ํฌ์ฃ ํ๋ค์ด์ ใ ใ
- ์ ์: ํธ์์ ์์ ์ผ๊ฐ๊น๋ฐฅ ๋จน๊ณ ์ด
-
์์ : ๋ชฉ ๋ถ์ด์ ๋ชฉ์ ์ด ์๋ค์ด์ง
- ์ฃผ์ธ ๋ฎ์์ ์๋คํ๋๋ด์
- ๋ค์: ์์นจ์ ํ์ ๋จน์์
- ํ์ฐ: ํ ์์ผ์ ๋ฒ์คํน ๋ชจ์์์ ๊ฐ์์ ํจ. 1๋ฑ ํ๊ณ ์ถ์
-
๋ฏธ๋ผ: ํ๋ก ํธ & ๋ฐฑ ์ฝ๋ ์๋ ๋ฐฐํฌ, Redis ์ฐ๊ฒฐ
- ๋ฏธ๋ผ๋ ์ต๊ณ !
- ์ ์: ๋ผ์ด๋ ์ข ๋ฃ ๋ชจ๋ฌ ์ ์ & ์คํ ๋ฆฌ๋ถ ๋ฐฐํฌ ์๋ฃ & ๊ธฐ์ ๋ก๊ทธ ์์ฑ(๊ฑฐ์ ์๋ฃ)
- ์์ : ๋๋ค ๋๋ก์ ๋น๊ต๊น์ง๋ ์๋ฃ (CRDT ์ ์ฉ ์ /ํ)
- ๋ค์: ์บ๋ฒ์ค ๋ณํฉ ํ์ธํธ ํด ๊น์ง ์๋ฃ
- ํ์ฐ: ๋ ์ด์์ ์ ๋ง ๋ฉ์ง๊ฒ ํจ. ๊ทผ๋ฐ sm์ผ๋ก ๋ชจ๋ฐ์ผ ๊ธฐ์ค์ ์ก์๋๋ฐ lg๋ก ์ก์์ผํ ๋ฏ ๋๋ฌด ์ด์ํจ
-
๋ฏธ๋ผ: ์ถฉ์ ๊ธฐ ๋๊ณ ์ดใ
โฆโฆโฆโฆ..
- ๋ ธํธ๋ถ์ด ๋ฌธ์ ๋ผ์ ๊ทธ๋ผ
- cํ์ ์ถฉ์ ๊ธฐ ๊ฐ์ง๊ณ ๊ณ์ ๋ค๋ฉด ๋น๋ ค์ฃผ์ธ์ค
- ์ ์: ๊ฟ๊ฟํ ๋ ์จ
- ์์ : ์ธํ์ผ
- ๋ค์: ํผ๊ณค์ฐ
- ํ์ฐ: ๊ฒ์ํ๊ณ ์ถ์
- ๋ฏธ๋ผ: ๋ฐฉ ์์ฑ ๋ฐ ์ฐธ๊ฐ, ๊ทธ๋ฆผ ๋ฐ์ดํฐ ์ค๊ณ ์๋ฒ ์ฝ๋ ์์ฑ
- ์ ์: ์คํ ๋ฆฌ๋ถ ๊ธฐ์ ๋ก๊ทธ ์์ฑ ๋ง๋ฌด๋ฆฌ & ์บ๋ฒ์ค
- ์์ : ๋ณํฉํ ์ฝ๋์ CRDT ์ ์ฉ + ๊ฐ๋ฅํ๋ฉด ํ ์คํธ ์ฝ๋๊น์ง
- ๋ค์: pr ๋ ๋ฆฌ๊ณ ๋ฆฌ๋ทฐ ํผ๋๋ฐฑ ์์ . ์ดํ undo & redo๊น์ง ํด๋ณด๊ณ ์ถ์
- ํ์ฐ: ๋ฉ์ธ ์๋ฃ ํ ์๋ฒ์ ๋๊ธฐํ ๋ฐ ๋๋จธ์ง ํผ๋ธ๋ฆฌ์ฑ ์ ๋ง ๋ฉ์ง๊ฒ ์งํ
- 1. ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ ๋ฐ ํ๋ก์ ํธ ๋ฌธ์ํ
- 2. ์ค์๊ฐ ํต์
- 3. ์ธํ๋ผ ๋ฐ CI/CD
- 4. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ด Canvas ๊ตฌํํ๊ธฐ
- 5. ์บ๋ฒ์ค ๋๊ธฐํ๋ฅผ ์ํ ์์ CRDT ๊ตฌํ๊ธฐ
-
6. ์ปดํฌ๋ํธ ํจํด๋ถํฐ ์น์์ผ๊น์ง, ํจ์จ์ ์ธ FE ์ค๊ณ
- ์ข์ ์ปดํฌ๋ํธ๋ ๋ฌด์์ธ๊ฐ? + Headless Pattern
- ํจ์จ์ ์ธ UI ์ปดํฌ๋ํธ ์คํ์ผ๋ง: Tailwind CSS + cn.ts
- Tailwind CSS๋ก ๋์์ธ ์์คํ ๋ฐ UI ์ปดํฌ๋ํธ ์ธํ
- ์น์์ผ ํด๋ผ์ด์ธํธ ๊ตฌํ๊ธฐ: React ํ๊ฒฝ์์ ํจ์จ์ ์ธ ์น์์ผ ์ํคํ ์ฒ
- ์น์์ผ ํด๋ผ์ด์ธํธ ์ฝ๋ ๋ถ์ ๋ฐ ๊ณต์
- 7. ํธ๋ฌ๋ธ ์ํ ๋ฐ ์ฑ๋ฅ/UX ๊ฐ์
- 1์ฃผ์ฐจ ๊ธฐ์ ๊ณต์
- 2์ฃผ์ฐจ ๋ฐ๋ชจ ๋ฐ์ด
- 3์ฃผ์ฐจ ๋ฐ๋ชจ ๋ฐ์ด
- 4์ฃผ์ฐจ ๋ฐ๋ชจ ๋ฐ์ด
- 5์ฃผ์ฐจ ๋ฐ๋ชจ ๋ฐ์ด
- WEEK 06 ์ฃผ๊ฐ ๊ณํ
- WEEK 06 ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ
- WEEK 06 ์ฃผ๊ฐ ํ๊ณ