공부5 [육각형 아키텍처] 데이터 기본값은 어디에서 세팅해야 할까? 데이터 기본값DB의 컬럼 중 Not Null 성격을 갖는 컬럼들은 가끔 기본값(Default Value)을 설정해야 할 일이 생긴다.예시로 soft Delete를 사용한다면 새 튜플이 생성되었을 때 isDeleted값은 false로 세팅될 것이다.레이어드 아키텍처를 적용할 때에는 엔티티가 DB로 바로 연결되기 때문에 @Default를 사용해 세팅했었는데, 육각형 아키텍처를 적용하면서 고민이 생겼다. 매퍼를 사용해 각 객체 간 변환이 이루어질 때, 데이터 기본값을 어디에서 세팅해야 할까?여기에서 다루는 메서드는 create, update이다. create는 새 객체를 만들어 저장하고, update는 존재하는 객체를 불러와 값을 변경한 뒤 다시 저장한다.매퍼가 어떤 객체를 어떤 객체로 매핑하는지에 따라 관점.. 2025. 2. 10. [육각형 아키텍처] 육각형 아키텍처 적용기 프로젝트 깃허브 링크: https://github.com/nahowo/Alchive_hexagonalUser Update더이상 JPA에 의존하지 않기 때문에 더티 체킹이 불가능하다.레이어드 아키텍처에서처럼 도메인에 update 메서드를 두는 대신 네이티브 쿼리를 이용해 update를 구현했다.UserControlleruser id를 PathVariable로, updateDTO를 RequestBody로 받아 요청한다.현재 user @AuthenticationPrincipal이 적용되어 있지 않아서 로그인된 유저가 아니더라도 회원정보 변경이 가능하다.jwt 디렉토리를 수정하자.[ ] Jwt 컨트롤러 제거[ ] 액세스 토큰 만료 시 리프레시 토큰으로 자동 재발급 로직 추가user create를 수정하자.[x].. 2025. 2. 9. Gradle 의존성(Dependencies) 주요 공식문서 정리 참고자료1. Declaring dependencies2. Dependency ConfigurationsProducers & Consumers라이브러리를 빌드하는 주체를 producer, 해당 라이브러리를 사용하는 사람들, 즉 해당 라이브러리에 의존하는 주체를 consumer라고 부른다. consumer는 다른 프로젝트에 의존하는 프로젝트/의존성을 명시하는 configuration이라고 정의할 수 있다.producerLibraryAPISDKconsumerweb applicationmobile applicationcloud application의존성 추가dependencies {} 블록을 사용해 gradle에 의존성을 추가할 수 있다.외부 의존성은 configuration 이름을 사용해 명시한다.implem.. 2025. 2. 6. [단위 테스트] JaCoCo + CI Github Actions 배지 생성하기 JaCoCo 프로젝트 적용build.gradleplugins { id 'java' id 'org.springframework.boot' version '3.2.3' id 'io.spring.dependency-management' version '1.1.4' id 'org.hibernate.orm' version '6.4.4.Final' id 'org.graalvm.buildtools.native' version '0.9.28' id 'jacoco' } test { finalizedBy jacocoTestReport } jacocoTestReport { dependsOn test reports { xml.required = true html.required = true } } jacoco { toolVe.. 2025. 2. 6. 이전 1 2 다음