(1)๋ด์ฅ ํฐ์ผ์ ๊ฐ์ง๋ค. ํฐ์ผ์ ๋ฐ๋ก ์ค์นํ ํ์ ์์ด ๋ฐ๋ก ์คํ๊ฐ๋ฅํ๋ค. Socket: ์ด์์ฒด์ ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฒ A์ B๊ฐ ํต์ ํ๋ค. A๊ฐ 5000๋ฒ ์์ผ์ ์คํํ๋ฉด B๊ฐ ip์ฃผ์:5000์ ํฌํธ๋ฒํธ๋ฅผ ๋ฃ๊ณ ์ฐ๊ฒฐํ๋ค. ๊ทธ๋ฌ๋ฉด A์ B๋ ํต์ ์ด ๊ฐ๋ฅํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ฌ๋ฉด C๊ฐ A๋ ํต์ ์ ํ๊ณ ์ถ์๋ฐ, 5000๋ฒ์ ์ด๋ฏธ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก C๋ 5000๋ฒ์ผ๋ก ์ฐ๊ฒฐ์ ๋ชปํ๋ค. ์ต์ด์ 5000๋ฒ ํฌํธ๋ ์ฐ๊ฒฐ์ฉ๋๋ก๋ง ์ฐ๊ณ main์ฐ๋ ๋(์๋ก์ด ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ์)๊ฐ ๋จ, ์ฐ๊ฒฐ์ด ๋๋ ์๊ฐ ์๋ก์ด ์์ผ(5001)์ ๋ง๋ ๋ค. ๊ทธ๋ฌ๋ฉด A๋ 5000๋ฒ ๊ณผ์ ์ฐ๊ฒฐ์ ๋๊ธฐ๊ณ 5001๋ก B์ ํต์ ํ๋ค. ์ด๋, 5001์ ์ค๋ ๋1์ ๋ง๋๋๋ฐ, ์ด๋ C๋ 5000๋ฒ์ ์ ๊ทผํ ์ ์๋๋ฐ, ๊ทธ๋ฌ๋ฉด 5000๋ฒ์ด ์๋ก์ด ์์ผ์ ..
๐ผ๋ฐฑ์ค๋/Spring
JPA๋ Java Persistence(์์์ฑ) API์ด๋ค. ex) ๋จ์ ํ๋ฐ์ฑ. ์ด ๋ฐ์ดํฐ๋ฅผ ํ๋๋์คํฌ์ ๊ธฐ๋กํ๋ฉด ๋นํ๋ฐ์ฑ์ด๋ฏ๋ก ์๊ตฌ์ ์ฅ๋จ. ์๊ตฌํ ๊ธฐ๋ก๋๋๊ฒ Persistence. ์๋ฐ๋ ๋ฐ์ดํฐ ์ ์ฅ์ DBMS๋ก ๊ด๋ฆฌํ๋ค. JPA๋ ์๋ฐ์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌํ ๊ธฐ๋กํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ API API๋? Application -> ํ๋ก๊ทธ๋จ Programming ->ํ๋ก๊ทธ๋๋ฐ์ ํตํด์ ํ๋ก๊ทธ๋จ ๋ง๋ฌ Interface ->์ด๊ฑธ ํตํด์ ํ๋ก๊ทธ๋๋ฐ ์ฝ์(ํ๋กํ ์ฝ vs ์ธํฐํ์ด์ค) ํ๋กํ ์ฝ: ์ฝ์ - A,B,C์ ๊ถ๋ฆฌ๊ฐ ๋๋ฑํ๋ค. B๊ฐ ๊ฐ์ํ ์ ์๋ค. ์๋ก๊ฐ ๋ชจ๋ ๋์ ํ ์ ์๋ ๊ฒ vs ์ธํฐํ์ด์ค: ์ฝ์ - B๊ฐ ํ์ด ์
. B๊ฐ ๋ง๋ ๊ท์น์ A์ C๊ฐ ๋ฌด์กฐ๊ฑด ๋ฐ๋ผ์ผ ํ๋ค. ์ฆ, B๊ฐ ๊ท์น์ ์ ํ ๋..
์คํ๋ง์ ํ๋ ์์ํฌ์ด๋ค ํ๋ ์์ํฌ:ํ ์์์ ๋์. ํ์ ๋ง์ถฐ์คํ
๋ ํ์ ๋ง์ถฐ์ ๊ฐ๋ฐํด๋ผ ์คํ๋ง์ ์คํ์์ค์ด๋ค ๋ด๋ถ๋ฅผ ๋ฏ์ด๊ณ ์น ์ ์๋ค. + ๋ฌด๋ฃ ์คํ๋ง์ IoC(Inversion of Controller = ์ ์ด์ ์ญ์ ) ์ปจํ
์ด๋๋ฅผ ๊ฐ์ง๋ค. ๊ฐ๋ฐ์๊ฐ ๊ฐ์ฒด ์์ฑ๊ณผ ๊ด๋ฆฌ๋ฅผ ์คํ๋ง์ ์์ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ฃผ๋๊ถ์ด ์คํ๋ง์ ์๋ค. ํด๋์ค: ์ค๊ณ๋ ์ค๋ธ์ ํธ: ์ค์ฒดํ๊ฐ ๊ฐ๋ฅํ ๊ฒ ์ธ์คํด์ค: ์ค์ฒดํ ๋ ๊ฒ ๊ฐ๊ตฌ(ํด๋์ค-์ถ์์ ) - ์์,์นจ๋(์ค๋ธ์ ํธ) - ์ธ์คํด์ค ์ค๋ธ์ ํธ๋ฅผ new๋ก ํด์ heap ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฐ๋ค. ์์ s = new ์์(); s๋ ๋ ํผ๋ฐ์ค ๋ณ์๊ฐ ๋๊ณ , s๋ ๋ฉ์๋๊ฐ ์คํ๋๋ ๋์๋ง ์ฌ์ฉ๋จ. ๋ค๋ฅธ ๋ฉ์๋์์ ์ด ์์๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ผ๋ฉด, ์์ s = new ์์(); ์ด๊ฑฐ๋ฅผ ๋ ์น๋ฉด ์๋ก์ด ..