๐ฅ ๋ฌธ์ ์๋ฐ ์์ผ ํต์ ์์ Gson ๋ผ์ด๋ธ๋ฌ๋ฆฌ + BufferedWriter ์ฌ์ฉ ์ค host ๊ด๋ จ ์๋ฌ ๋ฐ์ํจ์๋ฐ์์ ๋ฐ๋ชฌ์ ๋ง๋ค๊ณ , ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ค ํ๋๋ฐ ํต์ ์ด ๋์ง ์๋ ๋ฌธ์ ๐ ์์ธ๊ฒฐ๊ตญ TCP/IP ๋ฌธ์ ์๊ณ , ์๋ฒ๋ IPv4, ํด๋ผ์ด์ธํธ(๋)๋ IPv6๋ก ์ค์ ๋์ด ์์ด์ ํธํ์ด ์ ๋ ๊ฒ์ด์๋ค.๋คํธ์ํฌ ๋ด๋น์๊ฐ ์๋ฒ์ TCP/IP ๋ฒ์ ์ IPv4๋ก ์ค์ ํ๋๋ฐ ๋๋ ๊ทธ๋ฅ Runnable JAR์ ์คํํด์ IPv6๋ก ๋์ํ ๊ฒ์ด ์์ธ์ด๋ค. โญ ํด๊ฒฐ๋ฒWSL์ nohup ๋ช
๋ น์ด๋ก JVM ์ต์
์ถ๊ฐํ๋ฉด ํด๊ฒฐ ๊ฐ๋ฅnohup java -Djava.net.preferIPv4Stack=true -Dpath="๊ฒฝ๋ก" -jar ์ด๋ฆ.jar >> server.log 2>&1 &nohup → ํฐ๋ฏธ..
1. ์๋ ์ํฌํธ & ์ ๋ฆฌ ๊ด๋ จ ๋จ์ถํคCtrl + Shift + O : ์๋ ์ํฌํธ (Organize Imports) → ํ์ํ import ์ถ๊ฐ ๋ฐ ๋ถํ์ํ import ์ ๋ฆฌCtrl + Shift + F : ์ฝ๋ ์๋ ์ ๋ ฌ (Format Code) → ์ฝ๋ ์คํ์ผ์ ๋ง์ถฐ ์ ๋ฆฌCtrl + Shift + S : ๋ชจ๋ ํ์ผ ์ ์ฅCtrl + / : ํ ์ค ์ฃผ์ ์ถ๊ฐ ๋ฐ ์ ๊ฑฐCtrl + Shift + / : ์ฌ๋ฌ ์ค์ ์ ํํ ํ ์ ์ฒด๋ฅผ ๋ธ๋ก ์ฃผ์(/* */)์ผ๋ก ๊ฐ์ธ๊ธฐCtrl + Shift + \ : ๋ธ๋ก ์ฃผ์ ํด์ (/* */ ์ญ์ )2. ์ฝ๋ ์ด๋ ๊ด๋ จ ๋จ์ถํคCtrl + Click : ๋ณ์, ๋ฉ์๋, ํด๋์ค ์ ์๋ก ์ด๋F3 : ์ ์ธ๋ ๊ณณ์ผ๋ก ์ด๋ (Open Declaration)Ctrl + O : ํ์ฌ ํด๋..
โ
1. Runtime.addShutdownHook()Runtime.addShutdownHook()๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ข
๋ฃ๋ ๋ ์คํํ ์ฝ๋๋ฅผ ๋ฑ๋กํ๋ ๋ฉ์๋์ด๋ค. ์ด๋ฅผ ํ์ฉํ๋ฉด ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋๊ธฐ ์ง์ ์ ํน์ ์์
(ํ์ผ ์ ์ฅ, ๋ฆฌ์์ค ์ ๋ฆฌ ๋ฑ)์ ์ํํ ์ ์๋ค. โ
2. JVM ์ข
๋ฃ ์ด๋ฒคํธ๋?์ฌ๊ธฐ์ ์ ์ ๋๋ ๋น์ ์ ์ข
๋ฃ์ ์ ์๋ ๋ช
์ธ์์ ๋์ ์๋ค. ์๋ฐ์ ๊ฐ์ ๋จธ์ ์ ๋ ๊ฐ์ง ์ข
๋ฅ์ ์ด๋ฒคํธ๋ฅผ ๋ฐ์ ์ข
๋ฃํ๋ค.์ ์ ์ข
๋ฃํ๋ก๊ทธ๋จ์ด ์ ์์ ์ผ๋ก ์ข
๋ฃ๋ ๋System.exit()๊ฐ ํธ์ถ๋ ๋๋น์ ์ ์ข
๋ฃCtrl + C(์ฌ์ฉ์ ์ธํฐ๋ฝํธ)์ฌ์ฉ์ ๋ก๊ทธ์คํ ๋๋ ์์คํ
์ข
๋ฃ ๋ฑ ์์คํ
์ด๋ฒคํธโ ๏ธ ํ์ง๋ง ์๋์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์คํ๋์ง ์์ ์ ์๋ค.kill -9 (๊ฐ์ ์ข
๋ฃ)OutOfMemoryError ๋ฐ์๐ ..
๐พ ๋ฌธ์ ์ ์ฝํ
๋ฌธ์ ํ๋ค๊ฐ ๋ฐ๊ฒฌํ ๋ค๋ฅธ ์ฌ๋ ์ฝ๋์ ๋ด ์ฝ๋์ ์ฐจ์ด์ ๋ด๊ฐ ์ด ์ฝ๋ (ํ์์ ์ฝ๋)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. ๋ฐ์ดํฐ ์ ์ก ๊ท์น 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. Cookie๋?ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์ ์ ์ฅ๋๋ ํค์ ๊ฐ์ด ๋ค์ด์๋ ์์ ๋ฐ์ดํฐํ์ผ!์ค๋ณต๋์ง ์๋ name๊ณผ value ํ ์์ผ๋ก ์ด๋ฃจ์ด์ง์์๊ฐ ์๋ค๋ง๋ฃ ๊ธฐํ(๋์ด)๋ฅผ ์ง์ ํด ์ค ์ ์๋ค, ๋จ ์ง์ ํด ์ฃผ์ง ์์ผ๋ฉด Session ๊ฐ์ผ๋ก ์ ์ฅ๋๋ค.์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ณด๊ดํ๊ณ ์๋ ๋ฐ์ดํฐ๋ก, ์น ์๋ฒ์ ์์ฒญ์ ๋ณด๋ผ ๋ ์ฟ ํค๋ฅผ ํค๋์ ๋ด์ ์ ์กํ๋ค.2. Session์ด๋?Session์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ์ฐ๊ฒฐ๋ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด ์๋ฒ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ด๋ค.ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ ์ํ๋ฉด, ์๋ฒ๋ ๊ณ ์ ํ Session ID๋ฅผ ์์ฑํด ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํ๋ค.ํด๋ผ์ด์ธํธ๋ Session ID๋ฅผ ์ฟ ํค์ ์ ์ฅํ๊ฑฐ๋ URL์ ํฌํจํด ์๋ฒ์ ํต์ ํ๋ฉฐ, ์๋ฒ๋ ์ด ID๋ก ํด๋ผ์ด์ธํธ๋ฅผ ์๋ณํ๋ค.์ธ์
๋ฐ์ดํฐ๋ ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ๋๋..