-
์์ด์ฃผ์ฃผ(ํฌ์๋ฅผ ์ฝ๊ณ ์ฌ๋ฏธ์๊ฒ ๋ฐฐ์ธ ์ ์๋๋ก ์ค๊ณ๋ ๋ชจ์ํฌ์ ํ์ต ํ๋ซํผ)
- ํ๋ก์ ํธ ๊ฐ์ : ๋ค์ํ ํฌ์ ์ข ๋ชฉ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ๋งค, ํ๋งค, ์ ์ง ๋ฑ์ ๊ฒฝ์ ์ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ฉฐ ์ค์ ๊ฒฝ์ ํ๋์ ์ฒดํํ ์ ์๋ ๊ธฐํ๋ฅผ ๊ฒ์ ์์์ ํ์ต์ ์ ๋ชฉํ์ฌ ์์ด๋ค์ด ์ฆ๊ฑฐ์ด ํ๊ฒฝ ์์์ ๊ฒฝ์ ๋ฅผ ๋ฐฐ์ฐ๊ณ , ํฌ์์ ์์ฐ ๊ด๋ฆฌ์ ๊ธฐ์ด ๊ฐ๋ ์ ์ตํ ์ ์๋๋ก ๋๋ ์๋น์ค
- ์ญํ (Front-end):
- ํ์ด์ง ๋ ์ด์์ ๋ฐ UI/UX ๊ตฌํ
- ๋ฐ์ํ ๋ ์ด์์ ๊ตฌํ(์์ ) ๋ฐ ์ ์ญ ์คํ์ผ ์์คํ ์ค๊ณ
- GNB(Floating Navigation Bar) ๊ตฌํ
- Toast ์๋ฆผ ์์คํ ๊ตฌ์ถ
- ๋ฉ์ธ ํ์ด์ง / ๋ง์ด ํ์ด์ง / ๊ฒ์ ํ์ด์ง UI ๊ฐ๋ฐ
- ์ฌ์ฉ์ ์นํ์ ์ธ ๊ฒ์ ๊ธฐ๋ฅ (Debounce ์ ์ฉ)
- ๋ฌดํ ์คํฌ๋กค ๋ฐ ํ์ด์ง๋ค์ด์ ๊ตฌํ
- ์ถ์์ฒดํฌ ์์คํ ๊ตฌํ
- ๋ก๊ทธ์ธ / ํ์๊ฐ์
๊ธฐ๋ฅ ๊ตฌํ
- JWT ๊ธฐ๋ฐ ํ ํฐ ๊ด๋ฆฌ ์์คํ
๊ตฌ์ถ
- AccessToken(๋ฉ๋ชจ๋ฆฌ) / RefreshToken(HttpOnly ์ฟ ํค) ์ด์ค ํ ํฐ ์ ๋ต
- Silent Refresh๋ฅผ ํตํ ์๋ ํ ํฐ ๊ฐฑ์ ๊ตฌํ
- ํ ํฐ ๋ง๋ฃ ์ ์๋ ๊ฐฑ์ ๋ฐ API ์์ฒญ ์ฌ์๋
- Zustand๋ฅผ ํ์ฉํ ์ ์ญ ์ํ ๊ด๋ฆฌ
- React Query ๊ธฐ๋ฐ ์๋ฒ ์ํ ๊ด๋ฆฌ ๋ฐ ์บ์ฑ ์ ๋ต ๊ตฌํ
- JWT ๊ธฐ๋ฐ ํ ํฐ ๊ด๋ฆฌ ์์คํ
๊ตฌ์ถ
- SSE ๊ธฐ๋ฐ ์ค์๊ฐ ์๋ฆผ ์์คํ
๊ตฌํ
- EventSource๋ฅผ ํ์ฉํ ์ค์๊ฐ ์๋ฆผ ์ฐ๊ฒฐ ๋ฐ ์๋ ์ฌ์ฐ๊ฒฐ ๊ตฌํ
- ์น๊ตฌ ์์ฒญ/์๋ฝ, ๋ฉ์์ง ๋ฑ ๋ค์ํ ์๋ฆผ ํ์ ์ฒ๋ฆฌ
- React Query๋ฅผ ํ์ฉํ ์๋ฆผ ์ํ ๊ด๋ฆฌ ๋ฐ ์ค์๊ฐ ๋๊ธฐํ
- ํ์ด์ง ๋ ์ด์์ ๋ฐ UI/UX ๊ตฌํ
- ๊ฐ๋ฐ ๋ด๋น : ํ๋ก ํธ์๋ 3๋ช , ๋ฐฑ์๋ 5๋ช
- ๊ธฐ๊ฐ : 2024. 11. 18 ~
- 2024 ํ๋ก ํธ์๋ ๋ฐ๋ธ์ฝ์ค ์ต์ข
ํ๋ก์ ํธ (ํ๋ก์ ํธ ์ธ๊ธฐ์)
- ๊ฐ๋ฐ: ๋ฉ์ธ ํ๋ฉด ๋ฐ ๋ก๊ทธ์ธ, ์๋ฆผ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- ๋๊ตญ๋ํ๊ต ์ฌํํ ์ ๊ณต / ์ตํฉ์ํํธ์จ์ด ์ฐ๊ณ์ ๊ณต 2018.03 ~
- ํ๋ก๊ทธ๋๋จธ์ค ์น ํ๋ก ํธ์๋ ๋ฐ๋ธ์ฝ์ค 1๊ธฐ(ํ๋ก ํธ์๋) 2024.07.15 ~ 2024.12.13