
오늘은 트래픽을 더 감당하기 위한 서버의 구성을 위해 가장 심플하게 자바로 생성할 수 있도록 코드로 작성해보려고 합니다. 트래픽이라고 하는 용어는 한 사람이 웹 페이지에 들어갔을 때 보여지기 위해 서버로 요청하는 횟수를 의미하고, 웹 페이지에 연결되어 있는 API의 갯수만큼 트래픽 수가 쌓이게 됩니다. 예를 들어, 우리 블로그 페이지에서 보았을 때 이 페이지에서 본문의 내용과, 댓글, 태그나 최근에 올라온 글들을 보여주기 위해서는 트래픽 수가 아래처럼 되겠죠. 본문의 내용을 보여주기 위한 API 호출 - 트래픽 1건 댓글 목록을 위한 API 호출 - 트래픽 1건 태그 목록을 위한 API 호출 - 트래픽 1건 최근에 올라온 글 목록을 위한 API 호출 - 트래픽 1건 그래서 위와 같이 화면 구성을 하여도 ..
이번 글에서는 QueryDSL 을 사용하기 위해 매번 CustomRepositoryImpl이 번거로워 테스트 클래스에서 사용하는 방법을 보여드리고, 거기에서 잘 수행되는지 확인해볼까 합니다. 가장 먼저 테스트 클래스를 만들어야겠죠. 테스트 클래스를 생성합니다. QueryDSLTest.java @SpringBootTest @Transactional(realOnly = true) public class QueryDSLTest { @Autowired // 원래는 @PersistenceContext 을 많이 썼는데, 이제는 오토와이어도 잘됩니다. private EntityManager em; @BeforeEach // 기본적으로 테스트가 시작하기 전에 실행하는 함수 void createTest() { } @Te..

JUnit Test 에서 Lazy Init, 즉 FetchType.LAZY 인 경우에 발생하는 에러가 있습니다. junit test could not initialize proxy - no Session @Test void lazyLoadingEntitiesTest() { for(Domain domain : domains) { > final List subDomains = domain.getSubDomains(); for(SubDomain subDomain : subDomains) { System.out.println(subDomain); } } } 이런 경우 해결하는 방법으로는 @Transactional 을 메소드 상단에 붙여주면 해결됩니다. @Test @Transactional void lazyLoa..