โ
1. Runtime.addShutdownHook()Runtime.addShutdownHook()๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ข
๋ฃ๋ ๋ ์คํํ ์ฝ๋๋ฅผ ๋ฑ๋กํ๋ ๋ฉ์๋์ด๋ค. ์ด๋ฅผ ํ์ฉํ๋ฉด ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋๊ธฐ ์ง์ ์ ํน์ ์์
(ํ์ผ ์ ์ฅ, ๋ฆฌ์์ค ์ ๋ฆฌ ๋ฑ)์ ์ํํ ์ ์๋ค. โ
2. JVM ์ข
๋ฃ ์ด๋ฒคํธ๋?์ฌ๊ธฐ์ ์ ์ ๋๋ ๋น์ ์ ์ข
๋ฃ์ ์ ์๋ ๋ช
์ธ์์ ๋์ ์๋ค. ์๋ฐ์ ๊ฐ์ ๋จธ์ ์ ๋ ๊ฐ์ง ์ข
๋ฅ์ ์ด๋ฒคํธ๋ฅผ ๋ฐ์ ์ข
๋ฃํ๋ค.์ ์ ์ข
๋ฃํ๋ก๊ทธ๋จ์ด ์ ์์ ์ผ๋ก ์ข
๋ฃ๋ ๋System.exit()๊ฐ ํธ์ถ๋ ๋๋น์ ์ ์ข
๋ฃCtrl + C(์ฌ์ฉ์ ์ธํฐ๋ฝํธ)์ฌ์ฉ์ ๋ก๊ทธ์คํ ๋๋ ์์คํ
์ข
๋ฃ ๋ฑ ์์คํ
์ด๋ฒคํธโ ๏ธ ํ์ง๋ง ์๋์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์คํ๋์ง ์์ ์ ์๋ค.kill -9 (๊ฐ์ ์ข
๋ฃ)OutOfMemoryError ๋ฐ์๐ ..
My Tech Blog (Java)
๐พ ๋ฌธ์ ์ ์ฝํ
๋ฌธ์ ํ๋ค๊ฐ ๋ฐ๊ฒฌํ ๋ค๋ฅธ ์ฌ๋ ์ฝ๋์ ๋ด ์ฝ๋์ ์ฐจ์ด์ ๋ด๊ฐ ์ด ์ฝ๋ (ํ์์ ์ฝ๋)Arrays.sort(targets, (o1, o2) -> o1[1] - o2[1]); ๋จ์ด ์ด ์ฝ๋ (๊ณ ์์ ์ฝ๋)Arrays.sort(targets, (a, b) -> Integer.compare(a[1], b[1])); ์ ์ด ๋ถ์ Integer.compare() ๋ฉ์๋๋ฅผ ์ผ์๊น?๐ง ์์ธ`Arrays.sort(targets, (o1, o2) -> o1[1] - o2[1])` ๋ฐฉ์์ ๋ ์ ์์ ๋บ์
๊ฒฐ๊ณผ๋ฅผ ์ ๋ ฌ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉํ๋ค. ํ์ง๋ง ์ด ๋ฐฉ์์ ์ฝ๊ฐ์ ๋ฌธ์ ์ ์ ๊ฐ์ง๊ณ ์๋ค. ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ฉด intํ์ ๋บ์
์ฐ์ฐ ๊ณผ์ ์์ ์ค๋ฒํ๋ก์ฐ(overflow)๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์๋ค. ์๋ฅผ ๋ค์ด, o1[..
1. Spring MVC ํจํด์ด๋?Spring MVC๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์์ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ชจ๋์ด๋ค. Spring MVC๋ ์๋ธ๋ฆฟ(Servlet) API๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ์์ฒญ์ ์ฒ๋ฆฌํ๋๋ฐ, ์ด ๊ตฌ์กฐ๋ฅผ ํตํด ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๋ชจ๋ํํ๊ณ ์ ์ง๋ณด์๋ฅผ ์ฉ์ดํ๊ฒ ๋ง๋ค์ด์ค๋ค.์ฐ์ Spring MVC ์ ๋ค์ด๊ฐ๊ธฐ ์์ด ๊ธฐ๋ณธ์ ์ธ MVCํจํด์ ๋ํด ์์๋ณด์. ์ด MVCํจํด์์ ๋ฐ์ ํ ๊ฒ์ด Spring MVC ์ด๋ค. MVC ํจํด์ ํฌ๊ฒ 3๊ฐ์ง ์ฃผ์ ๋ถ๋ถ์ผ๋ก ๋๋์ด์ ธ ์๋ค. ๐ฉ MVC ํจํด์ ์ฌ์ฉํ๋ ์ด์ ?์ฌ์ฉ์๊ฐ ๋ณด๋ ํ์ด์ง, ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ์ด ๋์ ์ค๊ฐ์์ ์ ์ดํ๋ ์ปจํธ๋กค๋ฌ๋ก ๊ฐ ์ปดํฌ๋ํธ๊ฐ ์๋ก ๋ถ๋ฆฌ๋์ด ์์คํ
๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ ์ ์๋ค. ๋ํ, ์ ์ง๋ณด์๊ฐ ์ฌ์ฐ๋ฉฐ, ์ค๋ณต์ฝ๋๋ฅผ ์ ๊ฑฐํ ์ ์๊ณ , ์ ํ๋ฆฌ์ผ..
๐ 1. ๋ฌธ์ ์ค๋ช
๐ก 2. ์ ๊ทผ๋ฐฉ์n๋ช
์ ์ ์๊ฐ ์์ ๋, ๊ฐ ์ ์๋ ๋ชจ๋ ๋ค๋ฅธ ์ ์์ ๊ฒฝ๊ธฐ๋ฅผ ํ์ฌ n-1๋ฒ์ ์นํจ๋ฅผ ๊ธฐ๋กํ๋ค.์ฆ, ์ ์ฒด ์นํจ ๊ฒฐ๊ณผ๋ง ์์ผ๋ฉด ๊ฐ ์ ์์ ์๋์ ์์น๋ฅผ ์ ํํ ํ๋จํด์ ์์๋ฅผ ํ์ ํ ์ ์๋ค. ์นํจ๋ฅผ ํตํด ์์๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ ๋งํ๋ฉด ๋ชจ๋ ์ ์๋ค ๊ฐ์ ์ง์ ์ ์ธ ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ํ๋ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด, ์ ์ i์ ์ ์ j๊ฐ ๊ฒฝ๊ธฐ๋ฅผ ํ์ฌ ์นํจ๊ฐ ๊ฒฐ์ ๋๋ฉด, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ๋ค. ํ๋ก์ด๋ ์์
(Floyd-Warshall) ์๊ณ ๋ฆฌ์ฆ๋ชจ๋ ์ ์ต๋จ ๊ฒฝ๋ก(all-pairs shortest path)๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ทธ๋ํ์ ๋ชจ๋ ๋
ธ๋ ์์ ๋ํด ๊ฐ์ฅ ์งง์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฉด ๊ทธ๋ํ์ ๋ชจ๋ ๋
ธ๋์ ๋ํด ๋ค๋ฅธ ๋ชจ๋ ๋
ธ๋๋ก ๊ฐ๋ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ..
1. ๋ฐ์ดํฐ ์ ์ก ๊ท์น 3๊ฐ์ง1-1. ์ด๋๋ก (form ํ๊ทธ์ action ์์ฑ)- ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ชฉ์ ์ง(servlet)๋ฅผ ์ง์ ํ๋ค. - action ์์ฑ์ ์๋ธ๋ฆฟ URL ํจํด์ ์์ฑํ๋ค.์ฌ๊ธฐ์ /MyServlet์ ์๋ธ๋ฆฟ์ URL ๋งคํ ๊ฐ์ด๋ค. ์๋ธ๋ฆฟ์ URL์ @WebServlet์ด๋ web.xml์์ ์ค์ ๋๋ค. web.xml ๊ฒฝ๋กWebContent/WEB-INF/web.xml ๋๋ src/main/webapp/WEB-INF/web.xml (ํ๋ก์ ํธ ๊ตฌ์กฐ์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์)1-2. ์ด๋ค ๊ฐ์ (input ํ๊ทธ์ name)- input ํ๊ทธ์ name ์์ฑ์ ์ถ๊ฐํ์ฌ ์๋ฒ๋ก ์ ์กํ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ๋ค. - ์๋ฒ์์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๊ธฐ ์ํด name ์์ฑ์ด ํ์ํ ๊ฒ. - Servlet ์์ ๊ฐ์..
1. ์ฟผ๋ฆฌ์คํธ๋ง์ด๋? URL์ ๋ค์ ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ์ ๊ณตํ๋ ๊ฐ์ฅ ๋จ์ํ ๋ฐ์ดํฐ ์ ๋ฌ ๋ฐฉ๋ฒ์ด๋ค. ์น๊ฐ๋ฐ์์ ์นํ์ด์ง๋ ์ ํ๋ฆฌ์ผ์ด์
์์ GET๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ ๋ ์ฐ์ธ๋ค. POST๋ฐฉ์์ ๋ณด์์์ค์ด ์๋์ ์ผ๋ก ๋์์ URL ์ ๋์ด๊ฐ๋ ๋ฐ์ดํฐ๊ฐ ํ์๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. URL์ ๋์ ?๋ก ์์ํ๊ณ , ๊ทธ ๋ค์ ํค-๊ฐ ์์ด ์ด์ด์ง๋ ๊ตฌ์กฐ์ด๋ค. ์ด๋ฅผ ํตํด ์๋ฒ์ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ค. ๊ฒ์์ฟผ๋ฆฌ๋ ํํฐ๋ง์ ์ฌ์ฉ๋๋ค. ๋ค์ด๋ฒ ๊ฒ์์ฐฝ์ '๋ฑ์ค'๋ฅผ ๊ฒ์ํ๊ณ ์ํฐ ์น๋ฉด ์ผ์ด๋๋ ์ผ โผ URL ์ ?๊ฐ ์๊ธฐ๋ฉด์ ๋ด๊ฐ ์
๋ ฅํ ๊ฒ์์ด '๋ฑ์ค'๊ฐ ๋์ ์ถ๊ฐ๋๋ค ๋ง์ฐฌ๊ฐ์ง๋ก ๊ตฌ๊ธ ๊ฒ์์ฐฝ์ '์ํฅ๋ฏผ'์ ์
๋ ฅํ๊ณ ์ํฐ๋ฅผ ์น๋ฉด?์๋์ฒ๋ผ ์ฃผ์์ฐฝ์์ url ๋ค์ ? ์ ๊ฐ์ข
๋ฐ์ดํฐ๊ฐ ๋ถ๋๋ค.2. ๊ตฌ์กฐhttps://www...
๋ฌธ์ 1. web.xml ์ด ์ฝ๋ ์๋ํฐ ํ์์ผ๋ก ์ด๋ฆฌ์ง ์์์ ์์ ์ด ์ด๋ ค์ด ๋ฌธ์ 2. Maven Project ์์ pom.xml ํ์ผ์ด Maven POM Editor ๋ก ์ด๋ฆฌ๋ ๋ฌธ์ Eclipse Dynamic Web Project์์ `jsp`ํ์ผ ๋๋ `xml` ํ์ผ์ ์ด์๋๋ฐ ํ
์คํธ๋ฅผ ํธ์ง ํ ์ ์๋ ์๋ํฐ๋ก ์ด๋ฆฌ์ง ์๊ณ ์๋์ ๊ฐ์ด Node ๋ Content ๊ตฌ์กฐ๋ก ์ด๋ฆฌ๋ ๋ฌธ์ ๋ Maven ํ๋ก์ ํธ์์ pom.xml ํ์ผ์ด xml ํ
์คํธ ์๋ํฐ ๋์ Maven POM Editor๋ก ์ด๋ฆฌ๋ ํ์ ๋๋ ์ด๊ฒ ๋ ์์๋ณด๊ธฐ ํ๋ค๊ณ ๋ช
ํํ์ง ์๋ค๊ณ ์๊ฐํด์ xml ์ฝ๋๋ฅผ ์ง์ ์์ ํ๋ ๊ฒ์ ์ ํธํ๋ค. ์๋์ ๊ฐ์ด ์ผ๋ฐ text Editor ๋ก ์ด๋ ค์ ํ๊ทธ ์ธ์์ด ์ ๋๋ ๊ฒฝ์ฐ๋ ๊ฐ์ ํด๊ฒฐ๋ฒ์ ์ฐ๋ฉด..
1. SOAP๋?SOAP์ ํ๋ค์์ “Simple Object Access Protocol” ์ด๋ค. ์๋ก ๋ค๋ฅธ ์๋น์ค ๊ฐ์ ์ฐ๋์ ์ํด ๋ง๋ค์ด์ง ํ๋กํ ์ฝ HTTP, HTTPS, SMTP ๋ฑ์ ์ฌ์ฉํ์ฌ XML ๊ธฐ๋ฐ์ ๋ฉ์์ง๋ฅผ ์ปดํจํฐ ๋คํธ์ํฌ ์์์ ๊ตํํ๋ ํต์ ํ๋กํ ์ฝ์ด๋ค. 2. ํ์ ๋นํ๊ณผ๊ฑฐ์๋ DCOM(Distributed Component Object Model)์ด๋ CORBA(Common Object Request Broker Architecture) ๊ฐ์ ๊ธฐ์ ๋ก ์๊ฒฉ ํต์ ์ ๊ตฌํํ ์ ์์์ง๋ง, ํธํ์ฑ๊ณผ ๋ณด์ ๋ฌธ์ ๊ฐ ์์๋ค. ํนํ, DCOM๊ณผ CORBA๋ ์ฃผ๋ก TCP ๊ธฐ๋ฐ ํต์ ์ ์ฌ์ฉํ๋๋ฐ, ์ด๋ ๋ฐฉํ๋ฒฝ์์ ์ฐจ๋จ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. ์ด๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด, ๋ ๋ฒ์ฉ์ ์ด๊ณ ํธํ์ฑ ๋์ ๋ฐฉ๋ฒ์ด ํ์ํ..