Java(16)
-
이클립스 UX 크기 조절하기
당뇨로 인해 생겨버린 백내장과 석 달 이상 치료 중인 포도막염 때문에 프로젝트 기간 동안에 흰색 및 밝은 색으로 이루어진 모니터 바탕화면을 제대로 볼 수가 없었다. 그래서 다크모드, 그중에서도 Spectrum (스펙트럼) 테마로 이클립스를 그나마 보고 있는데 작은 툴바가 잘 안 보여서 갑갑했다. IntelliJ IDEA 에서도 UX 전환이 자유로운데 이클립스는 이런 기능을 편리하게 지원하진 않는다. 그나마 이클립스가 처음 실행될 때 읽어 들이는 eclipse.ini 파일에서 설정할 수 있다.-Dswt.enable.autoScale=true-Dswt.autoScale=200-Dswt.autoScale.method=nearest
2025.11.22 -
BufferedReader 로 라인수만큼 읽어내기
interface default Method 에서 BufferedReader 로 라인수만큼 읽어내기 나는 자바 프로젝트에서 interface 를 자주 쓰는 편이다. 웹 프로젝트가 아닌 일반 응용 소프트웨어 개발에서 말이다. 자바 1.8 부터 interface 에서 default 예약어를 앞에 붙이면 선언만 가능했던 메소드를 정의할 수 있게 되었다. 즉 텍스트 처리 유틸리티 클래스를 interface 로 정의하는 것이다. 유틸티티 계통은 대부분 class 에서 static 으로 메소드를 정의해서 Util.processStr() 처럼 쓰는데, interface 에 정의하면 클래스 정의할 때만 implements 뒤에 써준 후로는 메소드만 호출해주면 되기 때문에 편리하다. 다만 interface 만이 가진 제..
2025.11.18 -
[자바 정규식] Tab, 2회 이상 발생된 Space 를 Space 1개로 변환하기
로직 적용 전 :public class Test { public static void main(String[] args) { new Test(); } Test() { String letra = """ 즐거운 곳에서는 날 오라 하여도 내 쉴 곳은 작은 집 내 집 뿐이리 내 나라 내 기쁨 길이 쉴 곳도 꽃 피고 새 우는 집 내 집 뿐이리 오 사랑 나의 집 즐거운 나의 벗 집 내 집 뿐 이리"""; System.out.println(letra); }} 로직 적용 후 :public class Test { public static void main(String[] args) { new Test(); } Test() { ..
2025.05.13 -
String 한 줄 주석에서 항목값 걸러내기
java 에서 /** 로 대표되는 javadoc 주석(예1)에서 특정 항목을 뽑아낼때 쓸 수 있는 로직이다.예1)/*************************************************************************** * 제목 : 애국가 * 작사 : (미상) * 작곡 : 안익태 * 가사 : 동해물과 백두산이 ... * 반복부 : 무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세 ***************************************************************************/ 위와 같이 여러 줄의 String 을 유지할 수만 있어도 /**, * 를 모두 없애고 String 의 split("\n") 으로 한 줄씩 걸러낸 후에항목명 ..
2025.05.01 -
JPA 에서 MYSQL 또는 Maria DB 에 한글이 들어 있는 레코드를 삽입할 때 발생할 수 있는 오류 해결 방법
JPA 에서 MYSQL 또는 Maria DB 에 한글이 들어 있는 레코드를 삽입할 때 발생할 수 있는 오류 해결 방법 java.sql.SQLException: (conn=133) Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation '=' at org.mariadb.jdbc.export.ExceptionFactory.createException(ExceptionFactory.java:306) ~[mariadb-java-client-3.3.2.jar:na] // import org.hibernate.dialect.MySQL5InnoDBDialect; // MySQL5InnoD..
2024.03.17 -
Lombok 활용
Lombok (롬복) 은 DTO (data transfer object), VO (view object) - 그게 그거다. 활용 목적에 따라 명칭만 다를 뿐 - 를 만들 때 자바 POJO 코드 안에 필드에 대한 getter 와 setter 를 일일이 지정하지 않아도 필요에 따라 자동으로 생성해주는 고마운 라이브러리이다. 일반적으로 스프링 프레임워크에서 @Getter, @Setter 가 흔히 활용되는 편이다. 본 게시물에서는 개인적으로 접해보지 못한 @AllArgsConstructor 와 @Builder 를 다루려고 한다. @AllArgsConstructor 이름에 Constructor 가 붙어 있듯이 생성자를 통해 필드값을 설정하는 방식이다. 이것과 유사한 @RequiredArgsConstructor 도..
2023.12.02