2023/09/01 2

[자바 디자인 패턴] 이터레이터 패턴

문제 프로그래밍을 하다보면 반복문을 많이 사용한다. 그러나 반복문이 사용되는 목적은 다양한다. 일정 횟수를 반복하는 경우도 있고 탐색을 위해 반복하는 경우도 있다. 또는 모든 요소를 수정하는 것이 목적일 수 있다. 이때 반복의 대상이 어떠냐에 따라 다양한 방식으로 반복문을 만들어야 한다. 그러면 우리는 이런 생각을 할 수 있다. 어떻게 하면 반복문을 쉽게 만들 수 있을까? 이터레이터 패턴이란? 위와 같은 문제를 해결할 수 있는 디자인 패턴이 바로 이터레이터(iterator) 패턴이다. 이터레이터 패턴은 반복에 사용되는 요소를 추상화한 후 이를 일반화한 패턴이다. 예를 들어 다음과 같은 코드가 주어진다고 해보자. for(int i = 0; i < 10; i++) { ... } 여기서 반복을 제어하는 변수는..

o.s.b.d.LoggingFailureAnalysisReporter 에러 해결

스프링 프로젝트 환경설정을 위해 spring initializer를 이용했다. 이떄 의존성으로 lombok, web-starter, mustache, spring JPA를 동시에 의존성으로 받아줬다. 그리고 바로 실행했는데 다음과 같은 에러가 나왔다. 찾아본 결과 해당 에러는 데이터베이스 설정과 관련된 에러였다. 그런데 기본 설정만 한 상태로 바로 스프링을 실행했기에 크게 에러가 나올 상황이 없었는데 에러가 나서 당황했다. 일단 데이터베이스 문제가 있을 때 생기는 에러라는 것을 알았기 때문에 spring JPA를 삭제하고 다시 돌려보니 문제가 없어졌다. 위 나온 오류와 경험을 토대로 판단한 결과 보통 JPA를 사용할 때 사용할 데이터베이스를 같이 설정해주는데 여기서는 데이터베이스 설정을 하지 않아 JPA..

Java/Spring 2023.09.01