JVM4 MapStruct! JPA Entity 매핑 간 주의해서 사용하자 최근 비상 결제 모드를 개발 및 배포하며, 참으로 어이 없는 작은 코딩 관련 이슈로 인해 데이터에 이상이 있었다. 바로, MapStruct 얘 때문인데.. 한번 나열해보겠다. (항상 생각하는 거지만, 코드 단 한줄의 파급효과가 엄청 나다.) MapStruct 란?Java Bean 유형 간 매핑 구현을 도와주는 코드 생성기컴파일 타임에 코드 생성 및 런타임에서 안정성 보장순수 Java code 를 호출하므로 다른 매핑 라이브러리보다 속도가 빠르다. (Reflection 을 사용하지 않기 때문)Annotation Processor 를 이용하여 매핑 방식에 편리함을 제공 사용 예시JAVA@Mapper public interface UserMapper { UserMapper INSTANCE = Mappers.g.. 2024. 3. 24. Spring Boot 애플리케이션 k8s 환경에서 WarmUp 적용하기 이 글을 작성하는 이유 현재 회사에서는 EKS 기반 k8s 환경에서 spring boot 를 포함 각종 프레임워크 애플리케이션을 운영 중이다. 기존 모노리스 Django Rest Framework 에서 점진적으로 도메인 분리를 Spring Boot 를 이용한 Micro Service Application 으로 진행 중인데, 내가 맡은 결제 도메인 관련 애플리케이션도 마찬가지이다. (Kotlin 기반 Spring Boot App) 문제는, 결제가 주문 및 유관 DB 와 너무 강하게 얽혀 있어서 바라보아야 하는 테이블이 많다는 점이고, 이것은 곧 배포 직후 속도에 커다란 영향을 끼쳤다. JVM 은 컴파일 된 .class 파일을 필요 시 클래스 로딩을 통해 사용하며, 기본적으로 인터프리터 방식을 사용하므로 J.. 2024. 3. 17. 2022.02.14 (개념 정리) ▶ 개인 공부 관련 7. Garbage Collection(가비지 컬렉션)의 동작 방식Young 영역과 Old 영역은 서로 다른 메모리 구조로 되어 있기 때문에, 세부적인 동작 방식은 다르다. 하지만 기본적으로 가비지 컬렉션이 실행된다고 하면 다음의 2가지 공통적인 단계를 따르게 된다.Stop The World : JVM이 애플리케이션의 실행을 멈추는 작업이다. GC가 실행될 때는 GC를 실행하는 쓰레드를 제외한 모든 쓰레드들의 작업이 중단된다. 당연히 모든 쓰레드들의 작업이 중단되면 애플리케이션이 멈추기 때문에, GC의 성능 개선을 위해 튜닝을 한다고 하면 보통 stop-the-world의 시간을 줄이는 작업을 하는 것이다.Mark and Sweep :Mark: 사용되는 메모리와 사용되지 않는 메모리를.. 2022. 2. 15. 2022-02-14의 기록 ▶ 오늘 실현 가능한 세부 목표 => 공부 관련 1) 배운 내용 복습 2) G.C 및 JVM 동작 원리 완전 이해 3) primitive type & reference type 차이점 확실히 외우기 (타입의 대한 차이) 4) 객체지향이 확실히 뭔지 (말로 설명 가능해야함.) 5) 객체지향의 요소(4가지) => 예시를 들어 설명 가능하게 6) 자바의 정석 객체지향 프로그래밍 1 ▶ 수업 공부 관련 => AJAX를 이용하여 db에 바로 접근 가능하게 할 수 있다. => 검색창 유사 검색어 기능은 suggest 기능도 생각할 수 있다. => ajax 제이쿼리 속성에서 dataType : "json"일 경우 자동으로 자바스크립트 객체로 만든다 하지만 다른 파일(xml)을 불러올 시 에러코드 200 발생. (요청.. 2022. 2. 14. 이전 1 다음 반응형