[Spring Redis] incompatible types for field 해결

문제 Redis 를 스프링 세션 저장소로 사용하며 사용자의 로그인 정보를 저장 하고 있었습니다. 그런데 저장되는 DTO 객체를 조금 수정했더니 SerializationException: Cannot deserialize 라며 에러가 발생하기 시작했습니다. 정확히 방금 변경한 필드가 에러메시지에 정확히 표기되었기 때문에 에러의 원인은 명확 했습니다. 원인 원인은 기존에 Redis에 저장되어 있던 세션 데이터와의 충돌 때문이었습니다. 세션에 이미 저장되어 있는 데이터를 어플리케이션에 불러 오며 다시 역직렬화를 시키는 과정에서, 클래스의 구조가 일치하지 않았기 때문에 에러가 발생 한 것 입니다. 해결 해결 과정이 생각보다 간단하지가 않았는데요. 아래에서 언급될 몇가지 이유가 있었습니다. 차근차근 해결을 해 보..

Development/Daily Error 2022.08.17
[IntelliJ IDEA] 메모리 설정 변경으로 Low memory 해결하기

문제 사실 인텔리제이를 사용하다보면 흔히 겪는 일인데, 힙메모리 부족으로 퍼포먼스가 느려진다는 경고가 뜰 때가 있습니다. 불과 얼마 전 까지만 해도 8GB 메모리의 M1 맥북에어를 사용 하고 있었기때문에 메모리를 많이 늘릴 생각보다는 사용중인 웹 브라우저들을 최대한 닫는 등의 방법으로 넘어 갔었는데요 얼마전 큰맘 먹고 넉넉한 메모리의 새로운 맥북을 구입 하였기 때문에 이제는 해결이 가능 해 졌습니다. 다만, 물리적으로 메모리를 늘릴 수 없는 분들이라고 해도 아래 내용을 통해 힙메모리를 변경하고 테스트 해 보셔서 더 할당 가능한 여유범위를 한번 체크 해 보세요. 힙메모리 확인 일단 인텔리제이 아이디어가 사용하고 있는 물리적인 힙 메모리의 크기를 확인 해 보도록 하겠습니다. Shift 키를 두번 누르고 me..

Development/Develop Tools 2022.08.15
[Java] Unsupported class file major version 61 해결하기

문제 Unsupported class file major version 61 ArchUnit을 통한 아키텍처 테스트를 해 보려는데 Unsupported class file major version 61 에러가 발생했습니다. 원인 class file major version 61은 로드 하려고 시도하고 있는 클래스 파일이 자바 17 혹은 그 이상의 버전에서 컴파일이 되었으며, 자바 17 이상에서만 사용 될 수 있을 때 발생한다고 합니다. 사실 스프링부트 3.0 부터는 요구되는 자바 버전이 17이 될거라는 소식을 듣고, 미리 JDK 17을 사용하며 불편한 상황이 어떤게 있을 지 알아보고, 트러블슈팅이 가능하다면 해보려고 Temurin JDK 17 (AdoptOpenJDK 에서 이전됨) 을 사용하고 있었거든요..

Development/Daily Error 2022.08.14
INFCON 2022 신청 성공

https://infcon.day/ 벌써 일년 2021년 8월 4일에 개발자로서 첫 직장에 출근을 시작했으니 내일이면 드디어 만 1년차 개발자가 됩니다. 1년동안 근무하며 참 많은 일이 있었지만 지금까지도 최대 관심사 중 하나는 개발자로서의 성장 입니다. 회사에서 맡고 있는 프로젝트에 진심으로 임하고, 기능 하나를 추가하더라도 너무 오버스펙으로 넣는거 아니냐는 소리를 들을 정도로 사용자를 우선으로 생각하며 항상 최선을 다하고는 있지만.. 균형있는 영양소의 섭취가 필요하듯 주어진 일 만 해서는 금새 성장에 정체기가 올거라고 생각했습니다. 정말 감사하게도 재직중인 회사에서는, 진행되는 사내 교육 프로그램은 없지만 구성원들의 성장을 적극 장려하기 위해 인프런을 통한 교육을 지원 하고 있습니다. 그 덕에 관심있..

Development/DevLife 2022.08.02
[MacOS] M1 맥북 도커로 ORACLE DB 실행하기

Intro M1 맥북을 처음 구입 한 이후로 약 1년 반동안, 오라클 데이터베이스를 띄우기 위해 참 많은 노력을 했었습니다. 원래부터 Oracle이 MacOS를 정식 지원을 하지는 않았지만, 그나마 이전의 맥북에서는 작동시킬 방법들이 있었는데 Apple Silicon 에서는 먹히지가 않았습니다. 아키텍처가 바꼈거든요. 많은 고민과 시도 끝에 결국 오라클 클라우드에 DB를 띄워놓고 사용하는 방법 으로 한참을 해결을 해 왔는데요, 난이도가 높은건 둘째 치더라도 인터넷이 안되는 환경에서는 이용할 수 없었습니다. 요즘엔 사실 인터넷이 안되면 개발을 못하는게... 하지만 이제는 방법이 생겼습니다. 오픈 소스 컨테이너 런타임인 Colima를 사용해 oci-oracle-xe 이미지를 x86/64 환경으로 띄운다면 M..

IT ⁄ Computer/Mac 2022.08.02