[๋ชจ๋ ์๋ฐ ์ธ ์ก์ ] 1. JAVA์ ๋ณํ & JAVA 8์ ํน์ฑ
1.1 ์๋ฐ์ ์งํ๐ ์๋ฐ์ ํน์ฑ์ค๋ ๋์ ๋ฝ์ ์ด์ฉํ ๋์์ฑ ์ง์์ฝ๋๋ฅผ JVM ๋ฐ์ดํธ ์ฝ๋๋ก ์ปดํ์ผ๐ ์๋ฐ์ ๋ฐ์ ์๋ฐ 8 ์ด์ ์ ๋๋ถ๋ถ์ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์ฝ์ด ์ค ํ๋๋ง์ ์ฌ์ฉํ๋ค. ์ฆ, ๋๋จธ์ง ์ฝ์ด๋ ์ ํด idle ์ํ๋ก ๋๊ฑฐ๋, ์ด์์ฒด์ ๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ ํ๋ก๊ทธ๋จ๊ณผ ํ๋ก์ธ์ค ํ์๋ฅผ ๋๋์ด์ ์ฌ์ฉํ๋ค.๋๋จธ์ง ์ฝ์ด๋ฅผ ํ์ฉํ๊ธฐ ์ํด์๋ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ ๊ฒ์ด๋ค. ํ์ง๋ง ์ค๋ ๋๋ ๊ด๋ฆฌํ๊ธฐ ์ด๋ ค์ฐ๋ฏ๋ก ๋ณ๋ ฌ ์คํ ํ๊ฒฝ์ ์ฝ๊ฒ ๊ด๋ฆฌํ๊ณ ์๋ฌ๊ฐ ๋ ๋ฐ์ํ๋ ๋ฐฉํฅ์ผ๋ก ์งํํ๋ ค ๋ ธ๋ ฅํ๋ค.์๋ฐ 1.0 : ์ค๋ ๋์ ๋ฝ, ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋ธ ์ง์์๋ฐ 5 : ์ค๋ ๋ ํ, ๋ณ๋ ฌ ์คํ ์ปฌ๋ ์ ์๋ฐ 7 : ํฌํฌ/์กฐ์ธ ํ๋ ์์ํฌ์๋ฐ 8 : ๋ณ๋ ฌ ์คํ์ ์๋กญ๊ณ ๋จ์ํ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ ์ ์๋ ๋ฐฉ๋ฒ ์ ๊ณต์๋ฐ 9 : ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋..
IaaS, PaaS, SaaS ์ฐจ์ด์
aaS(as a Service)๋ ์กฐ์ง๊ณผ ๊ฐ์ธ์ด IT ์์ฐ์ ์๋นํ๋ ๋ฐฉ์์ ๊ฐ๋ฆฌํค๋ฉฐ, ๊ธฐ์กด ์จํ๋ ๋ฏธ์ค IT์ ํด๋ผ์ฐ๋ ์ปดํจํ ์ ์ฐจ์ด์ ์ด๋ค. ๊ธฐ์กด ์จํ๋ ๋ฏธ์ค IT์์๋ ๊ณ ๊ฐ์ด IT ์์ฐ(ํ๋์จ์ด, ์์คํ ์ํํธ์จ์ด, ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ๊ฐ๋ฐ ํด)์ ์จํ๋ ๋ฏธ์ค ๋ฐ์ดํฐ ์ผํฐ์์ ๊ตฌ๋งค, ์ค์น, ์ ์ง ๊ด๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก ์๋นํ๋ค. ํด๋ผ์ฐ๋ ์ปดํจํ ์์๋ ํด๋ผ์ฐ๋ ์๋น์ค ์ ๊ณต์ ์ฒด๊ฐ IT ์์ฐ์ ์์ , ๊ด๋ฆฌ, ์ ์ง ๋ณด์ํ๋ค. ๊ณ ๊ฐ์ ์น ๋ธ๋ผ์ฐ์ , ํ๋ซํผ ๋๋ ๋์๋ณด๋์์ ์ธํฐ๋ท ์ฐ๊ฒฐ์ ํตํด ๊ทธ ์์ฐ์ ์๋นํ๋ค. ์์ธ๋ฌ ์ฌ์ฉ๋ ๊ธฐ์ค ๋๋ ์๋ธ์คํฌ๋ฆฝ์ ๋ฐฉ์์ผ๋ก IT ์์ฐ์ ๋ํ ๋น์ฉ์ ์ง๋ถํ๋ค. ๊ธฐ์ ์ด ํด๋ผ์ฐ๋ ์ฌ์ ์ ๊ณํํ ๋, ์จํ๋ ๋ฏธ์ค์์ ๊ด๋ฆฌํ IT ์์ฐ์ ๋ฒ์, ๊ทธ๋ฆฌ๊ณ ์๋น์ค ์ ๊ณต์ ์ฒด์ ๊ด๋ฆฌ๋ฅผ ๋งก๊ธธ IT ์์ฐ์ ๋ฒ์..
[JAVA] Java Edition
1. Java Edition โญ JavaME์๋ฐ ๋ง์ดํฌ๋ก ์๋์ ์ ์ ํ๋ ์์์ ๊ฐ์ง ํด๋ํฐ, PDA, ์ ํ๋ฐ์ค ๋ฑ์์ Javaํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ง์ํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ํ๋ซํผ์ด๋ค. ์๋ฒ ๋๋ ์์คํ ์์ ์๋ฐ๋ก ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๋ ์ด์ฉํ๋ค.โญ JavaSE(Standard Edition)์๋ฐ ์คํ ๋ค๋ ์๋์ ์ ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฐ์ด๋ ์๋ฐ API์งํฉ์ฒด(ํจํค์ง)์ด๋ค. Java SE๋ Java Software Development Kit(SDK)์ผ๋ก ๊ตฌํ๋๋ค.โญ JavaEE(Enterprise Edition)Java SE ์คํ๊ธฐ๋ฐ์ผ๋ก ์๋ฐ๋ฅผ ์ด์ฉํ ์๋ฒ์ธก ๊ฐ๋ฐ์ ์ํ ํ๋ซํผ์ ๋๋ค. ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์ ์ํ ๋๊ตฌ๋ก EJB, JSP, Servlet, JNDI ๋ฑ์ ์ง์ํ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ฃผ๋ก ์ฌ์ฉ๋๋ค.EJB(E..
[๐ป์๊ณ ๋ฆฌ์ฆ] Time Complexity(์๊ฐ ๋ณต์ก๋)
์ทจ์ ์ ์ํด ์ฝ๋ฉํ ์คํธ๋ฅผ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ค๋นํ๊ธฐ ์ , "ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ"์ด๋ ๋ฌด์์ธ๊ฐ์ ๋ํ ๊ณ ๋ฏผ์ ํด๋ณด์๋ค. ์๋ ๊ธ์ ์ฌ๋ฌ ๋ธ๋ก๊ทธ์ ์ธํ๋ฐ์ 'Do it! ์๊ณ ๋ฆฌ์ฆ ์ฝ๋ฉํ ์คํธ with JAVA' ๊ฐ์๋ฅผ ๋ณด๊ณ ๋ด๋ฆฐ ๋ต์ด๋ค. ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํ๋ค๋ ๊ฒ์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ณ ๋ฏผํ๋ค๋ ๊ฒ๊ณผ ๊ฐ์ ๋ง์ด๋ค. ๐์๊ฐ๋ณต์ก๋ "๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ์ ๋ก์ง์ ์ฝ๋๋ก ๊ตฌํํ ๋, ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ณ ๋ คํ๋ค๋ ๊ฒ"์ ๋ฌด์จ ์๋ฏธ์ผ๊น? ์ ๋ ฅ๊ฐ์ ๋ณํ์ ๋ฐ๋ผ ์ฐ์ฐ์ ์คํํ ๋ ์ฐ์ฐ ํ์์ ๋นํด ์๊ฐ์ด ์ผ๋ง๋งํผ ๊ฑธ๋ฆฌ๋๊ฐ๋ฅผ ๊ณ ๋ คํ๋ค๋ ์๋ฏธ๋ผ๊ณ ํ์๋ ์๊ฐํ๋ค. ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ์๋ค๋ ๊ฒ์ ๋ค์ ๋งํด ์ ๋ ฅ ๊ฐ์ด ์ปค์ง์ ๋ฐ๋ผ ์ฆ๊ฐํ๋ ์๊ฐ์ ๋น์จ์ ์ต์ํํ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์ฑํ์๋ค๋ ์ด์ผ๊ธฐ์ด๋ค. ๐B..
PRG(POST-Redirect-GET) ํจํด
๐ก PRG ํจํด์ด๋? ์น MVC ๊ตฌ์กฐ์์ ํํ๊ฒ ์ฌ์ฉํ๋ ํจํด์ผ๋ก, HTTP POST ์์ฒญ์ ๋ํ ์๋ต์ด ๋ ๋ค๋ฅธ URL๋ก์ GET ์์ฒญ์ ์ํ Redirect์ฌ์ผ ํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋ค์ ๋งํด, POST ๋ฐฉ์์ผ๋ก ์จ ์์ฒญ์ ๋ํด์ GET ๋ฐฉ์์ ์นํ์ด์ง๋ก Redirect ์ํค๋ ํจํด์ ๋งํ๋ค. ๐ก PRG ํจํด์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ฐ์ํ๋ ๋ฌธ์ ์ ์๋ก๊ณ ์นจ์ผ๋ก ์ธํ ๋์ผํ ์์ฒญ์ด ์ฐ์์ ์ผ๋ก ๋ณด๋ด์ง๋ ์ด์๊ฐ ๋ฐ์ํ๋ค. ๋ง์ฝ ์ด ์ด์๊ฐ ์ค์ํ์ง ์์ ๋ก์ง์ด ์๋ ๋ถ๋ถ์ด๋ผ๋ฉด ์๊ด์๊ฒ ์ง๋ง ๊ฒฐ์ ๊ฐ์ ์ค์ํ ๋ก์ง์์๋ ์ค๋ณต ๊ฒฐ์ ๊ฐ ์ผ์ด๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. POST ์์ฒญ์ URL์ ๋ณต์ฌํ๋๋ผ๋ ๋ค๋ฅธ ์ฌ๋๊ณผ ๊ณต์ ํ ์ ์๋ค. POST ์์ฒญ์ ๋ณด๋ด๊ฒ ๋๋ฉด Parameter ๊ฐ๋ค์ด URL์ ๋จ๊ฒจ์์ง ์๊ธฐ์ ํน์ Par..
[โํผ์์ ์คํ๋ง ๊ณต๋ถํ๊ธฐ] 3์ผ์ฐจ - ์น MVC ๊ฐ๋ฐ(ํ์ ๊ด๋ฆฌ ์์ )
์์ ๊ตฌ์ฑํ MVC ํจํด์ ๋ง๊ฒ ํ์ ๊ฐ์ ๊ณผ ์กฐํ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ์๋ค. https://github.com/jiholee0/hello-spring GitHub - jiholee0/hello-spring: SPRING ๊ณต๋ถ ๋ ํฌ์งํ ๋ฆฌ SPRING ๊ณต๋ถ ๋ ํฌ์งํ ๋ฆฌ. Contribute to jiholee0/hello-spring development by creating an account on GitHub. github.com Controller (controller/MemberController.java) package hello.hellospring.controller; import hello.hellospring.domain.Member; import hello.hellospring.service.Mem..
[โํผ์์ ์คํ๋ง ๊ณต๋ถํ๊ธฐ] 3์ผ์ฐจ - ์คํ๋ง ๋น๊ณผ ์์กด๊ด๊ณ
https://github.com/jiholee0/hello-spring GitHub - jiholee0/hello-spring: SPRING ๊ณต๋ถ ๋ ํฌ์งํ ๋ฆฌ SPRING ๊ณต๋ถ ๋ ํฌ์งํ ๋ฆฌ. Contribute to jiholee0/hello-spring development by creating an account on GitHub. github.com [์คํ๋ง ๋น์ ๋ฑ๋กํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ] 1. ์ปดํฌ๋ํธ ์ค์บ๊ณผ ์๋ ์์กด๊ด๊ณ ์ค์ 2. ์๋ฐ ์ฝ๋๋ก ์ง์ ์คํ๋ง ๋น ๋ฑ๋ก ์ค๋ฌด์์๋ ์ฃผ๋ก ์ ํํ๋ ์ปจํธ๋กค๋ฌ, ์๋น์ค, ๋ฆฌํฌ์งํ ๋ฆฌ ๊ฐ์ ์ฝ๋๋ ์ปดํฌ๋ํธ ์ค์บ์ ์ฌ์ฉํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ ํํ ๋์ง ์๊ฑฐ๋, ์ํฉ์ ๋ฐ๋ผ ๊ตฌํ ํด๋์ค๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ฉด ์ค์ ์ ํตํด ์คํ๋ง ๋น์ผ๋ก ๋ฑ๋กํ๋ค. 1. ์ปดํฌ๋ํธ ์ค์บ๊ณผ ์๋ ์์กด๊ด๊ณ ..
์๋ธ๋ฆฟ(Servlet)๊ณผ JSP(Java Server Pages)์ ๊ฐ๋ ๋ฐ ์ฐจ์ด
Servlet๊ณผ JSP๋ Java EE์ ์ฌ๋ฌ ๊ธฐ์ ์ค ํ๋์ด๋ค. Java EE(Enterprise Edition)๋? ๊ธฐ์ ์์ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๋ฐ ์ ํฉํ ์๋ฐ ๊ฐ๋ฐ ๋ฒ์ ์ ์๋ฏธํ๋ฉฐ, Java EE์ ์คํ์๋ Servlet, JSP, EJB(Enterprise Java Beans) ๋ฑ์ด ์๋ค. ์ฐธ๊ณ : https://doozi316.github.io/java/2020/07/01/WEB20/ 1. Servlet ์๋ธ๋ฆฟ์ ์๋ฒ์์ ์นํ์ด์ง ๋ฑ์ ๋์ ์ผ๋ก ์์ฑํ๊ฑฐ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํํ๊ธฐ ์ํด ์๋ฐ๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ด๋ค. ์ฆ, ์๋ฒ์์ ๋์ ์ผ๋ก ์์ฒญ๊ณผ ์๋ต์ ์ฒ๋ฆฌํ ์ ์๋ API๋ค์ด๋ผ๊ณ ํ ์ ์๋ค. ๊ฐ์ฅ ํฐ ํน์ง์ Java ์ฝ๋ ์์ HTML ํ๊ทธ๊ฐ ์ฝ์ ๋๋ฉฐ, ์๋ฐ ์ธ์ด๋ก ๋์ด์๋ค๋ ๊ฒ์ด๋ค. ์..
[โํผ์์ ์คํ๋ง ๊ณต๋ถํ๊ธฐ] 2์ผ์ฐจ - ํ์ ๊ด๋ฆฌ ์์ ๋ก ๋ฐฑ์๋ ๊ฐ๋ฐํด๋ณด๊ธฐ
https://github.com/jiholee0/hello-spring GitHub - jiholee0/hello-spring: SPRING ๊ณต๋ถ ๋ ํฌ์งํ ๋ฆฌ SPRING ๊ณต๋ถ ๋ ํฌ์งํ ๋ฆฌ. Contribute to jiholee0/hello-spring development by creating an account on GitHub. github.com 1. ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ ์ ๋ฆฌ 2. ํ์ ๋๋ฉ์ธ๊ณผ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ง๋ค๊ธฐ 3. ํ์ ๋ฆฌํฌ์งํ ๋ฆฌ ํ ์คํธ ์ผ์ด์ค ์์ฑ 4. ํ์ ์๋น์ค ๊ฐ๋ฐ 5. ํ์ ์๋น์ค ํ ์คํธ 1. ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ ์ ๋ฆฌ - ๋ฐ์ดํฐ : ํ์ ID, ์ด๋ฆ - ๊ธฐ๋ฅ : ํ์ ๋ฑ๋ก, ์กฐํ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต ๊ตฌ์กฐ - ์ปจํธ๋กค๋ฌ : ์น MVC์ ์ปจํธ๋กค๋ฌ ์ญํ - ์๋น์ค : ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง ๊ตฌํ ..
[โํผ์์ ์คํ๋ง ๊ณต๋ถํ๊ธฐ] 2์ผ์ฐจ - ์คํ๋ง ์น ๊ฐ๋ฐ ๊ธฐ์ด(์ ์ ์ปจํ ์ธ , MVC์ ํ ํ๋ฆฟ ์์ง, API)
1. ์ ์ ์ปจํ ์ธ : Welcome Page์ฒ๋ผ ์๋ฒ์์ ๋ณ๋์ ๋์ ์์ด ํ์ผ์ ์๋ ๊ทธ๋๋ก ์ ์ก 2. MVC์ ํ ํ๋ฆฟ ์์ง : ๋์ ์ปจํ ์ธ ๋ฅผ ์ ์ก 3. API : JSON ๋ฐ์ดํฐ ํฌ๋งท์ผ๋ก ์ ์ก 1. ์ ์ ์ปจํ ์ธ ๋ง ๊ทธ๋๋ก ์์ HTML๋ก ์ด๋ฃจ์ด์ง ํ์ผ์ ์๋ฒ๊ฐ ๋ฐ๋ก ๋ ๋๋ง ์์ด ์ฌ์ฉ์์๊ฒ ์น๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ๋ณด์ฌ์ฃผ๋ ๊ฒ์ด๋ค. Spring์์๋ ์ ์ ์ฝํ ์ธ ๋ฅผ /static ํด๋์์ ๋ค๋ฃฌ๋ค. 1. ์ฌ์ฉ์๊ฐ ์ ์ ํ์ด์ง(hello.html)๋ฅผ ์์ฒญ 2. Spring Boot์ ๋ด์ฅ ํฐ์ผ ์๋ฒ๊ฐ ์ด๋ฅผ Spring Container์๊ฒ ์ ๋ฌ 3. Spring Container๋ ํ์ด์ง์ ํด๋นํ๋ Controller๊ฐ ์๋์ง ํ์ธ 4. ์๋ค๋ฉด resources ํด๋์ static/hello.html์ด ์๋์ง ์ฐพ๊ณ ..
HTTP์ HTTPS
๋ธ๋ผ์ฐ์ ์ ์์ฒญ๊ณผ ์๋ฒ์ ์๋ต ์ฌ์ด์ ๋ฐ์ดํฐ ๊ตํ ๊ท์ฝ์ 'ํ๋กํ ์ฝ(protocol)'์ด๋ผ๊ณ ํฉ๋๋ค. ์น์์๋ HTTP(Hyper Text Transfer Protocol), HTTPS์ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ต๋๋ค. (HTTPS๋ HTTP์ ๋ณด์ ๊ฐํ ๋ฒ์ ์ ๋๋ค.) ํ๋กํ ์ฝ์ ๋ํด ์์ธํ ์๊ณ ์ถ๋ค๋ฉด? ํ๋กํ ์ฝ ์ ์, ๊ธฐ๋ณธ ์์, ์ข ๋ฅ, ๊ธฐ๋ฅ ๐ ํ๋กํ ์ฝ์ด๋? ํ๋กํ ์ฝ(Protocol)์ ์ปดํจํฐ๋ ๋คํธ์ํฌ ์ฅ๋น๊ฐ ์๋ก ํต์ ํ๊ธฐ ์ํด ๋ฏธ๋ฆฌ ์ ํด ๋์ ์ฝ์ ๋๋ ๊ท์ฝ์ ๋งํ๋ค. ๐ ํ๋กํ ์ฝ์ ๊ธฐ๋ณธ ์์ ๊ตฌ๋ฌธ(Syntax) : ์ ์กํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ easyhomputer.tistory.com ๐ HTTP(Hyper Text Transfer Protocol) HTTP(Hyper Text Transfer P..
[โํผ์์ ์คํ๋ง ๊ณต๋ถํ๊ธฐ] 1์ผ์ฐจ - ์คํ๋ง ํ๋ก์ ํธ๋ฅผ ์๋์ฐ cmd ์ฐฝ์์ ๋น๋ํ๊ณ ์คํํ๊ธฐ
ํ์๋ Window๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์คํ๋ง ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๊ณ ์คํํด๋ณด๊ธฐ ์ํด์ Window PowerShell์ ์ฌ์ฉํ๋ค. ๋จผ์ cd ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ๋ ฅํ๋ค. ./gradlew build # ๋น๋ cd build/libs java -jar hello-spring-0.0.1-SNAPSHOT.jar # jar ํ์ผ ์คํ ๊ทธ๋ฌ๋ฉด ์จ์~