전체 글(114)
-
@Builder will ignore the initializing expression entirely 경고 해결
.../entity/Member.java:33: warning: @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. If it is not supposed to be settable during building, make the field final. private List posts = new ArrayList(); 빌드를 하던 와중에 이런 경고가 나왔습니다. Builder는 초기화 식을 아얘 무시한다는 경고문입니다. 원인 저의 Member 엔티티입니다. 여기서 경고를 일으키는 문제점은 posts, co..
2023.11.01 -
postman 띡띡딸깍 귀찮아서 테스트 코드 짭니다
매번 기능 만늘때마다 postman 띡 띡 딸깍 하며 기능 테스트 하는 게 너무나 귀찮습니다. '귀차니즘'이 많은 개발자냐고요? 네! 그거 잘못된 거 아니냐고요? 는 장난입니다만, 사실 진짜 알빠노이긴 합니다. 저는 귀찮은 일은 정말 질색입니다. 매번 기능, 코드 수정할 때 마다 일일히 postman 띡띡딸깍 하기 싫기도 하죠. 그리고 많은 사람들이 CI/CD 를 구축했다면서 테스트 없는 CI 를 구축한 경우를 여럿 봐왔는 데 사실 이건 CI 가 아니라고 생각합니다. 추후 생길 (사실 이미 매번 배포하다가 귀찮음을 겪어버리고) CI/CD 구축을 위해서라도 테스트 코드를 작성해야 할 이유가 있죠. 그래서 이번 기회에 아얘 테스트 코드를 작성하기로 했습니다. 뭘 테스트 해야 하나? 결국 나는 어플리케이션을 ..
2023.10.31 -
Spring Boot JUnit5 : JPA metamodel must not be empty 에러 솔루션
상황 아마 이 에러가 나신 분들은 Controller 에 대한 유닛 테스트 코드를 작성하고 실행하니 에러가 나셨을 겁니다. 많은 분들이 영한님의 Spring Data JPA 강의를 수강 후, 프로젝트 시작 시에 만들어지는 Applicaiton 파일에 붙여둔 @EnableJpaAuditing 어노테이션 때문에 에러가 나게 되는 겁니다. 어째서냐? 원인 Using this annotation will disable full auto-configuration and instead apply only configuration relevant to MVC tests (i.e. @Controller, @ControllerAdvice, @JsonComponent, Converter/GenericConverter, F..
2023.10.31 -
사이드 프로젝트여도 기획이 중요한 이유 (feat. 그게 그저 게시판 프로젝트여도...)
요즘 들어, 간단한 프로젝트를 하더라도 탄탄한 기획 및 계획이 없이 프로젝트를 진행하는 것에 대한 비효율성에 많이 체감을 하고, 그렇게 하지 않으려고 노력합니다. 개발자이지만, 개발이라는 과정은 기획 부터 코드 타이핑까지의 과정이라고 생각을 하게 됩니다. 사실, 오히려 개발이라는 과정은 기획이 전부이지 않을까? 라는 생각도 하고. 최근 알던 기술 및 신기술을 테스트 하기 위한 GitHub - xpmxf4/MonsterBoard Contribute to xpmxf4/MonsterBoard development by creating an account on GitHub. github.com 게시판 프로젝트를 진행 중에 있습니다. 처음 프로젝트를 진행할 때에는 일단 박자! 라는 마인드로 아무런 기획없이 시작했..
2023.10.30 -
HttpMediaTypeNotAcceptableException: Could not find acceptable representation
위와 같은 코드를 작성했고 이 Controller에서 DB 조회 후 MemberResponseDTO에 담아 보내게 되는 단순한 로직이다. 전에는 갑자기 잘 되던 api 가 ResponseDTO로 바꾸고 나서 잘 안 되길래 뭔가 싶더니 HttpMediaTypeNotAcceptableException라는 에러가 났다. 그래서 직접 에러를 검색해 보니, 클라이언트가 받을 수 있는 response를 만들 수 없다는 에러이다. 실제로 postman에서도 다음과 같은 에러가 나온다. 하지만 로그를 보면 즉, DB에 쿼리를 하는 과정까지는 문제가 아니었음을 알 수 있다. 그렇다면 쿼리를 하고 나서 클라이언트에게 올바를 형태를 주지 못한다는 것이고, 그래서 DTO를 봤더니 @Getter 가 없었다. 여러분은 꼭 @Ge..
2023.10.30 -
H2 console, Access denied for user 'root'@'localhost' (using password: NO) 28000/1045
강의 중에 H2 console로 mariadb에 접속을 해야 하는 일이 있었다. 위와 같이 입력후 `Test Connection` 을 누르니 다음과 같은 에러가 났다. 비밀번호를 입력을 했음에도 불구하고 비밀번호가 틀린것도 아니고 using password: NO 라니 그래서 뭔가 하고 GPT 한테 두드렸더니 버전 문제가 있을수도 있다고 하는 걸 보고 내 build.gradle 파일을 확인해 봤더니 버전이 명시적으로 적혀져 있었다. 내 스프링 부트에 뒤떨어진 버전인가 하고 이렇게 바꾸고 나니, 스프링 부트가 3.1.4. 를 import 해왔고 다시 실행해 보니 아주 잘된다! 결론 비밀번호를 입력해도 값이 넘어가지 않으면 드라이버 버전 호환을 따져보자
2023.10.25