์คํ๋ง ์ํ๋ฆฌํฐ์ ๊ฐ์ฅ ํต์ฌ์ ์ธ ๊ธฐ์ ์ ์ตํ๊ณ , ์์ฉํฉ๋๋ค.
1. ์ฝ์ด ์คํ๋ง ์ํ๋ฆฌํฐ ๊ฐ์ข ์๊ฐ
์คํ๋ง ์ํ๋ฆฌํฐ๋ ์ธ์ฆ๊ณผ ๊ถํ ์ ์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๋๋ฐ ํ์ํ ๊ฐ๋ ฅํ API๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ API๋ง์ ์ฌ์ฉํด๋ ์์ฃผ ์ ์ ๋น์ฉ์ผ๋ก ์์ ํ ๋ณด์ ์์คํ
์ ๊ตฌํํ ์ ์์ต๋๋ค.
๋ณธ ๊ฐ์ข๋ ์คํ๋ง ์ํ๋ฆฌํฐ์ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ๋ฒ์ ์ ํ ๋ชจ๋ฅด๋ ์ฌ์ฉ์๋ถํฐ ๊ธฐ์ด์ ์ธ ์ง์ ๋ฐ ์ฌ์ฉ ๊ฒฝํ์ ์์ง๋ง ์ข๋ ๊น์ด์๋ ์ง์ ์ต๋๊ณผ ์คํ๋ง ์ํ๋ฆฌํฐ์ ํต์ฌ์ ์ธ ์๋ฆฌ, ๋ด๋ถ๊ตฌ์กฐ, ๋์๋ฐฉ์ ๋ฑ์ ์ฌ๋์๊ฒ ์ดํดํ๊ณ ์ด๋ฅผ ์์ฉํ๊ณ ์ ํ๋ ๋ถ๋ค์ ์ํด ์ ์๋์์ต๋๋ค.
๋ณธ ๊ฐ์ข๋ ์คํ๋ง ์ํ๋ฆฌํฐ์ ํต์ฌ ๊ฐ๋
์ธ ์ธ์ฆ๊ณผ ์ธ๊ฐ์ ๋ ์ถ์ ์ค์ฌ์ผ๋ก ๊ฐ์๊ฐ ์งํ๋ฉ๋๋ค.
[์ธ์ฆ]
์คํ๋ง ์ํ๋ฆฌํฐ๋ Form, OAuth, JWT, LDAP ๋ฑ ์ฌ๋ฌ ์ธ์ฆ ๋ฐฉ์๋ค์ ์ง์ํด์ฃผ๊ณ ์๋๋ฐ ๋ณธ ๊ฐ์ข๋ Form ์ธ์ฆ ๋ฐฉ์์ ๋ํด์ ์ดํด๋ด
๋๋ค.
๋ค์์ ์น ์๋น์ค๋ค์ด Form ์ธ์ฆ ๋ฐฉ์ ๊ธฐ๋ฐ์ผ๋ก ๋ณด์ํ๋ฅผ ๊ตฌํํ๊ณ ์์ด, ๊ธฐ๋ณธ์ ์ผ๋ก ๊ผญ ์ดํดํ๊ณ ์์ด์ผ ํ๋ ์ธ์ฆ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์
๋๋ค.
[์ธ๊ฐ]
์คํ๋ง ์ํ๋ฆฌํฐ๋ ์น ๊ณ์ธต ๊ถํ, ์๋น์ค๊ณ์ธต ๊ถํ, ๋๋ฉ์ธ ๊ณ์ธต ๊ถํ(ACL) ์ ๊ทผ ์ ์ด ๊ธฐ๋ฅ์ ์ง์ํด ์ฃผ๊ณ ์์ต๋๋ค.
๋ณธ ๊ฐ์ข๋ ์น ๊ณ์ธต ๊ถํ๊ณผ ์๋น์ค ๊ณ์ธต ๊ถํ ์ ๊ทผ ๋ฐฉ์์ ๋ํด์ ์ดํด๋ด
๋๋ค.
ํนํ ๋ค์ฏ ๋ฒ์งธ ์น์
์ ์ค์ ํ๋ก์ ํธ ์ธ๊ฐ ํธ์์๋ ์ค๋ฌด์ ์์ค์์์ ๋์ ์ธ ๊ถํ์ ์ด๊ฐ ๊ฐ๋ฅํ๋๋ก DB์ ์ฐ๋ํ๋ ๋ฐฉ์์ ํ์ตํ๊ฒ ๋ฉ๋๋ค.
์น ๊ณ์ธต ๋ฟ ์๋๋ผ ๋น์ฆ๋์ค ๊ณ์ธต์ ๊ถํ์ ์ด๋ฅผ DB๋ก ์ฐ๋ํ๋ ๊ธฐ์ ์ ์ตํ๋ค๋ฉด ์ค์ ์ด์ ์๋น์ค์์๋ ํ์ฉ๋๊ฐ ๋งค์ฐ ๋์ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค.
๋ณธ ๊ฐ์ข๋ ๋ค์๊ณผ ๊ฐ์ด ํฌ๊ฒ 4๊ฐ์ง ํํธ๋ก ๋๋ฉ๋๋ค.
- ์คํ๋ง ์ํ๋ฆฌํฐ ๊ธฐ๋ณธ API ์ฌ์ฉ๋ฒ๊ณผ ์ด์ ๊ด๋ จ๋ Filter ์ดํด
- ์คํ๋ง ์ํ๋ฆฌํฐ ๋ด๋ถ ์ํคํ
์ฒ์ ๋์ ๋ฐฉ์ ์ดํด
- ์ค์ ํ๋ก์ ํธ๋ฅผ ํตํ ์คํ๋ง ์ํ๋ฆฌํฐ ์ธ์ฆ ํ๋ก์ธ์ค ๊ตฌํ
- ์ค์ ํ๋ก์ ํธ๋ฅผ ํตํ ์คํ๋ง ์ํ๋ฆฌํฐ ์ธ๊ฐ ํ๋ก์ธ์ค ๊ตฌํ - DB ์ฐ๋์ ํตํด ๊ถํ ์ ์ด ์์คํ
๊ตฌํ
2. ์ฌ๋ ์๋ ๋ด๋ถ ์ํคํ
์ฒ ๋ฐ ๋์์๋ฆฌ ํํค์น๊ธฐ
์คํ๋ง ์ํ๋ฆฌํฐ์ ๊ธฐ๋ณธ API๋ฅผ ์ฌ์ฉํด์ ์ธ์ฆ๊ณผ ์ธ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์ง๋ง ์์คํ
์ ๊ท๋ชจ๊ฐ ์ปค์ง๊ณ ๋ณด์๊ณผ ๊ด๋ จํ ์๊ตฌ์ฌํญ์ด ๋ง์์ง๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ API๋ง์ผ๋ก๋ ๊ตฌํํ๊ณ ์ ํ๋ ๋ณด์ ๊ธฐ๋ฅ์ ์ถฉ์กฑํ๊ธฐ๊ฐ ์ด๋ ค์์ง๊ฒ ๋ฉ๋๋ค.
์คํ๋ง ์ํ๋ฆฌํฐ์ ๊ธฐ๋ฅ์ ์์ ๋กญ๊ฒ ํ์ฅํ๊ณ ์๊ตฌ์ฌํญ์ ๋ง๊ฒ๋ ๋ค์ํ๊ณ ์ธ์ธํ๊ฒ ์ปค์คํธ๋ง์ด์ง ํ ์ ์๊ธฐ ์ํด์๋ ์คํ๋ง ์ํ๋ฆฌํฐ์ ๋ด๋ถ ์ํคํ
์ฒ๋ฅผ ๊น์ด ์ดํดํ๊ณ ์ธ์ฆ๊ณผ ์ธ๊ฐ ์ฒ๋ฆฌ๊ฐ ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๊ณ ์๋์ง์ ์ ์ฒด์ ์ธ ๋์์๋ฆฌ์ ๊ทธ์ ๋ฐ๋ฅธ ํ๋ฆ๋ค์ ๋ฐ๋์ ์ดํดํ์ฌ์ผ ํฉ๋๋ค.
๋ํ Spring MVC์ ์ฐ๊ณํด์ ๋ณด์ ์์คํ
์ ๊ตฌ์ถํ ๊ฒฝ์ฐ ์๊ธฐ์น ์๊ฒ ๋ฐ์ํ๋ ์ฌ๋ฌ๊ฐ์ง ๋ณด์ ์ค๋ฅ์ ๋ํด ์ ํํ ์์ธ๊ณผ ๊ทธ์ ๋ํ ํด๊ฒฐ์ฑ
์ ์๊ธฐ ์ํด์๋ ๊ผญ ํ์ํ ๋ด์ฉ์
๋๋ค.
๋ณธ ๊ฐ์ข๋ฅผ ํ์ตํ๊ฒ ๋๋ฉด ์ด๋ฌํ ์ง์๋ค์ ์ต๋ํ๊ณ ์ค๋ฌด์ ํ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
3. DB ์ฐ๋ ๊ถํ ์ ์ด ์์คํ
๊ตฌํ
์คํ๋ง ์ํ๋ฆฌํฐ์์ ์ ๊ณตํ๋ ์ธ๊ฐ ๋ฐฉ์์ ๋ ๊ฐ์ง๋ก ๋๋ ์ ์์ต๋๋ค.
์ฒซ๋ฒ์งธ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ํด์ ์ค์ ํ์ผ์ ์ง์ ๊ถํ์ ๋ณด๋ฅผ ๋ช
์ํ๋ ์ ์ธ์ ๋ฐฉ์์ด๊ณ ๋๋ฒ์งธ๋ ์ธ๋ถ ์ ์ฅ์์ ์ฐ๋ํ์ฌ ๋งต ๊ธฐ๋ฐ์ผ๋ก ๊ถํ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ ๋์ ์ธ ๋ฐฉ์์ผ๋ก ๋๋ ์ ์์ต๋๋ค.
์ฒซ๋ฒ์งธ ๋ฐฉ์์ ์์คํ
์ ๊ท๋ชจ๊ฐ ์ปค์ง ์๋ก ๊ถํ์ ์ข
๋ฅ์ ๊ตฌ์ฑ์ด ๋ณต์กํด์ง๊ฒ ๋๋๋ฐ ์ด๋ ์ค์ ํ์ผ๋ก ์ผ์ผํ ์ธ๊ฐ ์ ์ฑ
์ ๊ด๋ฆฌํ๋ค๋ ๊ฒ์ ๋งค์ฐ ๋นํจ์จ์ ์ด๋ฉฐ ์ ์ง๋ณด์ ์ฐจ์์์๋ ๋น์ฉ์ด ๋ง์ด ๋ค๊ฒ ๋ฉ๋๋ค.
์คํ๋ง ์ํ๋ฆฌํฐ์์๋ ์ด๋ฌํ ๋ถ๋ถ๋ค์ ๋ณด์ํ๊ธฐ ์ํด ์ค์ ํ์ผ์ ์ง์ ์ธ๊ฐ์ ์ฑ
์ ๊ด๋ฆฌํ์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ๋ DB ์ ๊ฐ์ ์ธ๋ถ ์ ์ฅ์์ ์ธ๊ฐ ์ ์ฑ
์ ๊ด๋ฆฌํ ์ ์๋๋ก ์ง์ํ๊ณ ์์ต๋๋ค.
๋ณธ ๊ฐ์ข๋ ์ค์ ํ์ผ์ ๋ช
์ํ๋ ์ ์ธ์ ๋ฐฉ์๊ณผ DB์์ ์ฐ๋์ ํตํ ๋์ ์ธ ๋ฐฉ์ ๋๊ฐ์ง ๋ชจ๋์ ๋ํด์ ์ดํด ๋ณผ ๊ฒ์ด๋ฉฐ ํนํ ์น ๊ณ์ธต์ URL ๋ฐฉ์ ๊ถํ ์ ์ด ๋ฟ ์๋๋ผ ๋น์ฆ๋์ค ๊ณ์ธต์ Method์ Pointcut ๋ฐฉ์์ ๊ถํ์ ์ด์ ๋ํด์๋ ์ดํด๋ด
๋๋ค.
์ด๋ก์จ ์๋น์ค ์ด์์์๋ ์๋ฒ ๊ธฐ๋ ์์ด ์ค์๊ฐ์ ๋์ ๊ถํ ์ ์ด ์์คํ
์ ๊ตฌํํ ์ ์๋ ๋ฐฉ๋ฒ์ ํ์ตํ๊ฒ ๋ฉ๋๋ค.
4. ์ค์ ํ๋ก์ ํธ ์์ฑ
๋ณธ ๊ฐ์ข์ ์ฒซ๋ฒ์งธ ์น์
๊ณผ ๋๋ฒ์งธ ์น์
์ ํ์ตํ ์ดํ ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ธ ๋ฒ์งธ ์น์
๋ถํฐ ์ฌ์ฏ ๋ฒ์งธ ์น์
๊น์ง๋ ์ค์ ํ๋ก์ ํธ๋ฅผ ์ง์ ์์ฑํด ๊ฐ๋ฉด์ ์คํ๋ง ์ํ๋ฆฌํฐ์ ๊ธฐ๋ฅ์ ์ดํดํ๋ ๋ฐฉ์์ผ๋ก ์งํํฉ๋๋ค.
[์ฌ์ฉ์]
๋์๋ณด๋, ์ฌ์ฉ์, ๋งค๋์ , ํ๊ฒฝ์ค์ ๊ณผ ๊ฐ์ ํ๋ฉด์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ ๊ฐ ๋ฉ๋ด๋ง๋ค ์ธ์ฆ ๋ฐ ์ธ๊ฐ ์ ์ฑ
์ ์ค์ ํ๊ณ ํ
์คํธ ํฉ๋๋ค.
ํ์๋ฑ๋ก ๋ฐ ๋ก๊ทธ์ธ ํ์ด์ง๋ฅผ ํตํด ์ธ์ฆ ์ค๋น ๋ฐ ์ฒ๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ง๋๋ค.
[๊ด๋ฆฌ์]
์ฌ์ฉ์ ๊ด๋ฆฌ, ๊ถํ ๊ด๋ฆฌ, ๋ฆฌ์์ค ๊ด๋ฆฌ์ ๊ฐ์ ํ๋ฉด์ ์ ๊ณตํ๋ฉฐ ๊ด๋ฆฌ์ ๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ค์๊ฐ์ ์ผ๋ก ๊ฐ ๊ธฐ๋ฅ์ CRUD ์ฒ๋ฆฌ๋ฅผ ํตํด ๊ถํ๊ณผ ์์์ ๋ํ ๋์ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋๋ก ๊ตฌ์ฑํฉ๋๋ค
DB ์ฐ๋์ผ๋ก ์ฌ์ฉ์์ ๊ถํ์ ์ค์ ํจ์ผ๋ก์จ ์ฌ์ฉ์ํ๋ฉด์์ ์ฆ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ค์ ํ๋ก์ ํธ์์๋ Spring Boot, Spring MVC, Spring JPA ๋ฑ๊ณผ ๊ฐ์ ๊ธฐ์ ์ ์ฐ๊ณํด์ ์งํํ๊ฒ ๋ฉ๋๋ค.
์ด ๊ฐ์ข๋ฅผ ๋ฃ๊ธฐ ์ ์ ๋ฏธ๋ฆฌ ํ์ตํ๊ธธ ๊ถ์ฅํด ๋๋ฆฌ๊ณ ๊ฐ์ข๋ฅผ ์๊ฐํ์๋ฉด์ ์คํ๋ง ์ฐ๊ณ ๊ธฐ์ ๋ค์ ๋ณํํด์ ํ์ตํ์๋ฉด ๋ฉ๋๋ค.
์ค์ํ ๊ฒ์ ์คํ๋ง ์ํ๋ฆฌํฐ์ ํต์ฌ ๊ธฐ๋ฅ์ ์ดํดํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์์ ์ฐ๊ณ ๊ธฐ์ ์ ์ฐจ์ฐจ ์ดํดํด๋ ํฌ๊ฒ ๋ฌธ์ ๋์ง๋ ์์ต๋๋ค.
5. ์ง์๊ณต์ ์ ์๊ฐ
์ ์์(leaven)
- ํ์ง ์๋ฐ ๊ฐ๋ฐ์
- SI/SM/์๋ฃจ์
/Mobile/Front&Back-end ์ ๋ค์ํ ํ๋ก์ ํธ ๊ฒฝํ
- Architect/PM/PL ๋ก์ ์ญํ ์ํ
- Github