veluxer62 / veluxer62.github.io

veluxer's blog
http://veluxer62.github.io
MIT License
2 stars 0 forks source link

11월 개발일지 #639

Closed veluxer62 closed 1 year ago

veluxer62 commented 2 years ago

Motivation

Suggestion

1

veluxer62 commented 2 years ago

탐색적 테스팅

http://jidum.com/jidums/view.do?jidumId=586#:~:text=%ED%83%90%EC%83%89%EC%A0%81%20%ED%85%8C%EC%8A%A4%ED%8C%85%EC%9D%98%20%ED%85%8C%EC%8A%A4%ED%8A%B8%20%EC%A0%88%EC%B0%A8%EC%99%80%20%EA%B5%AC%EC%84%B1%20%EC%9A%94%EC%86%8C&text=%EC%A0%9C%EC%9E%84%EC%8A%A4%20%EB%B0%94%ED%81%AC(James%20Bach)%20%EA%B0%80,%ED%85%8C%EC%8A%A4%ED%8A%B8%EB%A5%BC%20%EA%B3%84%ED%9A%8D%ED%95%98%EB%8A%94%20%EA%B8%B0%EB%B2%95

veluxer62 commented 2 years ago

JDK 11/17 에서 리소스 용량에 따라 GC 구현체가 달라짐

https://stackoverflow.com/questions/70664562/criteria-for-default-garbage-collector-hotspot-jvm-11-17

아무래도 serial gc가 heap size가 작으면 빨라서 (반대로 g1 gc는 size가 클수록 효율적이어서) 그런 정책이 있는것 아닐까..

veluxer62 commented 2 years ago

jpa에서 jsonb 컬럼 저장 시 backing property를 사용하면 아래와 같은 오류가 반환된다. 사용시 유념하자.

java.lang.IllegalArgumentException: The given byte array cannot be transformed to Json object; nested exception is org.hibernate.HibernateException: java.lang.IllegalArgumentException: The given byte array cannot be transformed to Json object

오류 코드

data class EcountErpSaveSaleResponse(
    val data: EcountErpSaveSaleResponseData?,
    val errors: List<EcountErpSaveSaleResponseError>?,
    val status: String,
) {
    val isSuccess: Boolean get() = data != null && status == "200" && data.failCnt <= 0
}

해결

data class EcountErpSaveSaleResponse(
    val data: EcountErpSaveSaleResponseData?,
    val errors: List<EcountErpSaveSaleResponseError>?,
    val status: String,
    val isSuccess: Boolean = data != null && status == "200" && data.failCnt <= 0
)
veluxer62 commented 2 years ago

OSIV는 Controller를 통해서 진입한 경우에만 동작한다. 배치에서 트리거 하는 경우 OSIV가 동작하지 않음

veluxer62 commented 1 year ago

묶음 배송을 영어로 표현하면 Consolidated Shipping 이라고 표현한다

https://www.chrobinson.com/en-us/resources/blog/freight-consolidation-bridging-gap-ltl-full-truckload-2/

veluxer62 commented 1 year ago

스프링 3.0.0 이 나왔다

https://github.com/spring-projects/spring-boot/releases/tag/v3.0.0

major 버전을 올리는 기능은 하나밖에 없는데 Spring Integration components를 적용하는 방식 중 하나를 추가하느 것이다. 이는 스프링의 근본적인 기능을 변경하는거라 버전이 올라가는듯하다.

https://docs.spring.io/spring-integration/docs/current/reference/html/overview.html

spring boot 3.0.0으로 바꾸면서 hibernate 도 6.x.x로 바뀌게 되었다.

그래서 마이그레이션을 해야한다... https://docs.jboss.org/hibernate/orm/6.0/migration-guide/migration-guide.html

가장 큰것은 패키지가 바뀐것

javax.persistence.Entity -> jakarta.persistence.Entity

여기서 문제가 하나 생겼는데 QueryDSL에서 hibernate 6.x.x 버전을 지원해주지 않는다는것.... 문의를 남겼고 아래와 같이 설정을 해주면 된다고 한다.

<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-apt</artifactId>
    <version>${querydsl.version}</version>
    <classifier>jakarta</classifier>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-jpa</artifactId>
    <version>${querydsl.version}</version>
    <classifier>jakarta</classifier>
</dependency>

https://github.com/querydsl/querydsl/issues/3436

@Constructingbinding은 이제 사용하지 않아도 된다.

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#constructingbinding-no-longer-needed-at-the-type-level

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide

참고

이틀정도 설정에 시간을 투자했으나 너무 일럿던것 같다. feign도 RC 버전을 쓰고 하는걸 보니 아직 다른 라이브러리들이 Spring 3.x.x에 대한 대응이 안되고 있는듯 하다.

veluxer62 commented 1 year ago

dynamic versioning에 버그가 잇네

스프링 3.0.+으로 업그레이드 하고 spring data elasticsearch를 4.4.+로 하니까 spring data elasticsearch가 5.0.0으로 되어버림