๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ96

[Web] Received fatal alert: handshake_failure ์—๋Ÿฌ ์ด ์—๋Ÿฌ๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ„์˜ TLS ๋ฒ„์ „์ด ๋‹ฌ๋ผ์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์ด๋‹ค. Received fatal alert: handshake_failure ์„œ๋ฒ„๋Š” JDK 1.6์ด๋ผ TLSv1๋งŒ ์ง€์›์„ ํ•˜๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ https.protocols์„ TLSv1๋กœ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค. jdk ๋ฒ„์ „ Default Other Support 1.6 TLS 1.0 TLS 1.1(111์ดํ›„ ๋ฒ„์ „), SSL v3.0 1.7 TLS 1.0 TLS 1.1, TLS 1.2, SSL v3.0 1.8 TLS 1.2 TLS 1.0, TLS 1.1, SSL v3.0 โ€ป JDK 1.6.0_111 ์ดํ›„ TLS1.1 ์ง€์›, 1.6.0_121 ์ดํ›„ TLS 1.2 ์ง€์›(๋‹จ, jsse.enableSNIExtension ๋“ฑ์˜ ์˜ต์…˜ ์„ค์ •์€ ๋ถˆ๊ฐ€๋Šฅ) ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•.. 2022. 3. 8.
[JAVA] com.fasterxml.jackson.databind.JsonMappingException: Invalid UTF-8 start byte 0xbf ์„œ๋ฒ„๋กœ ํ•œ๊ธ€์ด ํฌํ•จ๋œ json ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒˆ๋Š”๋ฐ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. com.fasterxml.jackson.databind.JsonMappingException: Invalid UTF-8 start byte 0xbf ํ•œ๊ธ€์„ ์ž…๋ ฅํ•˜๋Š” html์˜ contentType ๋ฐ pageEncoding์ด UTF-8๋กœ ์„ ์–ธ๋˜์–ด์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์„œ๋ฒ„์ชฝ์—์„œ UTF-8๋กœ ๋ฐ›์ง€ ๋ชปํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  json string์„ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ UTF-8๋กœ ์ธ์ฝ”๋”ฉ๋˜๋„๋ก ํ•˜์˜€์ง€๋งŒ ํ˜„์ƒ์€ ๋™์ผํ–ˆ๋‹ค. ํ•ด๊ฒฐ๋ฐฉ๋ฒ• 1 Run>Run Configurations์—์„œ Tomcat ์„ ํƒ ํ›„ Common ํƒญ์—์„œ Encoding์„ UTF-8๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. ํ•ด๊ฒฐ๋ฐฉ๋ฒ• 2 Run>Run Configurations์—์„œ Tomcat ์„ ํƒ ํ›„ Arg.. 2022. 3. 8.
[Web] Restful API๋ž€? API (Application Programming Interface) ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด๋กœ๋ถ€ํ„ฐ ์ง€์ •๋œ ํ˜•์‹์œผ๋กœ ๋ช…๋ น์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์ผ์ข…์˜ ํ˜•์‹ ์ •๋ณด๋ฅผ ์š”์ฒญํ•œ๋Š” ์ง€์ •๋œ ํ˜•์‹์ด ์žˆ์–ด์•ผ ํ•จ Restful API ๊ณผ๊ฑฐ์˜ SOAP๋ผ๋Š” ๋ณต์žกํ•œ ํ˜•์‹ ๋Œ€์ฒด ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํŠน์„ฑ์€ ๊ฐ ์š”์ฒญ์ด ์–ด๋–ค ๋™์ž‘์ด๋‚˜ ์ •๋ณด๋ฅผ ์œ„ํ•œ ๊ฒƒ์ธ์ง€ ๊ทธ ์š”์ฒญ์˜ ๋ชจ์Šต ์ž์ฒด๋กœ ์ถ”๋ก ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ URL๋งŒ ๋ด๋„ ์–ด๋–ค ์š”์ฒญ์„ ํ•˜๊ธฐ ์œ„ํ•จ์ธ์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ! - 'https://domain/1, https://domain/hello ' : ๋ฌด์Šจ ๊ธฐ๋Šฅ์ธ์ง€ ๋ช…ํ™•ํžˆ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์›€ - https://๋„๋ฉ”์ธ/classes : class ๋ชฉ๋ก์„ ๋ฐ›์•„์˜ค๋Š” ์š”์ฒญ์ด๋ผ๋Š” ๊ฒƒ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Œ { "result":[ {"idx":1,.. 2022. 2. 21.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ๊ฐ€์žฅ ํฐ ์ˆ˜ - ์ •๋ ฌ ์ด ๋ฌธ์ œ๋„ ์‰ฝ๊ฒŒ ์ž˜ ํ’€๋ ธ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ณ , ๋ฌธ์ œ์˜ ์˜ˆ์ œ๊ฐ€ ๋‚ด๊ฐ€ ๋Œ€์ž…ํ•œ ์ˆซ์ž๋กœ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ์ž˜ ๋‚˜์™”๋‹ค. ํ•˜์ง€๋งŒ ํ…Œ์ŠคํŠธ 33.3 ์ ์„ ๋ฐ›์•˜๋‹ค..ใ…Žใ…Ž ์ด ์ •๋„๋ฉด ์˜ˆ์ œ๊ฐ€ ์šด ์ข‹๊ฒŒ ๋งž์€ ์ˆ˜์ค€.. public String solution(int[] numbers) { String answer = ""; Integer[]numbers2 = Arrays.stream(numbers).boxed().toArray(Integer[]::new); Arrays.sort(numbers2, new Comparator() { @Override public int compare(Integer o1, Integer o2) { if(o1.toString().charAt(0) == o2.toString().charAt(0)) { if(o1.toS.. 2022. 2. 20.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] K๋ฒˆ์งธ์ˆ˜ - ์ •๋ ฌ ๋ ˆ๋ฒจ 1์ด๋ผ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ํ’€์—ˆ๋‹ค! public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int i=0; i 2022. 2. 20.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ๋ฒ ์ŠคํŠธ ์•จ๋ฒ” - ํ•ด์‹œ ๋จผ์ € ์ƒ๊ฐํ–ˆ๋˜ ํ’€์ด ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๊ฐ ์žฅ๋ฅด์˜ ๊ฐœ์ˆ˜๋ฅผ HashMap์— ๋‹ด๊ธฐ classic : 3 pop : 2 ๊ฐ ์žฅ๋ฅด์˜ ์žฌ์ƒ ํšŸ์ˆ˜ ํ•ฉ๊ณ„๋ฅผ HashMap์— ๋‹ด๊ณ , ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ sortingํ•˜๊ธฐ pop : 3100 classic : 1450 pop ์žฅ๋ฅด์˜ ์žฌ์ƒ ํšŸ์ˆ˜ ํ•ฉ๊ณ„๊ฐ€ ๊ฐ€์žฅ ๋งŽ์œผ๋ฏ€๋กœ pop ์žฅ๋ฅด ๋…ธ๋ž˜์˜ index๊ฐ€ ๋จผ์ € ์ˆ˜๋ก๋˜์–ด์•ผ ํ•œ๋‹ค. ex) 4, 1 ๊ทธ ๋‹ค์Œ์œผ๋ก  classic ์žฅ๋ฅด ๋…ธ๋ž˜์˜ index๊ฐ€ ์ˆ˜๋ก๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ ๊ฐ ์žฅ๋ฅด๋ณ„ 2๊ฐœ์”ฉ๋งŒ ์ˆ˜๋ก๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ 3, 0์ด ์ฐจ๋ก€๋กœ ์ˆ˜๋ก๋˜๊ณ  2๋Š” ์ˆ˜๋ก๋˜์ง€ ๋ชปํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์•จ๋ฒ”์—” 4, 1, 3, 0 index ์ˆœ์œผ๋กœ ์ˆ˜๋ก๋œ๋‹ค. ์ด๋ฅผ ์œ„ํ•˜์—ฌ HashMap hm = new HashMap(); ๋ฅผ ์ƒ์„ฑํ•˜์˜€๋‹ค. key๋Š” ์žฅ๋ฅด์ด๋ฉฐ, value๊ฐ€ ๋˜ HashMap.. 2022. 2. 20.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ์œ„์žฅ - ํ•ด์‹œ ์ด ๋ฌธ์ œ๋Š” HashMap์— putํ•˜๋Š” ๋ถ€๋ถ„์ด ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ ๋ฌธ์ œ์™€ ๋˜‘๊ฐ™๋‹ค. ๋จผ์ € HashMap์— ์˜ท์˜ ์ข…๋ฅ˜๋ณ„๋กœ ๋ช‡ ๊ฐœ๊ฐ€ ์žˆ๋Š”์ง€ put ํ•˜๋„๋ก ํ•˜์ž. import java.util.HashMap; class Solutio { public int solution(String[][] clothes) { int answer = 1; HashMap hm = new HashMap(); for (int i=0; i 2022. 2. 18.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/JAVA] ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก - ํ•ด์‹œ ๋จผ์ € ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๋‹ค ๋น„๊ตํ•˜๋Š” ๋‹จ์ˆœํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ’€์–ด๋ณด์•˜๋‹ค. ์—ญ์‹œ๋‚˜ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ์—์„œ ํƒˆ๋ฝ! ์ด๋ ‡๊ฒŒ ํ’€์ง€ ๋ง๋ผ๊ณ  ๊ธฐ๋กํ•ด๋ณธ๋‹ค.. class Solution { public boolean solution(String[] phone_book) { boolean answer = true; for(int i=0; i 2022. 2. 18.
728x90
๋ฐ˜์‘ํ˜•