>> ๐ป ๊ธฐ์
- ๊ฐ์ฅ ์ ์๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ ๋ฌด์์ธ๊ฐ?
- Waterfall ๋ฐฉ๋ฒ๋ก : ํ๋ฒ ๋จ์ด์ง๋ฉด ๋์๊ฐ ์ ์๋ ํญํฌ์์ฒ๋ผ, ๊ฐ ๊ฐ๋ฐ ๋จ๊ณ๋ฅผ ํ์คํ ๋งค๋ญ์ง๊ณ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๋ ๋ฐฉ๋ฒ๋ก ์ ๋๋ค. ๋จ๊ณ๊ฐ ๋ช ํํด์ ๊ด๋ฆฌํ๊ธฐ๋ ์ฝ์ง๋ง, ์๊ตฌ๋ถ์์ ์๊ฐ๊ณผ ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ ์๊ตฌ์ฌํญ ๋ณํ์ ๋์์ด ์ด๋ ต๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
- Agile ๋ฐฉ๋ฒ๋ก : Waterfall ๋ฐฉ๋ฒ๋ก ๊ณผ ๋๋น๋๋ ๋ฐฉ๋ฒ๋ก ์ผ๋ก ๋ณํ ์์ฉ, ํ์ , ๋น ๋ฅธ ์ธ๋๋ฅผ ๊ฐ์กฐํ๋ ๋ฐ๋ณต์ ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ตฌ์ฒด์ ์ธ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ ์๋๊ณ ์ง์นจ์ด๋ ์ฒ ํ์ ๊ฐ๊น๋ค๊ณ ์๊ณ ์์ต๋๋ค. ์๊ตฌ์ฌํญ ๋ณํ์ ๋ฏผ์ฒฉํ๊ฒ ๋์ํ๋ฉฐ ๋ฌธ์ํ๋ณด๋ค ์ฝ๋, ํ๋ก๊ทธ๋จ ์์ฒด๋ฅผ ๋ ์ค์์ํฉ๋๋ค.
- ์น๋ธ๋ผ์ฐ์ ์ google.com ์น๋ฉด ์ผ์ด๋๋ ๊ณผ์ ์?
- URL ์ฃผ์์ ๋๋ฉ์ธ ๋ค์ ๋ถ๋ถ์ DNS ์๋ฒ์์ ๊ฒ์ํ์ฌ, ํด๋น ๋๋ฉ์ธ ๋ค์์ ํด๋นํ๋ IP ์ฃผ์๋ฅผ ์ฐพ์ TCP ํต์ ์ ํตํด IP ์๋ฒ์ ์์ฒญ์ ๋ณด๋ ๋๋ค. ์๋ฒ๋ ๋ฐ์ ์์ฒญ์ ๋ํ ์ผ๋ จ์ ์ฒ๋ฆฌ ํ ์๋ต ๋ฉ์ธ์ง๋ฅผ ๋ค์ TCP ํต์ ์ ํตํด ํด๋ผ์ด์ธํธ์ ์ ์กํ๊ณ ๋ธ๋ผ์ฐ์ ๋ HTTP ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ๋ฐ์ ์๋ต ๋ฉ์ธ์ง์ ๋ํ ์นํ์ด์ง๋ฅผ ๊ตฌ์ฑ, ์ฌ์ฉ์์๊ฒ ํ๋ฉด์ ๋ณด์ฌ์ค๋๋ค.
- CI/CD๊ฐ ๋ฌด์์ธ๊ฐ?
- Continuous Integration๊ณผ Continuous Delivery, Continuous Deployment์ ์ฝ์ด๋ก, ๊ฐ๋ฐ์ ์์ด์ ์ง์์ ์ธ ํตํฉ๊ณผ ๋ฐฐํฌ๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ฐ๋ฐ ๋ผ์ดํ์ฌ์ดํด ์ ์ฒด์ ๊ฑธ์ณ์ ์ง์์ ์ธ ์๋ํ์ ๋ชจ๋ํฐ๋ง์ ์ ๊ณตํ๋๋ฐ, ์ด๋ฌํ ๊ตฌ์ถ์ ์ผ๋ฐ์ ์ผ๋ก CI/CD ํ์ดํ๋ผ์ธ์ด๋ผ๊ณ ํฉ๋๋ค.
- CI (Continuous Integration): ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ก์ด ์ฝ๋ ๋ณ๊ฒฝ์ฌํญ์ด ์ ๊ธฐ์ ์ผ๋ก ๋น๋ ๋ฐ ํ ์คํธ๋์ด์ ๊ณต์ ๋ ํฌ์งํ ๋ฆฌ์ ํตํฉํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ฐ๋ฐ ํ์ง ์ ์ง์ ์ค์ํ ๊ฐ๋ ์ ๋๋ค.
- CD
- Continuous Delivery : ๊ฐ๋ฐ ์ค์ ์ง์์ ์ธ ๋น๋๋ ํตํฉ ํ ์คํธ๋ฅผ ํต๊ณผํ ์ฝ๋๋ค์ ํ ์คํธ ์๋ฒ์ ์ด์ ์๋ฒ์ ์๋์ผ๋ก ๋ฆด๋ฆฌ์ฆํ๋ ๊ฒ์ ๋ปํฉ๋๋ค. ํ๋ก๋์ ํ๊ฒฝ์ผ๋ก ๋ฐฐํฌํ ์ค๋น๊ฐ ๋์ด์๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ํ๋ณดํ๋ ๊ฒ์ผ๋ก ์๊ณ ์์ต๋๋ค.
- Continuous Deployment : CI/CD ํ์ดํ๋ผ์ธ์ ๋ง์ง๋ง ๋จ๊ณ๋ก, ํ๋ก๋์ ๋จ๊ณ๊น์ง ์๋์ผ๋ก ๋ฆด๋ฆฌ์ฆํ๋ ์๋ํ๋ ์์ ์ ๋๋ค.
- ๋ํ์ ์ธ ์ ๊ณต ํด๋ก๋ ์ ํจ์ค(Jenkins)์ ๋ฐค๋ถ(Bamboo)๊ฐ ์์ต๋๋ค
- MVC ํจํด์ด๋ ๋ฌด์์ธ๊ฐ?
- ๋์์ธ ํจํด : ํ๋ก๊ทธ๋จ์ด๋ ์ด๋ค ํน์ ํ ๊ฒ์ ๊ฐ๋ฐํ๋ ์ค์ ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋ค์ ์ ๋ฆฌํด์ ์ํฉ์ ๋ฐ๋ผ ๊ฐํธํ๊ฒ ์ ์ฉํ๋๋ก ์ ๋ฆฌํ ํํ๋ฅผ ์๋ฏธํฉ๋๋ค.
- Model, View, Contoller์ ์ฝ์๋ก ํ๋ก์ ํธ์ ๊ตฌ์ฑ์์๋ฅผ ์ด ์ธ ๊ฐ๋ก ๋๋๋ ๋์์ธ ํจํด์ ๋๋ค.
- Model์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด๋ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ด๊ณ (๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋์ํ๋ ๋ก์ง์ ์ฒ๋ฆฌํ๋ค), View๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์์๋ฅผ ๋ํ๋ด๋ฉฐ, Controller๋ ๋ฐ์ดํฐ์ ์ธํฐํ์ด์ค ์์๋ฅผ ์๋ ๋ค๋ฆฌ ์ญํ ๋ก์ ์ฌ์ฉ์์ ์ ๋ ฅ์ฒ๋ฆฌ์ ํ๋ฆ์ ์ด๋ฅผ ๋ด๋นํฉ๋๋ค. ๋ชจ๋ธ๊ณผ ๋ทฐ๊ฐ ์๋ก์ ๋ณ๊ฒฝ์ฌํญ์ ๋ํด ์ข ์์ ์ด์ง ์๊ณ ์ญํ ์ด ๋ถ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ ๋ฐ ์ ์ง๋ณด์๊ฐ ํธ๋ฆฌํ ํจํด์ด๋ผ๋ ์ฅ์ ์ด ์์ต๋๋ค.
- MVC1: ๋น์ฆ๋์ค ๋ก์ง ์์ญ(Controller)์ ํ๋ ์ ํ ์ด์ ์์ญ(View)๋ฅผ ๊ฐ์ด ๊ตฌํํ๋ ๋ฐฉ์์ ๋๋ค. ์ฌ์ฉ์ ์์ฒญ์ JSP๊ฐ ์ ๋ถ ๋ค ์ฒ๋ฆฌํฉ๋๋ค.
- MVC2: ๋น์ฆ๋์ค ๋ก์ง ์์ญ๊ณผ ํ๋ ์ ํ ์ด์ ์์ญ์ด ๋ถ๋ฆฌ๋์ด ์๋ ๊ตฌํ ๋ฐฉ์์ ๋๋ค. ์น ๋ธ๋ผ์ฐ์ ์ฌ์ฉ์์ ์์ฒญ์ Servlet์ด ๋ฐ์ View๋ก ์๋ตํ๊ฑฐ๋ Model๋ก ๋ณด๋ด ๋ก์ง์ฒ๋ฆฌ๋ฅผ ํฉ๋๋ค. ์ด ๋ฐฉ์์ ์ฑํํ๋ฉด View์ Controller๊ฐ ๋ถ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ ๋์ด๋๋ ๋์์ง์ง๋ง ๋์์ด๋์ ๊ฐ๋ฐ์์ ๋ถ์ ์ด ๊ฐ๋ฅํด์ง๋ฉฐ ์ ์๋ณด์์ ์ ๋ฆฌํด์ง๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
- ์ ์ฐจ์งํฅ(PP)๊ณผ ๊ฐ์ฒด์งํฅ(OOP)์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ?
- ์ ์ฐจ์งํฅ (Procedure Programming): ์ผ์ ํ ๋จ๊ณ์ ๋ฐ๋ผ ์งํํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ ์ฃผ๋ก ์ ๊ทผํ๋ ๋ฐฉ์์ผ๋ก, TOP-DOWN์ ์ ๊ทผ๋ฐฉ์์ ์ทจํฉ๋๋ค. ๋ํ์ ์ผ๋ก C์ธ์ด๊ฐ ์์ต๋๋ค.
- ๊ฐ์ฒด์งํฅ (Object Oriented Programming): ํ์ค์ธ๊ณ์ ์ด๋ค ๋์์ ๋ชจ๋ธ๋งํ๋๊ฐ์ ๊ด์ ์ผ๋ก ๋ฐ๋ผ๋ณด๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ ๋๋ค. ๊ฐ์ฒด๋ ์ธ๋ถ๋ชจ๋ธ๋ถํฐ ๋์์ธ๋์ด BOTTOM-UP ๋ฐฉ์์ผ๋ก ์กฐ๋ฆฝ๋ฉ๋๋ค.
- ์ ์ฐจ์งํฅ์ด ๊ธฐ๋ฅ ์ค์ฌ์ผ๋ก ํจ์๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐฉ์์ด์๋ค๋ฉด, ๊ฐ์ฒด์งํฅ์ ๊ฐ์ฒด๊ฐ ๋๋ ๋ฐ์ดํฐ๊ฐ ์ค์ฌ์ด ๋์ด ๊ฐ์ฒด๋ค์ด ์ ๊ธฐ์ ์ผ๋ก ๋์ํ๋ ๋ฐฉ์์ ๋๋ค.
- ๊ฐ์ฒด์งํฅ ์ธ์ด์ 4๋ ํน์ง์ ๋ฌด์์ธ๊ฐ? (+์ ๋ณด์๋)
- ์ถ์ํ: ๋ถํ์ํ ๋ถ๋ถ์ ์๋ตํ๊ณ ์ค์ํ ๋ถ๋ถ, ์ฆ ๊ฐ์ฒด์ ๊ณตํต์ ์ธ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ์ถ์ถํ์ฌ ์ ์ํ๋ ๊ฒ์ ๋๋ค.
- ์บก์ํ: ๋ฐ์ดํฐ์ ์ฝ๋์ ํํ๋ฅผ ์ธ๋ถ์์ ์ ์ ์๋๋ก ํ๋์ ์บก์ํํ๋ก ๋ง๋๋ ๊ฒ์ ๋ปํฉ๋๋ค. ์ด๋ก์ธํด ์ ๋ณด์๋์ด ๊ฐ๋ฅํด์ง๋ฉฐ ์์ ๋ง์ ์ฐ์ฐ์ ํตํด์ ์ ๊ทผํ ์ ์๊ฒ ๋ฉ๋๋ค.
- ์์์ฑ: ์์ํด๋์ค์ ๋ชจ๋ ์์ฑ๊ณผ ์ฐ์ฐ์ ํ์ ํด๋์ค๊ฐ ๋ฌผ๋ ค๋ฐ๋ ๊ฒ์ ๋๋ค. ์ด๋ก ์ธํด ํ์ํด๋์ค๋ ์์ฑ๊ณผ ์ฐ์ฐ์ ๋ค์ ์ ์ํ์ง ์๊ณ ์ฆ์ ์์ ์ ๊ฒ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋คํ์ฑ: ํ๋์ ๋ฉ์ธ์ง์ ๋ํด ๊ฐ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ณ ์ ํ ํน์ฑ์ผ๋ก ์๋ตํ ์ ์๋ ๊ฒ์ ๋งํฉ๋๋ค.
- Call By Value/ Call By Reference์ ์ฐจ์ด์ ๋ํด ์ค๋ช
ํ์์ค.
- Call By Value : ํจ์ ํธ์ถ์ ์ ๋ฌ๋๋ ๋ณ์์ ๊ฐ์ ๋ณต์ฌํ์ฌ ์ธ์๋ก ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ณต์ฌ๋ ์ธ์๋ ํจ์ ์์์ ์ง์ญ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. JAVA์ ๊ฒฝ์ฐ ์ ๋ฌ๋๋ ํ์ ์ ๋ฐ๋ผ์ ํธ์ถ ๋ฐฉ์์ด ๋ฌ๋ผ์ง๋๋ฐ, ๊ธฐ๋ณธ ์๋ฃํ์ ๊ฒฝ์ฐ์๋ call by value๋ก ๋์ํ๊ณ , Array๋ Class Instance์ ๊ฐ์ ์ฐธ์กฐ์๋ฃํ์ call by reference๋ก ๋์ํฉ๋๋ค.
- Call By Reference : ํจ์๊ฐ ํธ์ถ๋ ๋ ์ธ์๋ก ๋ณ์์ ๋ ํผ๋ฐ์ค๋ฅผ ์ ๋ฌ, ์ฆ ํด๋น ๋ณ์๋ฅผ ๊ฐ๋ฅดํค๊ฒ ์ ๋ฌํ๊ธฐ ๋๋ฌธ์ ํจ์ ์์์ ์ธ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด ํจ์ ํธ์ถ์์ ์๋ ๋ณ์๋ค๋ ํจ๊ป ๊ฐ์ด ๋ฐ๋๊ฒ ๋ฉ๋๋ค.
- ์ค๋ฒ๋ผ์ด๋์ ์ค๋ฒ๋ผ์ด๋ฉ์ ์ฐจ์ด๋?
- ์ค๋ฒ๋ผ์ด๋ฉ (Overriding): ์์ ํด๋์ค์ ๋ฉ์๋๋ฅผ ํ์ ํด๋์ค๊ฐ ์ฌ์ ์ํ๋ ๊ฒ์ ๋๋ค. ์์ ํด๋์ค์ ๋์์ ํ์ ํด๋์ค์์ ๋ณ๊ฒฝํ๊ธฐ ์ํด ์ฃผ๋ก ์ฌ์ฉ๋๋๋ฐ, ์ด๋ ๋ฉ์๋์ ์ด๋ฆ, ํ๋ผ๋ฏธํฐ์ ๊ฐฏ์๋ ํ์ ๊น์ง ๋ชจ๋ ๋์ผํด์ผํฉ๋๋ค.
- ์ค๋ฒ๋ก๋ฉ (Overroading): ๋ฉ์๋์ ์ด๋ฆ๋ง ๊ฐ๊ณ ๋งค๊ฐ๋ณ์์ ๊ฐ์๋ ํ์ ์ด ๋ค๋ฅธ ํจ์๋ฅผ ์ ์ํ๋ ๊ฒ์ ๋๋ค. ๋ฆฌํด๊ฐ๋ง ๋ค๋ฅด๊ฒ ๊ฐ๋ ์ค๋ฒ๋ก๋ฉ์ ์์ฑํ ์ ์์ต๋๋ค.
- HTTP ๊ด๋ จ ์ง๋ฌธ๋ค
- HTTP๋? :
- HTTP RESTFUL :
- HTTP ์๋ต์ฝ๋ :
- DI (์์กด์ฑ ์ฃผ์
)๋ ๋ฌด์์ธ๊ฐ?
- Dependency Injection์ ์ค์๋ง๋ก ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ๋๊ฒ ์๋๋ผ ์ธ๋ถ์์ ์์ฑํ ํ ์ฃผ์ ์์ผ์ฃผ๋ ๋ฐฉ์์ ๋ปํฉ๋๋ค. ์คํ๋ง์ด ๋ค๋ฅธ ํ๋ ์์ํฌ์ ์ฐจ๋ณํ๋์ด ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ผ๋ก, DI๋ฅผ ํตํด์ ๋ชจ๋ ๊ฐ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ณ ์ ์ฐ์ฑ์ ๋์ผ ์ ์์ต๋๋ค.
- IoC (์ ์ด์ ์ญ์ )๊ฐ๋
์ ๋ํด ์ค๋ช
ํ์์ค
- Inversion of Control์ ์ค์๋ง๋ก, ๋ฉ์๋๋ ๊ฐ์ฒด์ ํธ์ถ ์์ ์ ๊ฐ๋ฐ์๊ฐ ๊ฒฐ์ ํ๋ ๊ฒ์ด ์๋๋ผ ์ธ๋ถ์์ ๊ฒฐ์ ํจ์ ๋ปํฉ๋๋ค. ์ด ์ญ์ ์คํ๋ง์์ ์ฐจ๋ณํ๋๋ ๊ธฐ๋ฅ์ผ๋ก, ์ธ๋ถ ์ฆ ์คํ๋ง์ด ๋ชจ๋ ์์กด์ฑ ๊ฐ์ฒด๋ฅผ ์คํ๋ ๋๋ง๋ค ๋ง๋ค์ด์ฃผ๊ณ ํ์ํ ๊ณณ์ ์ฃผ์ ์ํด์ผ๋ก์ ์ ์ด์ ํ๋ฆ์ ์ฌ์ฉ์/๊ฐ๋ฐ์๊ฐ ์ปจํธ๋กคํ๋ ๊ฒ์ด ์๋๋ผ ์คํ๋ง์๊ฒ ๋งก๊ฒจ ์์ ํ๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
- ์ฑ๊ธํค(Singleton) ํจํด์ด๋?
- ๊ฐ๋จํ ๋งํ์๋ฉด ๋ง ๊ทธ๋๋ก ๊ฐ์ฒด์ ์ธ์คํด์ค๊ฐ ์ค์ง ๋จ ํ ๊ฐ๋ง ์์ฑ๋๋ ํจํด์ ์๋ฏธํฉ๋๋ค. ์ฑ๊ธํค ํจํด์ ์ฌ์ฉ ์ด์ ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ์์ต๋๋ค.
- ์ฒซ ๋ฒ์งธ๋ก ๋ฉ๋ชจ๋ฆฌ ์ธก๋ฉด์์ ์ต์ด ํ ๋ฒ์ new ์ฐ์ฐ์๋ฅผ ํตํด ๊ณ ์ ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ถํ ๊ทธ ๊ฐ์ฒด์ ๊ณ์ํด์ ์ ๊ทผํ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
- ๋ํ ์ฑ๊ธํค ๊ฐ์ฒด๋ฅผ ํธ์ถํจ์ผ๋ก์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด๋์๋ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
- ์์ฑ) ๊ธฐ๋ณธ ์์ฑ์๋ฅผ private์ผ๋ก ์ ์ธํ์ฌ ๋ค๋ฅธ ํด๋์ค์์ ์์ฑํ์ง ๋ชปํ๋๋ก ํ๊ณ , ์ธ์คํด์ค๋ฅผ ๋ฆฌํดํด์ฃผ๋ ํจ์๋ฅผ ํตํด ์ ๊ทผํฉ๋๋ค.
- JSP์ Servlet
- ๊ฐ๋จํ๊ฒ ๋งํ์๋ฉด Servlet์ Java ์ธ์ด๋ก ์ด๋ฃจ์ด์ง ์นํ๋ก๊ทธ๋๋ฐ ๋ฌธ์์ด๊ณ , JSP๋ HTML ํ์ด์ง ๋ด์์ Java ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
- JSP (Java Server Page): ์ ์ ํ์ด์ง์ธ HTML์ ์๋ฐ ์ฝ๋๋ฅผ ์ฝ์ ํ์ฌ ๋์ ํ์ด์ง๋ก ๋ง๋ค์ด์ฃผ๋ ๊ธฐ์ ์ ๋ปํฉ๋๋ค. ์น ์๋ฒ์์ ๋์ ์ผ๋ก ์นํ์ด์ง๋ฅผ ์์ฑํ์ฌ ์น ๋ธ๋ผ์ฐ์ ๋ก ๋๋ ค์ค๋๋ค. ์ด ๋ ์น ์๋ฒ์์๋ JSP ํ์ผ์ ์๋ธ๋ฆฟ์ผ๋ก ๋ณํํ๊ฒ ๋ฉ๋๋ค.
- Servlet: ์๋ฐ๋ฅผ ์ด์ฉํ์ฌ ์นํ์ด์ง๋ฅผ ๋์ ์ผ๋ก ์์ฑํ๋ ์๋ฒ ์ธก ํ๋ก๊ทธ๋จ์ ๋งํ๋ค. ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋์ ์ผ๋ก ์๋ํ๊ณ ์๋ต์ HTML์ ์ด์ฉํฉ๋๋ค.
- MVC ํจํด์์ JSP๋ View๋จ์, Servlet์ Controller ๋จ์ผ๋ก ์ด์ฉ๋ฉ๋๋ค.
- JVM (Java Virtual Machine)์ด๋ ๋ฌด์์ธ๊ฐ
- JVM์ ๊ฐ๋จํ ๋งํ์๋ฉด ์ด์์ฒด์ ์ ํ๋ก๊ทธ๋จ ์ฌ์ด์ ์์นํ์ฌ ํ๋ก๊ทธ๋จ์ด OS์ ์๊ด์์ด ๋์ํ ์ ์๋๋ก ์ค๊ณ์ ์ญํ ์ ํ๋ ๊ฐ์๋จธ์ ์ ๋๋ค.
- ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ๊ณผ ๋งํน์ ๊ฑฐ์ณ์ Executable File(exeํ์ผ)์ ํํ๋ก ์์ฑ๋๊ณ ์ด๋ฅผ ์ด์์ฒด์ ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ, CPU์ ๋ช ๋ น์ด ํจ์น, ์ด๋ฅผ ๋์ฝ๋ฉ ํ ์คํํ๋ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค.
- ์๋ฐ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ ์๋ฐ ์ปดํ์ผ๋ฌ๊ฐ ์๋ฐ ์์คํ์ผ(.java)์ JAVA Byte Code(.class)๋ก ๋ณ๊ฒฝํ๊ณ , ์ด๋ JVM ๋ด์ ํด๋์ค ๋ก๋์ ๋ก๋๋๋ฉฐ, Execution Engine์ด ๋ก๋ฉ๋ ํด๋์ค์ Bytecode๋ฅผ ํด์(Interpret)ํฉ๋๋ค.
- ์ดํ ํด์๋ ๋ฐ์ดํธ ์ฝ๋๋ค์ JVM์ด OS๋ก๋ถํฐ ํ ๋น๋ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ญ Runtime Data Area์ ๋ฐฐ์น๋์ด ์ค์ง์ ์ธ ์ํ์ด ์ด๋ค์ง๋๋ค.
- ๋ฟ๋ง ์๋๋ผ JVM์ ๊ฐ๋ฐ์๊ฐ ๋ช ์์ ์ผ๋ก ํด์ ํ์ง ์์ ์ฐ๋ ๊ธฐ ๊ฐ์ฒด๋ค์ ์ฐพ์ ํด์ ํ๋ ์ญํ ๋ ํฉ๋๋ค. Heap ์์ญ์ ์์ฃผ๋ก ํ์ํ๋ฉฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๋ฆฌํฉ๋๋ค.
๐ ๐ ๐
๏ผฐ๏ฝ๏ฝ๏ฝ๏ฝ ๏ฝ ๏ผข๏ฝ ๏ผณ๏ผก๏ผน
๐๐ฉ๐ข๐ฏ๐ฌ๐ด ๐ง๐ฐ๐ณ ๐ณ๐ฆ๐ข๐ฅ๐ช๐ฏ๐จ