![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRSPR3%2FbtrR9NooGwr%2Fs7qMqWZTUo6PR1n1CHXmx1%2Fimg.png)
[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..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgXLuY%2FbtrSdaJyU8g%2FyBXoyz1iI3PIByCPpRAcz0%2Fimg.png)
[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..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FedUFdz%2FbtrLSvfFJrB%2FgidAgYr6VOBSX3GsZKFO0K%2Fimg.gif)
[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 지속적 배포/제..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7PFM3%2FbtrLFhhp0q5%2FxSxx8kZDEMhnOa5zmBkwek%2Fimg.gif)
[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툴..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcbijy7%2FbtrLiqGyI8j%2F6JkW06XkepOtmJWw8IdCF0%2Fimg.png)
[자바/자료구조] Array(배열)과 LinkedList(연결 리스트) 그리고 ArrayList에 대한 정리[2] - ArrayList 사용법과 예제
2022. 9. 4. 22:11
몰아 넣기
지난 글 2022.09.03 - [JAVA/자료구조] - [자바/자료구조] Array(배열)과 LinkedList(연결 리스트) 그리고 ArrayList에 대한 정리[1] - 개념 및 배열 사용법 및 예제 들어가는 글 각 자료구조의 개념과 배열의 사용법 및 예제는 이전 글에 정리를 했습니다. ArrayList 사용법 Java언어의 경우 Collection framework라는 자체 라이브러리로 인해 ArrayList DataStructure를 기본적으로 내장하고 있기 때문에 우리가 직접 구현할 필요는 없습니다. 따라서 Java에서 제공하는 ArrayList API 기본적인 사용방법에 대해 알아보겠습니다. 기본적인 사용방법으로서 생성, 추가, 삭제, 가져오기, 크기, 반복을 실습을 통해서 공부해보겠습니다...
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv9kSW%2FbtrLhYpyYj0%2FF4wP6YXgmtJoTXZnU2UZck%2Fimg.png)
[자바/자료구조] Array(배열)과 LinkedList(연결 리스트) 그리고 ArrayList에 대한 정리[1] - 개념 및 배열 사용법 및 예제
2022. 9. 3. 22:40
몰아 넣기
들어가는 글 자바를 처음 배울 때는 Array에 대해서 많이 배우고 다루었다. 하지만 ArrayList라는 자료구조를 알고 나서 너무 편리해 ArrayList만 써왔고 주변에서도 ArrayList만 사용하였다. 자료구조라는 파트에 들어가 LinkedList를 알게 되었지만 ArrayList보다 불편했다. 하지만 코테를 준비하면서 배열을 많이 이용을 했고 문득 든 생각이 배열과 리스트 그리고 LinkedList는 무슨 차이가 있고 각 쓰임이 어떻게 다른지 알고싶어 공부하여 정리를 하게 되었다. 배열(Array) 과 LinkedList(연결 리스트)란? 공통점 배열과 연결리스트 둘다 여러 개의 데이터를 하나의 이름으로 그룹핑해서 관리 하기 위한 자료구조이다. 차이점 경우 Array LinkedList 크기 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnocLJ%2FbtrKUSQBDs3%2FyZFzsL9zpCNUJC0sqExDDK%2Fimg.png)
[Spring] @Valid, @Validated 에 대해서 정리[2] - @Validated 예제
2022. 9. 1. 21:55
몰아 넣기
들어가는 말 2부는 @validated 에 예제가 있으면 @Valid 예제가 보고싶다면 아래 링크로 이동해주세요 하지만 큰제목 1~ 2에 대한 내용은 1부와 동일합니다. 2022.09.01 - [JAVA/스프링(Spring)] - [Spring] @Valid, @Validated 에 대해서 정리[1] - @Valid 예제 1. Gradle 및 maven 메이븐저장소로 이동해 원하는 버전의 Hibernate Validator Engine 라이브러리를 다운 받으시면 됩니다. // validator implementation group: 'org.hibernate.validator', name: 'hibernate-validator', version: '6.2.0.Final'JAVA 2. @Valid와 @Va..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbZZskz%2FbtrK47Oi1Ng%2FuVrhTc9bGmIvuZQNqzLwTK%2Fimg.png)
[Spring] @Valid, @Validated 에 대해서 정리[1] - @Valid 예제
2022. 9. 1. 14:25
몰아 넣기
들어가는 말 @validated @Valid 사용하면 비지니스 로직에 유효성 체크하는 코드가 줄어들어 전체적인 비지니스 로직이 간결해지는 것을 많이 느꼈다. 하지만 항상 쓸 때마다 까먹어 전에 했던 프로젝트를 계속 보는데 이곳 저곳에서 보는것이 매우 불편해, 블로그에 정리하여 한방에 보기위해 글을 정리했습니다. Gradle 및 maven 메이븐저장소로 이동해 원하는 버전의 Hibernate Validator Engine 라이브러리를 다운 받으시면 됩니다. // validator implementation group: 'org.hibernate.validator', name: 'hibernate-validator', version: '6.2.0.Final' @Valid와 @Validated 대해서 @Val..