๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[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.