트리란?트리는 계층적 구조를 가지는 자료구조로, 노드(Node)와 그 사이의 연결인 엣지(Edge)로 구성된다.부모-자식 관계를 통해 노드들이 계층적으로 연결된 형태를 가진다.트리는 일반적으로 계층적 데이터를 표현, 검색, 정렬과 같은 문제를 해결하는 데 사용된다. 트리의 기본 구성 요소노드(Node) : 트리의 기본 단위, 데이터와 자식 노드에 대한 정보를 담고 있다.(Root, Parant, Child, Leaf 등에 해당된다.)엣지(Edge) : 트리의 각 노드가 부모와 자식 노드를 연결하는 선이다.부모(Parent) : 자식을 가진 노드이다.자식(Chlid) : 부모 노드로부터 연결된 노드이다.서브트리(Subtree) : 트리의 한 노드와 그 노드의 자식들로 구성된 트리이다.리프(Leaf) : 자..
기존에는 Postman을 사용해 API 테스트를 진행했지만, 단순한 요청 및 응답 검증만 가능해 내부 비즈니스 로직을 철저히 검증하기 어려웠다.Postman을 이용한 기존 테스트 방식애플리케이션 실행Postman을 이용해 API 요청 후 응답 확인콘솔에 출력된 로그를 직접 확인예상 결과와 다르면 코드 수정 후 다시 실행이 과정을 정상적인 결과가 나올 때까지 반복해야 했고, 테스트에 많은 시간을 소모하게 되었다.이러한 비효율적인 방식에서 벗어나기 위해, Spring Boot 테스트 프레임워크를 활용한 단위 테스트와 통합 테스트를 도입하기로 결정했다. 테스트를 위한 어노테이션기본 테스트 어노테이션@TestJUnit에서 제공하는 기본 테스트 메서드 어노테이션@DisplayName("테스트 설명")테스트의 가독..
1. Querydsl이란?Querydsl은 Java 애플리케이션에서 타입 안전한 쿼리를 작성할 수 있도록 도와주는 라이브러리로, 기본적으로 Q 클래스를 통해 엔티티 클래스의 속성에 접근하여 동적 쿼리를 생성한다. Q 클래스는 컴파일 타임에 타입 안전성을 제공하며, 이를 통해 쿼리 빌더(JPAQuery, SQLQuery 등)를 사용해 조건에 맞는 쿼리를 동적으로 구성할 수 있다. 쿼리 실행 시, 데이터베이스에 맞게 변환된 쿼리가 실행되며, 결과는 fetch(), fetchOne(), fetchCount() 등의 메서드를 통해 반환된다. 이 방식은 SQL 문자열을 직접 작성하는 대신 Java 코드로 쿼리를 작성함으로써 가독성을 높이고 오류를 줄이며, 동적 쿼리 생성을 통해 복잡한 조건을 효율적으로 처리할 수..
ResponseEntitySpring Framework에서 HTTP 응답을 제어할 수 있는 클래스이다. 주로 Web Apllication에서 RESTful API를 구현할 때 사용되며, 본문(body), 상태 코드(status code), 헤더(headers) 등을 설정하는데 사용한다. 주요 특징Body : 응답의 본문을 설정한다. JSON, 문자열, 객체 등을 반환할 수 있다.Status Code : HTTP 상태 코드를 설정할 수 있다. 200 OK, 404 Not found, 201 Created 등이 있다.Headers : HTTP 응답 헤더를 설정할 수 있다. Content-Type, Authroization 등의 헤더를 추가할 수 있다. 기본 사용법@GetMapping("/message")pu..