๐ป IT Study
-
[์ฉ์ด์ ๋ฆฌ] JVM , JRE, JDK ๊ฐ๋จํ ์์๋ณด๊ธฐ๐ป IT Study/Knowledge 2021. 11. 7. 19:36
JAVA๋ ์ด๋ค ์ด์์ฒด์ ์์๋ ๋์ผํ ํํ๋ก ์คํ์ํฌ ์ ์๋ค๋ ํน์ง์ ๊ฐ์ง๋ค. HOW ? JVM(Java Virtual Machine : ์๋ฐ ๊ฐ์ ๋จธ์ ) : ์๋ฐ ํ๋ก๊ทธ๋จ ๋ฑ์ ์ปดํ์ผํ์ฌ ๋ง๋ค์ด์ง ๋ฐ์ดํธ ์ฝ๋๋ฅผ ์คํํด์ฃผ๋ ๊ฐ์๋จธ์ JVM์ ์๋์ํค๊ธฐ ์ํด์๋ ๊ทธ์ ๋ง๋ ํ๊ฒฝ์ด ๋ง๋ค์ด์ ธ์ผ ํ๋ค. WHAT ? JRE(Java Runtime Environment : ์๋ฐ ์คํ ํ๊ฒฝ) : JVM, ์๋ฐ ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์๋ฐ ๋ช ๋ น ๋ฐ ๊ธฐํ ์ธํ๋ผ๋ฅผ ํฌํจํ ์ปดํ์ผ๋ Java ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐ ํ์ํ ํจํค์ง Java ์ฝ๋๋ฅผ ๋ฐ์์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฒฐํฉํ๊ณ , ์ด ์ฝ๋๋ฅผ ์คํํ JVM์ ์์ํ๋ ์จ๋์คํฌ ์์คํ ์ด๋ค. → ์๋ฐ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ํ ๋๊ตฌ๋ค๋ก ๊ตฌ์ฑ๋ ํจํค์ง ์ฝ์ด ์๋ฐ ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์๋ฐ..
-
์คํ๋ง ๋์ ์๋ฆฌ ์ดํด๐ป IT Study/Spring 2021. 11. 6. 19:36
Dispatcher Servlet์ด Web ํ๊ฒฝ์ ์ ๊ณตํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ฌ๋ฌ Interface ์ค์๋ Handler Mapping, Handler Adaptor, View Resolver ๋ฑ์ด ์๋ค. (์ฐธ๊ณ ) Filter Web Application ์ ์ ์ญ์ ์ธ ๋ก์ง ๋ด๋น์ผ๋ก Dispatcher Servlet์ผ๋ก ๋ค์ด๊ฐ๊ธฐ ์ ์ธ Web Application ๋จ์์ ์คํํ๋ค. Dispatcher Servlet Servlet Container์์ Http ํ๋กํ ์ฝ์ ํตํด ๋ค์ด์ค๋ ๋ชจ๋ ์์ฒญ์ ํ๋ ์ ํ ์ด์ ๊ณ์ธต์ ์ ์ผ ์์ ๋ฌ์ ์ค์ ์ง์ค์์ผ๋ก ์ฒ๋ฆฌํด์ฃผ๋ ํ๋ก ํธ ์ปจํธ๋กค๋ฌ(Front Controller) ๋ค์ด์ค๋ ๋ชจ๋ Request๋ฅผ ์ฐ์ ์ ์ผ๋ก ๋ฐ์ ์ฒ๋ฆฌํด์ฃผ๋ ์๋ธ๋ฆฟ์ด๋ค. HandlerMapping์๊ฒ Requ..
-
ํ๋ก์(Proxy)๐ป IT Study/Knowledge 2021. 9. 26. 14:01
ํ๋ก์(Proxy) ์๋ฒ A proxy server is an intermediate program or computer used when navigating through different networks of the Internet. ํด๋ผ์ด์ธํธ๊ฐ ์์ ์ ํตํด ๋ค๋ฅธ ๋คํธ์ํฌ ์๋น์ค์ ๊ฐ์ ์ ์ผ๋ก ์ ์ํ ์ ์๊ฒ ํด ์ฃผ๋ ์ปดํจํฐ ์์คํ ์ด๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋งํ๋ค. ๋ฐฉ๋ฌธํ๋ ์น์ฌ์ดํธ์ ๊ธฐ๊ธฐ๊ฐ์ ์ค๊ณ์ญํ ์ ํ๋ค. ํ๋ก์๋ ์์ฒญ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์บ์์ ์ ์ฅํด๋๊ณ , ์บ์์ ์ ์ฅ๋ ๋ฐ์ดํฐ ์์ฒญ์ ๋ํด์๋ ์ค์ ์๋ฒ์ ์์ฒญํ์ง ์๊ณ ์ง์ ์๋ตํ๋ค. ์ด๋ก์จ ๋ฐ์ดํฐ ์ ์ก์๊ฐ๊ณผ ๋ถํ์ํ ํธ๋ํฝ ๋ฐ์์ ์ค์ด๋ค์ด ์๋ฒ์ธก์ ๋คํธ์ํฌ ๋ณ๋ชฉํ์์ ๋ฐฉ์งํ ์ ์๋ค. ๋ํ ๋ณด์์ ์ธก๋ฉด์์ ํ๋ก์ ์๋ฒ ์ธก์์ ์ํ์ด ์์๋๋ ์น ์ฝํ ์ธ ๋ฐ..
-
์ฑ๊ธํค(Singleton)๐ป IT Study/Knowledge 2020. 7. 23. 18:17
P U R P O S E ์ ์ฒดํ๋ก๊ทธ๋จ์์ ๋จ ํ๋์ ๊ฐ์ฒด๋ง ๋ง๋ค๋๋ก ๋ณด์ฅ. ํด๋์ค ์ธ๋ถ์์ new ์ฐ์ฐ์๋ก ์์ฑ์๋ฅผ ํธ์ถํ ์ ์๋๋ก ๋ง์์ผ ํ๋ค. why? ์์ฑ์๊ฐ ํธ์ถํ๋งํผ ๊ฐ์ฒด๊ฐ ์์ฑ๋๊ธฐ ๋๋ฌธ์ ํ๋์ ๊ฐ์ฒด๊ฐ ์๋๋ค. H O W ? 1. ์์ฑ์ ์์ private ์ ๊ทผ์ง์ ์(Modifier)๋ฅผ ์ด์ฉํ๋ค. -> private์ ํตํด ์ธ๋ถ์์ ํธ์ถ์ ๋ง์ ์ ์๊ฒ ๋๋ค. 2. ์ ์ ํ๋(static)๋ฅผ ์ ์ธํ๊ณ ์์ ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. ํด๋์ค ๋ด๋ถ์์ new ์ฐ์ฐ์๋ก ํธ์ถ ๊ฐ๋ฅ ๋จ, ์ ์ ํ๋์์ ์ ๊ทผ์ ํ์๋ฅผ private์ผ๋ก ํ ๊ฒ. 3. ์ธ๋ถ์์ ํธ์ถํ ๋๋ ํจ์๋ฅผ ์ด์ฉํ๋ค. (์ธ๋ถ์์ ๊ฐ์ฒด๋ฅผ ์ป๋ ์ ์ผํ ๋ฐฉ๋ฒ) getInstance๋ฅผ ์ ์ธํ๊ณ ์ ์ ํ๋์์ ์ฐธ์กฐํ๊ณ ์๋ ์์ ์ ๊ฐ์ฒด๋ฅผ ๋ฆฌํด. ์ธ๋ถ์์..
-
๋ฌธ์์ด ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ (๋ธ๋ฃจํธํฌ์ค, KMP, Boyer-Moore)๐ป IT Study/Algorithm 2020. 5. 8. 02:37
๋ฌธ์์ด ๊ฒ์(String Search)์ ๋ณธ๋ฌธ(T)์์ ํจํด(P)์ ์ฐพ๋ ๊ฒ์ด๋ค. ๋ธ๋ฃจํธํฌ์ค, KMP, Boyer-Moore 3๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ ๋ํ์ฌ ๊ฐ๋ ์์ฃผ๋ก ์์๋ณด๊ณ , ๋น๊ตํด๋ณด๋ ค๊ณ ํ๋ค. 01 ๋ธ๋ฃจํธ ํฌ์ค๋ฒ(Brute Force) 02 KMP๋ฒ 03 Boyer-Moore 04 ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋จ ์์ฝ & ๋น๊ต 01 ๋ธ๋ฃจํธ ํฌ์ค๋ฒ(Brute Force) brute a.๋ฌด์ํ force n.ํ ์ด๋ฅผ ํด์ํ๋ฉด ๋ฌด์ํ ํ์ผ๋ก ํด๊ฒฐํ๋ค๋ ๋ป์ผ๋ก ํ๋ง๋๋ก ๋จ์ ๋ฌด์ํ ๋ฐฉ๋ฒ์ด๋ค. ์์ ํ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฌธ์ ์ ๋์์๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ํํด๋ณด๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ฌธ์์ด ๊ฒ์ ์์๋ ํจํด์ ๋ฌธ์๋ฅผ ํ๋์ฉ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํด๊ฐ๋ฉด์ ๋ณธ๋ฌธ์ ํ ์คํธ ๋ฌธ์์ ํ๋์ฉ ๋น๊ตํด๊ฐ๋ค. 1. ๋ค๋ฅธ ๋ฌธ์๋ฅผ ๋ง๋๋ฉด ํจํด์์ ๋ฌธ์๋ฅผ ๊ฒ์ฌํ๋..
-
JAVA Spring์ ๋ชฉ์ ๐ป IT Study/Spring 2020. 5. 4. 14:51
์คํ๋ง์ ๋ชฉ์ ์ ์์์ ๋ค๋ค๋ ๋๋ก '๊ฒฝ๋๊ธ ํ๋ ์์ํฌ์ธ ์คํ๋ง์ ํ์ฉํด์ ์ํฐํ๋ผ์ด์ฆ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ํธํ๊ฒ' ํ๋ ๊ฒ์ด๋ค. ์๋ ์ํฐํ๋ผ์ด์ฆ ๊ฐ๋ฐ์ด ํธ๋ฆฌํ์ง ์๊ธฐ ๋๋ฌธ์ ์คํ๋ง์ ์ฌ์ฉํ๋ค. 1. ์ํฐํ๋ผ์ด์ฆ ๊ฐ๋ฐ์ ๋ณต์กํจ 2. ๋ณต์กํจ์ ํด๊ฒฐํ๋ ค๋ ๋ ธ๋ ฅ 3. ๋ณต์กํจ์ ์๋ํ๋ ์คํ๋ง ์ ๋ต 4. ๊ธฐ์ ์ ์ผ๋ก ์คํ๋ง์ด ์งํฅํ๋ ๋ชฉ์ ์ ์ : POJO ํ๋ก๊ทธ๋๋ฐ * ๋งจ ๋ฐ์ ๊ฒ์๋ฌผ ๊ฐ๋จ ์ ๋ฆฌ๊ฐ ์๋ค. ์ ์ฒด์ ๊ณผ์ ์ ๊ทธ๊ฑธ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค. 1. ์ํฐํ๋ผ์ด์ฆ ๊ฐ๋ฐ์ ๋ณต์กํจ 2000๋ ๋ ์ด๋ฐ ์๋ฐ ์ํฐํ๋ผ์ด์ฆ ๊ฐ๋ฐ์ด ์คํจํ๋ ์ด์ ์์๋ ์ฌ๋ฌ๊ฐ์ง ์์ธ์ด ์์๋ค. ๊ทธ ์ค ๊ฐ์ฅ ๋ํ์ ์ธ ๊ฒ ์ํฐํ๋ผ์ด์ฆ ์์คํ ๊ฐ๋ฐ์ด ๋๋ฌด ๋ณต์กํ๋ค๋ ๊ฒ์ด๋ค. ์ํฐํ๋ผ์ด์ฆ ์์คํ ๊ฐ๋ฐ์ด ์ ๋ณต์กํ์ง๋ฅผ ๋ณด๋ฉด ํฌ๊ฒ ๋ ๊ฐ์ง ์์ธ์ ์๊ฐํด๋ณผ..
-
JAVA Spring ์ ์ ์ดํด๋ณด๊ธฐ๐ป IT Study/Spring 2020. 5. 2. 16:16
JAVA Spring ์๋ฐ ์ํฐํ๋ผ์ด์ฆ ๊ฐ๋ฐ์ ํธํ๊ฒ ํด์ฃผ๋ ์คํ์์ค ๊ฒฝ๋๊ธ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ ์๋ฐ ์คํ๋ง์ ์ ์๋ฅผ ํ๋ํ๋ ๋ฏ์ด๋ด์ผ๋ก์จ ์๋ฐ ์คํ๋ง์ด ๋ฌด์์ ์๋ฏธํ๊ณ ์ด๋ค ๋ชฉํ๋ฅผ ๊ฐ์ง๋ ์ง ์์๋ณผ ๊ฒ์ด๋ค. 1. ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ ํ๋ ์์ํฌ(Framework) ์ผ๋ฐ์ ์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ ์์ํฌ๋ ํน์ ์ ๋ฌด ๋ถ์ผ๋ ํ ๊ฐ์ง ๊ธฐ์ ์ ํนํ๋ ๋ชฉํ๋ฅผ ๊ฐ์ง๊ณ ๋ง๋ค์ด์ง๋ค. ํ๋ ์์ํฌ ์์ฒด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ๊ณ์ธต์์ ์ฃผ๋ก ๋์ํ๋ ํ ๊ฐ์ง ๊ธฐ์ ๋ถ์ผ์ ์ง์ค๋๋ค. ๊ทธ๋ฌ๋ ์คํ๋ง์ '์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ'์ด๋ค. ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ(Application Framework) ํน์ ๊ณ์ธต์ด๋ ๊ธฐ์ , ์ ๋ฌด ๋ถ์ผ์ ๊ตญํ๋์ง ์๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์์ญ์ ํฌ๊ดํ๋ ๋ฒ์ฉ์ ์ธ ํ๋ ์ ์ํฌ๋ฅผ ๋งํ๋ค. ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ..
-
DNS(Domain Name System)๐ป IT Study/Knowledge 2020. 2. 13. 15:58
DNS(Domain Name System)? - ๋ฌธ์๋ก ๋ ๋๋ฉ์ธ ๋ค์์ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ IP์ฃผ์๋ก ๋ณํํ๋ ์ญํ ์ ํ๋ ์์คํ - IP์ฃผ์์ ํธ์คํธ ์ด๋ฆ๊ฐ์ ๋ณํ์ ์ ๊ณตํ๋ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค DNS ํด์๊ณผ์ ์์ ๊ฐ์ ์์๋ก ์๋ํฉ๋๋ค. (1)โ PC ๋ธ๋ผ์ฐ์ ์ www.naver.com์ ์ ๋ ฅํ๋ค. (2) ์์คํ ์ ์ค์ ๋ DNS ์๋ฒ์ธ ๋ก์ปฌ DNS ์๋ฒ์๊ฒ www.naver.com์ด๋ผ๋ hostname์ ๋ํ IP ์ฃผ์๋ฅผ ๋ฌผ์ด๋ณธ๋ค. (3) ๋ก์ปฌ DNS ์๋ฒ์ ํด๋น ์ ๋ณด๊ฐ ์์ ๊ฒฝ์ฐ, ๋ค๋ฅธ DNS ์๋ฒ๋ค๊ณผ ํต์ (DNS ๋ฉ์์ง)์ ์์ํ๋ค. (4) ์ด๋ฅผ ์ํด ๊ฐ ๋ก์ปฌ DNS ์๋ฒ์๋ Root DNS ์๋ฒ์ ์ ๋ณด(IP์ฃผ์)๊ฐ ๋ฏธ๋ฆฌ ์ค์ ๋์ด ์์ด์ผ ํ๋ค. (5) ๋จผ์ Root DNS ์๋ฒ์ ์ง์๋ฅผ ๋ณด..