์ค๋ฌด์ ๊ผญ ํ์ํ HTTP ํต์ฌ ๊ธฐ๋ฅ๊ณผ ์ฌ๋ฐ๋ฅธ HTTP API ์ค๊ณ ๋ฐฉ๋ฒ์ ํ์ตํฉ๋๋ค.
์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ณ ๊ธํธ ์คํ ์์ ์์!
์๋
ํ์ธ์. ์ฌ๋ฌ๋ถ
๋๋์ด ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ณ ๊ธํธ ๊ฐ์๊ฐ ์คํ ์ค๋น์ ๋์
ํ์ต๋๋ค.
์ค๋๊ธฐ๊ฐ ๊ธฐ๋ค๋ ค์ฃผ์๊ณ ์์ํด์ฃผ์
์ ๊ณ ๋ง์ต๋๋ค.
- ์ ๋ชฉ: ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ณ ๊ธํธ
- ์ถ์ ์ผ์ : 10์ 27์ผ(์) ~ 11์ 3์ผ(์) ์ฌ์ด์ ์ถ์
- ๊ฐ์ ์: 120๊ฐ
- ๊ฐ์ ์๋ฃ: PDF 360์ฅ
๊ธฐ๋ณธํธ ๊ฐ์์์ ์คํ๋ง๊ณผ ๊ฐ์ฒด ์งํฅ ๊ฐ๋ฐ์ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์ตํ๋ค๋ฉด, ๊ณ ๊ธํธ ๊ฐ์๋ ์คํ๋ง๊ณผ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๊น์ด์๊ฒ ์ดํดํ๊ธฐ ์ํ ์ฌ๋์๋ ์ฃผ์ ๋ค์ ๋ค๋ฃน๋๋ค.
๊ณ ๊ธํธ ํต์ฌ ์ฃผ์
- ์คํ๋ง ํต์ฌ ๋์์ธ ํจํด
- ๋์์ฑ ๋ฌธ์ ์ ์ฐ๋ ๋ ๋ก์ปฌ
- ์คํ๋ง AOP
์ด๋ ค์ด ๋ด์ฉ๋ค์ด์ง๋ง ์ค๋ ฅ์๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ฉด ๋ฐ๋์ ํ๋ฒ์ ๊น์ด์๊ฒ ๊ณต๋ถํด์ผ ํ๋ ๋ด์ฉ์
๋๋ค.
๋ณต์กํ๊ณ ์ด๋ ค์ด ์คํ๋ง์ ํต์ฌ ์ฌํ ๋ด์ฉ์ ์ด ๊ฐ์ ํ๋๋ก ๋ง๋ฌด๋ฆฌ ์ง๋๋ค๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
์์ธํ ๋ด์ฉ์ ๋ค์ ๊ฐ์ ์๊ฐ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.
๊ฐ์ ์๊ฐ
*์คํ๋ง ํ๋ ์์ํฌ*
์ค๋ ฅ์๋ ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ฉด ์ค๋ฌด์์ ์์ฃผ ์ฌ์ฉํ๋ ๋๊ตฌ๋ฅผ ๊น์ด์๊ฒ ์ดํดํด์ผ ํฉ๋๋ค.
์คํ๋ง์ ์ค๋ฌด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐฑ์๋ ๊ธฐ์ ์
๋๋ค.
๋ฐ๋ผ์ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ผ๋ฉด ์คํ๋ง์ ๊น์ด์๊ฒ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์์ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ์์ ์คํ๋ง๊ณผ ๊ฐ์ฒด ์งํฅ ๊ฐ๋ฐ์ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์ตํ์ต๋๋ค.
*์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ*
๊ฐ์ฒด ์งํฅ ์ค๊ณ์ ์คํ๋ง
- SOLID - SRP, OCP, DIP
์คํ๋ง ์ปจํ
์ด๋์ ์คํ๋ง ๋น
- ์คํ๋ง ์ปจํ
์ด๋ - IoC, DI
- ์์กด๊ด๊ณ ์ฃผ์
- ๋น ์์ฑ์ฃผ๊ธฐ์ ์ค์ฝํ
*์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ณ ๊ธํธ*
์คํ๋ง์ ๊น์ด์๊ฒ ์ดํดํ๊ณ , ์ค๋ฌด์์ ์ค๋ ฅ์๋ ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ฉด, ๊ธฐ๋ณธํธ์์ ํ์ตํ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํฌ๊ฒ 3๊ฐ์ง ํต์ฌ ๊ณ ๊ธ ๊ฐ๋ ์ ์์์ผํฉ๋๋ค. ์ด๋ฒ ๊ณ ๊ธํธ์์๋ ์ด๋ฌํ ๊ณ ๊ธ ๊ฐ๋ ์ ํ์ตํฉ๋๋ค.
1. ์คํ๋ง ํต์ฌ ๋์์ธ ํจํด
2. ๋์์ฑ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ ์ฐ๋ ๋ ๋ก์ปฌ
3. ์คํ๋ง AOP
*1. ์คํ๋ง ํต์ฌ ๋์์ธ ํจํด*
์คํ๋ง์ ๋ด๋ถ ๊ธฐ์ ๋ค์ ๋ช ๊ฐ์ง ํต์ฌ ๋์์ธ ํจํด์ผ๋ก ๋ง๋ค์ด์ ธ ์์ต๋๋ค. ๋ฐ๋ผ์ ์คํ๋ง์ ๊น์ด์๊ฒ ์ดํดํ๊ธฐ ์ํด์๋ ๋จผ์ ์คํ๋ง์ด ์์ฃผ ์ฌ์ฉํ๋ ๋์์ธ ํจํด๋ค์ ์์์ผํฉ๋๋ค.
*๊ฐ์์์ ์ ๋ฌํ๋ ํต์ฌ ๋์์ธ ํจํด*
- ํ
ํ๋ฆฟ ๋ฉ์๋ ํจํด
- ์ ๋ต ํจํด
- ํ
ํ๋ฆฟ ์ฝ๋ฐฑ ํจํด
- ํ๋ก์ ํจํด
- ๋ฐ์ฝ๋ ์ดํฐ ํจํด
๊ฐ์์์๋ ์ด๋ฌํ ๋์์ธ ํจํด๋ค์ ์์ ์ฝ๋๋ก ํ๋ํ๋ ๋ง๋ค์ด๋ณด๋ฉด์ ์์ฃผ ์ฝ๊ฒ ์ค๋ช ํด๋๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ํ์ตํ ๋์์ธ ํจํด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์์๋ด ๋๋ค.
*2. ์ฐ๋ ๋ ๋ก์ปฌ*
์คํ๋ง์ ์ฃผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์์ ์ฌ๋ฌ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ฉํฐ์ฐ๋ ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ ์ฌ๋ฌ ์ฐ๋ ๋๊ฐ ๊ฒฝํฉํ๋ ๋์์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
*๊ฐ์์์ ์ ๋ฌํ๋ ๋์์ฑ ๋ฌธ์ ์ ์ฐ๋ ๋ ๋ก์ปฌ ๋ด์ฉ*
- ์น ์ ํ๋ฆฌ์ผ์ด์
- ๋ฉํฐ์ฐ๋ ๋
- ๋์์ฑ ๋ฌธ์
๊ฐ์์์๋ ์คํ๋ง์ ์ฌ์ฉํ ๋ ๋ฐ์ํ๋ ๋์์ฑ ๋ฌธ์ ๋ฅผ ์์๋ณด๊ณ , ๋ ๋์์ฑ ๋ฌธ์ ๋ฅผ ํธ๋ฆฌํ๊ฒ ํด๊ฒฐํ ์ ์๋ ์ฐ๋ ๋ ๋ก์ปฌ ๊ฐ๋
๊น์ง ํ์ตํฉ๋๋ค.
์ฐ๋ ๋ ๋ก์ปฌ์ ๋ฉํฐ์ฐ๋ ๋ ํ๊ฒฝ์์ ์คํ๋ง์ด ์ด๋ป๊ฒ ๋์์ฑ ๋ฌธ์ ์์ด ์ ์๋ํ๋์ง ์ดํดํ๊ธฐ ์ํ ํ์ ๊ฐ๋
์
๋๋ค.
*3. ์คํ๋ง AOP*
์คํ๋ง AOP๋ ์ค๋ฌด์์ ์ ๋ง ๋ง์ด ์ฌ์ฉ๋๋, ๋ง์น ๋ง๋ฒ์ฒ๋ผ ๋๊ปด์ง ์ ๋๋ก ํธ๋ฆฌํ ๊ธฐ์ ์ ๋๋ค. ๋ง์ ๊ฐ๋ฐ์๊ฐ ์คํ๋ง AOP๋ฅผ ์ฌ์ฉํ์ง๋ง, ์คํ๋ง AOP๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ๊ทธ ์๋ฆฌ๋ฅผ ์ ํํ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ ๋ง์ง ์์ต๋๋ค.
๋จ์ํ ์คํ๋ง AOP์ ๊ธฐ๋ฅ๋ง ์๊ณ ์ฌ์ฉํ๋ ๋จ๊ณ๋ฅผ ๋์ด์, ์คํ๋ง AOP์ ๋์ ์๋ฆฌ๋ฅผ ๊น์ด์๊ฒ ์ดํดํด์ผ ์ฅ์ ๊ฐ ๋ฐ์ํ์ ๋ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ํด๊ฒฐ์ด ๊ฐ๋ฅํฉ๋๋ค.
*๊ฐ์์์ ์ ๋ฌํ๋ ์คํ๋ง AOP ๋ด์ฉ*
- ๊ฐ๋
, ์ฉ์ด์ ๋ฆฌ
- ํ๋ก์ - JDK ๋์ ํ๋ก์, CGLIB
- ๋์ ์๋ฆฌ
- ์ค์ ์์
- ์ค๋ฌด ์ฃผ์ ์ฌํญ
๊ฐ์์์๋ ์คํ๋ง AOP์ ๋จ์ํ ๊ธฐ๋ฅ ์ ๋ฆฌ๋ฅผ ๋์ด์ ๋์ ์๋ฆฌ๋ถํฐ ์ค์ ์์ , ๊ทธ๋ฆฌ๊ณ ์ค๋ฌด์์ ์์ฃผ ๋ฐ์ํ๋ ์ฃผ์ ์ฌํญ๊น์ง ์คํ๋ง AOP์ ๋ชจ๋ ๊ฒ์ ์ ๋ฆฌํด๋๋ฆฝ๋๋ค.
*๊ธฐํ*
์ถ๊ฐ๋ก ์คํ๋ง ์ปจํ ์ด๋์ ๊ณ ๊ธ ๊ธฐ์ ์ธ ๋น ํ์ฒ๋ฆฌ๊ธฐ์ ์คํ๋ง ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ๋ค์ํ *์ค๋ฌด ํ*๋ ์ ํด๋๋ฆฝ๋๋ค.
- ์คํ๋ง ์ปจํ
์ด๋์ ํ์ฅ ํฌ์ธํธ - ๋น ํ์ฒ๋ฆฌ๊ธฐ
- ์คํ๋ง ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๋ ๋ค์ํ ์ค๋ฌด ํ
๊ฐ์๋ฅผ ๋ฃ๊ณ ๋๋ฉด
๊ณ ๊ธํธ์ธ ๋งํผ ์ด ๊ฐ์์์ ๋ค๋ฃจ๋ ๋ด์ฉ๋ค์ ์ฌ์ด ๋ด์ฉ๋ค์ด ์๋๋๋ค.
ํ์ง๋ง ์ค๋ ฅ์๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋๋ ค๋ฉด ๋ฐ๋์ ํ๋ฒ์ ๊ณต๋ถํด์ผ ํ๋ ๋ด์ฉ์
๋๋ค.
ํฌ๊ธฐํ์ง ์๊ณ ์ด ๊ฐ์๋ฅผ ๋๊น์ง ๋ฐ๋ผ์ค์๋ฉด ์ฌ๋ฌ๋ถ์ ๊ฐ๋ฐ์๋ก์ ์์ฒญ๋ ๋ด๊ณต ์์น์ ๊ฒฝํํ๊ณ ๋๊ตฌ๋ณด๋ค ์์ ์๊ฒ ์คํ๋ง์ ์ฌ์ฉํ์ค ์ ์๊ฒ ๋ฉ๋๋ค.
์ด๋ ค์ด ๋ด์ฉ์ด๋ ๋งํผ ์ ๋ ์ฒ ์ ํ๊ฒ ๊ฐ์๋ฅผ ์ค๋นํ์ต๋๋ค. ์ฌ๋ฌ๋ถ์ด ์ด ๋ด์ฉ๋ค์ ๋ณธ์ธ ๊ฒ์ผ๋ก ์์ฑํ ์ ์๊ฒ ๋์๋๋ฆฌ๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.