1. ์ ์ฝ์๋์?
์ด์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ์์์ฑ ๊ณ์ธต์ด ๋น๋ํด์ก๋ค๋ ๋๋์ ๋ฐ์๋ค. ๊ตฌ๊ธ์๊ฒ์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋ฐ์์ค๋ GoogleProvider๋ ์์ฒญ ํค๋์์ ์ก์ธ์ค ํ ํฐ์ ์ถ์ถํ๋ AccessTokenExtractor๊น์ง ์์์ฑ ๊ณ์ธต์ ์ํด์์๋ค. ์ฐ๋ฆฌ ํ์ ๊ฐ ๊ณ์ธต์ ํ์ ๊ณ์ธต๋ง ์ฐธ์กฐํ ์ ์๋ค๋ ๋ฃฐ์ด ์์๊ธฐ ๋๋ฌธ์ด๋ค. ์๋น์ค ๊ณ์ธต์์ ์ฐธ์กฐํ๋ ค๋ฉด ์์์ฑ ๊ณ์ธต๋ฐ์ ์์๊ณ , ๊ทธ ๊ฒฐ๊ณผ ์ ํด๋์ค๋ค์ ์ ๋ถ ์์์ฑ ๊ณ์ธต์ด ๋์๋ค. ๋ฐ์ง๊ณ ๋ณด๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฑฐ๋ ๋ณด๊ดํ๋ ์ญํ ์ด ์๋์๋๋ฐ ๋ง์ด๋ค.
์ ๋ ฅ๊ฐ ๊ฒ์ฆ์ ์งํํ๋ฉด์ ํ์๊ณผ ์๊ฒฌ์ด ๊ฐ๋ ธ๋ ๊ฒฝํ๋ ํ๋์ ์์ธ์ด์๋ค. ๋๋ ๋จ์ ์ ๋ ฅ๊ฐ ๊ฒ์ฆ์ ์ปจํธ๋กค๋ฌ ๊ณ์ธต์์ ๊ฒ์ฆ ์ด๋ ธํ ์ด์ ์ ์ด์ฉํด ์งํํ๊ณ , DB ์กฐํ๊ฐ ํ์ํ ๊ฒ์ฆ(ex: ์ค๋ณต๋ ํ๊ทธ๋ช ์ธ์ง ๋ฑ)์ ์๋น์ค ๊ณ์ธต์์ ์งํํ๋ ๊ฒ ๋ง๋ค๊ณ ์๊ฐํ๋ค. ํ์ง๋ง ํ์์ ๊ฐ์ฒด์ ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ ์ด์ ๋ก ์๋น์ค ๊ณ์ธต์์๋ ๋จ์ ์ ๋ ฅ๊ฐ ๊ฒ์ฆ์ด ํ์ํ๋ค๋ ์๊ฒฌ์ ์ฃผ์๋ค. ๊ฒฐ๊ตญ ๋์ ์๊ฒฌ๋๋ก ์งํํ๋, ๋น๋ ํจํด๊ณผ final ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ ์ต์ํํ๋ ๊ฒ์ผ๋ก ๊ฐ๋ฅ์ ์ก์๋ค. ์ด ๋์ ๊ฐ๋ฑ์ ๋์๊ฒ '์ด๋ค ์ค๊ณ๊ฐ ๋ ์ณ์์๊น?'๋ผ๋ ์ง๋ฌธ์ ์ฌ์ด์ฃผ์๊ณ ๋์ฒด ํด๋ฆฐ ์ํคํ ์ฒ๊ฐ ๋ญ๋ฐ!? ๋ผ๋ ์๊ฐ์ผ๋ก ์ด ์ฑ ์ ๊ตฌ์ ํ๋ค.
2. ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ๋?
- ํด๋ฆฐ ์ํคํ ์ฒ์ ์์น๋ค์ ์กฐ๊ธ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋ง๋ ์ํคํ ์ฒ์ด๋ค.
- ์ก๊ฐํ ์์๋ ๋๋ฉ์ธ ์ํฐํฐ์ ์ ์ค์ผ์ด์ค๊ฐ ์๋ค. ์ก๊ฐํ์์ ์ธ๋ถ๋ก ํฅํ๋ ์์กด์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ๋งํด์ด ํด๋ฆฐ ์ํคํ ์ฒ์์ ์ ์ํ ์์กด์ฑ ๊ท์น์ด ๊ทธ๋๋ก ์ ์ฉ๋๋ค.
- ์ก๊ฐํ ๋ฐ๊นฅ์๋ ์ดํ๋ฆฌ์ผ์ด์
๊ณผ ์ํธ์์ฉํ๋ ๋ค์ํ ์ด๋ํฐ๊ฐ ์๋ค.
- ์ผ์ชฝ์ ์๋ ์ด๋ํฐ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ฝ์ด๋ฅผ ํธ์ถํ๋ ์ด๋ํฐ์ด๋ค.
- ์ค๋ฅธ์ชฝ์ ์๋ ์ด๋ํฐ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ํด ํธ์ถ๋๋ ์ด๋ํฐ์ด๋ค.
- ์ดํ๋ฆฌ์ผ์ด์
์ฝ์ด์ ์ด๋ํฐ ์ฌ์ด์ ํต์ ์ด ๊ฐ๋ฅํ๋ ค๋ฉด, ์ดํ๋ฆฌ์ผ์ด์
์ฝ์ด๊ฐ ๊ฐ๊ฐ์ ํฌํธ๋ฅผ ์ ๊ณตํด์ผ ํ๋ค.
- ์ ๋ ฅ ํฌํธ: ์ฝ์ด์ ์ ์ค์ผ์ด์ค ํด๋์ค ์ค ํ๋์ ์ํด ๊ตฌํ๋๊ณ , ์ด๋ํฐ๊ฐ ํธ์ถํ๋ ์ธํฐํ์ด์ค
- ์ถ๋ ฅ ํฌํธ: ์ด๋ํฐ์ ์ํด ๊ตฌํ๋๊ณ , ์ดํ๋ฆฌ์ผ์ด์ ์ฝ์ด๊ฐ ํธ์ถํ๋ ์ธํฐํ์ด์ค
- ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ๋ฅผ ์ ์ฉํ๋ฉด ๋๋ฉ์ธ ์ฝ๋๊ฐ ๋ฐ๊นฅ์ชฝ ์ฝ๋์ ์์กดํ์ง ์๋๋ค. ๋ฐ๋ผ์ ์์์ฑ์ด๋ UI์ ํนํ๋ ๋ชจ๋ ๋ฌธ์ ๋ก๋ถํฐ ์์ ๋ก์ด ๋๋ฉ์ธ ์ฝ๋๊ฐ ํ์ํ๊ณ , ๋๋ฉ์ธ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ์ด์ ๊ฐ ์ค์ด๋ค์ด ์ ์ง๋ณด์์ฑ์ด ์ข์์ง๋ค.
3. ์ด๋ค ์ ์ด ์ข์๋์?
๊ณ์ธตํ ์ํคํ ์ฒ์ ์ทจ์ฝ์ ์ ๋ํด ์ ์ ์์ด์ ์ข์๋ค. ๊ณ์ธตํ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ํ๋๋ผ๋ ์งํํด ๋ณธ ์ฌ๋์ด๋ผ๋ฉด 1์ฅ์์ ์๊ฐํ๋ ๊ณ์ธตํ ์ํคํ ์ฒ์ ์ํ์ฑ์ ๊ณต๊ฐํ๋ฉฐ ์ฝ์ง ์์์๊น? ์ด ์ฑ ์์๋ 2์ฅ๋ถํฐ 10์ฅ๊น์ง ๊ณ์ธตํ ์ํคํ ์ฒ์ ์ํ ์์๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ๋์ง์ ๋ํด ๋ด๊ณ ์๋๋ฐ, ๊ณ์ธตํ ์ํคํ ์ฒ๋ฅผ ์ ์งํ๋๋ผ๋ ์ด๋ฐ ๋ถ๋ถ์ ์์งํด๋๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ๋ค. ๊ณ์ธตํ ์ํคํ ์ฒ์์ ํธํ ๊ธธ์ ์ ํํ๋๋ผ๋ ๊ทธ ๊ธธ ์์ ์ด๋ค ์ํ์ด ๋์ฌ๋ฆฌ๊ณ ์๋์ง 11์ฅ์์ ์ค๋ช ํด์ฃผ๊ธฐ ๋๋ฌธ์, ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ์ ๊ด์ฌ์ด ์๋ ์ฌ๋๋ ์ฝ์ด๋ณด๋ฉด ๋ถ๋ช ๋์์ด ๋ ๋ด์ฉ์ด์๋ค.
4. ์ด๋ค ์ ์ด ๋ณ๋ก์๋์?
์ด ์ฑ ์์ ํด๋ฆฐ ์ํคํ ์ฒ์ ๊ตฌํ์ฒด๋ก ์ ์ํ ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ๊ฐ ๋ณ๋ก์๋ค. 1๋ ๋ค์๋ ๋ค๋ฅด๊ฒ ์๊ฐํ ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง... ์ผ๋จ ๋ด ๋์๋ ์๊ฐ๊ณผ ๋น์ฉ์ด ๋๋ฌด ๋ง์ด ๋ ๋ค๋ ๋๋์ด์๋ค. ์ค๊ฐ์๋ ์ฌ๊ณ ๊ฐ ๊ทน๋จ์ ์ผ๋ก ํ๋ฌ์ '๊ทธ๋ ๊ฒ ์น๋ฉด ๊ฒฐ๊ตญ ๋ชจ๋ ํด๋์ค๋ง๋ค ๋ฉ์๋ ํ๋๋ง ๋๋๊ฒ ์ ์ ์๋์ผ?' ๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ์ฑ ์ ์๋ ์์ ํ๋ก์ ํธ๋ ๊ท๋ชจ๊ฐ ์์์ ๊ด์ฐฎ์์ง๋ง, ๊ท๋ชจ๊ฐ ์กฐ๊ธ๋ง ์ปค์ง๋ฉด ์์ฒญ๋ ์ธํฐํ์ด์ค์ ํด๋์ค ๋๋ฏธ์ ๋ค๋ฎ์ผ ๊ฒ ๊ฐ์๋ค. ํด๋์ค ์๊ฐ ๊ทธ๋ ๊ฒ ๋ง์๋ฐ ๊ตฌ์กฐ๋ฅผ ํ์ ํ๊ธฐ ์ฝ๋ค๊ณ ? ๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค๐ค
5. ์๊ฐ
์ด ์ฑ ์ ์ฝ์ผ๋ฉด์ ์ด์ ํ๋ก์ ํธ์ ๊ตฌ์กฐ์ ๋ํด ๋์ง์ด๋ดค๊ณ , ํ์ ๊ณ์ธต๋ง ์ฐธ์กฐ ๊ฐ๋ฅํ๋ค๋ ๋ฃฐ์ ์ด๋ฉด์ ๋น๋ํ ์์์ฑ ๊ณ์ธต์ด ์์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค. ํ์๊ณผ ์น์ดํ๊ฒ ์๊ฒฌ์ด ๊ฐ๋ ธ๋ ‘์ ๋ ฅ๊ฐ ๊ฒ์ฆ์ ์ด๋์ ์งํํ ๊ฒ์ธ์ง’์ ๋ํ ์กฐ์ธ๋ ์ป์ ์ ์์๋ค. ํ์๊ณผ ์กฐ๊ธ์ด๋ผ๋ ๋ ๊น๋ํ ์ค๊ณ๋ฅผ ์ํด ๋ ธ๋ ฅํ์ง๋ง, ๊ฒฐ๋ก ์ ์ผ๋ก ์ง๋ ํ๋ก์ ํธ๋ ๊ทธ๋ค์ง ๊ฐ์ฒด์งํฅ์ ์ธ ๊ตฌ์กฐ๋ ์๋์๋ ๊ฒ ๊ฐ๋ค๐ฅฒ ๋ณผ๋ฅจ์ด ์์์ ํฐ๊ฐ ๋ ๋ฌ์ ๋ฟ... ํฅ์ฌ๊ณ ๋ ์ํคํ ์ฒ๋ ๋ด๊ฐ ์ฐพ๋ ์ ๋ต์ ์๋์์ง๋ง, ์ ๋ต์ ๋ํ ํํธ๊ฐ ๋๊ธฐ์ ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํ๋ค. ๊ฐ์ฒด์งํฅ์ ๋ํ ์ด์ฌ์ ๋์ฐพ๊ณ ์ถ๋ค๋ฉด ์ฝ์ด๋ณด๋ ๊ฒ์ ์ถ์ฒํ๋ค.
'๐๐๐ฏ๐ข๐๐ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ฑ ] ๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด ๋ฆฌ๋ทฐ (2) | 2024.09.14 |
---|---|
[์ฑ ] Clean Code(ํด๋ฆฐ ์ฝ๋) ๋ฆฌ๋ทฐ (0) | 2024.07.10 |
2024๋ ์๋ฐ๊ธฐ ํ๊ณ (0) | 2024.07.04 |
Mash-Up 14๊ธฐ ๋ฉด์ ํ๋ฝ ํ๊ธฐ (2) | 2024.02.29 |
2023๋ ์ ๋์๋ณด๋ฉฐ (0) | 2023.12.31 |