[Spring]@Valid, @Validated 에 대해서 정리[3] - DTO구조를 이용한 @Valid
2022. 11. 27. 17:06
몰아 넣기
3부 groups을 하지 않고 Dto의 구조를 변경해 유효성검사를 하는 예제 입니다. 기존 구조 1부와 2부에서 소개된 구조는 groups에 클래스가 늘어나면 늘어날 수록, 유효성검사와 안하는 필드가 많을 수록 복잡하고 가독성이 떨어지는 단점이 있습니다. @PostMapping("/userUpdateTest") public void UserNameUpdate(@RequestBody @Validated(UserValidGroup.UserUpdate.class) UserRequestDto userRequestDto) { } @PostMapping("/userCreatTest") public void UserCreate( @RequestBody @Validated(UserValidGroup.UserCreate..
[JPA] Pageable과 countQuery 사용한 Spring-Data FETCH JOIN
2022. 11. 24. 13:37
데이터베이스/JPA
시도 아래와 같이 DB에서 페이징으로 정보를 가져와한다 .하지만 N+1 문제가 발생해 @Query 로 쿼리를 직접 적어 fetch join을 시도했다. userRepository.findAll(pageable) 문제발생 Pageable를 사용한 조회시 n+1문제가 발생해 @Query("SELECT S FROM ADMIN S LEFT JOIN FETCH....") 를 사용하여 문제를 해결하려고 했다. 하지만 아래와 같은 에러가 발생. Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was n..
[git] GitHub Actions 사용법 [2] - codeDeploy, S3를 이용한 CI / CD 파이프라인 구축하기
2022. 9. 12. 19:10
Git
CI / CD 란? 앱과 조직의 개발 리소스에 따라 새 소프트웨어를 빌드하고 출시하는 데 9개월 이상 소요될 수 있습니다. CI/CD의 목표는 이 모든 것을 바꾸는 것입니다. CI/CD는 앱 개발 단계에 자동화를 통합하는 앱 제공 방식입니다. CI/CD는 지속적인 통합/지속적인 제공 또는 배포를 뜻하며, 앱 개발 시간을 줄이고 릴리스 수를 늘리는 것을 목표로 하는 Agile 개발 방식에서 비롯되었습니다. CI 지속적 통합이라는 뜻으로 개발을 진행하면서도 품질을 관리할 수 있도록 여러 명이 하나의 코드에 대해서 수정을 진행해도 코드 변경 사항을 공유 버전 관리 리포지토리에 병합하는 방식을 설명합니다. CI를 사용하면 개발자 팀 사이에 충돌 없이 동일한 앱을 동시에 작업할 수 있습니다. CD 지속적 배포/제..
[git] GitHub Actions 사용법 [1] - 개념과 기본 사용법
2022. 9. 8. 02:31
Git
들어가는 말 gitHub Actions 는 항해99에서 CI/CD 파이프라인을 구성했을 때 사용했었다. 하지만 내가 한게 아니라서 직접 CI/CD를 해봐야겠다는 다짐을 했고 gitHub Actions 부터 시작하게 되었다 그 과정에 내가 알게 된 내용을 정리하였다. Git Actions 란? GitHub Actions는 코드 저장소로 유명한 GitHub에서 제공하는 CI/CD 즉, 프로젝트를 빌드, 테스트, 패키지, 릴리스 또는 배포하기 위해 설정할 수있는 사용자 지정 자동화 프로세스이며, 비교적 최근에 추가된 서비스입니다. 당연히 GitHub에서 코드를 관리하고 있는 소프트웨어 프로젝트에서 사용할 수 있으며 개인은 누구나 GitHub에서 코드 저장소를 무료로 만들 수 있기 있으며, 추가적인 ci/cd툴..