์ฑ์ฅํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ผ๋ฉด?
ํจ๊ณผ์ ์ธ ๋ ๋ฒจ ์
์ ์ํ ์์ ์ค๋ต๋
ธํธ!
๊ฐ๋ฐ โ์โ ํ๊ณ ์ถ์ ์ฃผ๋์ด ๊ฐ๋ฐ์๋
์ด๋ค ๊ฑธ ๊ณต๋ถํด์ผ ํ ๊น์?
ํน์ ์ด๋ฐ ๊ณ ๋ฏผํ๊ณ ๊ณ์
จ๋์?
โ์ด์ ๋ญ ๊ณต๋ถํด์ผ ํ์ง? ๋ฌด์จ ์คํ์ ๋ฐฐ์ฐ๋ฉด ๋์์ด ๋ ๊น?โ
โ์ธํ๋ผ ์ชฝ์ ํ๊ณ ๋ค๋ฉด ์ข์๊น? ์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ๋ฐฐ์๋ณผ๊น?โ
๋ฌด์์ ๊ธฐ์ ์คํ์ ๋ฐฐ์ด๋ค๊ณ โ๊ฐ๋ฐ ์ค๋ ฅโ์ด ๋์ง ์์ต๋๋ค!
์ฌ๋ฌ๋ถ์ด ์๋ฌด ๊ธฐ์ ์ด๋ ํน์ ๊ฐ๋
์ ๋ฌด์์ ์ฑ
์ ์ฌ์ ๊ณต๋ถํ์ง ์๋๋ก ๋์๋๋ฆด๊ฒ์. ์ธํ๋ผ(NoSQL, Message Queue...)๋ Spring security ๊ฐ์ ๊ธฐ์ ์คํ์ ๊ณต๋ถํ๋ ๊ฒ ์ฌ๋ฌ๋ถ์ ๊ฐ๋ฐ ๋ฅ๋ ฅ ํฅ์์ผ๋ก ์ด์ด์ง๋ ๊ฑด ์๋๋๊น์! ์ค์ฒํ ์ ์๊ณ ํ์ํ ๋ด์ฉ๋ง ์์ ์ง์ด ์งง์ ์๊ฐ ์์ ์ค๋ช
ํ ๊ฐ์์
๋๋ค.
๊ทธ๋์, ์ด๋ฐ ๋ด์ฉ์ ๋ฐฐ์๋๋ค.

๋ค๋
๊ฐ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํ๋ฉด์ ๊ฒฝํํ๋, ์ฃผ๋์ด ๊ฐ๋ฐ์ ๋ถ๋ค์ด ๋ง์ด ํ๋ ๊ฐ๋ฐ ์ค์๋ฅผ ๊ต์ ํด๋๋ฆด๊ฒ์!

์์กด์ฑ ์ฃผ์
๊ณผ ์์กด์ฑ ์ญ์ ์ ์ฐจ์ด๋ฅผ ์ค๋ช
ํ์ค ์ ์๋์? ๊ธฐ๊ณ์ ์ผ๋ก ์ธ์ ๋ ๋ชจํธํ ๊ฐ๋
๋ค์ ๋ฐ๋ก์ก์๋๋ฆด๊ฒ์.

ํ
์คํธ ์ฝ๋๊ฐ ์ ํ์ํ์ง, ์ ํ
์คํธ ์ฝ๋ ์์ฑ์ด ์ข์ ์ค๊ณ๋ก ์ด์ด์ง๋์ง๋ฅผ ์๋ ค๋๋ฆด๊ฒ์.

ํ์ ๋ด์ฉ ์ซ์๊ฐ๊ธฐ ํ๋์์ฃ ? ์ค๋ฌด์ ํ์ํ ๊ฐ๋
๋ค์ ์ ๋ฆฌํด๋๋ฆด๊ฒ์! (MSA, ACL ๋ฑ...)
์ฃผ๋์ด ์ฌ๋ฌ๋ถ์ ๊ณ ๋ฏผ์
ํด๊ฒฐํด๋๋ฆด๊ฒ์.
์ฌ๋ฌ๋ถ์ ์์กด์ฑ ์ญ์ ์ด ๋ฌด์์ธ์ง ์๊ณ ๊ณ์ ๊ฐ์?
...์์ ๊ณ์ธต(์ ์ฑ
๊ฒฐ์ )์ด ํ์ ๊ณ์ธต(์ธ๋ถ ์ฌํญ)์ ์์กดํ๋ ์ ํต์ ์ธ ์์กด๊ด๊ณ๋ฅผ ๋ฐ์ (์ญ์ )์ํด์ผ๋ก์จ ์์ ๊ณ์ธต์ด ํ์ ๊ณ์ธต์ ๊ตฌํ์ผ๋ก๋ถํฐ ๋
๋ฆฝ๋๊ฒ ํ ์ ์๋ค. (์ํคํผ๋์ "์์กด๊ด๊ณ ์ญ์ ์์น" ์ค)
๊ทธ๋์, ์ด๊ฒ ๋ฌด์จ ์๋ฏธ์ฃ ? ๐ ํ๋๋ ์๋ฟ์ง ์๋ ๋ฐฑ๊ณผ์ฌ์ ์ ๋ฌธ๋ต ํด์ค์ ๋ต์ด ์๋๋๋ค!
์ ํํ ๊ฐ๋
์ ์ค์ค๋ก์ ์ธ์ด๋ก ํ์ด ์ค๋ช
ํ ์ ์๋๋ก ์์์ผ ํฉ๋๋ค.
๊ทธ๋์ ๋ฉํ ์
์ฅ์ด ๋์ด ์ ๋ง ๋ง์ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ถ๋ค์ ๋ง๋๋ต ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ถ๋ค์ ๋ฉํ ๊ฐ ๋์ด ๋งค๋ฒ ๊ฐ์ ์ง๋ฌธ์ ๊ฐ์ ๋ต๋ณ์ ๋๋ฆฌ๋ฉด์, ์ด๋ฐ ๋ด์ฉ์ ์ ๋ฌธ์ ์ผ๋ก ๋ค๋ฃจ๋ ๊ฐ์๊ฐ ํ๋์ฏค ์์ผ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ๊ฒ ๋์ต๋๋ค. ์ด ๊ฐ์๋ ์ฃผ๋์ด ๊ฐ๋ฐ์ ๋ถ๋ค์ ๋ฉํ ๊ฐ ๋์ด ํด๋๋ ธ๋ ๊ณตํต๋ ์ง๋ฌธ/๋ต๋ณ์ ๋ชจ์๋ ๊ฐ์์
๋๋ค.
์ ๊ฐ ๋ด์จ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ถ๋ค์ ์ํฉ์ ๋๋ถ๋ถ ์๋์ ๊ฐ์์ต๋๋ค.
- ์ปดํจํฐ ๊ณตํ ์ง์๋ ์ด๋ ์ ๋ ์๊ณ ๊ณ์
จ์ต๋๋ค.
- Spring์ ์ด๋ ์ ๋ ๋ค๋ฃฐ ์ค ์๊ณ ๊ณ์
จ์ต๋๋ค.
- JPA๋ฅผ ๋ค๋ฃฐ ์ค ์๊ณ ๊ณ์
จ์ต๋๋ค.
- ใํด๋ฆฐ ์ฝ๋ใ๋ ์ฝ์ด๋ณด์
จ์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด ๋ค์ ์คํ
์ด ๋ฌด์์ด ๋์ด์ผ ํ๋์ง ๋ชจ๋ฅด์๋๋ผ๊ณ ์. ๐คทโโ๏ธ ๊ทธ๋๋ ๋จ๋ ์๊ฐ... ์ผ๋จ ๋ญ๋ผ๋ ๊ณต๋ถํด์ผ๊ฒ ์ผ๋, ํ์ฌ์์ ์ฐ๋ ์ธํ๋ผ ๊ธฐ์ ์คํ์ธ NoSQL, Message Queue, RDB๋ฅผ ๊ณต๋ถํ๊ฑฐ๋ ์์ฆ ํธ๋ ๋๋ผ๋ ์๋ก์ด ์ธ์ด๋ฅผ ๊ณต๋ถํฉ๋๋ค. ๋ฌผ๋ก ์ ๋ ๊ทธ๋ฌ์ต๋๋ค!

์ด๋ฐ ๋ถ๋ค์ด๋ผ๋ฉด
ํนํ ๋์์ด ๋ ๊ฑฐ์์.
- ์ปดํจํฐ ๊ณตํ๋ง ๊ณต๋ถํ๊ณ ์
์ฌํด์, ์ค๋ฌด์์ ์ฐ๋ ๊ฐ๋ฐ ์ฉ์ด๋ฅผ ๋น ๋ฅด๊ฒ ํ์ตํด์ผ ํ๋ ๋ถ.
- ๋คํธ์ํฌ / ์ธํ๋ผ
- ์ด์ ์ฉ์ด / ๊ฐ๋ฐ ์ฉ์ด
- CI/CD / ์ฟ ๋ฒ๋คํฐ์ค
- NoSQL / MySQL
- ๋ชจ๋ฅด๋ ์ค๋ฌด ์ฉ์ด๊ฐ ๋ง์ ํ์ ๋ด์ฉ์ ๋ชป ์ซ์๊ฐ๋ ๋ถ
- ์ค๊ณ ๊ณต๋ถ๋ฅผ ํด๋ณด๋ ค๊ณ ๋์์ธ ํจํด์ ๋ฌด์์ ์ธ์ฐ๋ ค ์๋ํ์
จ๋ ๋ถ
๐ ์ฐ๋ฆฌ ๋ชจ๋ ์ด๋ฐ ์๊ฐ์ ํ์ง ์๋์?
- TDD / DDD ์ด๋ก ์ด ๋๋ฌด ๋ฉ์ง ๊ฑด ์๊ฒ ๋๋ฐ, ๋๋์ฒด ์ค๋ฌด์ ์ด๋ป๊ฒ ์ ์ฉํ๋ผ๋ ๊ฑด์ง ์ดํด ์ ๋์๋ ๋ถ
- ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ๊ณ ์์ง ๋ชปํ๊ฑฐ๋, ํ์ฌ ๋ด ๋์ ์ฑ์ฅ์ ๋์์ค ๋ฉํ ๋๋ ์ฌ์๊ฐ ์์ผ์ ๋ถ
- ์คํ๋ง ๊ฐ๋
์ ๊ธฐ๊ณ์ ์ผ๋ก ์ธ์ฐ์๊ธฐ๋ง ํ์
จ๋ ๋ถ
- ์คํ๋ง ์ด๋
ธํ
์ด์
์ ์๋ฏธ์ ๋ํด ๊ณ ๋ฏผํด๋ณธ ์ ์์ผ์ ๋ถ
- ์คํ๋ง์ ๊ฐ์ฒด ์งํฅ์ ์ธ ์ฝ๋๋ฅผ ์ ์ฉํ๊ณ ์ถ์ผ์ ๋ถ
์ฃผ๋์ด ๊ฐ๋ฐ์์๊ฒ ๊ผญ ํ์ํ ํ์ ์๋ ค๋๋ฆฝ๋๋ค.
๋ชจํธํ ๊ฐ๋
์ ํ์คํ๊ฒ
๋ถ๋ช
์๊ณ ์์ง๋ง ์ค๋ช
ํ๊ธฐ ์ด๋ ค์ด ๊ฐ๋
์ด ์์ง์? ์์กด์ฑ ์ญ์ ์ด ๋ฌด์์ธ๊ฐ์? Entity๊ฐ ๋ฌด์์ธ๊ฐ์? Service๊ฐ ๋ฌด์์ธ๊ฐ์? ์์ฐจ ์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์ ์ฐจ ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๋ญ๊ฐ ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฐ์? ์๊ณ ์์ง๋ง ์ ๋๋ก ์ค๋ช
ํ์ง ๋ชปํ๋ ๊ฐ๋
์ ํ์คํ ์ง์ด๋๋ฆฝ๋๋ค.
์ค๋ฌด์ ๊ฐ๊น์ด ์ง์ ์ ๋ฌ
๊ทธ๋์ TDD, DDD... ํ์ตํ ๋๋ ๋๋ฌด ์ข์ฃ . ๋๋ฌด ๋ฉ์ง ์ด๋ก ์ธ ๊ฑด ์๊ฒ ๋๋ฐ, ๋์ฒด ์ด๊ฑธ ์ค๋ฌด์ ์ด๋ป๊ฒ ์ ์ฉํ๋ผ๋ ๊ฑฐ์ฃ ? ๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋งํด์ ์คํ๋ง ํ๋ ์์ํฌ์ ์ด๋ป๊ฒ TDD, DDD๋ฅผ ์ ์ฉํ๋ผ๋ ๊ฑฐ์ฃ ?
TDD ๊ด๋ จ ์ฑ
๋ ๋ง์ด ์ฐพ์๋ณด๊ณ ๊ด๋ จ๋ ์ธ๋ฏธ๋ ์์๋ ๋ง์ด ์ฐพ์๋ณด์ง๋ง ๋ฑ ์
๋ฌธ์์ ์
๋ง์ ๋ง์ ๋งํผ ๊ฐ๋จํ ์์ ๋ง ๋ค๋ฃจ๊ณ ์์ต๋๋ค. ์ค์ ๋ก๋ ์ด๋ป๊ฒ ์ ์ฉํ๋ฉด ๋๋์ง ์๋ ค๋๋ฆด๊ฒ์.
์๊ธฐ๊ฐ ์๋ ์ดํด
์ค๊ณ์ ๊ด์ฌ ์๋ ๋น์ , ํน์ ์ค๊ณ ๊ณต๋ถ๋ฅผ ํด๋ณด๊ฒ ๋ค๊ณ ๋์์ธ ํจํด์ ๋ฌด์์ ์๊ธฐํ๋ ค ํ์ง ์์ผ์
จ๋์ง์? ๊ทธ๋ฌ๋ค ๋ฌธ๋ ์ด๋ฐ ์๊ฐ์ด ๋ญ๋๋ค. ์์ ๋ก ๋์จ ์ฝ๋๋ค... ์ด๊ฒ ์ค์ ๋ก ์ค๋ฌด์์ ์ ์ฉํ ์ ์๋ ๊ฑด๊ฐ?
๊ทธ๋ ์ง๋ง ์๊ณ ๋ณด๋ฉด ๋์์ธ ํจํด์์ ์ค์ํ ๊ฑด ํจํด์ด ์ด๋ป๊ฒ ์๊ฒผ๋์ง๊ฐ ์๋๋๋ค! ์์กด ๊ด๊ณ๋ฅผ ํ์
ํ๊ณ ์ด๋ป๊ฒ ์์กด ๊ด๊ณ๋ฅผ ์ฝํ๊ฒ ๋ง๋ค๊ณ ์๋์ง๊ฐ ์ค์ํฉ๋๋ค!
ํ์ต์ ๋ง์น๋ฉด, ์ด๋ ๊ฒ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค!
- ์์ผ๋ก์ ์ฑ์ฅ์ ์ํด ํ์ํ ๋ด์ฉ์ด ์ด๋ค ๋ด์ฉ์ธ์ง ์๊ฒ ๋ฉ๋๋ค.
- ๊ธฐ์กด์ ๋ด์ฉ์ ์๊ณ ๊ณ์๋ ๋ด์ฉ์ด๋ผ๋ฉด, ์๊ณ ๊ณ์ ๋ด์ฉ์ ์กฐ๊ธ ๋ ์ค๋ฌด์ ๊ฐ๊น๊ฒ ์ ๋ฆฌํด์ ๊ธฐ์ตํ ์ ์๊ฒ ๋ ๊ฒ๋๋ค.
- ํ์ฌ์์ ์๋์ด ๊ฐ๋ฐ์๋ถ๋ค์ด ํ์ ์๊ฐ์ ํ๋ ๋ด์ฉ์ ๋น ๋ฅด๊ฒ ์ดํดํ ์ ์๊ฒ ๋ฉ๋๋ค.
- ๊ฐ์ฒด ์งํฅ์ ์ธ ์ฝ๋๊ฐ ๋ฌด์์ธ์ง ์กฐ๊ธ์ ๊ฐ์ด ์กํ๋๋ค.
- ํ
์คํธ ์ฝ๋๊ฐ ์ ํ์ํ์ง, ์ด๋ป๊ฒ ์ ์ฉํด์ผ ํ๋์ง ์๊ฒ ๋ฉ๋๋ค.
- ๊ฐ๋ฐ ์์ 3~4๊ถ ์ ๋ ์ฝ์ ํฌ๋ง๊ฐ์ ์ป์ผ์ค ์ ์์ ๊ฒ๋๋ค.
์คํ๋ผ์ธ ์๊ฐ์๋ค์ ํ๊ธฐ ๐ฌ
๊ฐ์๋ฅผ ๋ฃ๊ณ ๋์ ๋ฌด์ฌ์ฝ ์ผ๋ ์ฉ์ด๋ค, ๋ค์ด๋ดค์ง๋ง ๋ช
ํํ๊ฒ ์ ์ํ ์ ์์๋ ์ธ์ด๋ค์ ๋ํ ์ ์์ ์ด์, ์๋ฏธ๊น์ง ์ดํดํ ์ ์๊ฒ ๋์์ต๋๋ค. ์ด๋ฌํ ๋ด์ฉ์ ๋ชฐ๋ผ๋ ๊ฐ๋ฐํ๋๋ฐ ๋ฌธ์ ๋ ์์์๋ ์์ง๋ง, ๊ฐ์ฒด์ ํ๋๊ณผ ์ญํ ์ ๋ํด ๊ณ ๋ฏผํ๊ณ , ๊ฐ ๋ ์ด์ด์ ์๋ฏธ๋ฅผ ๊ณ ๋ฏผํ๋ฉฐ ๋ OOP ์ค๋ฝ๊ฒ ์ฝ๋ฉํด๋ณด๋ ค๋ ์์ธ๋ฅผ ๋ง๋ค์ด ์ฃผ์์ต๋๋ค. ์ง์ ๊ณ ๋ฏผํ ๋ด์ฉ์ ์ฃผ๋์ด์ ๋๋์ด๋ก, ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ค๋ช
ํด์ฃผ์
จ๊ธฐ์ ๋ ์๋ฟ๊ณ ํธํ๊ฒ ๋ค์ ์ ์์์ด์. ์ ๊ฐ ๊ทธ๋ฌ๋ฏ์ด, ์ด์ ๋ง ์
์ฌํ ์ฃผ๋์ด ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ผ๋ฉด ๋ฌด์์ ๋ชจ๋ฅด๋์ง, ์ด๋๊น์ง ์์์ผ ํ๋์ง ์กฐ์ฐจ ๋ชฐ๋ผ ํค๋ฉ์ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๊ฑฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ด๋ฌํ ์ํฉ์์ ์ด๋ค ๋ด์ฉ์ ๋ ๊ณต๋ถํด์ผ ํ๋์ง, ๋ด๊ฐ ๋ชฐ๋๋ ๋ถ๋ถ์ด ๋ฌด์์ด์๋์ง ์๊ฒ ๋์ด ๊ธธ์ก์ด๊ฐ ๋์ด์ฃผ์๋ ๊ฐ์์์ต๋๋ค. (์ด*๊ท)
ํ์์ ๊น๊ฒ ์๊ฐํ์ง ์์๋ ๋ถ๋ถ๊น์ง ์๋ ค์ฃผ๋ ์ข์ ๊ฐ์์ธ๊ฑฐ ๊ฐ์ต๋๋ค. ์ฃผ๋์ด ๊ฐ๋ฐ์๋ก์ ์ต๊ทผ์ ํ์ฌ์์ ํ๋ฉด์ ๋ ๊ฐ์์ผ๋ง ํ๋ฉด์ ์ฑ์ฅํ๊ณ ์๋๊ฒ ๋ง๋๋ผ๋ ๊ณ ๋ฏผ์ ํ๊ณ ์์๋๋ฐ, ๊ฐ์๋ฅผ ๋ฃ๊ณ ๋ฐฉํฅ์ฑ์ ๋ํด ์์ ์์์ต๋๋ค. (์ *ํธ)
์ฒ์์ ํ์ฌ์ ์
์ฌํ๊ฒ ๋๋ฉด ์ด๋ป๊ฒ ๊ฐ๋ฐํ๋ฉด ์ข์์ง ๋๋ ์ด๋ป๊ฒ ํ๋ฉด ๊ฐ๋ฐํ ๋ ์ค์๋ฅผ ์ค์ผ์ ์์์ง์ ๊ฐ์ ๊ณ ๋ฏผ์ ๋ง์ด ํ๊ฒ ๋ฉ๋๋ค. ์ด ๊ฐ์๋ ์ด๋ฐ ๊ณ ๋ฏผ๋ค์ ํด๊ฒฐํด์ฃผ๊ณ ์ฃผ๋์ด ๊ฐ๋ฐ์๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ฐ๋ฐ์ ํ ์ ์๊ฒ ๋ฐฉํฅ์ ์ ์ก์์ฃผ๋ ์ข์ ๊ฐ์๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์
๋ฌด์ ์ธ ์ง์ ์ด์ธ์๋ โ๊ฐ์ฒด ์งํฅ์ ์ผ๋ก ์ํคํ
์ฒ๋ฅผ ์ค๊ณํ๋ ค๋ฉด ์ด๋ค ์์ผ๋ก ํด์ผ ์ข์๊น?โ, โDTO, VO, Entity๋ ์ค๋ฌด์์๋ ์ด๋ค ์์ผ๋ก ๊ตฌ๋ถํด์ ์ฌ์ฉํ ๊น?โ, โํ
์คํธ ์ฝ๋๋ฅผ ์ ๋ง ์์ฑํด์ผ ํ๋๊ฑธ๊น?โ๋ฑ ์ฃผ๋์ด ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ฐํ๋ฉด์ ์ด๋ ค์ํ๊ณ , ํ ๋ฒ์ฏค์ ๊ถ๊ธํดํ์ ๋ด์ฉ๋ค๋ ๋ค๋ฃน๋๋ค. ๋ํ ์ค๋ฌด์์ ์์ฃผ ์ฌ์ฉ๋๋ ์ฉ์ด๋ค๋ ๋ฐฐ์ธ ์ ์์ด ์ค์ ์
๋ฌด ์ ์์ ๋์์ด ๋ง์ด ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ค๋ฌด์ ์ต์ํ์ง ์์ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ ์ฑ์ฅ์ ์ํ ๋ชจ๋ ๊ฐ๋ฐ์๋ถ์๊ฒ ์ถ์ฒํด ๋๋ฆฌ๋ ๊ฐ์์
๋๋ค. (์ด*์ฐฌ)
๊ฐ๋ฐ์๋ก์จ ํ์
์์ ์ฌ์ฉํ๋ ๊ฐ์ฒด์งํฅ์ ํต์ฌ ๊ฐ๋
๋ค์ ์ต๋ํ๋๋ฐ ๋ง์ ๋์์ด ๋์์ต๋๋ค. ์ด๋ ค์ด ๊ฐ๋
๋ค๋ ๋์ํ๊ฐ ์๋์ด์์ด์ ์ฝ๊ฒ ์ดํด๋ฌ์๊ณ , ์คํ๋ ค ๊ฐ๋จํ๊ฒ ์ค๋ช
ํด์ค์ ํ๋ฒ ๋ฃ๊ณ ๋ ๋ค ๊ฐ๋
์ด ์ค๋ ๊ธฐ์ต์ ๋จ์์ต๋๋ค. (์ฌ*์ฒ )
์ฒ ์ ํ ์ ์ฐ์ฐจ ์์ ์์
๊ถ๊ธํ ๋ด์ฉ์ ์ง์ด๋๋ฆฝ๋๋ค.
์๋น ์๊ฐ์ ์ฌ๋ฌ๋ถ์ ์์ฐจ ์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์ ์ฐจ ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ฐจ์ด๋ฅผ ์๊ณ ๊ณ์ ๊ฐ์? ๊ถ๊ธํ์๋ค๋ฉด ๋ฌด๋ฃ๋ก ๊ณต๊ฐ๋ ์ค๋ฆฌ์ํ
์ด์
์์์ ๋ณด๊ณ ์ด๋ค ๋ด์ฉ์ ํ์ตํ๊ฒ ๋ ์ง ์์๋ด
์๋ค.
๊ฐ๋
์ด ๋ฌด์์ธ์ง ์ ํํ๊ฒ ์ดํดํ๋ฉด, ๋์ ๋ณด์ด๋ ๊ฒ ํจ์ฌ ๋ง์ต๋๋ค! ์ฒ ์ ํ ์ ์ฐ์ฐจ ์์ ์์ ๊ถ๊ธํดํ ๋งํ ๋ด์ฉ๋ค์ ์ง์ด๋๋ฆฝ๋๋ค.
์ฃผ๋์ด ๊ฐ๋ฐ์๊ฐ ๋ง์ด ํ๋ ๊ฐ๋ฐ ์ค์ ๊ต์
์ฒซ ํ์ฌ์ ์
์ฌํ์ ๋ ๋ง์ด ํ๋ ์ปจ๋ฒค์
์ค์๋ถํฐ ๊ฐ์ฒด๊ฐ ๋ฌด์์ด๊ณ , ๊ฐ์ฒด ์งํฅ์ ์ผ๋ก ์ฝ๋๋ฅผ ์ง๊ธฐ ์ํด์ ์ด๋ค ๊ฑธ ์ ๊ฒฝ ์จ์ผ ํ๋์ง ์์๋ด
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ข์ ์ค๊ณ๋ฅผ ์ดํดํ๊ธฐ ์ํด ์์กด์ฑ์ด ๋ฌด์์ธ์ง ์์๋ด
๋๋ค.
์คํ๋ง์ OOP์ค๋ฝ๊ฒ ์ฌ์ฉํ๊ธฐ
์คํ๋ง์ OOP์ค๋ฝ๊ฒ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐ ์ํด, ์ญ์ผ๋ก OOP์ค๋ฝ๊ฒ ์ฌ์ฉํ์ง ๋ชปํ ์ฌ๋ก๋ฅผ ์ดํด๋ด
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋น์ค๋ ๋ณธ์ง์ ์ผ๋ก ๋ฌด์์ด๊ณ , ๊ฐ ๋ ์ด์ด๋ฅผ ์ด๋๊น์ง ์ถ์ํํด์ผ ํ๋์ง๋ฅผ ์์๋ด
์๋ค.
ํ
์คํธ๋ ์ ํด์ผ ํ๋๊ฐ?
ํ
์คํธ ์ฝ๋๊ฐ ํ์ํ๋ค๊ณ ๋ค ํ๋๋ฐ, ๋ง์ ํ
์คํธ ์ฝ๋ ์์ฑ์ด ์ ์ข์ ์ค๊ณ๋ก ์ด์ด์ง๋์ง ์ด์ ๋ฅผ ์ ๋ชจ๋ฅด์๊ฒ ๋ค๊ณ ์? ํ
์คํธ๋ ์ ํด์ผ ํ๋์ง ์กฐ๊ธ ๋ ์ค๋ฌด์ ์ธ ๊ด์ ์์ ์ค๋ช
ํด ๋๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ป๊ฒ ํ๋ฉด ์์ฐ์ค๋ฌ์ด ํ
์คํธ๋ฅผ ํ ์ ์๋์ง๋ฅผ ์๋ ค๋๋ฆฝ๋๋ค.
์ค๋ฌด์ ํ์ํ ๊ฐ๋
์ ๋ฆฌ
์คํ๋ง๋ง ์๊ณ ์ค๋ฌด๋ฅผ ํ๊ธฐ์๋ ์ฃผ๋ณ์ ์ฎ์ธ ์ธํ๋ผ ์ง์์ด ๋๋ฌด ๋ง์ฃ . ํ์ ์๊ฐ์ ๋คํธ์ํฌ, ์ธํ๋ผ ์๊ธฐ๋ง ๋์ค๋ฉด ๋ฌด์จ ๋ง์ธ์ง ์ฐพ์๋ณด๊ธฐ ๋ฐ์๊ฑฐ๋ ๋ฉ๋๋ฆฌ๊ณ ๊ณ์๋ ๋ถ๋ค์ด ๋ง์ต๋๋ค. ๊ทธ๋ ๋ค๊ณ ์ธํ๋ผ๋ ๋คํธ์ํฌ ๊ณต๋ถ๋ฅผ ํ๊ธฐ ์ํด ์ ๊ณต ์์ ์ ๋ค์ ํผ์ณ์ผ ํ ๊น์? ๋ฑ ์ค๋ฌด์ ํ์ํ ์์ค์ผ๋ก ์์ฝํด๋๋ฆด๊ฒ์!
BONUS
ํ์ต ์๋ฃ๋ฅผ ์ ๊ณตํฉ๋๋ค!
์์
๋ณ ์ฝ 15~20์ฅ์ผ๋ก ์ด๋ฃจ์ด์ง PPT ์ฝ 20๊ฐ๋ฅผ ํ์ต ์๋ฃ๋ก ์ ๊ณตํฉ๋๋ค. ๋ํ, ๋ณ๋์ ์ค์ต ํ๊ฒฝ์ ์๊ตฌํ์ง ์์ต๋๋ค! ์ถํด๊ทผ๊ธธ ์งํ์ฒ ์์ ๋ฑ 20๋ถ๋ง ํฌ์ํด์ ๊ณต๋ถํ ์ ์๋๋ก ๊ฐ์๋ฅผ ๊ตฌ์ฑํ์์ต๋๋ค.
๊ฐ๋ฐ์๋ก ์ฑ์ฅํ๋ ๋ฐ
๋์์ ๋๋ฆฌ๊ณ ์ถ์ต๋๋ค!
์๋
ํ์ธ์, ๊น์ฐ๊ทผ์
๋๋ค! ๐
ํ์ฌ ์นด์นด์ค์์ ์ผํ๊ณ ์๊ณ , ๋ง๋๋ ๊ฒ์ ์ข์ํด์ ํด๊ทผ ํ์๋ ํญ์ ๋ฌด์ธ๊ฐ๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. "๊ฑฐ์ธ์ ์ด๊นจ ์์ ์ ๋์์ด"๋ผ๋ ๋ง์ด ์์ต๋๋ค. ์ ์ญ์ ํ๋ฑ ์์ ๋์์ด์ผ ๋ฟ์ด์ง๋ง, ์ฌ๋ผํ ๊ฑฐ์ธ์ ์ฑ์ฅ์ ๋์์ด ๋ ์ ์๋๋ก ์ง์์ ๋๋ฌผ๋ฆผ์ ์ํด ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๋ค์์ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ถ๋ค์ ๋ฉํ ๋งํ ๊ฒฝํ์ด ์์ด์ ์ฌ๋ฌ๋ถ์ ์ฑ์ฅ์ ๋์์ค ์ ์์ ๊ฑฐ์์.
- โ
Github / Blog
- โ
ํ ์นด์นด์ค ๋ฐฑ์๋ ์์ง๋์ด
- โ
๊ณต๊ฐ SW ๊ฐ๋ฐ์๋ํ 2020 ์ผ๋ฐ๋ถ๋ฌธ ๊ธ์: ์ ๋ณดํต์ ์ฐ์
์งํฅ์์ฅ์ ์์
Q&A ๐ฌ
Q. ๋น์ ๊ณต์๋ ๋ค์ ์ ์๋ ๊ฐ์์ธ๊ฐ์?
๊ฐ์๋ ๊ธฐ๋ณธ์ ์ธ ์ปดํจํฐ ๊ณตํ ์ง์์ ์๊ณ ์๋ค๋ ๊ฒ์ ์ ์ ๋ก ์งํ๋ฉ๋๋ค. ๋ค๋ง ์ ๊ณต ์ง์์ ์๊ณ ์์ด์ผ ํ๋ ๊ตฌ๊ฐ์ด ๋งค์ฐ ์งง๊ธฐ ๋๋ฌธ์, ์ ์ ์ง์์ผ๋ก ์๊ตฌ๋๋ Java, Spring, JPA ์ ์๊ณ ์๊ณ , ์๋ ๋ด์ฉ์ ์ด๋ฏธ ์๊ณ ๊ณ์ ์ํ๋ผ๋ฉด ์ถฉ๋ถํ ์๊ฐํ ์ ์์ต๋๋ค.
- Hash, List๊ฐ ๋ฌด์์ธ์ง ์๊ณ ์๋ค.
- ๋น๋์นญํค ์ํธํ ๋ฐฉ์์ด public key, private key๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ public key๋ ๊ณต๊ฐ๋์ด๋ ์๊ด์๋ค๋ ์ฌ์ค์ ์๊ณ ์๋ค.
Q. ์์ธํ ๊ฐ๋
์ค๋ช
์ ์ง์ํ๋ค๊ณ ํ๋๋ฐ, ๊ทธ๋ผ ๋์ฒด ๋ญ ์๋ ค์ฃผ์ ๋ค๋ ๊ฑฐ์ฃ ?
๊ฐ๋
์ค๋ช
์ ๋๋๋ก ์ธ์ค ์์ฝ์ผ๋ก ๋๋ ์ ์๋๋ก ํ๋ ค ํฉ๋๋ค. ๋ฌผ๋ก MSA ๋ OAuth ๊ฐ์ ๋ณต์กํ ๋ด์ฉ๋ค์ ์งํ ํ๋ฆ์ด ์ด๋ค ์์ผ๋ก ๋๋์ง ์ค๋ช
๋๋ฆฝ๋๋ค. ๋์ OAuth ์ ํ์๊ณผ ๋ฐฐ๊ฒฝ, OAuth 1.0, 2.0 ์ด๋ฐ ์์ธํ ๋ด์ฉ๋ค์ ๋ค๋ฃจ์ง ์๋๋ค๋ ์๋ฏธ์์! ์ด์ฐจํผ ์ค๋ฌด์์๋ 2.0 ์ ์ธ ํ
๋๊น์. ๊ทธ๋ฆฌ๊ณ ์ค๋ฌด์ ์
์ฅ์์๋ ํ ํฐ์ด ์ด์จ๊ณ signature ๊ฐ ์ด๋ป๊ณ ์ด๋ฐ ๊ฒ ๋ณด๋ค๋ API ํต์ ์ผ๋ก ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋์ง๊ฐ ๋ ๊ถ๊ธํ๋๊น์.
์ถ๊ฐ๋ก ์ง๋ฌธํ๊ธฐ๋ ์ ๋งคํ ์ฌ์ํ ์ฉ์ด๋ค๋ ์ค๋ช
ํ๊ณ ๋์ด๊ฐ๋ ค ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ์ ๊ฐ์ ๊ฒฝ์ฐ, ์ฒ์ ์
์ฌํ์ ๋น์ CS
๋ผ๋ ์ฉ์ด๋ฅผ ๋ชฐ๋ผ ํ์ ๋ด์ฉ์ ๋ชป ์ซ์๊ฐ ๊ณค์์ค๋ฌ์ ๋ ๊ฒฝํ์ด ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ CS๋ฅผ ๊ตฌ๊ธ์ ๊ฒ์ํ๋ฉด? ๋ญ๊ฐ ํ๋๊ฐ์ด ์๋ฟ๋ ์๋ฏธ๊ฐ ์๋๋๋ค. ์ฌ์ค ๊ณ ๊ฐ ๋ฌธ์
์ผ ๋ฟ์ธ๋ฐ ๋ง์ด์์!
Q. ๊ฐ๋
์ค๋ช
์ ํด์ฃผ๋ ์์์ด๋ ๋ธ๋ก๊ทธ ํฌ์คํ
์ด ๋ง์๋ฐ ์ ์ด ๊ฐ์๋ฅผ ๋ค์ด์ผ ํ์ฃ ?
๋ค ๋ง์ต๋๋ค. ์ฌ์ค ์ ํ๋ธ๋ ๋ธ๋ก๊ทธ์ ์ข์ ๊ธ๊ณผ ์์์ด ์ด๋ฏธ ๋๋ฌด๋๋ ๋ง์ต๋๋ค. ํ์ง๋ง ์ฃผ๋์ด ์ฌ๋ฌ๋ถ๋ค์ ๋ญ ๋ชจ๋ฅด๋์ง ๋ชจ๋ฅด๋ ์ํ์ธ ๊ฒฝ์ฐ๊ฐ ํจ์ฌ ๋ง์ต๋๋ค. ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก ์ทจ์
ํ๋๋ฐ ์ธํ๋ผ / ๋คํธ์ํฌ ์ฉ์ด๊ฐ ๋์ฌ ๋๋ง๋ค ๋ฒ์ฐ์๋ ๋ถ๋ค ๊ณ์ค ๊ฑฐ์์. ๊ทธ๋ผ ์ธํ๋ผ ๊ณต๋ถ๋ฅผ ํด์ผ ํ๋? ํ๊ณ ๋ฌด์จ ๋ด์ฉ์ธ์ง ํ๋๋ ๋ชจ๋ฅด๊ฒ ๋, ์ ๋ฌธ๊ฐ์ฉ ๋๊บผ์ด ์ฑ
์ ํ๋ ์ฌ์, ์ดํดํ์ง๋ ๋ชปํ ์ฑ ๊พธ์ญ๊พธ์ญ ์ฝ์ต๋๋ค. ๋๋ฌด ๋นํจ์จ์ ์ด์ง ์๋์?
์ด ๊ฐ์๋ ๋น ๋ฅธ ์ฑ์ฅ์ ๋์์ฃผ๋ ์คํํฐ ํฉ ๊ฐ์ ๊ฐ์๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. ๋๋ถ์ด ๋ธ๋ก๊ทธ ๊ธ์ ๋ณด๋ค ๋ณด๋ฉด ๋ํ์ ์์ค์์ ํฐ์คํ ๋ฆฌ์ ๊ณต๋ถํ ๋ด์ฉ์ ๊ธฐ๋กํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ ์๋ชป๋ ๊ฐ๋
์ด ์ ํ์๋ ๊ฒฝ์ฐ๊ฐ ๊ฝค ๋ง์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ช๋ช ๋ธ๋ก๊ทธ ํฌ์คํ
์์๋ DTO๊ฐ DAO๋ฅผ ์ด์ฉํด DB์ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฐ์ฒด๋ผ๊ณ ์๋ ค์ฃผ๋ ๊ธ๋ ์๋๋ผ๊ณ ์!
Q. ์ด ๊ฐ์๋ง์ ์ฐจ๋ณํ๋ ์ ์ด ๋ฌด์์ธ๊ฐ์?
๋๋ถ๋ถ์ ๊ฐ์๊ฐ ์ค๊ณ์ ๋ํ ๋ด์ฉ์ ๋ค๋ฃจ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ๊ฐ์์์๋ ์ข์ ์ค๊ณ๊ฐ ๋ฌด์์ธ์ง์ ๋ํ, ๊ฐ์ฐ์ ๋๋ฆ์ ์ ์๋ฅผ ์ค๋ช
ํด ๋๋ฆฌ๊ณ ์์ต๋๋ค.
์ค๊ณ์ ๊ด๋ จ๋ ๊ฐ์๊ฐ ๋ง์ง ์์ ๊ฑด ์ง์๊ณต์ ์ ๋ถ๋ค์ด ๋ค๋ค ์์ธ ๋ฌ๋ค๊ธฐ ๋๋ฌธ์ด๋ผ ์๊ฐํฉ๋๋ค. ์์๋ค์ํผ ์ข์ ์ค๊ณ์๋ ๋ต์ด ์ ํด์ ธ ์์ง ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ์๋ฅผ ์ ์ํ๋ ์ฌ๋ ์
์ฅ์์๋ ์ ํํ ์ง์์ ๊ฐ๊ด์ ์ผ๋ก ์ ๋ฌํด์ผ ํ๋, ๋ต์ด ์ ํด์ ธ ์์ง ์์ ์ฃผ์ ๋ฅผ ๋ณธ๋ฅ์ ์ผ๋ก ํผํ๊ฒ ๋๋ ๊ฒ์ด์ฃ . ๊ทธ๋์ ์ค๊ณ์ ๊ด๋ จ๋ ๊ฐ์ฐ๋ค์ ๊ธฐ๊ปํด์ผ SOLID๊ฐ ๋ฌด์์ธ์ง, ๋์์ธ ํจํด์ด ์ด๋ป๊ฒ ์๊ฒผ๋์ง ํ๋ํ๋ ๋์ง์ด์ฃผ๋ ์์ค์ธ ๊ฒ๋๋ค. ์ ๋๋ฆ๋๋ก ์ ์ํ ์ข์ ์ค๊ณ๊ฐ ๋ฌด์์ธ์ง๋ฅผ ์ค๋ช
ํด ๋๋ฆด ํ
๋ ์๊ฒฌ์ ํ๋ฒ ๋ฃ๊ณ ๊ฐ๋ด ์ฃผ์ธ์.
Q. ์ข์ ์ค๊ณ๊ฐ ๋ฌด์์ธ์ง ์ ์๋ฅผ ๋ด๋ฆด ์ ์๋ค๋ฉด, ์ง์๊ณต์ ์๋์ ์ด๋ป๊ฒ ์ข์ ์ค๊ณ๋ฅผ ๊ฐ์ํ ์ ์๋ ๊ฑด๊ฐ์?
๋ค, ์ข์ ์ค๊ณ์ ๋ํ ์ ์๋ฅผ ๋ด๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์์์ ์ ๊ฐ ์ ์ํ๋ ์ข์ ์ค๊ณ๋ ์ ๋ง์ ๊ฐ์ธ์ ์ธ ์ ์์ผ ๋ฟ์
๋๋ค. ํ์ง๋ง ์ฌ์ค ๋ชจ๋ ๋น๋ฌธํ ์์ ๊ณผ ๊ฐ์๋ ํ์ธ์ ์๊ฒฌ์ ๋ค์ด๋ณด๊ณ ๋
ผ๋ฆฌ์ ์ผ๋ก ๊ณต๊ฐ๋๋ฉด ๋ฐ์๋ค์ด๋ ๊ณผ์ ์ผ ๋ฟ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋๋ ๊ฐ๋ฅํ๋ฉด ์ต๋ํ ๊ฐ๊ด์ ์ผ๋ก ํ์ด๋ด๋ ค ๋
ธ๋ ฅํ์ผ๋ ๋ฉ๋์ด ๋๋ฉด ์์ฉํ์๊ณ , ์๋๋ผ๋ฉด ๋ณธ์ธ๋ง์ ์ข์ ์ค๊ณ๋ฅผ ์๋ก ์ ์ํด ๋ณด์๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
๐ข ์๊ฐ ์ ํ์ธํด์ฃผ์ธ์!
- ๊ฐ๋
์ ๋ํ ์์ธํ ์ค๋ช
์ ๋๋ฆฌ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฟ ๋ฒ๋คํฐ์ค์ ๋ํ ๋ด์ฉ์ ์ค๋ช
ํ ๋, ์ค๋ธ์ ํธ๋ ์ปจํธ๋กค๋ฌ ํ๋ํ๋์ ๋ํ ์ค๋ช
์ ๋๋ฆฌ์ง ์์ต๋๋ค. "์ฟ ๋ฒ๋คํฐ์ค๋ ๊ฐ๋ต์ ์ผ๋ก ์ด๋ ๊ฒ ๋์๊ฐ๊ณ , ๊ทธ๋์ ์ฌ๋ฌ๋ถ์ด ์ค์ํ๊ฒ ํ์ตํด์ผ ํ ๋ด์ฉ์ ์ด๋ฐ ๋ด์ฉ์
๋๋ค." ์ ๋๋ก ์ค๋ช
ํด ๋๋ฆฝ๋๋ค.
- ๋๋ถ์ด ์ฌ๋ฌ ๊ฐ๋
์ ์์ถํด์ ์ค๋ช
ํด ๋๋ฆด ์์ ์ด๋ผ ์์ถ ์์ค์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
- ๋ํ
์ผํ๊ณ ์ ํํ ์ค๋ช
๋ณด๋ค๋ ์ฝ๊ฐ์ ์๊ณก๋๋๋ผ๋ ์ดํด๊ฐ ๋ ์ ์๋ ์ค๋ช
์ ์์ฃผ๋ก ํด๋๋ฆด ์์ ์
๋๋ค! ๐ญ
- ์ด ๊ฐ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์คํ๋ง์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ ๋ฑ์ ๋ํด ๋ค๋ฃจ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๊ฐ์๊ฐ Java, Spring ๋ฐ JPA์ ๋ํ ๊ธฐ๋ณธ ์ง์์ด ์๋ค๋ ๊ฒ์ ์ ์ ๋ก ์งํ๋ฉ๋๋ค.
- PPT ์ผ๋ถ๋ฅผ ์บก์ฒํด์ ๊ณต๋ถํ ๋ด์ฉ์ ๋ธ๋ก๊ทธ์ ์ฌ๋ฆฌ๋ ๊ฒ์ ํ์ฉํ๋ ์๋ฃ ์ ์ฒด๋ฅผ ๊ฐ์ธ ๋ธ๋ก๊ทธ์ ๊ณต์ ํ๋ ๊ฑด ๊ธํฉ๋๋ค. ์ํด ๋ถํ๋๋ฆฝ๋๋ค!