[JAVA] TCP ์์ผ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๊ฐ๋จํ HTTP ํด๋ผ์ด์ธํธ ๊ตฌํํ๊ธฐ JAVA TCP ์์ผ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๊ฐ๋จํ HTTP ํด๋ผ์ด์ธํธ ๊ตฌํํ๊ธฐ HTTP ํ๋กํ ์ฝ HTTP ํ๋กํ ์ฝ(Hyper-Text Transfer Protocol)์ ์น ๋ธ๋ผ์ฐ์ ์ ์น ์๋ฒ ์ฌ์ด์ ๋ฐ์ดํฐ ํต์ ๊ท์น์ด๋ค. ์น ๋ธ๋ผ์ฐ์ ๋ HTTP ์์ฒญ ํ์์ ๋ฐ๋ผ ์น ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ธ๋ค. ์น ์๋ฒ๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ณด๋ธ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ณ ์์ฒญ๋ฐ์ ์ผ์ ์ฒ๋ฆฌํ์ฌ HTTP ์๋ตํ์์ ๋ฐ๋ผ ์๋ตํ๋ค. SOAP(Simple Object Access Protocol)๋ RESTful(REpresentational State Transfer)์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ ์๋น์ค๋ฅผ ์์ฒญํ๊ณ ์๋ตํ๋ ๋ฐฉ์์ ๋งํ๋ ๊ฒ์ผ๋ก HTTP ํ๋กํ ์ฝ์ ์์ฉํ๊ฑฐ๋ ํ์ฅํ ๊ธฐ์ ์ด๋ค. WebDAV(World Wide Web Distribut.. 2020. 2. 2. ์ดํด๋ฆฝ์ค์์ ์น ์ดํ๋ฆฌ์ผ์ด์ ํ๋ก์ ํธ ์์ฑ ๋ฐ ๋ฐฐํฌํ๊ธฐ ํ๊ฒฝ ๋ฐ ๋ฒ์ ํ๋ซํผ(OS) : Windows 64-bit JDK : OpenJDK - Amazon Corretto 11 Eclipse : Eclipse IDE for Enterprise Java Developers 2019-12 Tomcat : 9.0.30 1. ์น ์ดํ๋ฆฌ์ผ์ด์ ํ๋ก์ ํธ ์์ฑ File - New - Project...๋ฅผ ์ ํํ๋ค. Web - Dynamic Web Project๋ฅผ ์ ํํ๊ณ [Next >]๋ฅผ ํด๋ฆญํ๋ค. ๋๋ New - Dynamic Web Project๋ฅผ ์ ํํ๋ค. โป ์ดํด๋ฆฝ์ค์ Dynamic Web Project ํ๋ก์ ํธ ์ ํ์ ์๋ธ๋ฆฟ ๋ฐ JSP ๊ธฐ๋ฐ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๋ ์ฌ์ฉํ๋ค. Project name์ ์ ๋ ฅํ๊ณ Target runtime์ ๋ฐฐํฌํ ์๋ฒ๋ฅผ ์ ํํ๋ค... 2020. 2. 2. The import javax.servlet cannot be resolved ์๋ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ ๊นํ๋ธ์์ ๊ฐ๋จํ ์๋ธ๋ฆฟ ํ๋ก์ ํธ๋ฅผ ์ํฌํธํ๋๋ฐ ๋น๋ํ๊ณ ๋๋ ์ด๋ฐ ์๋ฌ๋ค์ด ์ฐํ๋ค. The import javax.servlet cannot be resolved๋ฅผ ํฌํจํด์ GenericServlet cannot be resolved to a type ServletException cannot be resolved to a type ServletRequest cannot be resolved to a type ServletResponse cannot be resolved to a type WebServlet cannot be resolved to a type ๋ชจ๋ ์๋ธ๋ฆฟ ๊ด๋ จ ์๋ฌ๋ค์ด๋ค. Java SE์๋ ์๋ธ๋ฆฟ ํจํค์ง๊ฐ ํฌํจ๋์ด์์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ๋ก์ ํธ์ build path ์ฐฝ์ ๋ค์ด๊ฐ๋ณด๋ฉด Apa.. 2020. 2. 1. ์ดํด๋ฆฝ์ค์์ ๊นํ๋ธ ์ ์ฅ์ ๋ณต์ ๋ฐ ํ๋ก์ ํธ ์ํฌํธํ๋ ๋ฐฉ๋ฒ 1. ์ดํด๋ฆฝ์ค์ ๊นํ๋ธ ์ ์ฅ์ ๋ฑ๋ก ๋ฐ ๋ณต์ (1) Git Repositories ๋ทฐ ๋์ฐ๊ธฐ Window - Show View - Other... ๋ฉ๋ด๋ฅผ ํด๋ฆญํ๋ค. Git Repositories๋ฅผ ์ ํํ๊ณ [Open]์ ํด๋ฆญํ๋ค. (2) ๊นํ๋ธ ์ ์ฅ์ ๋ณต์ ํ๊ธฐ Git Repositories ๋ทฐ์์ Clone a Git repository๋ฅผ ํด๋ฆญํ๋ค. ํ์ํ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ค. ๊นํ๋ธ์ public ์ ์ฅ์๋ ๋๊ตฌ๋ ์ง ๋ณต์ ํ ์ ์์ผ๋ฉฐ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ณต์ ํ ๋๋ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ๋ ฅํ์ง ์์๋ ๋๋ค. ์ ์ฅ์์ ๋ํด ์ฐ๊ธฐ ๊ถํ์ด ์๊ณ ์์ค๋ฅผ ์ฌ๋ฆฌ๋ ค๋ฉด ์ฌ์ฉ์ ์ ๋ณด๊ฐ ํ์ํ๋ค. ์ ๊ทธ๋ฆผ์์๋ public ์ ์ฅ์๋ฅผ ์ต๋ช ์ผ๋ก ๋ณต์ ํ๊ธฐ ์ํด URI, Host, Repository path๋ง ์ ๋ ฅํ์๋ค. [Next >]๋ฅผ .. 2020. 2. 1. [JAVA] static import๋ฌธ static import๋ฌธ์ JDK1.5๋ถํฐ ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ด๋ค. import๋ฌธ์ ์ฌ์ฉํ๋ฉด ํด๋์ค์ ํจํค์ง๋ช ์ ์๋ตํ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์ด static import๋ฌธ์ ์ฌ์ฉํ๋ฉด static๋ฉค๋ฒ๋ฅผ ํธ์ถํ ๋ ํด๋์ค๋ช ์ ์๋ตํ ์ ์๋ค. ์ฝ๋๊ฐ ๊ฐ๊ฒฐํด์ง๊ณ ํน์ ํด๋์ค์ static ๋ฉค๋ฒ๋ฅผ ์์ฃผ ์ฌ์ฉํ ๋ ํธ๋ฆฌํ์ง๋ง ๋จ์ฉํ๋ฉด ๋ ์ด ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ฃผ์ํด์ผ ํ๋ค. import static java.lang.Integer.*;// Integer ํด๋์ค์ ๋ชจ๋ static ๋ฉค๋ฒ import static java.lang.Math.random;// Math.random()๋ง import. ๊ดํธ๋ ๋ถ์ด์ง ์๋๋ค. import static java.lang.System.out;// ์ด๋ ๊ฒ ํ๋ฉด System.out์ out.. 2020. 1. 29. [JAVA] ๋๋ค์(Lambda Expression) ๋๋ค์(Lambda Expression) JDK1.8๋ถํฐ ์ถ๊ฐ๋จ ๋๋ค์์ ๋์ → ์๋ฐ = ๊ฐ์ฒด์งํฅ ์ธ์ด + ํจ์ํ ์ธ์ด โป ๊ฐ์ฒด์งํฅ ์ธ์ด์ ํจ์ํ ์ธ์ด๋? ๊ฐ๊ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ์ง์ํ๋ ์ธ์ด์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ์ง์ํ๋ ์ธ์ด ๊ฐ์ฒด์งํฅ ํจ๋ฌ๋ค์ ๊ฐ์ ๋ฐ์ดํฐ์ ๋ํด ๋ค๋ฅธ ์ฒ๋ฆฌ ์ ์ฐจ(๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์)๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ช ์ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ฃผ ๋ฐ์ํ๋๋ฐ, ์ด ๋ ๊ณตํต๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ ์ฐจ๋ฅผ ํ๋๋ก ๋ฌถ์ด ๋ฐ์ดํฐ์ ์ฌ๋ฌ ์ ์ฐจ๋ฅผ ํ๋์ ๋จ์๋ก ๋ค๋ฃจ๋ ํจ๋ฌ๋ค์์ด๋ค. ํจ์ํ ํจ๋ฌ๋ค์ ์ฃผ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ผ๋ก ๊ฐ์ฃผํ๊ณ ์๋ก์ด ๊ฐ์ ์์ฑํ๋ ํจ์์ ์ด์ ์ ๋ง์ถค์ผ๋ก์จ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๋ํ ๋ถ๋ด์ ์ ๊ฑฐํ๋ค. 1. ๋๋ค์์ด๋? ๋ฉ์๋๋ฅผ ํ๋์ ๊ฐ๊ฒฐํ ์(expression)์ผ๋ก ํํํ ๊ฒ ๋ฉ์๋๋ฅผ .. 2020. 1. 23. [JAVA] Array -> List, Set ๋ณํ ๋ฐฉ๋ฒ Arrays.asList() Arrays ํด๋์ค์ asList() ๋ฉ์๋๋ list ๊ฐ์ฒด๋ก collection์ ์ด๊ธฐํํ๋๋ฐ ํธ๋ฆฌํ ๋ฐฉ๋ฒ์ ์ ๊ณตํด์ค๋ค. ์ฐธ๊ณ ๋ก Java 8 ๊ธฐ์ค์ผ๋ก ์์ง java์๋ set, map์ literal์ด ์๋ค. ๋ค์์ String ๋ฐฐ์ด์ List์ Set์ผ๋ก ๊ฐ๊ฐ ๋ณํํ๋ ์์ด๋ค. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Set wordsSet = new HashSet(); String sentence = "once upon a time in hollywood"; String[] arrayWords = sentence.split(" "); // Array -> List List wordsList = Arrays.asList(a.. 2020. 1. 15. [JAVA] List ๊ฐ์ฒด ๋ณต์ฌ ๋ฐฉ๋ฒ๊ณผ Collections.copy()์ ๊ดํ ๊ณ ์ฐฐ Card ํด๋์ค ์ ์ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 public class Card { private int front; // ์นด๋ ์๋ฉด ๋ฌธ๊ตฌ(์ซ์) private String back; // ์นด๋ ๋ท๋ฉด ๋ฌธ๊ตฌ(๋ฌธ์์ด) private boolean isFront; // ์นด๋ ์/๋ท๋ฉด ์ฌ๋ถ public Card(int front, String back) { this.front = front; this.back = back; this.isFront = true; } // ์นด๋์ ์/๋ท๋ฉด ์ฌ๋ถ์ ๋ฐ๋ฅธ ํ์ฌ ๋ฌธ๊ตฌ ๋ฐํ public String.. 2020. 1. 9. JAVA 8 ๋ณ๊ฒฝ ์ฌํญ - interface์ default ํค์๋์ static ๋ฉ์๋ Java์์ ๊ธฐ์กด์ interface๋ ์ถ์ ๋ฉ์๋๋ง์ ๋ฉค๋ฒ๋ก ๊ฐ์ง ์ ์์๋ค. ๊ทธ๋ฐ๋ฐ Java8๋ถํฐ default ํค์๋๋ฅผ ์ฌ์ฉํด์ interface์ ๋ฉ์๋๋ฅผ ์ ์ธํ ์ ์๊ฒ ๋์๋ค. default ํค์๋ 1 2 3 4 5 6 7 8 9 10 public interface ICalculator { int add(int x, int y); int sub(int x, int y); default int mul(int x, int y) { return x * y; } } Colored by Color Scripter cs ๋ฉ์๋๋ฅผ default ํค์๋๋ฅผ ์ฌ์ฉํด ์ ์ธํจ์ผ๋ก์จ ๋ฉ์๋์ body, ์ฆ ๊ตฌํ๋ถ๋ฅผ ์์ฑํ ์ ์๊ฒ ๋์๋ค. ์ ์์๋ ์ธ ๊ฐ์ ๋ฉ์๋๋ฅผ ๋ฉค๋ฒ๋ก ๊ฐ๋ ICalculator interfac.. 2020. 1. 2. ์ด์ 1 2 3 4 5 ๋ค์