-
Notifications
You must be signed in to change notification settings - Fork 4
๐ ๐ฅ ์ฃผ์ฐจ๋ณ ์คํ๋ฆฐํธ ๊ณํ & ๋ฐ๋ชจ ์ฌ์ดํธ
- ์๋ฒ ๊ตฌ์ฑ, CI / CD ๊ฐ์ ์ธํ๋ผ, API, DB ๋ฑ ์ค๊ณ๋ฅผ ๋ณด์ฌ์ฃผ๋ฉด ์ด๋จ๊น? + ๊ณ๋ค์ฌ์ ๋์์ธ ์ ๋ (๋ ์ด์์ ๋๋๋ค๋ฉด)
- API ์๋ฒ์ ํด๋ผ์ด์ธํธ ์๋ฒ๊ฐ ํต์ ์ด ๋๋ค.
- API ๋ช ์ธ
- DB ERD
- CI / CD ํ์ดํ๋ผ์ธ
- ์๋ฒ ์ธํ๋ผ ์๊ฐํ ์๋ฃ
- ์๋ฌด๊ฑฐ๋ Mock API (CORS๋ ๊ด๋ จ๋๋ฉด ์ข๊ฒ ๋ค.)
- (๋ ์ด์์)
- API ๋ช ์ธ ์์ฑ
- DB ERD ์ค๊ณ
- CI / CD ํ์ดํ๋ผ์ธ ์ค๊ณ
- ์๋ฒ ์ธํ๋ผ ๊ตฌ์ถ
- ์๋ฌด๊ฑฐ๋ Mock API ๊ตฌํ
- (๋ ์ด์์ ๊ตฌํ)
- API ์๋ฒ์ ํด๋ผ์ด์ธํธ HTTP ํต์ ์ ์ฑ๊ณตํ๋ค
- MySQL ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
- ์ธํ๋ผ ์๋ฒ๋ค (CI / CD)
- (ํด๋ผ์ด์ธํธ ํ๋ฉด)
- ๋ฐฑ์๋ : DB ์ค๊ณ
- API ๋ช ์ธ ์์ฑ
- API ์๋ฒ ๋ฐฐํฌ
- API ์๋ฒ CI / CD
- DB ์๋ฒ ๋ฐฐํฌ
- DB ์๋ฒ CI / CD
- ํ ์คํธ์ฉ API ๊ตฌํ
- ํ์ด์ง ๋์์ธ
- ํ์ด์ง ์ค๊ณ (์ธํฐ๋์ , ์ปดํฌ๋ํธ ์ถ์ํ)
- ํ๋ก ํธ์๋ ์๋ฒ ๋ฐฐํฌ
- ํ๋ก ํธ์๋ ์๋ฒ CI / CD
- ESLint, prettier, tsconfig ์ค์ ํ๋ฉฐ ์ฝ๋ฉ ์คํ์ผ ๋ง์ถ๊ธฐ
- ํ์ดํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๊ด๋ฆฌ์ํ์ด์ง ๊ตฌํํ๋ฉฐ ์ปดํฌ๋ํธ ๊ตฌํ ์คํ์ผ ์ฑํฌ ๋ง์ถ๊ธฐ
- ๋๋ฉ ํ์ด์ง ๊ตฌํ
- ํ ์คํธ์ฉ API ์์ ํ์ธ ๊ตฌํ
- ๊ธฐ์ ์ ์ธ ๋์ ์ ๋ํด ๋ค์ ์ดํดํ๊ณ , ํต์ฌ ๊ธฐ๋ฅ์ ๋ํด์ ์ด์ ์ ์๋กญ๊ฒ ์ก์๋ค.
- ํต์ฌ๊ธฐ๋ฅ(๊ธฐ์ ์ ์ธ ๋์ , ์ค๋ ๊ณ ๋ฏผ ๋ฐ ๊ฐ์ ํ์)์ ๋จผ์ ๊ตฌํํ์ฌ ๋ฐ๋ชจ์ ์ฌ์ฉํ๊ณ , ์ถํ ๋ณด์์ ํด์ผํ๋ค.
- ํค์๋ ๋ฐ์ดํฐ (ํค์๋, ๊ฐ์, ์ฐ๊ด๊ด๊ณ)
- ํค์๋ ์ฐ๊ด๊ด๊ณ ์๊ณ ๋ฆฌ์ฆ
- ํค์๋ ์๊ฐํ ๋ฐฐ์น ์๊ณ ๋ฆฌ์ฆ
- ์ฑ๋ฅ์ ์ ๊ฒฝ์ฐ์ง ์๊ณ & ํค์๋ ๊ฐ์ค์น์ ๋ฐ๋ฅธ ๋ณํ ์์ด ๋ฐ์ดํฐ ์๊ฐํ ๊ตฌํ (๊ฐ์์ ๋ฐ๋ผ์๋ง)
- ์ฑ๋ฅ์ ์ ๊ฒฝ์ฐ์ง ์๊ณ ํค์๋ ์๋์์ฑ (์ด๋ฏธ ์๋ ๋จ์ด๋ก ๋ง์ถฐ์ค)
- ์ฑ๋ฅ์ ์ ๊ฒฝ์ฐ์ง ์๊ณ ํค์๋ ์ถ์ฒ ๊ตฌํ (ํ์ฌ ๋จ์ด์์ ์ถ์ฒ)
- ๊ธฐ์ด์ ์ธ ์์ค์ด๋ผ๋ ์ ์ ๊ฐ ํต์ฌ ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์๋ค.
- ์ด๋ฒ์ฃผ ํต์ฌ ๊ธฐ๋ฅ์ ๋ํ API ๋ช ์ธ ๊ฐฑ์ ํ๊ธฐ
-
๊ฐฑ์ ๋ Feature List ํ ๋๋ก UI / UX ๋์์ธ ๊ทธ๋ ค์ ๊ณต์ ํ๊ธฐ
-
๊ทธ๋ฃน ํค์๋ ๋ฐ์ดํฐ ์๊ฐํ (์๋ ํด๋ผ์ฐ๋)
โ ์ด๋ฒ ์ฃผ์ ํ๋ก ํธ์๋ ํต์ฌ๊ธฐ๋ฅ
-
ํค์๋ ์ ๋ ฅ์ ํค์๋ ์๋์์ฑ
โ ๊ผญ ๊ฒ์์ฐฝ์ผ๋ก ์๋์๋๋จ
-
ํค์๋ ์ ๋ ฅ์ ํค์๋ ์ถ์ฒ
โ ๊ผญ ๊ฒ์์ฐฝ์ผ๋ก ์๋์๋๋จ
-
์ฐธ์ฌ์์ ํค์๋ ๋ชฉ๋ก UI ๊ตฌํ (๋ด๊ฐ ๊ฐ์ง ํค์๋๋ค)
-
ํค์๋(์๊ทธ๋ฃน) ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ
โ ์ด๋ฒ ์ฃผ์ ๋ฐฑ์๋ ํต์ฌ๊ธฐ๋ฅ
-
Username ์ ์ ์ ์ฟ ํค ๊ฐ ๋๊ฒจ์ฃผ๊ธฐ
-
User ๋ก๊ทธ์ธ ํ์ธ API
-
ํค์๋(์๊ทธ๋ฃน) ์์ฑ API
-
ํค์๋(์๊ทธ๋ฃน)์ ์ ์ ์ง์ ์, ํค์๋(์๊ทธ๋ฃน) ์ฐธ์ฌ์ ์ ๊ฐฑ์
โ ์ฐธ์ฌ์ ์๊ฐ ์์ด์ผ ์ด๊ธฐ ์๋ ํด๋ผ์ฐ๋๊ฐ ๊ฐ๋ฅํด์ฉ
- ์๋ฒ ํต์ ์ ํตํ ๋ฐ์ดํฐ ์ ๊ณต๊ณผ ์๊ฐํ๊ฐ ์ ๋๋ก ๋๋๊ฐ?
- ๋ฌผ๋ฆฌ์์ง ๋ฐฐ์น ๊ณ์ฐ๊ธฐ ๊ตฌํ ๋๋๊ฐ.
- ์์ผ API ์๋ฒ โ REST API ์๋ฒ๋ก ์ด๋
- ๋ถ์คํธ์บ ํ ์บ ํผ๋ค์๊ฒ ์ ๊ณต
- ์ค์ ํค์๋ ๋ฐ์ดํฐ (๋ฏธ๋ฆฌ ๋ฃ์ด๋๋)
- OAuth ๋ก๊ทธ์ธ ๊ตฌํ
- ํค์๋ CRUD
- ๋ฐ์ดํฐ ์๊ฐํ
- short polling์ ํตํ ์ค์๊ฐ ํต์ ๊ตฌํ
- (์ฐ์ ์์ ํ) ์ค๋ ๋ CRUD์ UI
- ๋ฐ๋ชจ ์ฌ์ดํธ MVP๋ฅผ ์บ ํผ๋ค์ด ์ด์ฉ์ด ํ ์ ์๋ค.
- ์๋ฒ ํต์ ์ด ํฌํจ๋๋ค.
- ๋ก๊ทธ์ธ์ด ๊ฐ๋ฅํ๋ค.
- short polling์ ํตํด ์ค์๊ฐ ํต์ ์ด ๊ฐ๋ฅํ๋ค.
โ ์กฐ๊ธ ๋ ํฐ ๋ชฉํ๋ฅผ ์ก๊ณ ์ธ์ธํ ๊ฑด ์ดํ์ ์ก์์ด์ผํ๊ตฌ๋๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
- ๋ฌผ๋ฆฌ์์ง ๋ง๋ฌด๋ฆฌ
- short polling์ ํตํ ์๋ฒ ํต์
- ๋ก๊ทธ์ธ์ ์ํ ์ฒ๋ฆฌ
- ์ค๋ ๋ UI ๊ตฌํ (์์ผ๊ฑฐ๋ฆฌ)
โ ๊ฐ ๋๋ฉ์ธ๊ณผ ๊ตฌํ ๋จ๊ณ๋ณ๋ก ๋ช ๊ณต์(MD)์ธ์ง ๋ฝ์๋ณด๊ธฐ
- REST API ์ ์ฒด
- ๊ฐ ๋๋ฉ์ธ๋ณ CRUD
- OAuth
- (์ด๋ ค์ด ๊ฒ) ํค์๋ ๋ณต์ ๊ฐ์ ๋ณํฉ๊ณผ ์ญ์
โ ๊ฐ ๋๋ฉ์ธ๊ณผ ๊ตฌํ ๋จ๊ณ๋ณ๋ก ๋ช ๊ณต์(MD)์ธ์ง ๋ฝ์๋ณด๊ธฐ
๐จโโ๏ธํ undefined ๊ทธ๋ผ์ด๋ ๋ฃฐ
๐์๊ธ์๊ธ ๊ธฐํ์ (์ธ๋ถ ๋งํฌ)
๐กํ undefined์ ๋ฉ์ถ์ง ์๋ ์์ด๋์ด ๋ฑ ํฌ
๊ณตํต
๐๋ฐ์ดํฐ ๊ธฐ๋ฐ์ ๊ทผ๊ฑฐ์๋ ์ฑ๋ฅ ๊ฐ์
๐ฃ๏ธ์ปค๋ฎค๋์ผ์ด์ ๋ฐ์ ํด๋๊ฐ๊ธฐ
ํ๋ก ํธ์๋
๐บ์ง์ ๋ง๋ ๋ฌผ๋ฆฌ์์ง์ผ๋ก ๋ฐ์ดํฐ ์๊ฐํ ํ๊ธฐ
๐Trie ์๋ฃ๊ตฌ์กฐ๋ฅผ ํตํ ์๋์์ฑ ๊ฒ์์์ง ๊ตฌํ
โฉ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํ์ฉํ ์ฑ๋ฅ ๊ฐ์
๐ฝ๏ธUX๋ฅผ ๊ณ ๋ คํ ์คํฌ๋กค ์ ๋๋ฉ์ด์
๋ฐฑ์๋
๐ถ์ค์๊ฐ ์๋น์ค ๋์ ๊ธฐ
โ๏ธํ ์คํธ ์ฝ๋์ ๋จ๋จํ ์ฝ๋ ๊ตฌ์กฐ
๐พORM๊ณผ ๋ฐ์ดํฐ ์ ํฉ์ฑ ์ ์งํ๊ธฐ