Mac OS 로컬환경에 Redis를 설치하는 도중 home brew update를 진행하고자 brew update 명령문을 날리는 순간. Error: homebrew-core is a shallow clone. To `brew update`, first run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow This command may take a few minutes to run due to the large size of the repository. This restriction has been made on GitHub's request because updating shallow clones is ..
HTTP Request 요청 정보중에서 Query Param Request Body 위 두가지의 유효성 검사를 위해서 javax.validation.contraints 패키지 내의 @NotNull, @NotEmpty, @NotBlank 등의 어노테이션을 활용하는 경우가 있다. @NotNull은 Nullable한 타입에 선언해야하는데.. 왜냐하면 int나 char 같은 primitive 타입은 null을 포함할 수 없기 때문이다. 이와 마찬가지로 @NotBlank와 @NotEmpty도 마찬가지로 유효성 검사를 진행할 수 있는 타입이 존재한다. @NotBlank 단 하나의 공백 문자열도 포함하지 않는다. -> 오로지 문자열에 해당함.(String, CharSequance) 주석내용 : The annotate..
Mybatis 관련 예제를 작성하던 중 class 이름을 변경해야하는 일이 있었습니다. 저는 익숙하게 인텔리제이의 기능을 활용하여 (Shift + F6) 클래스를 수정했는데.. 관련 클래스가 어디엔가 String 타입으로 선언되어 있다면.. 해당 클래스 이름도 바꿀지 말지에 대한 창이 나옵니다. 무심코 아니요를 눌렀고.. 테스트 코드를 돌렸더니 아래와 같은 에러메시지가 나왔다. Caused by: org.apache.ibatis.type.TypeException: Could not resolve type alias 'co m.xxx.xxx.XXXApplication.Test'. Cause: java.lang.ClassNotFoundException: Cannot find class: co m.xxx.xx..
안녕하세요. 오늘은 MyBatis를 활용하던 도중 발생했던 에러에 대해서 공유하고자 합니다. 먼저 발생한 Exception은 postgresql 쪽에서 PSQLException으로 던지고 MyBatis 에 의해 Exception이 Wrapping 되어 가장 가까운 Exception은 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: 이런 메시지로 노출되게 됩니다. cause를 쫓아 가게되면 결국 PSQLException으로 Caused by: org.postgresql.util.PSQLException: Th..
오브젝트 컨버터로 Mapstruct 라이브러리를 활용하는 중에 보통 컴파일 실패시 어떤 추상 메소드에서 어떤 매핑에 실패했는지에 대해서 알려준다. 하지만 어떤 원인인지는 모르겠지만 maven을 활용하면서 굉장히 raw한 에러메시지를 만났고 전혀 어떤 원인에 의한 에러인지 확인할 길이 없었다. 컴파일 에러면 보통 컴파일러가 어느 지점에서 어떤 정확한 사유때문에 컴파일 할 수 없다고 알려주게 되는게 보통 나의 경험이었는데.. 오류를 해결하기가 매우 까다로웠다. 그때, 아래의 스택오버플로우를 발견하여 해결했다. 우선 에러메시지는 아래 참조페이지에서 본것과 마찬가지로 빌드 실패하며 stack을 띄우는데 "C:\Program Files\Java\jdk-14\bin\java.exe" -Dmaven.multiModu..
자바 스프링 환경에서 개발하게되면 습관적으로 Lombok을 주입받아 많이 사용하곤 한다. 그중에서 @Builder 어노테이션이 편한 사용성때문에 많이 쓰게되는데 오늘은 초기값을 설정했을 때 발생하는 오류를 공유하고자 한다. @Builder @Data public class OrderListRequest { private String market; // 마켓 아이디 private List uuids; // 주문 UUID의 목록 private List identifiers; // 주문 identifier의 목록 private OrderState state; // 주문 상태 private List states; // //미체결 주문(wait, watch)과 완료 주문(done, cancel)을 혼합하여 조회하..
아이맥에서 작업하던 프로젝트를 m1 맥북에 새로 셋팅하다가 발견하게된 에러 로그. 로그를 보니 기존 아이맥은 maven 버전이 3.8.1 버전 미만이었나보다 싶어서 maven 버전을 사용하던 버전으로 맞춰주면 되지 않을까? 싶어서 찾아봄. 하지만 재택중이라 현재 회사 아이맥의 메이븐 버전을 직접확인할 수는 없어서 임시방편으로 인텔리제이가 사용하는 maven 버전을 프로젝트에서 읽어오도록 변경함. preferences -> 빌드, 실행, 배포 -> 빌드도구 -> Maven 경로에서 Maven 홈 경로(H) 를 찾아 Maven 래퍼 사용으로 수정. 해당 설정은 .mvn/wrapper/maven-wrapper.properties 에 정의된 값을 읽으므로 기존 프로젝트에서 쓰던 메이븐 버전으로 불러올 것임. 깔..
S3에서 암호화된 파일을 다운로드 받는 도중 발생하는 에러처리중 해당 메시지가 브라우저 콘솔에 노출되어 써칭해보았습니다. net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION CONTENT_DISPOSITION 해당 헤더를 사용중이긴 했는데 뭔가 헤더 설정과 브라우저(크롬)와의 문제가 발생한 것으로 예상됩니다. CONTENT_DISPOSITION 헤더는 컨텐츠가 브라우저에 inline 되어야 하는 웹페이지 자체이거나 웹페이지의 일부인지, 아니면 attachment로써 다운로드 되거나 로컬에 저장될 용도록 쓰이는 것인지를 알려주는 헤더입니다. Content-Disposition: attachment; filename=파일명.jpg 대략 위와 같이 구성되는 헤더입..