ํ๋ํฐ๋!๐ ์ง์ง ์ด๋ ค์ ๋ค.... ๋ชใ
์๊ฐ ๋ถ์ก๊ณ ์์ด๋ ์ํ๋ ค์ ๋ค๋ฅธ ๋ถ๋ค์ ํ์ด๋ฅผ ์ฐธ๊ณ ํ์ง๋ง,,,,, ๊ณ์๋๋ ์คํจ!!! ๊ทธ๋์ ๊ทธ๋ฅ ์ฐ์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฒ๋ฆฌํด๋ณด๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ค,..... ์ฒ์์ ์ด๊ฑฐ ๋ฌด์กฑ๊ถ ์๊ฐ์ด๊ณผ๋ผ๊ณ ์๊ฐํ๋๋ฐ ์ด๋ผ...? ํต๊ณผ!@!!!@!@!@!@! ๋์ต์!!! ํ์ด ์ฃผ์ด์ง N๊ฐ์ ์ซ์๋ 1,2,3,4,...., N ์ ์ผ์ชฝ์ผ๋ก k1๋ฒ ๋ฐ๊ธฐ p~q ๊ตฌ๊ฐ ๋ค์ง๊ธฐ ์ผ์ชฝ์ผ๋ก k2๋ฒ ๋ฐ๊ธฐ ๊ณผ์ ์ผ๋ก ๋ง๋ค์ด์ง ๊ฒ์ด๋ค. ๊ทธ๋์ ์ด๊ฒ์ ๋ฐ๋๋ก!! ์งํ ์ฌ๊ธฐ์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ 1 candidates ์ค์ํ ๊ฒ์ ๊ตฌ๊ฐ ์์น(p, q)์ ์ด๋์ํจ ํ์(k2)๋ฅผ ํจ๊ป ์ ์ฅ candidates๋ฅผ ๋ชจ๋ ๋๋ฉด์ (p, q) ๋ถ๋ถ์ ๋ค์ง์ ํ์ 1~N-1๋ฒ์ ์ด๋์ผ๋ก ์๋ ์์ 1,2,3,......
์ ์ฒด ๊ธ
IoC(์ ์ด์ ์ญ์ ), DI(์์กด์ฑ ์ฃผ์
) IoC๋ ์ค๊ณ์์น์ ํ๋นํ๊ณ , DI๋ ๋์์ธ ํจํด์ ํด๋น ์ข์ ์ฝ๋๋ฅผ ์ํ Spring์ IoC์ DI ๐โ๏ธ ์ข์ ์ฝ๋๋? ๊ฐ๋จํ ๋
ผ๋ฆฌ ์ค๋ณต ์ ๊ฑฐํ๊ณ ๋ช
ํํ ํํ ์ฝ๋๋ฅผ ์ฒ์๋ณด๋ ์ฌ๋๋ ์ฝ๊ฒ ์ดํดํ๊ณ ์์ ๊ฐ๋ฅ ์์กด์ฑ์ ์ต์ํ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋๋ผ๊ณ ํฌ๊ฒ ๊ตฌ์กฐ ๋ณ๊ฒฝ โ .... IoC์ ๋ํด IoC๋ DI๋ก๋ ์๋ ค์ ธ ์๋ค๋ผ๊ณ ์๊ฐํ๊ณ ์์ == DI ํจํด์ ์ฌ์ฉํ์ฌ IoC ์ค๊ณ ์์น์ ๊ตฌํํ๊ณ ์๋ค ์์กด์ฑ? public class Consumer { void eat() { Chicken chicken = new Chicken(); chicken.eat(); } public static void main(String[] args) { Consumer con..
Layer Architecture Spring์ 3 Layer Architecture ์๋ฒ ๊ฐ๋ฐ์๋ค์ ์๋ฒ์์์ ์ฒ๋ฆฌ ๊ณผ์ ์ด ๋๋ถ๋ถ ๋น์ทํจ์ ๊นจ๋ซ๊ณ , ์ฒ๋ฆฌ๊ณผ์ ์ ํฌ๊ฒ Controller, Service, Repository 3๊ฐ ๋ถ๋ฆฌ 1. Controller ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ ์์ฒญ์ ๋ํ ๋ก์ง ์ฒ๋ฆฌ๋ Service์๊ฒ ์ ๋ด Reuqest ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด ํจ๊ป ์ ๋ฌ Service์์ ์ฒ๋ฆฌ ์๋ฃ๋ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต 2. Service ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ์ฒ๋ฆฌ(๋น์ฆ๋์ค ๋ก์ง) ํ์
์์๋ ์๋น์ค ์ฝ๋๊ฐ ๊ณ์ ๋น๋ํด์ง๊ณ ์์ DB ์ ์ฅ ๋ฐ ์กฐํ๊ฐ ํ์ํ ๋๋ Repository์๊ฒ ์์ฒญ 3. Repository DB ๊ด๋ฆฌ(์ฐ๊ฒฐ, ํด์ , ์์ ๊ด๋ฆฌ) DB CRUD ์์
์ ์ฒ๋ฆฌ
Spring ์
๋ฌธ ๊ฐ์ ์ค๋ 1์ฃผ์ฐจ ์๊ฐ! ๊ธฐ๋ณธ์ ์ธ Spring MVC ํจํด๊ณผ Database์ ๊ดํด ํ์ตํ๋ค. ๊ฐ์ ์ค ๋ฉ๋ชจ์ฅ ํ๋ก์ ํธ ๋ด์ฉ์ด ์์๋๋ฐ, ๊ฐ๋จํ๊ฒ entity, dto, controller ๋ถ๋ถ๋ง ์ฝ๋๋ฅผ ์ง๋ ๊ฑฐ์๋ค. ๊ธฐ์ด๋ถํฐ ๋ค์ง๋ฉฐ ์ฌ๋ผ๊ฐ๊ธฐ ์ข์ ๋ฏ! https://hyeyun.tistory.com/entry/Spring-%EC%9E%85%EB%AC%B8-1%EC%A3%BC%EC%B0%A8-Spring-MVC Spring ์
๋ฌธ 1์ฃผ์ฐจ : Spring MVC Spring MVC MVC ๋์์ธ ํจํด MVC๋ Model-View-Controller์ ์ฝ์๋ก, ์ํํธ์จ์ด ๋์์ธ ํจํด ์ค ํ๋ MVC ํจํด์ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ฑํ๋ ์์๋ค์ Model, View, Controller๋ก ๊ตฌ๋ถํ์ฌ ๊ฐ..
JDBC ๋ฑ์ฅ ๋ฐฐ๊ฒฝ ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ์์ DB์ ์ ๊ทผํ๊ธฐ ์ํด์๋ ์ฌ๋ฌ๊ฐ์ง ์์
์ด ํ์ DB์ ์ฐ๊ฒฐํ๊ธฐ ์ํด ์ปค๋ฅ์
์ฐ๊ฒฐ SQL์ ์์ฑํ ํ ์ปค๋ฅ์
์ ํตํด SQL ์์ฒญ ์์ฒญํ SQL์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์๋ต ๋ฐ์ ๊ธฐ์กด์ ์ฌ์ฉํ๋ MySQL ์๋ฒ๋ฅผ PostgreSQL ์๋ฒ๋ก ๋ณ๊ฒฝํ๋ค๋ฉด? ์ปค๋ฅ์
์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ, SQL ์ ๋ฌ ๋ฐฉ๋ฒ, ๊ฒฐ๊ณผ๋ฅผ ์๋ต๋ฐ๋ ๋ฐฉ๋ฒ ๋ชจ๋ ๋ค๋ฅผ ์ ์์ ๋ฐ๋ผ์ ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ์์ ์์ฑํ๋ DB ์ฐ๊ฒฐ ๋ก์ง์ ์ ๋ถ ์์ ํด์ผ ํจ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด JDBC ํ์ค ์ธํฐํ์ด์ค ๋ฑ์ฅ JDBC๋ Java Database Connectivity๋ก DB์ ์ ๊ทผํ ์ ์๋๋ก Java์์ ์ ๊ณตํ๋ API JDBC์ ์ฐ๊ฒฐํด์ผํ๋ DB์ JDBC ๋๋ผ์ด๋ฒ๋ฅผ ์ ๊ณตํ๋ฉด DB ์ฐ๊ฒฐ ๋ก์ง์ ๋ณ๊ฒฝํ ํ์์์ด DB ๋ณ..
Spring MVC MVC ๋์์ธ ํจํด MVC๋ Model-View-Controller์ ์ฝ์๋ก, ์ํํธ์จ์ด ๋์์ธ ํจํด ์ค ํ๋ MVC ํจํด์ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ฑํ๋ ์์๋ค์ Model, View, Controller๋ก ๊ตฌ๋ถํ์ฌ ๊ฐ๊ฐ์ ์ญํ ์ ๋ถ๋ฆฌ Model ๋ฐ์ดํฐ์ ๋น์ฆ๋์ค ๋ก์ง์ ๋ด๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๋ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฌ์ค๋ ๋ฑ์ ์์
์ ์ํ View ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ด๋น Controller Model๊ณผ View ์ฌ์ด์ ์ํธ์์ฉ์ ์กฐ์ ํ๊ณ ์ ์ด ์
๋ ฅ์ ๋ฐ์ Model์ ์ ๋ฌํ๊ณ , Model์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก View๋ฅผ ์
๋ฐ์ดํธ MVC ํจํด์ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ฑํ๋ ์์๋ค์ ๋ถ๋ฆฌํจ์ผ๋ก์จ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋์ด๊ณ , ๊ฐ๋ฐ์๋ค ๊ฐ์ ํ์
์ ์ฉ์ดํ๊ฒ ํจ. ๋ฐ๋ผ์ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ , MV..
์๋ฒ๋? ๋คํธ์ํฌ๋? ๋คํธ์ํฌ๋ ์ฌ๋ฌ ๋์ ์ปดํจํฐ ๋๋ ์ฅ๋น๊ฐ ์๋ก ์ฐ๊ฒฐ๋์ด์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ ๋์์ฃผ๋ ๊ธฐ์ ์ปดํจํฐ, ๋ผ์ฐํฐ, ์ค์์น, ํ๋ธ ๋ฑ์ ์ฅ๋น๋ค์ด ๊ฐ๊ฐ์ ์ญํ ์ ์ํํ์ฌ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์๋ก ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด์๋ IP ์ฃผ์, ์๋ธ๋ท ๋ง์คํฌ, ๊ฒ์ดํธ์จ์ด๋ฑ์ ์ ๋ณด๋ฅผ ์ค์ ํ๊ณ ๋คํธ์ํฌ ํ๋กํ ์ฝ์ ์ด์ฉํ์ฌ ํต์ ์ ํจ Client์ Server client ์ฆ, ๋ธ๋ผ์ฐ์ ์์ ์๋ฒ์ ์ ๋ณด๋ฅผ ์์ฒญํ๋ ๊ณผ์ ์ ์ด๋ฏธ์ง์ฒ๋ผ ์ฌ์ฉ์๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ฉํ์ฌ ์๋ฒ์ ์ ๋ณด๋ฅผ ์์ฒญํ๊ณ ์๋ต์ ๋ฐ์ ์ด๋ ์ฌ์ฉ์์ ์์ฒญ์ด ์๋ฒ์ ๋๋ฌํ๊ธฐ ์ํด์๋ ํด๋น ์๋ฒ์ ์ ๋ณด๊ฐ ํ์ํจ ์๋ฒ์ ์ ๋ณด == IP ์ฃผ์(๊ฑฐ๋ํ ๋คํธ์ํฌ๋ง์์ ๊ฐ ์ปดํจํฐ๋ฅผ ์๋ณํ๊ธฐ ์ํ ์์น ์ฃผ์, ์ก/์์ ์ ์ด ์ฃผ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ด๋ฃจ์ด์ง) ์น ์..
๋ด๋ฐฐ์บ ์คํ๋ง ์
๋ฌธ ๊ฐ์ ๋ฃ๊ธฐ ์ค๋์ ์คํ๋ง ์
๋ฌธ ๊ฐ์๋ฅผ ๋ค์๋ค. .. ์ฌ์ค ๋ค๋ฅธ๊ฑฐ ํ ๊ฒ ์ข ์์ด์ ๋ง์ด ๋ชป๋ค์๋ค..... ์์ง ๋ธ๋ก๊ทธ ์ ๋ฆฌ๋ ๋ ํ๋คใ
ใ
ใ
๊ทธ๋์ ์์์ ์ฅ์ํใ
ใ
ใ
๊ทธ๋๋ ๊ณต๋ถํ๋ฉด์ API์ ๋ํด ์ข ๋ ๋น์ ๋ฅผ ๋ค์ด์ ํ์คํ ๋ฝ! ๊น์ง ์๋์ฌ๋ ์ดํด๋ฅผ ํ๋น\ API๋ใ
๋ด์ผ์ ๊ผญ 1์ฃผ์ฐจ ๋ค ์๊ฐํด์ผ์ง!! ํ๋ก๊ทธ๋๋จธ์ค์์ ์ถ์???ํ ์๊ฒฉ์ฆ ์ ์ฒญ PCCP ์ํ ์ ์ฒญํ๋ค.! ๊ฝค๋ ๋ง์ ๊ณณ์์ ์ธ์ ํด์ฃผ๊ณ ์์ด์ ๋ฐ๋์ผ๋ฉด ์ข์๊ฑฐ๊ฐ๋น ๋ด ํ ์๊ณ ๋ฆฌ์ฆ ์ค๋ ฅ๋ ์๊ณ ์ถ๊ณ ์ค์ค์ฟใ
๋ชจ์๊ณ ์ฌ๋ ํ์ด๋ดฃ๋ค. 1๋ฒ 2๋ฒ ํ์๋๋ฐ 1๋ฒ. ์ธํจ์ด ๋ฌธ์ ๊ฝค๋ ์ด๋ ค์ด๋ฏํ์ง๋ง ๊ฝค๋ ์ฌ์ ๋ค. ์ฌ๋ฌ ๋ฒ ๋์ค๋๋ฐ ๋จ์ด์ ธ์์ผ๋ฉด ์ธํจ์ด ๋ฌธ์์ด๋ค ์ด ์ธํจ์ด ๋ฌธ์๋ค๋ง ์ฐ๊ฒฐํด์ ์ถ๋ ฅ! ์๋ค๋ฉด N ์ถ๋ ฅ ๋๋ MAP์ 2๊ฐ ์ฌ์ฉํด์, ..