목록Programming Language & Framework/JAVA & Spring (34)
민스씨의 일취일장

백준 16916 문제를 해결하는 과정에서 사용한 KMP 알고리즘에 대한 기록이다.h.o.Algorithm - Java 백준 16916문제두 개의 문자열이 주어진다. 두 번째 문자열이 첫 번째 문자열에 포함되는지 여부를 판단하는 문제이다.풀이String.contins()를 이용한 풀이간단하게 String.contains() 메소드를 이용해서 문제를 해결을 시도하였다.import java.io.*;public class baekjoon16916 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..

Java Map.Entry에 대한 글이다.Java Map은 순회가 안된다?Map은 순회가 안된다 단순하게 학습한뒤, Map의 순회가 필요할 땐 별도의 데이터 구조(List, Array, Set)를 이용해 순회를 처리했었다. 하지만 이렇게 사용할 때, 로직이 복잡해질 수록 코드가 점점 복잡해지는 문제가 생겼다. 그래서 좀 더 자세히 알아보니 Map도 순회를 처리할 수 있는 방법이 있다는 것을 알게되었다. 방법은 바로 Map.Entry(EntrySet)를 사용하는 것이다.Map.Entry란?Map.Entry는 Java의 Map 인터페이스 내부에 존재하는 인터페이스로, Map에 저장되어 있는 키-값 쌍(Entry)을 관리하는 데 사용된다.이후 Key-Value 한 쌍을 Entry라고 부르겠다.EntrySetE..

자바 빈줄처리에 대한 글이다.Java - 빈줄 처리백준 문제를 풀다보면 마지막 입력이 더이상 없으면 연산을 멈추는 방식으로 문제가 나오는 경우가 있다. 이 때 필요한 것이 빈줄 혹은 EOF (End Of File)을 처리할 수 있어야 한다. 매번 감으로만 하다가 확실히 알아보기 위해 하나하나 살펴보려고 한다.📌 처리대상일단 BufferedReader를 이용해 문자열을 받는다.String str = br.readLine();이렇게 입력받은 문자열을 비교해 while문을 작성할 것이다.📌 입력 예시YdMins is a web fullstack engineer.Full-stack covers not only front- and backend, but also DevOps.!=null을 이용한 처리일단 정답..

Java에서 String을 다룰 때 사용하는 indexOf() 메서드에 대해서 알아본다.Java String indexOf()Java String의 indexOf() 메서드란Java String 클래스의 indexOf 메서드는 문자열 내 특정 '문자' 또는 '문자열'의 위치(첫번째 위치)를 알려준다.사용방법예시는 str을 이용해 진행하도록 하겠다.String str = "Hello World World";문자 찾기문자 'o'를 찾는 경우, str에는 'o'가 3개 존재하지만 첫번째 문자의 인덱스인 4를 반환한다.int index = str.indexOf('o'); // 결과: 4문자열 찾기문자열 'World'의 경우, str에 총 2번 나타난다. 하지만 이 경우에도 첫번째 'World'의 시작 인덱스인 ..

Spring Data JPA의 클래스 프로젝션 적용 중 오류가 발생하는 이슈에 대한 내용이다.상황인프런 강의의 '섹션 8 - Projections' 실숩 중 class projection(클래스 프로젝션)이 적용되지 않는 이슈가 발생했다. 클래스를 작성후 Repository에 메서드를 등록하기만 하면, 실행 중 에러가 발생했다.작성했던 코드작성했던 코드는 아래와 같다.public class UsernameOnlyDto { private final String username; public UsernameOnlyDto(String username){ this.username = username; } public String getUsername(){ retu..

JPA Fetch Join에 distinct 적용안해도 중복이 제거 돼있는 이슈에 대한 내용이다.상황인프런 강의의 '섹션5 - 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화' 실습 중 distinct를 적용하지 않았음에도 중복이 제거되는 상황이 발생했다.혹시 코드를 잘못적은 것은 아닌지 여러번 확인해 보았지만 코드에 상에는 문제가 없어 보였다. 원인을 찾던 중, 버전 차이 때문은 아닌지 알아보았다.원인파악현재 실습을 진행환경은 Java 17, 스프링부트 3.3이다.스프링 3.3은 HIbernate 6을 사용한다.Hibernate 6 공식문서를 확인해 보면, 해당 내용이 명시 되어있다.하이버네이트 6부터는 distinct를 적용하지 않아도 중복 데이터를 메모리에서 제거하기 때문에, dis..