Trouble Shooting

최근, Java 17 + Spring Boot 3.0.2 버전을 사용하는 프로젝트에서 Jackson과 관련된 이슈를 발견했다. 글 작성의 편의를 위해 아래에서는 회원가입 API를 구현해야 하는 상황을 가정한다. Jackson의 동작원리와 Introspection이라는 개념에 대해 알고 있어야 한다. - [Spring] Jackson 라이브러리 이해하기 - [Java] 처음 들어보는 java.beans.Introspector 1. 발단 회원가입에 필요한 정보를 request body로 받기 위해, 아래와 같이 Java 16부터 정식으로 도입된 record 타입으로 생성했다. record SignUpRequest( @NotEmpty String name @NotEmpty String address, @Not..
2022년 12월에 런칭된 서비스 "어랏"을 개발하며 발생한 버그에 대한 경험을 작성한 글이다. 본인인증과 관련된 꽤 중요한 기능의 버그였는데, 런칭 전에 찾아내어 다행이었다. 아래 링크들을 참고하여 작성하였다. - https://kwonnam.pe.kr/wiki/springframework/transaction/transactional_event_listenerspringframework:transaction:transactional_event_listener [권남]kwonnam.pe.kr- https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/event/TransactionalEv..
public enum UserStatus { NORMAL, DORMANT, SUSPENDED } 위와 같은 enum 클래스가 있다고 가정하자. UserStatus status = ...; switch(status) { case UserStatus.NORMAL: .... break; case UserStatus.SUSPENDED: .... break; } 위처럼 switch 문을 사용하면 "An enum switch case label must be the unqualified name of an enumeration constant" 라는 에러가 발생한다. 아래처럼 바꿔주면 에러는 사라진다. UserStatus status = ...; switch(status) { case NORMAL: .... bre..
MultiPartFile 타입으로 파일 업로드 테스트를 하던 중 아래와 같은 에러가 발생했다. The field file exceeds its maximum permitted size of 1048576 bytes 아래 Stack Overflow에서 해결 방법을 찾았음. https://stackoverflow.com/a/48428279 How to set the max size of upload file I'm developing application based on Spring Boot and AngularJS using JHipster. My question is how to set max size of uploading files? If I'm trying to upload to big file I..
(2021.08.12) 추가 분명 아래 해결 방법으로 수정하여 QA 서버에서 잘 동작하던 쿼리가 운영 서버에서는 또다시 글 제목과 같은 에러가 발생했다. 그래서 '운영 서버 코드에 내가 수정한 내역이 적용 되지 않았나..?' 하는 말도 안되는 일을 의심하며 확인했지만.. 역시 그런 일은 없었다. 그럼 뭘까.. SSMS는 자꾸 조회 쿼리의 첫 줄에서부터 에러가 발생한다고 묵묵히 로그를 뱉는다. 진짜 혹시나 해서 SELECT 앞에서 delete 키를 눌러봤는데.. ...? 눈에 보이지 않는 글자 하나가 지워진다. 협력사 굇수 형님께 여쭤보니 인코딩 문제일 가능성이 높다고 하신다. 그래서 개발자들 사이에서 이런 환경 세팅을 다 동일하게 해야 한다고.. ㅠ 하여튼 진짜 끝... SSMS에서 쿼리 수정 후, xm..
이 글을 읽기 전에 트랜잭션에 관해 작성한 글을 읽는 것을 추천한다. 오늘 회사에서 운영 업무를 하며, 게시글 하나를 지워 달라는 요청이 들어왔다. 해당 게시글이 DB에서 갖고 있는 Column 중 하나를 UPDATE만 해주면 되는 간단한 요청이었다. 그런데 두 시간 걸렸다. 데이터 수정 작업이다 보니 BEGIN TRAN을 사용하여 데이터를 바꾸고 애플리케이션 작동이 잘 되는지 확인하려고 했다. 그런데 해당 데이터를 사용하는 화면의 게시글들을 불러오는 쿼리에서 계속 멈춰있었다. 해당 쿼리를 SSMS나 DBeaver같은 DB 클라이언트 툴에서 실행해보면 잘 돌아가는데 말이다. BEGIN TRAN ? Begin Transaction이라는 뜻으로, MSSQL에서 제공하는 보호 기능이다. (MS 공식 문서) 무..
대흉근
'Trouble Shooting' 카테고리의 글 목록