분류 전체보기

Spring Framework/Spring

Spring AttributeConverter로 엔티티와 DB 컬럼 간 데이터 변환하기 - 엔티티와 DB 컬럼 매핑

Converter란DB에서 어떤 값을 저장할 때 전/후 처리가 필요한 경우가 있습니다.이를 Spring AttributeConverter 인터페이스를 구현하여 처리할 수 있습니다. 사용 예시로, 자바 코드에서는 성과 이름을 따로 관리하고, 데이터베이스에서는 성이름을 그대로 저장하려는 경우 어떻게 처리하는지 보겠습니다. AttributeConverterpublic interface AttributeConverter { public Y convertToDatabaseColumn (X attribute); public X convertToEntityAttribute (Y dbData);}convertToDatabaseColumn : 데이터베이스 컬럼으로 변환해주는 메서드이며, 자바 객체를 어떻게 변..

Spring Framework/QueryDSL

Querydsl 날짜 연산 문제 해결 : Interval 예약어 미지원 - Java 날짜 객체를 사용하기

문제 상황Querydsl을 통해 MySQL에 날짜 함수를 적용하려고 하는데 이슈가 있었다.날짜 함수를 적용하기 위해서는 Expressions.stringTemplate 을 이용하면 원하는 mysql 함수를 적용시킬 수 있다고 생각했다.날짜 연산이 들어간 조건문을 만들어 디버깅을 하는데 해당 조건을 인식할 수 없다고 에러가 발생했다. reasonHibernate에서 아직 INTERVAl 예약어를 지원하지 않는다. QueryDsl 코드는 컴파일 이후 Hibernate로 변경되어 실행되므로, Hibernate에서 지원하지 않는 예약어는 사용할 수 없다!! (Querydsl은 HQL(Hibernate Query Language) 쿼리를 Type-Safe 하게 유지보수해야 할 필요로 탄생했다.) Querydsl ..

Infra/Kubernetes

Helm 차트란, helm 구조 이해하기

helm search 차트 찾기# 1. Helm Hub에서 검색helm search hub workpress# 2. Local에 추가된 저장소에서 검색helm search repohelm search hub는 여러 저장소들에 있는 헬름 차트들을 포괄하는 helm hub 를 검색합니다.helm search repo는 helm repo add를 사용하여 로컬 헬름 클라이언트에 추가된 저장소들을 검색한다. 검색은 로컬 데이터 상에서 이루어지며, 퍼블릭 네트워크 접속이 필요하지 않습니다. helm install# 1. 패키지 설치helm install happy-panda stable/mariadb# 2. 상태 확인helm status happy-panda# 3. 릴리스 제거helm uninstall happy..

개발 도서/만들면서 배우는 클린 아키텍처

클린 아키텍처란 무엇인가, 계층형 아키텍처의 문제점과 함정

일반적인 계층형 아키텍처계층형 아키텍처의 흐름은 간단하게 설명하면웹 계층에서 클라이언트 요청을 받습니다.요청을 받아 도메인 혹은 비즈니스 계층에 있는 서비스로 요청을 전달합니다.서비스 계층에서 필요한 비즈니스 로직을 수행합니다.도메인 엔티티의 현재 상태를 조회하거나 변경하기 위해 영속성 계층의 컴포넌트를 호출합니다.위에서 설명했듯이, 웹에서 도메인 그리고 영속성 방향으로 요청이 흘러감을 알 수 있습니다. 여기서 생기는 문제점이 있습니다. 자연스럽게 웹 계층은 도메인 계층에 의존하게 되고, 도메인 계층은 영속성 계층에 의존하게 되어, 결론적으로 데이터베이스에 의존하게 되는 문제가 발생합니다. 이것이 왜 문제가 되냐면,애플리케이션의 목적은 비즈니스를 관장하는 규칙이나 정책을 반영한 모델을 만들어서 사용자가 ..

kylo
'분류 전체보기' 카테고리의 글 목록 (10 Page)