-
Notifications
You must be signed in to change notification settings - Fork 5
MOAMOA Daily Sprint4
๋ ๋ฒจ 4๋ก ๋์ด๊ฐ๊ธฐ ์ ์ ์ด๋ฒ Sprint4 ๋ฅผ ๋๋ด๋ ์์ ์ ์ค์ ์ฌ์ฉ์๋ค์ด ์๋น์ค ๊ฐ๋ฅํ ์๋น์ค๋ฅผ ๋ง๋ ๋ค. ๊ทธ๋ ๊ฒ ํด์ ์ต์ข ๋ฐ๋ชจ๋ฐ์ด ๋ ์ต์ข ์๋น์ค๋ฅผ ๊ณต๊ฐํจ๊ณผ ๋์์ ์ฐ๋ฆฌ ํฌ๋ฃจ๋ค์ด ๋ ๋ฒจ4 ๋์ ํ๋ ์คํฐ๋ ๋ชฉ๋ก๋ ํจ๊ป ๋ณด์ฌ์ค ์ ์๋๋ก ํ๋ค.
์ฐ๋ฆฌ๊ฐ ์ง๊ธ ๊ตฌํํ๋ฉด ์ฌ์ฉ์์๊ฒ ๊ฐ์ฅ ํฐ ๊ฐ์น๋ฅผ ์ ๊ณตํ ๊ฒ์ผ๋ก ์๊ฐ๋๋ ๊ธฐ๋ฅ๋ค
- ๋ฒ๊ทธ ์์ (QA)
- ์์ธ ํ์ด์ง ์์ ๊ธฐ๋ฅ
- ๊ณต์ง์ฌํญ
- ์๋ฃ์ค
- ๋์ฐ : ๋ ๋ฒจ3 ๊ธ์ฐ๊ธฐ, ๊ธฐ์กด OAuth ๋ฆฌ๋ง์ธ๋, RefreshToken ๋ฐ๊ธ ์๋ฃ
- ๊ทธ๋ฆฐ๋ก
- ์ฃผ๋ง PR ํผ๋๋ฐฑ ๋ฐ์(ํ ์คํธ ์ฝ๋ ์ต์ ํ)
- ๋ด๊ฐ ์ฐธ์ฌํ ์คํฐ๋ ์ค๋ฅ PR ์ฌ๋ฆฌ๊ธฐ
- ๋ฒ ๋ฃจ์ค : ์ฃผ๋ง ํ ์คํธ ์ฝ๋ ์ ๋ฆฌ ์๋ฃ (๋ฆฌ๋ทฐ ํ์)
- ์งฑ๊ตฌ : '๋งํฌ ๋ชจ์' ์ธ์ํ ์คํธ ์์ฑ
- ํํ, ๋ณ๋ฏผ
- main.js ์ต์ ํ (16MB -> 538KB -> 400KB)
- ์๋ฌ ์์ (ํฐํธ ๋ณ๊ฒฝ, ๋ชจ์ง์ธ์ ๋ฌดํ๋ ์ฒ๋ฆฌ, ๋๋ณด๊ธฐ, ์คํฐ๋ ์์ฑ์ etc ์์ )
- etc(๊ธฐํ) ํ๊ทธ ์ถ๊ฐ ํ์
- ๋์ฐ : AccessToken ๋ง๋ฃ์ RefreshToken ์ ์ด์ฉํ ์ฒ๋ฆฌ ๊ตฌํ
- ๊ทธ๋ฆฐ๋ก , ๋ฒ ๋ฃจ์ค : ๊ณต์ง์ฌํญ & ์ปค๋ฎค๋ํฐ ๊ตฌํ, ์ค๋์ '์ปค๋ฎค๋ํฐ' ๋จผ์ ๊ตฌํ ์์
- ์งฑ๊ตฌ : ๋งํฌ ๋ชจ์ CRUD ๊ตฌํ ์งํ
- ํํ, ๋ณ๋ฏผ
- ๋ณ๋ฏผ์ ์นํฉ ์ด์ฉํด์ ์ต์ ํ (๋น๋ ์ต์ ํ)
- Refresh Token ๊ตฌํ
- Refresh Token ๋์๊ณผ์
- accessToken์ด ๋ง๋ฃ๋์๋ค๋ ์๋ต์ด ์์ ๋ refreshToken๊ณผ ํจ๊ป accessToken์ ๋ฐ๊ธ ์์ฒญํ๋ค
- ์๋ก์ด accessToken์ ๋ฐ๊ธ๋ฐ์ผ๋ฉด accessToken์ ํด๋ผ์ด์ธํธ์ ์ ์ฅํ๊ณ , ๊ธฐ์กด์ ์์ฒญํ๋ ๋ฆฌ์์ค๋ฅผ ๋ค์ fetch
- refreshToken๋ ๋ง๋ฃ๋์๋ค๋ ์๋ต์ด ์ค๋ฉด ์ ์ฅ๋์ด ์๋ accessToken์ ์ ๊ฑฐํ๊ณ ๋ก๊ทธ์์
- Refresh Token ๋ง๊ฐ์ธ์ค ์์๋๋ฐ, ์ข ๋ ์์
ํ ๊ฒ ์๋ค...ใ
- ์ค์ ๋ก ํ ์คํธํ ๋ฒ ํด๋ณด๊ณ ์ถ์
- ๋ฆฐ๋ก ๋ฒ ๋ฃจ์ค : ์ปค๋ฎค๋ํฐ & ๊ณต์ง์ฌํญ ์์ฑ ๋ถ๋ถ ์งํํ๋ค๊ฐ ๊ฒ์ฆ ๋ชปํ ๋ถ๋ถ ์์
- ์งฑ๊ตฌ : ์คํฐ๋์์ ์ํ ๋งํฌ๋ชจ์ C, U, D ๊ตฌํ ์๋ฃ (Soft DELETE๋ก ์ญ์ ๊ตฌํํ์์)
- ํํ : Refresh Token ๋ก์ง ๊ตฌํ
- ๋ณ๋ฏผ : ์ต์ ํ ์งํ (๋น๋ ์๋ 5๋ฐฐ)
- ์งฑ๊ตฌ : ์คํฐ๋์์ ์ํ ๋งํฌ๋ชจ์ R ๊ตฌํ
- ๋ฆฐ๋ก ๋ฒ ๋ฃจ์ค : C ๋ถ๋ถ ์์ฑ, ๋๋จธ์ง RUD ๊ตฌํ ์งํ
- ๋์ฐ : Refresh Token ๋ง๋ฌด๋ฆฌ ํ๊ธฐ, ์๊ฐ ๋๋ฉด Flyway ์ ์ฉํ๊ธฐ
- ๋ณ๋ฏผ : ๊ณต์ง์ฌํญ UI ๊ตฌํ ์์
- ํํ : Refresh Token ๋ง๋ฌด๋ฆฌ ๋ฐ ๋ฐฐํฌ ํ์ธ, ์งฑ๊ตฌ์ API ์์ ์๊ธฐ ํ ์์
- URL ๋ง ๋๊ฒจ์ฃผ๋ฉด ๋งค๋ฒ ๋คํธ์ํฌ ์์ฒญ์ ํด์ ๋ฉํ๋ฐ์ดํฐ(๋งํฌ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ ์ ๋ชฉ์ด๋ ํ ์ค ์ค๋ช
๋ฑ)๋ฅผ ๋ถ๋ฌ์์ผํ๋๋ฐ ์ด๋ป๊ฒ ํด๊ฒฐํ ๊ฒ์ธ๊ฐ?
- ๋ฐฑ์๋ DB์ ํจ๊ป ์ ์ฅํ๋ค. ๊ทธ๋ผ UPDATE๋?
- ์บ์์๋ฒ๋ฅผ ๋์ด์ ์ผ์ ์ฃผ๊ธฐ๋ก UPDATE ํด์ค๋ค. ๊ฐ์ฅ ๊ด์ฐฎ์ ๋ฐฉ๋ฒ์ด์ง๋ง ํ์ฌ ์ฐ๋ฆฌํ์์ ์บ์ ์๋ฒ๋ฅผ ๊ฒฝํํด๋ณธ ์ฌ๋์ด ์์ด ๋ฐ๋ก ๋์ ํ๊ธฐ๊ฐ ์ด๋ ต๋ค.
- ๋์ฐ : Refresh Token ์๋ฃ ํด์ ๋ฆฌ๋ทฐ ํ์
- ์งฑ๊ตฌ : ์คํฐ๋์์ ์ํ ๋งํฌ ๋ชจ์ ์์ธ์ฒ๋ฆฌ, ๋ฆฌํฉํ ๋ง ํฌํจํด์ ์๋ฃ (๋ฆฌ๋ทฐ ํ์)
- ๋ฆฐ๋ก , ๋ฒ ๋ฃจ์ค : ์ปค๋ฎค๋ํฐ CDR(๋จ๊ฑด์กฐํ๋ง ์งํํ ์ํ)
- ํํ : Refresh Token ๋ฌธ์ ๋ฐ์
- Access Token ๋ง๋ฃ ๊ธฐ๊ฐ ์ป๋ ํจ์๊ฐ ์ ์๋์์
- Backend์์ ์ฃผ๋ ๊ฑธ๋ก
- ๋ณ๋ฏผ : Util ํจ์ ๋ง๋ค์์. (์คํ์ผ ๊ด๋ฆฌ(์์ฑ)๋ฅผ ๋ ํธํ๊ฒ ํ๊ธฐ ์ํด์ ๋ฆฌํฉํ ๋ง)
- ๋ฆฐ๋ก , ๋ฒ ๋ฃจ์ค : ์ปค๋ฎค๋ํฐ ์ ์ฒด ์กฐํ, ์ ๋ฐ์ดํธ
- ํํ : Refresh Token ์ค๋๋ ์ด์ด์ ์งํํ ๋ฏ
- ๋์ฐ : ํ ์คํธ ์ฝ๋ ๋ฆฌํฉํ ๋ง (์ฝ์ง ์๋ค.)
- ์งฑ๊ตฌ : Refresh Token ๋ฆฌ๋ทฐ, ๋์ฐ๋ ํ์ดํด์ ํ ์คํธ ์ฝ๋ ๋ฆฌํฉํ ๋ง
- ๋ณ๋ฏผ : Util ํจ์ ๊ฐ์
-
Refresh Token ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ์ (๋ฒ ๋ฃจ์ค ๋ฆฌ๋ทฐ ํ์ ใ ใ )
-
ํ ์คํธ ์ฝ๋ ๋ฆฌํฉํ ๋ง(jdbcTemplate ์ ๊ฑฐ ๋ฐ Firxture ๊ฐ์ )
- ์ฝ๋ ๋ฆฌ๋ทฐ ํ์
-
์คํฐ๋ ๊ฐ์ ๋ ์ง ๋ฐ ์คํฐ๋ ๊ฐ์
๊ตฌํ ์๋ฃ- ์ฝ๋ ๋ฆฌ๋ทฐ ํ์
-
๋ฆฐ๋ก , ๋ฒ ๋ฃจ์ค :
์ปค๋ฎค๋ํฐ ๊ฒ์๊ธ
์๋ฃ -
์งฑ๊ตฌ :
์คํฐ๋์์ ์ํ ๋งํฌ ๋ชจ์
์์ ๋ฐ ํผ๋๋ฐฑ ๋ฐ์ -
ํ๋ก ํธ
- Refresh Token ๋ง๋ฌด๋ฆฌ
- ๋งํฌ ๋ชจ์ UI ์ด๋ป๊ฒ ๊ตฌ์ฑํ ์ง ์๊ฐ
- FE ๋น๋ ํ๋ก์ธ์ค ๊ฐ์ Merge
- ์ปค๋ฎค๋ํฐ ๊ฒ์ํ ์์ฑ UI ๊ตฌํ ์์
-
RefreshToken Merge ๋๋ฉด ์๋ฌ ์๋์ง ํ์ธ
-
์ปค๋ฎค๋ํฐ ๊ฒ์ํ ์์ฑ UI ์ด์์ ์งํ
-
FE ๋งํฌ ๋ชจ์ UI ๊ตฌํ ์์
-
๋ฆฐ๋ก , ๋ฒ ๋ฃจ์ค :
๊ณต์ง์ฌํญ
์ด์ด์ ํ์ด๋ก ์์ -
์งฑ๊ตฌ :
์คํฐ๋ ์์ธ ์ ๋ณด ์์
&์คํฐ๋ ๋ชจ์ง ์ธ์ ์์
์งํ ์์ -
๋์ฐ :
์คํฐ๋ ํ๊ทธ ์ถ๊ฐ
&์คํฐ๋ ํ๊ทธ ์ญ์
๋ฐ (์ ์ ๋ถ์ ๋ฆฌํฌํธ๋ฅผ ๊ณต์ , CloudWatch logs ๋์๋ณด๋๋ฅผ ๊ตฌ์ฑ) ํ์ ์๊ตฌ์ฌํญ ํ์ต
- ๊ทธ๋ฆฐ๋ก , ์งฑ๊ตฌ
- ๋์ฐ, ๋ฒ ๋ฃจ์ค
- ๋ณ๋ฏผ : ์ปค๋ฎค๋ํฐ ์ปดํฌ๋ํธ ๋ง๋๋ ์ค
- ํํ : ์๋ฃ ๊ณต์ ํ์ด์ง ๋ง๋๋ ์ค
- ๊ทธ๋ฆฐ๋ก & ์งฑ๊ตฌ : ์ ์ ๋ฌธ์ ๋ฆฌํฌํธ ์งํ ์ค
- ์งฑ๊ตฌ, ๋ฆฐ๋ก : ์ ์ ๋ถ์ ๋ฆฌํฌํธ ์์ฑ ๊น์ง ์๋ฃ
- ์งฑ๊ตฌ : ์คํฐ๋์ ํํด ๊ตฌํ ์๋ฃ
- ๋์ฐ : ์คํฐ๋ ์์ธ ์์ ๊ตฌํ ์๋ฃ
- ๋ฒ ๋ฃจ์ค : ์ฑ ์ฝ๊ธฐ
- ํํ : ๋งํฌ ๋ชจ์ ํญ CRUD ๊ตฌํ & ๋งํฌ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ฐฐํฌ
- ๋ณ๋ฏผ : ์ปค๋ฎค๋ํฐ ๊ฒ์ํ ๋ง๋๋ ์ค
- ๋ฒ ๋ฃจ์ค, ๋์ฐ : CloudWatch Logs
- ๊ทธ๋ฆฐ๋ก : ์ ์ ๋ถ์ ๋ฆฌํฌํธ PR์ Summary ๋ณด์ฌ์ฃผ๊ธฐ ์งํ
- ์งฑ๊ตฌ : ์คํฐ๋์ ํํด PR ์ฌ๋ฆฌ๊ธฐ, ๋งํฌ ์ ํจ์ฑ ๊ฒ์ฌ
- ๋ณ๋ฏผ : ์ปค๋ฎค๋ํฐ ๊ฒ์ํ ์ด์ด์ ๊ตฌํ
- ํํ : ์คํฐ๋์ ํํด & ์์ธ ํ์ด์ง ์์
-
๋ด ์คํฐ๋์์ ์คํฐ๋๋ฐฉ ๋ค์ด๊ฐ์ ๋ ์๋ชป๋ ์ ๊ทผ์ด๋ผ๊ณ ๋ธ
- NON_MEMBER๋ก ์๋ชป ์ด
-
๋ด๊ฐ ๊ฐ์ ํ ์คํฐ๋
๋ชฉ๋ก์๋ ๋ธ
-
ํด๊ฒฐ
-
Participant
์ LocalDate ๊ฐ ์ถ๊ฐ๋๋ฉด์ LocalDate(๊ฐ์ ๋ ์ง)๊น์ง eq & hc ์ํํ๊ณ ์์์. memberId ๋ง์ผ๋ก ๋น๊ตํ๋๋ก ์์
-
-
๋งํฌ ๋ชจ์ ๋ฑ๋กํ๋ ์ฌ๋: PERSON์ผ๋ก ๋์ด ์์
-
๋งํฌ ๋ฐ์ดํฐ ์ฆํญ ๋ฌธ์ [ํด๊ฒฐ]
- ๋งํฌ๋ฅผ ์์ฑํ๊ณ ์๋๋ก ๋ด๋ฆฌ๋ฉด ๊ณ์ ์ฆ๊ฐ๋จ
- hasNext : ๊ณ์ true
- Limit, offset ์์
- ์ปค๋ฎค๋ํฐ (๊ฒ์ํ)
- ์คํฐ๋ ๊ฐ์ ๋ ์ง ๋ฐ ๊ฐ์ ํ ์คํฐ๋ ๊ฐ์