๊ฐ๋ฐ ํ/์๋น์ค & ์ํคํ ์ฒ9 ์์ฑ ํจํด ์์ฑ ํจํด ์ธ์คํด์ค๋ฅผ ๋ง๋๋ ์ ์ฐจ๋ฅผ ์ถ์ํํ๋ ํจํด์ด๋ค. ์์คํ ์ด ์ด๋ค ๊ตฌ์ฒด ํด๋์ค๋ฅผ ์ฌ์ฉํ๋์ง์ ๋ํ ์ ๋ณด๋ฅผ ์บก์ํํ๋ค. ๊ฐ์ฒด์ ์์ฑ/์กฐํฉ์ ์บก์ํํ์ฌ ํน์ ๊ฐ์ฒด๊ฐ ์์ฑ๋๊ฑฐ๋ ๋ณ๊ฒฝ๋์ด๋ ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ์ ์ํฅ์ ๋ฐ์ง ์๋๋ก ์ ์ฐ์ฑ์ ์ ๊ณตํ๋ค. ๋น๋ (Builder) ๋ณต์กํ ๊ฐ์ฒด์ ์์ฑ๊ณผ์ ๊ณผ ํํ๋ฐฉ๋ฒ์ ๋ถ๋ฆฌํ์ฌ ๊ฐ์ฒด๋ฅผ ๋จ๊ณ๋ณ๋ก ์์ฑํ ์ ์๋๋ก ํ๋ ํจํด์ด๋ค. ๋ง์ Optional ํ ๋ฉค๋ฒ ๋ณ์๋ ์ง์์ฑ ์๋ ์ํ ๊ฐ๋ค์ ๋ํด ์ฒ๋ฆฌํด์ผ ํ๋ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๋ค. ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ ์ต์ํํ์ฌ ๊ฐ์ ํ ๋นํ๋ ์์ ์ถ์ ์ด ์ฝ๋ค. ๐ก ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ ์ต์ํ ์์ ์ ํจํด์ ๋ถํ์ํ๊ฒ ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ ์ด์ด๋์ด ๊ฐ์ด ๋ณ๊ฒฝ๋๋ ์์ ์ ํ์ ํ๊ธฐ ํ๋ ๋ฐ๋ฉด, ๋น๋ ํจํด์ ๊ฐ์ ํ ๋นํ๋ ์์ ์ด ๊ฐ์ฒด์ ์์ฑ ์์ ๋ฟ์ด๋ผ ์ถ์ ์ด ์ฝ๊ณ ์ ์ง.. 2022. 10. 28. GoF ๋์์ธ ํจํด ๋์์ธ ํจํด ๊ณผ๊ฑฐ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ๊ณผ์ ์์ ์ถ์ ๋ ๋ ธํ์ฐ์ ์ด๋ฆ์ ๋ถ์ฌ ์ดํ์ ์ฌ์ฌ์ฉํ๊ธฐ ์ข์ ํํ๋ก ํน์ ๊ท์ฝ์ ๋ง๋ค์ด ์ ๋ฆฌํ ๊ฒ์ด๋ค. ๊ฐ๊ธฐ ๋ค๋ฅธ ์ํํธ์จ์ด ๋ชจ๋์ด๋ ๊ธฐ๋ฅ์ ๊ฐ์ง ์์ฉ ์ํํธ์จ์ด ์์คํ ๋ค์ ๊ฐ๋ฐํ ๋ ์๋ก ๊ณตํต๋๋ ์ค๊ณ ๋ฌธ์ ๋ฐ ํด๊ฒฐ์ฑ ์ด ์๋ค. ์ด๋ฌํ ์ ์ฌ์ ์ ํจํด์ด๋ผ๊ณ ํ๋ค. ๋์์ธ ํจํด์ ๋ชจ๋์ ์ธ๋ถํ๋ ์ญํ ์ด๋ ๋ชจ๋ ๊ฐ์ ์ธํฐํ์ด์ค ๊ตฌํ ๋ฐฉ์์ ์ค๊ณํ ๋ ์ฐธ์กฐํ ์ ์๋ ์ ํ์ ์ธ ํด๊ฒฐ ๋ฐฉ์์ด๋ค. GoF(Gang of Four) ๋์์ธ ํจํด 1995๋ 23๊ฐ ํจํด์ ์๋กํ ๋ ผ๋ฌธ์์ ๋์์ธ ํจํด์ ๊ตฌ์ฒดํํ์๋ค. ๋ชฉ์ ์ ๋ฐ๋ผ ์์ฑ ํจํด 5๊ฐ, ๊ตฌ์กฐ ํจํด 7๊ฐ, ํ์ ํจํด 11๊ฐ๋ก ๊ตฌ์ฑ๋๋ค. ๋ชฉ์ ์ ๋ฐ๋ผ ๊ฐ์ฒด์ ์์ฑ ๊ณผ์ ์ ๊ด์ฌํ๋ ์์ฑ ํจํด ๊ฐ์ฒด์ ํฉ์ฑ์ ๊ด์ฌํ๋ ๊ตฌ์กฐ ํจํด ๊ฐ์ฒด๊ฐ ์.. 2022. 9. 16. ํด๋ผ์ฐ๋ ์ปดํจํ ๊ณผ IaaS/PaaS/SaaS 2022. 5. 1. DevOps DevOps ๋ฐ๋ธ์ต์ค๋? ๊ฐ๋ฐ(Development) ๊ณผ ์ด์(Operations) ์ ํฉ์ฑ์ด๋ก, ๊ฐ๋ฐํ๊ณผ ์ด์ํ์ด ๋ณํฉ๋์ด ๊ฐ๋ฐํ์ ์๋น์ค ๊ฐ๋ฐ์ ๋งค์งํ๊ณ ์ด์ํ์ ์ธํ๋ผ ๊ตฌ์ถ์ ์ง์คํ์ฌ ํจ์จ์ ์ธ ๋ฐฐํฌ์ ์ํํ ์์ฌ์ํต์ ํ๊ธฐ ์ํ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ด๋ค. ๊ฐ๋ฐ๊ณผ ์ด์์ ํฉ์ณ ๋น์ง๋์ค ์๊ตฌ์ฌํญ์ ๋จ๊ธฐ๊ฐ์ ๋ฐ์ํ์ฌ ํ ๋ด ํ์ ์ด ์ฆ์ง๋๋ค. DevOps ์ด์ ๋ณํ์ ๋น ๋ฅด๊ฒ ๋์ฒํ๊ณ ๋น์ง๋์ค ์ฑ๊ณผ๋ฅผ ์ฐฝ์ถํ๋ ๋น ๋ฅธ ์๋ ์๋ก์ด ๋ฆด๋ฆฌ์ฆ์ ๋ฒ๊ทธํฝ์ค๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐฐํฌ ๋ชจ๋ํฐ๋ง, ๋ก๊น ์ ํตํ ์์ ์ ์ธ ์๋น์ค ํ์ง ๋ณต์กํ๊ณ ๋ณํํ๋ ์์คํ ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌ ๊ฐ๋ฐํ๊ณผ ์ด์ํ์ด ํ๋ ฅํ์ฌ ์ฑ ์ ๊ณต์ , ํจ์จ์ฑ ๊ฐํ ์ฐธ๊ณ ์๋ฃ ๋ฐ ์ถ์ฒ ๐โ๏ธ https://blog.sonim1.com/231 2022. 3. 23. ํ๋์จ์ด ๊ฐ์ํ ์ข ๋ฅ ๊ฐ์ํ๋? ๋ฌผ๋ฆฌ์ ์ธ ํ๋์จ์ด ์ฅ์น๋ฅผ ๋ ผ๋ฆฌ์ ์ธ ๊ฐ์ฒด๋ก ์ถ์ํํ๋ ๊ฒ์ด๋ค. ํ๋์จ์ด ๊ธฐ๋ฅ์ ์ ๋ฎฌ๋ ์ดํ ํ์ฌ ์ถ์ํ๋ ์ฌ๋ฌ ๊ฐ์ ๊ฒ์คํธ OS ๋ฅผ ๊ฐ๋ํ ์ ์๋ค. ํ๋์ ํ๋์จ์ด๋ฅผ ์ฌ๋ฌ ๊ฐ์ ํ๋์จ์ด์ฒ๋ผ ์ชผ๊ฐ์ด ์ฌ์ฉํ๊ฑฐ๋ ๋ฐ๋๋ก ์ฌ๋ฌ ์ฅ์น๋ฅผ ๋ฌถ์ด ํ๋์ธ ๊ฒ์ฒ๋ผ ์ ๊ณตํ๋ค. ๊ฐ์ํ ๋์์ด ๋๋ ์์์ ํ๋ก์ธ์(CPU), ๋ฉ๋ชจ๋ฆฌ(Memory), ์คํ ๋ฆฌ์ง(Storage), ๋คํธ์ํฌ(Network)๋ฅผ ํฌํจํ๋ค. ๊ฐ์ํ๋ฅผ ์ฌ์ฉํ๋ฉด 1๊ฐ์ ํ๋์จ์ด์์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ๋จธ์ (VM) ์ ๊ตฌ๋ํ์ฌ ์ํ๋ ์ด์์ฒด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ ์ ์๋ค. * 1๊ฐ์ ๋จธ์ ์์ ์ฌ๋ฌ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ํ๋ ๊ตฌ์กฐ๋ ์ข์ง ์์ ๊ฐ์ํ ์ข ๋ฅ - ํธ์คํธ OS ๊ฐ์ํ ๋ฌผ๋ฆฌ์ ํ๋์จ์ด ์์ OS ๋ฅผ ์ค์น (Host OS)ํ๊ณ ๊ทธ ์์ ๊ฐ์ํ ์ํํธ.. 2022. 3. 22. docker Docker ๋ ์ปจํ ์ด๋ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ํ ํ๊ฒฝ์ ๋น ๋ฅด๊ฒ ๊ตฌ์ถํ๊ณ ํ ์คํธ ๋ฐ ๋ฐฐํฌ๋ฅผ ๋์์ฃผ๋ ํ๋ซํผ Container ๋? ๋ฆฌ์์ค๋ฅผ ๋ ผ๋ฆฌ์ ์ผ๋ก(๋ฌผ๋ฆฌ์ ์ด ์๋๋ผ!) ๊ตฌ๋ถํ์ฌ ๋ณ๋์ ์๋ฒ์ธ ๊ฒ์ฒ๋ผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ์ ์ด๋ค. ์์ ๋จ์, ๋ ๋ฆฝ์ ์ธ ๋ฐฐํฌ์ ์คํ์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ์ผ์ข ์ ๊ฐ์ ๋จธ์ ์ด๋ค. ์ํํธ์จ์ด ์๋น์ค๋ฅผ ์คํํ๋๋ฐ ํ์ํ ํน์ ๋ฒ์ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฐํ์ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ ์ข ์ ํญ๋ชฉ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ํจ๊ป ํฌํจํ๋ ๊ฒฝ๋ ํจํค์ง๋ก ๋น ๋ฅธ ๋น๋์ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๋ค. - Traditional Deployment ํ ๋ฌผ๋ฆฌ ์๋ฒ์์ ๋ค์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ฌ๋ฌ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ๋นํจ์จ์ ์ด๊ณ , ์๋ฒ ์ข ๋ฃ ์ ์คํ ์ค์ธ ๋ชจ๋ ์ ํ๋ฆฌ์ผ.. 2022. 3. 11. SOA (Service Oriented Architecture) SOA (Service Oriented Architecture) ์๋น์ค ์งํฅ ์ํคํ ์ณ, ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ฅ๋ค์ ๋น์ง๋์ค ๊ธฐ๋ฅ ๋จ์๋ก ๋ฌถ์ด ํ์คํ๋ ํธ์ถ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์๋น์ค๋ผ๋ ๋จ์๋ก ๋ง๋ค๊ณ ์ด๋ฅผ ์๋ก ์กฐํฉํ์ฌ ์ ๋ฌด ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค์ด๋ด๋ ์ํํธ์จ์ด ์ํคํ ์ฒ์ด๋ค. ์์คํ ๊ฐ๊ฐ์ด ๋ ๋ฆฝ๋ ์ ๋ฌด ์์คํ ์ด ์๋, ๊ธฐ์ ์ ์ฒด ์ ๋ฌด๊ฐ ํ๋์ SOA ์์คํ ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ์๋น์ค ํ๋ซํผ์ ์ข ์๋์ง ์๋ ํ์ค ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋น์ง๋์ค์ ์ธ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ ๊ธฐ๋ฅ๋ค์ ๋ชจ์๋์ ์ํํธ์จ์ด ์ปดํฌ๋ํธ๋ฅผ ์๋ฏธํ๋ค. ์ฐธ๊ณ ์๋ฃ ๋ฐ ์ถ์ฒ ๐โ๏ธ https://bcho.tistory.com/48 What is SOA? How to SOA? ์ปดํจํฐ ์์คํ ์ด ์ฌ์ฉ๋๋ฉด์๋ถํฐ, ๊ฐ ์๋์ ๊ธฐ์ ์ ๋ต์ ๋ง๋ ์ํํธ์จ์ด ์ํคํ ์ณ.. 2022. 3. 8. MSA (MicroService Architecture) MSA (MicroService Architecture) ๋จ์ผ ํ๋ก๊ทธ๋จ์ ๊ฐ ์ปดํฌ๋ํธ ๋ณ๋ก ๋๋์ด ์์ ์๋น์ค์ ์กฐํฉ์ผ๋ก ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ๋ฉฐ ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ์ํํ๋ ์๋น์ค๋ก ๊ตฌ์ฑ๋๋ค. ๊ฐ ์๋น์ค๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํด์ผ ํ๋ค. ๊ฐ ์๋น์ค๋ ๋ค๋ฅธ ์๋น์ค์์ ์์กด์ฑ์ด ์ต์ํ ๋์ด์ผ ํ๋ค. ๊ฐ ์๋น์ค๋ ๊ฐ๋ณ ํ๋ก์ธ์ค๋ก ๊ตฌ๋๋๊ณ ๊ฐ๋ฒผ์ด ๋ฐฉ์์ผ๋ก ํต์ ๋์ด์ผ ํ๋ค. ๋ค๋ฅธ ๊ธฐ์ ์คํ์ด ์ฌ์ฉ ๊ฐ๋ฅํ ๋จ์ผ ์ฌ์ ์์ญ์ ํ์ฉํ ์ ์๋ค. ์ฐธ๊ณ ์๋ฃ ๋ฐ ์ถ์ฒ ๐โ๏ธ https://velog.io/@tedigom/MSA-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1-MSA%EC%9D%98-%EA%B8%B0%EB%B3%B8-%.. 2022. 3. 8. TDD (Test-Driven-Development) ๋จ์ ํ ์คํธ vs. ํตํฉ ํ ์คํธ โ ๋จ์ ํ ์คํธ(Unit Test) ๋จ์ ํ ์คํธ๋ ํ๋์ ๋ชจ๋์ ๊ธฐ์ค์ผ๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์งํ๋๋ ๊ฐ์ฅ ์์ ๋จ์์ ํ ์คํธ์ด๋ค. ์๋ฅผ ๋ค์ด ์น ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ํ๋์ ๊ธฐ๋ฅ ๋๋ ๋ฉ์๋์ ๋ํด ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ๋์ง ๋ ๋ฆฝ์ ์ผ๋ก ํ ์คํธํ๋ ๊ฒ์ด ํ๋์ ๋จ์ ํ ์คํธ์ด๋ค. โ ํตํฉ ํ ์คํธ(Integration Test) ํตํฉ ํ ์คํธ๋ ๋ชจ๋์ ํตํฉํ ๋ ๋ชจ๋ ๊ฐ์ ํธํ์ฑ์ ํ์ธํ๊ธฐ ์ํด ์ํํ๋ ํ ์คํธ์ด๋ค. ํตํฉ๋ ๋ชจ๋๋ค์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ฐ๊ณ๋์ด ๋์ํ๋์ง ๊ฒ์ฆํ๋ค. ํตํฉ ํ ์คํธ๋ ์ฌ๋ฌ ์ปดํฌ๋ํธ ๊ฐ์ ์ํธ์์ฉ์ ํ์ธํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์์คํ ์ ๊ตฌ์ฑํ๋ ์ปดํฌ๋ํธ์ ๊ด๋ จ๋ ํ๊ฒฝ์ด ๋ชจ๋ ์ธํ ๋์ด์ผ ํด์(DB, Chche ๋ฑ) ํ ์คํธ๋ฅผ ์ํ ๋น์ฉ์ด ์ปค์ง๋ค. ๋ฐ๋ผ์ ์ค๋ฌด์์๋ ๋จ์ ํ ์คํธ๋ฅผ ๋ง์ด ํ์ฉํ๊ฒ.. 2022. 3. 7. ์ด์ 1 ๋ค์