-
Notifications
You must be signed in to change notification settings - Fork 2
๐จโ๐ฉโ๐งโ๐ฆ 2์ฃผ์ฐจ ํ ํ๊ณ
dolphinlmg edited this page Nov 18, 2022
·
1 revision
- Next์ Nest๋ฅผ ์ง์ ์จ๋ณด๊ณ ํ๋ ์์ํฌ๋ฅผ ์ ํ ๊ฒ์ด ์ข์๋ค. ์ง์ ์จ๋ณด๊ธฐ ์ ์๋ ์ฅ๋จ์ ์ฒด๊ฐ์ด ์๋์๊ณ ํน์ง์ ๋ชฐ๋๋๋ฐ ์จ๋ณด๊ณ ๋๋ ๊ธฐ์กด์ ์จ๋ณธ express, React๋ ๋น๊ต๋ฅผ ํ์ฌ ํ๋ก์ ํธ์ ์ ํํ๊ฒ ํ์ํ ๊ธฐ์ ์คํ์ ์ ํ์ ํ ์ ์์๋ค.
- ์๋๋ ์ผ์ฃผ์ผ์ ๋ ๋ฒ ์คํ๋ผ์ธ์ผ๋ก ๋ง๋์ ํ๊ธฐ๋ก ํ๋๋ฐ ์ด๋ฒ์ฃผ๋ ํ์ดํ๋ก๊ทธ๋๋ฐ์ผ๋ก ์งํํ๋ค๋ณด๋ ๋ง๋์ ํ๋ ๊ฒ์ด ํฌ๊ฒ ๋์์ด ๋์ง ์์ ๊ฒ ๊ฐ์ ์จ๋ผ์ธ์ผ๋ก ์งํํด์ ํ๊ฒฝ๋ ๋ ์ข๊ณ ๊ฐ๋ฐ ์๋๋ ๋นจ๋๋ ๊ฒ ๊ฐ๋ค.
- ์ด๋ ์๊ฐ์๋ ๊ฐ๋ฐ์ ํ๊ฑฐ๋ ํด์์ ์ทจํด ํ ์ฝ์ด ํ์์ ๋ ์ง์คํด์ ๊ฐ๋ฐ์ ํ ์ ์์๋ค.
- ๊ฒ๋์์ ๋ชจ์ฌ์ ํด์(์ธ์ ๋ ์์ฌ์ํต ๊ฐ๋ฅ) ์คํ๋ผ์ธ์์ ์ผํ๋ ๊ฒ๋ณด๋ค (4๋ช ๋ชจ๋ ๊ฐ์๋ฐฉ) ํ์ด๋ผ๋ฆฌ ์ ๋๋์ด์ ์งํํ ์ ์์๊ณ , ๋ค๋ฅธ ํ์ด๋ค๊ณผ ์์ฌ์ํต๋ ๋ถํธํ์ง ์๊ฒ ๋๋ค.
- ์ฒซ์ฃผ์ฐจ์ ์ ํด๋ ๊ทธ๋ผ์ด๋ ๋ฃฐ์ ์ ์งํค๋ฉฐ ํ๋ก์ ํธ๋ฅผ ์งํํด์ ์ผ์ ์ ํฐ ๋ฌด๋ฆฌ ์์ด ์ ๋ง๋ฌด๋ฆฌ ๋์๋ค.
- ๊ธฐ๋ฅ ๊ฐ์ง์น๊ธฐ๋ฅผ ์ ํด์ ์ผ์ ์ ์ซ๊ธฐ์ง ์๊ณ ํธํ๊ฒ ๊ตฌํํ ์ ์์๋ค.
- ๋ฐค๋ฆ๊ฒ๊น์ง ๋ฌด๋ฆฌํด์ ๊ตฌํ์ ํ์ง ์๊ณ ์ ํด์ง ์๊ฐ์ด ๋๋ค๋ฉด ์ฝ๋ ์๋ํฐ๋ฅผ ๋๊ณ ์์ ์ ๋์ด์ ํ์ง ์์ ์๋ผ๋ฒจ์ ์ฑ๊ธธ ์ ์์๋ค.
- ํ์ดํ๋ก๊ทธ๋๋ฐ์ผ๋ก ์งํํ ์ ์ด ์ข์๋ค. ์์ฌ๊ฒฐ์ ์ ํ ๋ ์ข ๋ ๋์ ์๊ฐ์ผ๋ก ๋ฌธ์ ๋ฅผ ๋ฐ๋ผ๋ณผ ์ ์์๋ค. ํ์ด ๊ฐ ์ํต๋ ์ํํ๊ฒ ์ด๋ฃจ์ด์ง ๊ฒ ๊ฐ๋ค.
- ํ์ด๋ผ๋ฆฌ ์งํํ๋ค๋ณด๋ ํ ๋ฒ ์ฝ๋๊ฐ ๊ฑธ๋ฌ์ง๊ณ ์ปค๋ฐ๋ ์ ์๋ค.
- ๋งค๋ชฐ๋์ง ์๋๋ค.
- ๊ณํํ ์ผ์ด ๋๋ฌด ์ ์๋? ์ ๊น ์๊ฐ? ๋จ๋ค์ด ์ด ์๊ฐ์ ๋ณด์ํ๋..
- ์ฝ๋๋ฆฌ๋ทฐ ๊ด๋ จ
- ์ ์ ์ด ์ฝ๋๋ฅผ PR์ ๋ ๋ฆฌ๊ณ ๋ค์ ๊ฐ๋ฐ์ ๋ฐ๋ก ํ์ํ๋ค๋ณด๋ ๋จธ์ง๋ฅผ ๋ค๋ฅธ ํ์ด์๊ฒ ์ฌ์ด์ ํ๊ฒ ๋๋ ์ผ์ด ์๊ฒผ๋ค.
- ๊ทธ๋ฌ๋ค ๋ณด๋ ์ ๋๋ก ์ฝ๋๋ฅผ ์ฝ์ด๋ณด์ง ์๊ณ ๋จธ์ง๋ฅผ ์ํ ๋ฆฌ๋ทฐ๋ฅผ ์งํํ๋ ๊ฒ ๊ฐ๋ค. (= ์ฝ๋ ๋ฆฌ๋ทฐ ๋ด์ฉ์ ์ ๋๋ก ํ์ธํ์ง ์๊ณ approve๋ฅผ ํ๋ค)
- ๊ฐ์ ์
- ์๊ฒฌ 1.
main
์ mergeํ ๋ ํ ๋ฒ ๋ ์ดํด๋ณด์ - ์๊ฒฌ 2.
dev
์ mergeํ ๋ ํ๋ฒ ๋ ์ดํด๋ณด์
- ์๊ฒฌ 1.
- ๋ง ํธํ๊ฒ ํ๊ธฐ
- ์กด๋๋ง์ ์ฐ๋ ์๊ฒฌ ์ ๋ฌ ์ ๋๋ ค ๋งํ๊ธฐ๊ฐ ์์ง์์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค(?)
-
ใ
์ฒด ์จ๋ณด๊ธฐ(๋ฒ ํ ํ ์คํธ์ค, ๊ด์ฐฎ์ ๊ฒ ๊ฐ์) (ํด์ฃผ์ ~, ๊ด์ฐฎ์~, ๋ด~, ๊ทธ๊ฑฐ ํด๋ดค๋๋ฐ ์๋จ, ๋์์ฃผ์ , ์ด๊ฑฐ๋จธ์?
API ๋ค ๋ง๋ค๊ณ ํ๋ก ํธ ์ฐ๋๊น์ง, ํ๊ฒฝ ๊ตฌ์ฑ
- ๋ฐฑ์๋ ํ๊ฒฝ ๊ตฌ์ฑ(Nest) โ
์์์ผ
- ์๋ CI/CD (Github Action) ๊ตฌํ
- DB์ฐ๊ฒฐ(PostgreSQL) - orm์ผ๋ก ํ
์ด๋ธ ์์ฑ (๋ค๊ฐ์ด~!) โ
์์์ผ
- ์๋ฒ (ํ๋ก ํธ/๋ฐฑ, DB์๋ฒ, redis์๋ฒ, ์ฑ์ ์๋ฒ2)
- ๊ธฐ์ ์ํคํ
์ณ ์ข ํฉ์๋คโฆ ๋ฐฑ์๋ ๋ฐฑ๋ก๊ทธ ํต์ ์ชฝ๋ ์์ฑํด์ผ๋ ๊ฒ ๊ฐ๊ตฌ์.
redis
๊ณต๋ถ๋ ํฉ์๋ค!๋์ปค
๋ ๊ณต๋ถํฉ์๋ค~! - api ๋ง๋ค๊ธฐ(ํ์ด๋ก ์งํ)
- ๋ฏผ๋ฏผ / ํจํจ
- Github OAuth ๋ก๊ทธ์ธ
- ๊ฐ๋จ์์ ๋ฉํ ๋๊ณผ ์ ๋ (๋ค์์ฃผ ์)
- ๐จโ๐ฉโ๐งโ๐ฆ ์ฐ๋ฆฌํ ์๊ฐ
- ๐ ํ ๊ทธ๋ผ์ด๋๋ฃฐ
- ๐ป ์ฝ๋ฉ ์ปจ๋ฒค์
- ๐ ํ๋ก์ ํธ ๊ด๋ฆฌ
- [์ฑ์ ์๋น์ค] ๋ฐ์ ๊ณผ์ ์์ฝ
- [์ฑ์ ์๋น์ค] PART1. API ํต์ ์ผ๋ก ๊ตฌํ
- [์ฑ์ ์๋น์ค] PART2. Redis Pub/Sub์ผ๋ก ๊ตฌํ
- [์ฑ์ ์๋น์ค] ์ฑ์ ์ฑ๋ฅ ์ธก์
- [์ฑ์ ์๋น์ค] ์ค์๊ฐ ์ฑ์ ํํฉ
- [์ฑ์ ํ๋ก๊ทธ๋จ] ์ฑ์ ํ๋ก๊ทธ๋จ ์๋ ์๋ฆฌ
- Next ๋ผ์ฐํฐ์ Next API Routes
- Github Action์ผ๋ก build์ node๋ฒ์ ์ค๋ฅ
- Git Squash ์ ์๊ณ ์ฐ์
- ์ฐ๋ฆฌ์ Transaction ์ ์ฉ๊ธฐ
- Soft Delete, Hard Delete ์๊ณ ์ฐ์
- MOJ์ HTTPS ์ ์ฉ๊ธฐ
- DB ์ฑ๋ฅ ๋น๊ต(PostgreSQL vs MySQL)
- ์คํฌ๋กค ์ด์ ํด๊ฒฐ๊ธฐ
- DB ์ ๊ทผ ๊ถํ ์ฃผ๊ธฐ & TypeORM์ผ๋ก ์ด๋ฏธ ์กด์ฌํ๋ ํ ์ด๋ธ ๊ฐ์ ธ์ค๊ธฐ
- Docker์ ๋ํด ์์ธํ ์์๋ณด์!
- Docker CPU ์ ํ ๊ฑธ์ด๋ณด๊ธฐ(feat. ์ฑ์ ํ๋ก๊ทธ๋จ)
- Redis ๋ฉ์์ง ํ ํบ์๋ณด๊ธฐ
- CI ์ถ๊ฐํ๊ธฐ