f 'kotlin' 태그의 글 목록 — 하늘속에서IT

kotlin

    [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:..

    [Spring Boot] Spring Boot(Kotlin) Gradle 환경에서 docker 이미지를 추출하는 방법(feat. bootBuildImage)

    설명 환경 윈도우즈 docker desktop 설치됨 Spring Boot 프로젝트 kotlin Gradle 로 빌드툴을 설정했을 경우 다음과 같은 탭을 찾아볼 수 있다. Gradle 빌드 툴이 제공해주는 docker image 빌드 명령어이다. Image 저장되는 장소 아무런 설정을 하지 않았을 경우 docker 로컬에 저장된다. 이는 docker desktop 과 docker CLI 를 통해 확인 가능하다. docker command : docker images docker 이미지 변경 build.gradle.kts 파일에서 다음과 같이 작성할 경우 이미지명이 변경된다. tasks.getByName("bootBuildImage"){ imageName.set(".../request-test:latest..

    프로그래머스 :: 연습문제 :: 숫자 카드 나누기

    풀이 package programmers.test import kotlin.math.sqrt class 숫자카드나누기 { fun solution(arrayA: IntArray, arrayB: IntArray): Int { val answerList = mutableListOf() /** * 설명 * - 철수와 영희가 가진 숫자카드의 최대공약수를 구한다. * - 각자의 공약수로 상대방의 숫자카드가 안나뉘어지는지 확인한다. * - 안나뉘어진다면 `answerList`의 원소로 추가한다. * * - 만약 `answerList`의 크기가 0 이라면 조건에 해당하는 경우가 없음으로 `0`을 return 한다. * - 그게 아니라면 `answerList`의 수중 가장 큰 수를 return 한다. * */ val g..

    Programmers :: 연습문제 :: 롤케이크 자르기

    풀이 class 롤케이크자르기 { fun solution(topping: IntArray): Int { var result = 0 /** * 설명 * - 만약 topping 의 크기가 `1` 이라면 공평하게 나눠 먹을 수 없다. * */ if(topping.size == 1){ return 0 } /** * 설명 * - `철수`와 `철수 동생`이 slicingPoint 를 기준으로 몇가지 종류의 topping 을 가지고 있는지 표현한다. * * @Variable * - 철수 : cs * - 철수 동생 : csBrother * - slicingPoint : `철수`와 `철수 동생`이 공평하게 나눠먹을 수 있는 시점 * */ val csGroup = topping.slice(IntRange(0,0)).toT..