๋ฐ์ํ ๊ฐ๋ฐ93 [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. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 12 ๋ค์ 728x90 ๋ฐ์ํ