๐คผโ๏ธ ํ ํ๋ก์ ํธ์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ
ํ ํ๋ก์ ํธ๋ฅผ ํ ๋ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๋ฌด์์ผ๊น์?
์ ๋ ์นญ์ฐฌ, ์กด์ค, ๋ฐฐ๋ ค๋ ๋ฌผ๋ก ์ข์ง๋ง ๋ณดํต ํ ํ๋ก์ ํธ์์ ์ปค๋ฎค๋์ผ์ด์ ์ ํ๊ฒ ๋๋ ์ด์ ๋ ํ๋์ ๋ชฉ์ ์ ๋ฐ๋ผ๋ณด๋ฉฐ ํจ๊ป ์ผ์ฐ์ผ์ฐ ํ๋ฉฐ ๋์๊ฐ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ ์ํ๊ณ ํฌ๋ช ํ ์ปค๋ฎค๋์ผ์ด์ ์ด ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๊ณ , ์ค์ํ ์์๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๊ณผ์ฐ ์ ์ํ๊ณ ํฌ๋ช ํ ์ปค๋ฎค๋์ผ์ด์ ์ด๋ ๋ฌด์์ ์๋ฏธํ๋ ๊ฒ์ผ๊น์?
์ ์ํ๊ณ
1. ๋น ๋ฅธ ๋ต์ฅ ํด์ฃผ๊ธฐ
๐ฑ : ๐ถ๋! ์์ฑํ์ ๋ฌธ์๋ฅผ ๋ดค๋๋ฐ ์ด๋ฐ ๋ฌธ์ ์ ์ด ์๋ ๊ฒ ๊ฐ์์! ์ด๋ป๊ฒ ์๊ฐํ์ธ์?
(24์๊ฐ ๋ค)
๐ฑ : @๐ถ๋ใ
ใ
๋ต์ฅ ๋ถํ๋๋ ค์!
๐ถ : ์์ด์ฟ ์ฃ์กํด์ ใ
์๋์ด ์ ์ธ๋ ค์ ์ด์ ๋ดค๋ค์
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๊ณ ์ด์ฉ๋ฉด ๋น์ฐํ๋ค๊ณ ์๊ฐํ ์ ์์ง๋ง, ์๊ฐ ์ธ๋ก ์ ์ง์ผ์ง์ง ์๋ ๋ถ๋ถ์ ๋๋ค. ๋น ๋ฅธ ํผ๋๋ฐฑ์ด ์ด๋ฃจ์ด์ง์ง ์์ผ๋ฉด ์๋๋ฐฉ์ ์ด์กฐํด์ง๊ฒ ๋๊ณ ๊ฒฐ๊ตญ ์๋ก ๊ฐ์ ์ ๋ขฐ๊ฐ ๋ฌด๋์ง ์ ์์ต๋๋ค. ๋ง์ฝ ์ค์๊ฐ ํผ๋๋ฐฑ์ด ์ด๋ ต๋ค๋ฉด ์์ ์ ์ํฉ์ ๋ฏธ๋ฆฌ ๊ณต์ ํด์ ์ํด๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. (ex. ์ ๋ฌด ์๊ฐ์๋ ์ฌ๋ ํ์ธ์ด ์ด๋ ค์์ 7์ ์ดํ์ ๋ต์ฅ์ด ๊ฐ๋ฅํ ๊ฒ ๊ฐ์ต๋๋ค.)
2. ์งง์ ์ฃผ๊ธฐ๋ก ํผ๋๋ฐฑ ์๊ฐ
๐ถ : ์์ฑ๋ PPT ํ์ผ ์ ์ถํฉ๋๋ค!
์์ ๊ฐ์ ๋์ฐธ์ฌ๋ฅผ ๋ง๊ธฐ ์ํด์๋ ์งง์ ์ฃผ๊ธฐ๋ก ํ์ ์ ์ฒด์ ํผ๋๋ฐฑ์ ๊ฐ์ง๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด๋ฅผ ์ํ ๋ฐฉ๋ฒ์ผ๋ก ์คํ ๋ ๋ฏธํ ์ ์ฌ์ฉํ ์๋ ์๊ณ , ์์๋ก ์ค๊ฐ ์์ ๋ฌผ์ ๊ณต์ ํ๊ณ ์์ ๋ฌผ์ ๋ํ ํผ๋๋ฐฑ์ ๋ฐ์ ์ ์์ต๋๋ค.
ํฌ๋ช ํ
1. ์๊ธฐ๊ฐ๊ดํ๋ฅผ ํ๊ณ ์ต๋ํ ๋นจ๋ฆฌ ๊ณต์ ํ๊ธฐ
// ๐
๐ถ : ์ ์ฃ์กํด์ ใ
ใ
์ด๋ฒ์ฃผ๋ ๋๋ฌด ํ๋ค์ด์ ๋ชปํ์ด์ ใ
ใ
// ๐
๐ถ : ์ด๋ฒ์ฃผ์๋ ํ๋ค์ด์ ๋ชปํ ๊ฒ ๊ฐ์์
์์ ๊ฒฝ์ฐ์๋ ํ์์ด ์ด๋ฏธ ์ผ์ฃผ์ผ์ ๋ญ๋นํ ์ํฉ์ด์ง๋ง, ์๋์ ๊ฒฝ์ฐ์๋ ํน์ ํ์์ด ์ฐธ์ฌํ์ง ์์๋ ์ณ๋ผ ์ ์๋ ์ผ์ ๋จผ์ ์งํํ ์ ์์ต๋๋ค.
2. ์์งํ๊ฒ ๋งํ๊ธฐ
๐ฑ : ๊ทธ๋ฌ๋ฉด ์ ํฌ ํ๋ก์ ํธ๋ JPA๋ก ์งํํ ๊น์?
๐ผ : ๋ค ์ข์์~
๐ถ : (JPA๊ฐ ๋ญ์ง? ์ฒ์ ๋ฃ๋๋ฐ ... ๋ณ๊ฑฐ ์๋๊ฒ ์ง ๋ญ) ๋ค
...
๐ถ : (myBatis๋ก ์์
์ค)
ํฌ๋ช ํ๊ธฐ ์ด๋ ค์ด ์ด์
- ํ์๋ถ๋ค์๊ฒ ๋งํ๊ธฐ ๋ฏธ์ํด์
- ๋ค๋ฅธ ๋ถ๋ค๋ณด๋ค ๋ชปํ๋ ๊ฒ ๊ฐ์ ๋ถ๋๋ฌ์์
- ํ์ ํผํด๊ฐ ๋๋ ๊ฒ ๊ฐ์ ๋๋ ค์์
ํ์ง๋ง ์ด๋ฌํ ์ฌํญ๋ค์ ๊ฒฐ๊ตญ ์ค์ค๋ก ๊ทน๋ณต์ ํด์ผ ํฉ๋๋ค. ์ ์ญ์๋ ์ ์ด์ ๋ก ์ง๋ฌธ์ ํ ๋ ๋ง์ค์๋ ์ ์ด ๋ง์์ต๋๋ค. ๊ทธ๋์ ์ด๋ฒ ํฌ์คํ ์์๋ ์ง๋ฌธ์ ๋๋ ค์์ ์ด๋ป๊ฒ ๊ทน๋ณตํ๋์ง ์ ์ ๊ฒฝํ์ ์กฐ๊ธ์ด๋๋ง ๊ณต์ ํด๋ณด๊ณ ์ ํฉ๋๋ค! ๐
๐ฉ๐ซ ์ง๋ฌธ
์ง๋ฌธํ๊ธฐ๊ฐ ์ด๋ ค์ด ์ด์
์ฐ๋ฆฌ๊ฐ ์ด๋ฆด ๋๋ถํฐ ํ๊ต์์ ๋ฐฐ์ด ๊ฒ์ ์ง๋ฌธํ๋ ๊ฒ ์๋๋ผ ๊ทธ๋ฅ ๋ฐ์ ์ ์ผ๋ฉด์ ์ธ์ฐ๋ ์ผ์ด์๊ณ , ๋ชจ๋ฅด๋ ๊ฒ์ ์ง๋ฌธํ๋ ๊ฒ์ ๋ฉ์ฒญํ ์ผ๋ก ๋ฐ์๋ค์๋ค.
์ง๋ฌธ์ ์กฐ๊ธ ๋ ์ ์ฉ๊ธฐ ์๊ฒ ํ๋ ๋ฐฉ๋ฒ
1. ๋๋์๋ณด๊ธฐ
์ ํฌ๋ ๋ณดํต ์ง๋ฌธํ๋ค๊ฐ ์ด๋ฐ ๋ง์ ๋ค์๊น๋ด ์ง๋ฌธ์ ๋ง์ค์ด๊ณ ๋๋ ค์ํ๊ฒ ๋ฉ๋๋ค.
- ์ด๊ฒ๋ ๋ชฐ๋ผ?
- ์ง๊ธ๊น์ง ๋ญ ๋ฐฐ์ด ๊ฑฐ์ผ?
- ๊ธฐํ ๋น๋์ ๋ง๋ค
ํ์ง๋ง ์ค์ค๋ก ์๋ ์ง๋ฌธ์ ํ๋ฉฐ ์๊ฐํด๋ณด๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ด ๋ ์ ์์ต๋๋ค. ๐ค
- ์ง๊ธ๊น์ง ์ง๋ฌธ์ ํด์ ๋นํ์ ๋ง์ ๋ค์ ์ ์ด ์๋๊ฐ?
- ๋ง์ฝ ์๋ค๊ณ ํด๋ ๊ทธ ์ฌ๋์ด ํผ๋๋ฐฑ์ ๋ฐ์์ผ์ง, ์ง๋ฌธํ ์ฌ๋์ด ์๋ชปํ ๊ฒ์ ์ ํ ์๋ค.
- ๋์๊ฒ ์ง๋ฌธ์ ํ ์ฌ๋์๊ฒ ๊ทธ๋ฐ ์๊ฐ์ ํ ์ ์ด ์๋๊ฐ?
- ์๋ค๋ฉด ์๊ธฐ๋ฐ์ฑ์ ์๊ฐ์ ๊ฐ์ ธ๋ณด์!
- ์ง๋ฌธํ์ง ์๊ณ ํผ์ ์ฝ์งํ๋ค ์๊ฐ ๋ ๋ฆฐ ์ ์ด ์๋๊ฐ?
์ ์ ๊ฒฝ์ฐ์๋ ์ง๋ฌธ์ ํ๊ณ ํ ๋ฒ๋ ๋นํ์ ๋ง์ ๋ค์ ์ ์ด ์์ง๋ง ๋ฌด์์ ๋นํ์ ๋ง์ ๋ค์๊น๋ด ์ง๋ฌธ์ ๋๋ ค์ํ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ง๋ฌธ์ ํ๋ ๊ฒ ๋ณด๋ค๋ ๋ ํผ์ ํด๊ฒฐํ๋ ๊ฒ ๋ ์ข์ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์๊ฐํ์ฌ ๋ฌผ์ด๋ดค์ผ๋ฉด ๋ฐ๋ก ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ๋ฅผ ํ๋ฃจ์ข ์ผ ์ฝ์งํ ์ ์ด ์์์ต๋๋ค. ๐ ์ง๋๊ณ ๋์ ์๊ฐํด๋ณด๋ ํ๋ฃจ์ข ์ผ ์ฝ์ง์ ํ ๊ฒ์ด ํ์ฌ์๊ฒ ํ๋๋ ๋์์ด ๋์ง ์์์๋ฟ๋๋ฌ, ๋ ์์ ์ ์ฑ์ฅ์๋ ๋ณ๋ก ๋์์ด ๋์ง ์์์ต๋๋ค.
2. ๋ง์ธ๋ ์ปจํธ๋กคํ๊ธฐ
- ์ ๋ฌผ์ด๋ณด๋ฉด ๋๋ง ์ํด๋ค.
- ๋ชจ๋๊ฐ ๋ชจ๋ ๊ธฐ์ ์ ๋ํด ์ ์ ์๊ฐ ์๋ค.
์ ์ ๊ฒฝ์ฐ์๋ 4๋ ์ฐจ ๊ฐ๋ฐ์๋ถ๊ป์ ์ ์๊ฒ Spring Security์ ๋ํด ์ฌ์ญค๋ณธ ์ ์ด ์์์ต๋๋ค. ์ด์ฒ๋ผ ๋๊ตฌ๋ ์ง ์๋ ๊ฒ๋ ์๊ณ ๋ชจ๋ฅด๋ ๊ฒ๋ ์๊ธฐ ๋ง๋ จ์ด๋๊น ์ง๋ฌธ์ ํ ๋ ๋๋ง ๋๋ฌด ๋ชจ๋ฅด๋ ๊ฒ ๊ฐ๋ค๋ ๊ฑฑ์ ์ ๋จ์ณ๋ด์ผ ํฉ๋๋ค. ๐ ๋ํ ์ง๋ฌธํ์ง ์๊ณ ๋์ด๊ฐ๊ฒ ๋๋ฉด ๋จ์ํ ๋ต์ ๋ฃ๋๊ฒ ์ด์ธ์ ๋ ์ ์ฉํ๊ณ ์ข์ ์ง์์ ์ป์ ๊ธฐํ๋ฅผ ๋์น๊ฒ ๋ ์๋ ์์ต๋๋ค.
3. ์ง๋ฌธ ์ฐ์ตํ๊ธฐ
- ์ง๋ฌธ์ ๋๋ ค์ํ์ง ์๋ ๊ฒ๋ ์ฐ์ต์ด ํ์ํ๋ค.
- ์ฒ์์ด ์ด๋ ต์ง ํ๋ค ๋ณด๋ฉด ์ต์ํด์ง๊ณ ์ฌ์์ง๋ค. (a.k.a. ๋ฐ๋ ๋๋์ด ์๋๋ ๋๋ค!)
- ํธํ ์ฌ๋ → ๋์ ์ฌ๋ ์์๋๋ก ์ฌ์ํ ๊ฒ๋ถํฐ ์ง๋ฌธํ๋ ์ฐ์ต์ ํด๋ณด์
- ์น๊ตฌ → ๋๊ธฐ → ์ฌ์ → ์ ์นํ ๋ค๋ฅธ ํ์ ๊ฐ๋ฐ์๋ถ
- ๊ธฐ๋กํด๋๊ณ ๋์ผํ ์ง๋ฌธ์ ํ์ง ์๋ ๊ฒ๋ ์ค์ํ๋ค.
๊ทธ๋ ๋ค๊ณ ๋ฌด์์ ์ง๋ฌธ๋ถํฐ ํ์ง ๋ง์
์ง๊ธ๊น์ง ์ ๊ฐ ๋งํ๊ณ ์ ํ๋ ๋ฐ๋ '์ง๋ฌธ์ ๋๋ ค์ํ์ง ๋ง์'์ด์ง, '๋ฌด์์ ์ง๋ฌธํ๋ผ'๊ฐ ์ ๋ ์๋๋๋ค. ์ง๋ฌธํ๊ธฐ ์ ์๋ ๋ฐ๋์ ๊ฒ์์ด ์ ํ๋์ด์ผ ํ๋ฉฐ, ์ข์ ์ง๋ฌธ์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ข์ ์ง๋ฌธ์ ๋ํด ๊ฐ์ธ์ ์ผ๋ก ์ถ์ฒํ๊ณ ์ถ์ ๊ธ
- ์ง๋ฌธ์ ์ํ๋ ๊ฐ๋ฐ์
- ์ค๋ ฅ์ด ์ข์ ๊ฐ๋ฐ์๋ ์ข์ ์ง๋ฌธ์ ํ๋ค.
- ๋ ์ข์ ์ง๋ฌธ์ ํ๋ ๋ฐฉ๋ฒ (The XY Problem)
โจ ๋งบ์ผ๋ฉฐ
์ ์ํ๊ณ ํฌ๋ช ํ ์ปค๋ฎค๋์ผ์ด์ ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๊ฐ์ ์ ์ด์ ๋ก ๊ณต์ ๋ฅผ ํ์ง ์๊ฒ ๋๋ฉด, ๊ฒฐ๊ณผ์ ์ผ๋ก ํ์ ํผํฌ๋จผ์ค์ ์ํฅ์ ์ค ์ ์๋ค๋ ๊ฒ์ ๋ช ์ฌํด์ผ ํฉ๋๋ค. (์ปค๋ฎค๋์ผ์ด์ ์ ํจ์จ = ํ์ ํผํฌ๋จผ์ค)
์ถ๊ฐ๋ก ํฌ์คํ ์ ๋ฆฌ๋ทฐ ๋ฐ์ ์ ์ด ์๋๋ฐ ๊ธฐ์ต์ ๋จ๋ ์ฝ๋ฉํธ๋ค์ด ์์ด์ ์๊ฐ๋๋ฆฌ๊ณ ์ ํฉ๋๋ค. (์ธ์ฉ ํ๋ฝํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๐) ์ ์ฒด ์ฝ๋ฉํธ๋ ์ด ๋งํฌ์์ ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค!
Q. ์ง๋ฌธํ๋ ์ฌ๋์ด ์๋ชป์ด ์์๊น์?
A. ๋ ๊ฐ์ง์ ์ง๋ฌธ์ด ์๋ ๊ฒ ๊ฐ์์. ์ ๋ต(์ ์ผํ ๋ต์)์ ์ฐพ๋ ์ง๋ฌธ๊ณผ ํด๋ต(๋ค์ํ ๋์)์ ์ฐพ๋ ์ง๋ฌธ์ด์. ์ํํธ์จ์ด ๋ถ์ผ๋ ๊ทธ๋ ์ง๋ง ๋ชจ๋ ์ ๋ฌด ๋ถ์ผ์์ ์ ๋ต์ ์๋ ๊ฒ ๊ฐ์์. ๊ทธ๋์ ์ ๋ต์ ์๋ ค๊ณ ํ๋ ์์ ์ง๋ฌธ์ ํ์คํ ํผํด์ผํ๊ณ ์ง์ํด์ผ ๋๋ ๊ฒ ๊ฐ๊ตฌ์... ํด๋ต์ ์ฐพ๊ธฐ ์ํด ๋ ธ๋ ฅ์ ๋ค์ด๋ ๊ณผ์ ์์ ๋์์ด ๋ ๋งํ ์กฐ์ธ์ด๋ ํํธ๋ฅผ ๊ตฌํ๋ ์ง๋ฌธ, ํน์ ๊ณผ๊ฑฐ์ ํด๋ต์ ์ฐพ์ ๊ฒฝํ์์ ์กฐ์ธ์ ๊ตฌํ๋ ์ง๋ฌธ์ ์คํ๋ ค ๋ฌธ์ ํด๊ฒฐ์ ๋์์ด๋๊ณ ์ข์ ๊ฒ ๊ฐ์์.
Q. ๋ต์ฅ์ด ๋๋ ค์ง๋ ์ํฉ์๋ ์ด๋ป๊ฒ ํด์ผํ ๊น์?
A. ์ฌ๋ฌ๊ฐ์ง ์ฌ์ ์ด ์๊ฒ ์ง๋ง ๋ต์ฅํ๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒ์ ์ข์ ์ํฉ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์๋ ์์ ์, ๋ฐ์ ์ ๋ชจ๋ ๋ณ๋ชฉ์ด ์ผ์ด๋์ง ์๋๋ก ์๋์ ๊ฐ์ด ํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค์.
- ๋ฐ์ ์: ๋ต์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒ ๊ฐ์ผ๋ฉด ๋ค์ ํ๋ฒ ๋ฉ์ธ์ง๋ก ๋ฐ์์ ๊ฒ ๊ฐ์ผ๋๊น ์ ๊ฐ ์ฌ๊ธฐ ํ์ด์ง(๋งํฌ)์ ๋จ๊ฒจ๋๊ฒ ์ต๋๋ค. ์๊ฐ๋๋ฉด ํ์ธํด์ฃผ์ธ์.
- ์์ ์: ์ฃ์กํฉ๋๋ค. ์ ๊ฐ ์ง๊ธ ๋ค๋ฅธ ๊ฒ ๋๋ฌธ์ ๋ต์ด ๋ฆ๋ค์ใ ์ ํฌ ํ์ ํด์ ์์ฒญํ์ ์ฌํญ ์ ์ด์ฃผ์๋ฉด ์ ๊ฐ ์๊ฐ๋ ๋ ๋ต๋ณ์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๐ ์ฐธ๊ณ
- ์๋ฆ๋ค์ด ์ปค๋ฎค๋์ผ์ด์ ์คํฌ
- ์ ์ฐ๋ฆฌ๋ ์ง๋ฌธ์ ํ์ง ๋ชปํ๋ ๊ฑธ๊น?