f 하늘속에서IT — 하늘속에서IT
전체 글

전체 글

    [ETC] StringEscapeUtils 사용할 때 오류가 발생한다면?(feat. Could not initialize class..)

    발단 html escaping 된 정보가 그대로 DB 에 저장되어 있기에 이를 unescaping 처리하여 사용자에게 보여져야 한다는 요구사항을 처리하는 과정에서 발생하게 된 문제를 해결하는 과정을 나열합니다. html escaping 된 정보 해결 방법 접근 SSR 환경에서 작업중임으로 html entity( )등과 같은 텍스트에 대한 직접 변환을 처리 SSR 로는 그대로 값을 내려주고 프론트에서 escaping 하여 값을 처리 SSR 환경을 사용하고 있음으로 1번 방식을 선택 1번 방식은 간단하나 html entity 요소들이 많기에 라이브러리를 사용하기로 하였다. 마침 apache commons-net 을 사용중에 있음으로 StringEscapeUtils 클래스를 사용하려 하였다. 문제발생 문제1...

    [JPA] 연관관계를 맺은 객체에 대해 지연 로딩이 동작하지 않는다면(feat. kotlin, hibernate, lazy-loading)

    발단 스케줄러 작업을 통해 주기적으로 DB 요청을 하는 상황에서 로그를 살펴보니 원하지 않았던 정보까지 요청하고 있어 어떻게 해결하게 되었는지 공유하고자 합니다. 환경 Spring Boot > 3.0 Kotlin Kotlin 의 final 정책 이해를 돕기 위해 간단히 Kotlin 의 정책에 대해 얘기해보고자 합니다. Effective Java, "Item 17: Design and document for inheritance or else prohibit it" `Effective Java` 2001 연도에 출판한 책으로 Java 의 효율적인 사용과 좋지만 흔히 사용되지 않은 개발패턴에 대해 언급한 저명한 서적입니다. 해당 책에서 `상속을 위해 디자인과 문서화 하지 않을거면 지양해라` 라는 챕터를 다룬..

    [Gradle] Spring Boot + Gradle 환경에서 bootBuildImage 의 createdDate(생성 일자)의 표기가 1980년도로 되어있다면?(feat. kotlin, intellij)

    발단 intellij 환경에서 gradle 플러그인을 통해 bootBuildImage 로 docker 의 image 를 관리할 때 생성일자가 과거로 설정되어있는 것을 확인하였다. 환경 Spring Boot 3.1.3(kotlin) build.gradle.kts 해결 tasks.withType{ ... createdDate = "now" // 또는 ISO 8601 규격에 맞는 값을 입력 } 참고 stack overflow 를 통한 원인 Spring Boot 2.3.0 buildpack builds image with creation date 40 years ago I've tried to use buildpack in a maven project with Spring Boot 2.3.0 running: m..

    [Spring Boot] @ModelAttribute 로 맵핑하려는 대상의 depth 가 2 이상일 때 요청하였는데 오류가 난다면?(feat. kotlin)

    발단 최근 작업중인 프로젝트에서 등록 기능에 파일이 포함되어야 할 수 있기 때문에 @RequestBody 가 아닌 @ModelAttribute 로 mutlipart/form-data 타입의 요청을 다루어야 하였다. 이 때, dto 가 2-depth 가 되며 생긴 문제이다. 예시 코드 @RestController @RequestMapping("") class TestController { @PostMapping("") fun hiPost( @ModelAttribute body: TestDto, ){ ... } } data class TestDto( var name: String = "", var testInnerDto: TestInnerDto ) data class TestInnerDto( var age:..