프로젝트
-
[Spring] 저장 @Transactional 선언적트랜잭션프로젝트 2024. 9. 1. 23:42
스프링에서 트랜잭션 처리 방법 중 한 가지는 어노테이션 방식으로@Transactional을 선언하여 사용하는 방법이며 선언적 트랜잭션이라고 부른다. @Service@RequiredArgsConstructorpublic class ExService { private final ExRepository exRepository; /** * Ex 조회 * * @param RetrieveExInDto InDto * @return RetrieveExOutDto OutDto */ public List retrieveEx(RetrieveExInDto inDto) { return exRepository.retrieveEx(inDto); } /*..
-
[Mybatis] 동적쿼리 foreach문 Null 체크프로젝트 2024. 9. 1. 18:29
부장님께서 말씀해 주신 두 번째는 mybatis > list로 파라미터가 넘어올 때 foreach문에서 null 체크하는 부분이었다. SELECT EX_CD AS CODE , EX_NM AS NAME , EX_CD||'.'||EX_NM AS VALUE FROM EX_TABLE WHERE 1 = 1 AND EX_CD IN #{item} ORDER BY 1 ASC/* ONLINE : [ex.repository].[ExRepository].[retrieveExList] */우선 이번 프로젝트를 진행하면서 Array/Lis..
-
[Java / Spring] @Valid & @Validated프로젝트 2024. 9. 1. 18:02
역삼에서 프로젝트를 마무리하면서 부장님께서 감사하게도 간단한 코드 리뷰를 해주셨다.그중 첫 번째 말씀하셨던 부분은 어노테이션 @valid 와 @validated서버 API를 구현하며 꼭 사용했던 어노테이션인데 두 개의 차이조차 인지하지 못하고 있었다는 점을 반성하며 정리해보려 한다. 1. @valid & @validated비슷해 보이는 두 개의 어노테이션 차이점은 뭘까 ? @valid - JSR 자바 표준 스펙- 컨트롤러 메서드의 유효성 검증- 유효성 검증 실패 시 MethodArgumentNotValidException 발생 @validated- 스프링 프레임워크가 제공하는 기능- AOP 기반으로 스프링 빈의 유효성을 검증하기 위해 사용되며 클래스에는 @validated, 메서드에는 @valid를..
-
[스프링부트/intellij/maven] JPA Querydsl 추가프로젝트 2024. 2. 14. 20:03
책에 나온대로 pom.xml 수정했지만 target 아래에 Qitem 생기지 않음 https://stackoverflow.com/questions/33741379/spring-data-jpa-specifications-and-querydsl Spring Data JPA - Specifications and Querydsl I'm trying to integrate QueryDSL to my existing project with Spring Data, I've tried different samples and now I've decided to stick to this one Advanced Spring Data JPA - Specifications and Queryd... stackoverflow.co..
-
CORS란 ?프로젝트 2023. 5. 5. 14:00
@CrossOrigin - 웹 생태계에서 다른 출처로의 리소스 요청을 제한하는 것과 관련된 두 가지 정책 1) CORS : 다른 출처 리소스를 공유 ( 브라우저의 구현 스펙에 포함되어 있는 정책, 서버 간 통신을 할 때는 정책이 적용되지 않는다 ) > 해결책 : 서버 어플리케이션의 응답 헤더에 Access-Control-Allow-Origin 세팅하기 2) SOP : 같은 출처에서만 리소스를 공유할 수 있다 > SOP에서 정의된 예외 조항과 CORS를 사용할 수 있는 케이스들이 맞물리지 않을 경우 리소스 요청을 할 수 없는 경우도 있다 ( 출처: protocol+host+port number ) CORS(Cross-Origin Resource Sharing) - 웹 페이지의 제한된 자원을 외부 도메인에서..
-
schema란?프로젝트 2023. 5. 4. 13:55
schema : 1) 데이터베이스에서의 기본 개념, 기본 구조로 언급되는 스키마 : 데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것 - 개체의 특성을 나타내는 속성, 속성들 집합으로 이루어진 개체, 개체 사이에 존재하는 관계에 대한 정의와 이것들이 유지해야 할 제약조건을 기술한 것 - 데이터베이스 내에 어떤 구조로 데이터가 저장되는지 나타내는 데이터베이스 구조 2) JSON, XML에서 언급되는 스키마 : JSON, XML은 데이터를 형식화하는 방법으로 여기서 사용되는 스키마는 데이터 구조를 알 수 있게 해 주고, validation에서 활용된다 (참고) https://itkjspo56.tistory.com/94 https://gkqlgkql.tistory.com/83 https://po..
-
open API 명세서를 반환하는 API 작성프로젝트 2023. 5. 3. 13:52
1) info : api에 대한 메타데이터, 이 정보는 문서 생성에 사용되며 클라이언트가 사용할 수 있다. 제목/버전 필수 2) server : api를 호스팅 하는 서버 목록이 선택적으로 포함된다. 호스팅 된 api 문서가 대화형인 경우 swagger ui에서 이를 사용해 api를 직접 호출하고 응답을 표시할 수 있다. 기본은 호스트된 문서 서버의 루트(/)를 가리킨다. - 호스트 : 네트워크에 연결되어 있는 컴퓨터들, ip주소를 가지고 있고 양방향 통신이 가능한 컴퓨터 - swagger : Open Api Specifiaction (OAS)를 위한 프레임워크, OAS는 Restful 웹서비스를 약속된 규칙에 따라 API 스펙을 json과 yaml 형식으로 표현한다. 이를 통해 직접 소스코드를 보거나 ..
-
API, 플러그인, 메이븐 프로젝트프로젝트 2023. 5. 2. 13:43
API ( Application Programming Interface ) : 어떠한 방식으로 정보를 요청해야 하는지, 그러한 요청을 보냈을 때 어떠한 형식으로 무슨 데이터를 전달받을 수 있는지에 대한 규격 : 애플리케이션( 스마트폰, 카카오톡 서버 등 서로 다른 프로그램 )이 인터페이싱하는 ( 요청과 응답을 주고받는 ) 체계 : 눈에 보이지 않는 소프트웨어 인터페이스 cf. 라이브러리 : 소프트웨어 개발에 사용되는 프로그램의 구성요소들 중에서 공통으로 사용될 수 있는 특정 기능들을 모듈화한 것, 그 기능을 사용하기 위해 언제든지 필요한 곳에서 호출하여 사용할 수 있도록 class, function으로 만들어진 것 cf. 프레임워크 : 프로그램의 기본 구조(뼈대), 코드의 품질, 필수적인 코드, 알고리즘..