Technology
최근글
- Spring Batch [Spring Batch] 낙관적 잠금 오류 (OptimisticLockingFailureException) 해결하기 서론 현대의 소프트웨어 개발에서 병렬 처리와 데이터 동시성은 필수적이지만, 이로 인해 예상치 못한 오류에 직면할 때가 많습니다. 본 포스트에서는 Spring Batch에서 흔히 발생하는 OptimisticLockingFailureException 오류를 다루고, 이를 flush() 메소드를 사용하여 해결한 경험을 공유하고자 합니다. 이 오류가 프로젝트에 미치는 영향을 이해하고 대처법을 배우는 것은 모든 데이터 중심 애플리케이션 개발자에게 중요할 것입니다. 문제 상세 설명 OptimisticLockingFailureException은 낙관적 잠금 기법을 사용할 때 발생합니다. 이 기법은 동시에 같은 데이터에 여러 트랜잭션이 접근하려 할 때 사용되는데, 데이터 무결성을 보장하기 위해 데이터의 버전을 체크합니..
- Redis Spring Boot 2.x.x에서 3.x.x로 업그레이드 후 Redis에 Java 객체 저장 문제 발생 문제: Spring Boot 2.x.x에서 3.x.x로 업그레이드 후 Redis에 Java 객체 저장 문제 발생 Spring Boot를 2.x.x 버전에서 3.x.x 버전으로 업그레이드하면서 AuthUser 객체의 직렬화 및 역직렬화 과정에서 문제가 발생했습니다. 업그레이드 이전에는 이러한 이슈가 없었으나, 새 버전에서는 AuthUser 객체를 Redis에 저장하고 불러오는 과정에서 역직렬화를 할 수 없다는 오류가 발생했습니다. 해결 방법: Jackson Mix-In과 ObjectMapper 설정 이 문제를 해결하기 위해, Jackson 라이브러리의 Mix-In 기능을 활용했습니다. Mix-In을 사용하면 기존 클래스를 수정하지 않고도 직렬화 및 역직렬화 규칙을 적용할 수 있습니다. AuthUser 클래..
- Redis Spring boot 3.2.2 & Redis & GenericJackson2JsonRedisSerializer Spring Boot 2 에서 Spring Boot 3 으로 마이그레이션 하면서 Redis 역/직렬화 이슈가 발생하였습니다. 아래 문서를 읽고 기존에 사용하던 Jackson2JsonRedisSerializer 라이브러리를 GenericJackson2JsonRedisSerializer 라이브러리로 교체하였습니다. https://docs.spring.io/spring-session/reference/configuration/redis.html GenericJackson2JsonRedisSerializer GenericJackson2JsonRedisSerializer 클래스는 Spring Data Redis에서 제공하는 RedisSerializer의 구현체 중 하나로, Java 객체를 JSON으로 직렬화하거나..
인기글
- jQuery 🔊🔍 jquery checkbox 선택 / 해제 방법 🔊🔍 jQuery를 이용한 체크박스 선택 및 해제 방법 웹 개발을 하다 보면, JavaScript 라이브러리 중 하나인 jQuery를 사용하여 체크박스를 프로그래매틱하게 제어해야 하는 상황이 종종 발생합니다. 이 포스트에서는 jQuery를 이용해 체크박스를 선택하거나 해제하는 방법을 소개하겠습니다. 체크박스 선택하기 아래의 jQuery 코드는 특정 ID를 가진 체크박스를 선택하는 방법을 보여줍니다: $("input:checkbox[id='체크박스아이디']").prop("checked", true); 이 코드는 '체크박스아이디'라는 ID를 가진 체크박스를 찾아서 선택합니다. .prop("checked", true) 부분이 체크박스를 선택하도록 설정합니다. 체크박스 해제하기 체크박스를 해제하려면, true 대신 ..
- html CSS를 이용하여 부모 요소의 높이에 자식 요소를 맞추는 방법 CSS를 이용하여 부모 요소의 높이에 자식 요소를 맞추는 방법 웹 페이지 레이아웃을 디자인할 때, 부모 요소(div)의 높이를 자식 요소에 자동으로 적용하고 싶은 경우가 종종 있습니다. 특히, 자식 요소들이 부모 요소의 높이에 꽉 차게 표시되어야 할 때 이 방법이 유용합니다. 이 포스트에서는 CSS만을 사용하여 이를 해결하는 방법을 소개하겠습니다. 문제 상황 부모 요소에게 height: 100px;를 주었을 때, 자식 요소들이 자동으로 부모의 높이를 채우도록 설정하고 싶습니다. 이를 위해 자식 요소들에게 하드코딩으로 height: 100px;를 설정하는 것이 아니라, 더 유연한 방법이 필요합니다. 해결 방법 자식 요소들에게 다음과 같은 CSS 속성을 적용하여, 부모 요소의 높이에 맞춥니다. .child-..
- troubleshooting Some of selected resources were not committed. 에러 해결하기🏇🏇 SVN ERROR 🏇🏇 Some of selected resources were not committed. 선택한 리소스 중 일부가 커밋되지 않았습니다. Override and Commit 했더니 저래뜬다. 방법 1 실패 했음 방법 2 - 실패 했음 방법 3 - 해결 기존 파일을 백업 뜬다. overrode update받아. 백업 파일을 프로젝트에 저장 commit 🧡 블로그 글이 도움이 되었다면 좋아요 구독 감사합니다 꾸벅 💛