개발 여정/Java
-
JAXB - Java 객체를 XML로, 혹은 그 반대로 (Marshalling, UnMarshalling)개발 여정/Java 2022. 3. 7. 18:06
JAXB(Java Architecture for XML Binding) : 자바 객체를 XML화하거나(Marshalling), 그 반대로 XML을 자바 객체로 만들어주는(UnMarshalling) Java API JAXB Annotation @XmlAccessorType: 패키지나 상위 클래스에 쓰여서 XML serialized할 범위를 설정 @XmlRootElement: XML의 Root Element명을 정의 @XmlElement: XML의 Element명을 정의 @XmlType: 클래스나 enum을 XML 스키마 타입으로 매핑 @XmlElementWrapper: XML ELEMENT들을 감싸줌
-
Hikari가 뭘까?개발 여정/Java 2022. 3. 3. 17:47
회사 프로그램 Log를 보다가 다음과 같은 문구를 계속 보게 되었다. jdbc.sqltiming - com.zaxxer.hikari.pool.ProxyPreparedStatement.execute hikari pool은 무엇인가..? 검색해보니 Full name은 HikariCP. JDBC connection pool을 관리해주는 오픈소스 라이브러리다. https://github.com/brettwooldridge/HikariCP GitHub - brettwooldridge/HikariCP: 光 HikariCP・A solid, high-performance, JDBC connection pool at last. 光 HikariCP・A solid, high-performance, JDBC connectio..
-
[Java] 데이터 암호화하기 (MD5, SHA-256)개발 여정/Java 2021. 12. 14. 21:53
Java에서 특정 데이터를 암호화할 때는 MessageDigest란 클래스를 불러와 사용한다. MessageDigest는 MD5, SHA-256, SHA-1 등의 단방향(복호화 불가능) 암호화를 위한 함수들을 제공한다. 암호화 종류 1. MD5(Message-Digest algorithm 5) 임의의 길이의 값을 입력받아서 128bit 길이의 해시값을 출력하는 알고리즘 1991년 설계 데이터 무결성(데이터가 조작되지 않았는지 검증)을 확인하는 데 사용 2004년 보안적 결함, 2006년 더 빠른 알고리즘이 발견되어 보안을 요구하는 시스템에서는 권장하지 않음 2. SHA-256(Secure Hash Algorithm-256) 임의의 길이의 값을 입력받아서 256bit 길이의 64열짜리 문자열을 출력하는 알..
-
Java Map - getOrDefault개발 여정/Java 2021. 10. 13. 01:00
getOrDefault Java 버전 8부터 추가된 메소드로, 지정된 value값이 없을 경우 반환할 default값을 설정해준다. getOrDefault(key, DefaultValue) 참고 : https://junghn.tistory.com/entry/JAVA-Map-getOrDefault-%EC%9D%B4%EB%9E%80-%EC%82%AC%EC%9A%A9%EB%B2%95-%EB%B0%8F-%EC%98%88%EC%A0%9C [JAVA] Map - getOrDefault 이란? 사용법 및 예제 getOrDefault - 찾는 키가 존재한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환하는 메서드 사용 방법 getOrDefault(Object key, V DefaultValue) 매개 변수 : 이 ..
-
equals와 ==의 차이 (feat. 프로그래머스 마라톤 완주 문제)개발 여정/Java 2021. 10. 11. 21:16
프로그래머스 '마라톤 완주하지 못한 문제'를 풀다가 다음과 같은 해설을 접했다. import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { int i; // (3) 때문에 전역변수로 선언 // (1) 각 배열을 오름차순으로 정렬 Arrays.sort(participant); // {"leo", "kiki", "eden"}; => {eden, kiki, leo} Arrays.sort(completion); // {"eden", "kiki"}; => {eden, kiki} // (2) completion만큼 for문 돌리고, 서로 일치하지 않는 경우 해당 participant[i]..