Programming/삽질일기15 [Kotlin, jackson] non-null 객체에 런타임에 null 초기화하는 문제 코틀린은 compile-time에 변수의 null 여부를 검사할 수 있는 null-safety 기능을 제공한다. 그러나 run-time에 null이 초기화되는 것은 체크할 방도가 없다. 따라서 위 테스트는 말끔하게 통과하는 불상사가 일어난다. 코틀린으로 스프링 개발할 때 jackon 라이브러리에서 필드값들을 (역) 직렬화 작업을 하면서 위 현상을 보고, NPE까지 터지는 일이 발생한다. 다행히도 jackson에서 아래 같은 애노테이션을 지원한다. 2024. 6. 25. [Kotlin, JPA] Should have [public, protected] no-arg constructor @Entity@Table(name = "member")data class Member( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long? = null, @Column val nameMember: String, @Column val ymdtCre: LocalDateTime = LocalDateTime.now(), @Column val ymdtUpdt: LocalDateTime?) 에러 메시지에 원인이 나와있다. public, protected 접근제어자로 기본생성자를 만들라는 컴파일 에러다. 엔티티는 반드시 기본 생성자를 가져야한다. Java라면 Lombok을 사용해 @NoArg.. 2024. 6. 10. [Intellij] java.lang.NoSuchFieldError: FILE_HASHING_STRATEGY Intellij 2024.1 이 릴리즈 되었다. 그리고 업그레이드하자마자 코틀린 빌드 시 아래 에러를 마주했고, 하는 수 없이 2023.6으로 롤백했다. 빨리 다음 버전에 패치해 줬음 한다. 의심 가는 원인은 kotlin 버전이다. 1.6 이하 (포함)에서 빌드 시 버그가 있는 느낌이다. Kotlin: connecting to daemon Kotlin: compiling [my.module] Kotlin: kotlinc-jvm 1.6.21 (JRE 11.0.22+7-LTS) Kotlin: [Internal Error] java.lang.NoSuchFieldError: FILE_HASHING_STRATEGY at org.jetbrains.kotlin.jps.targets.KotlinJvmModuleBuil.. 2024. 4. 12. [Tip] IntelliJ에서 Java 코드 Kotlin으로 자동 변환하기 Java-to-Kotlin converter 인텔리제이는 자바 코드를 코틀린으로 자동으로 변환해주는 기능을 지원하고 있다. 정확히는 .java 파일을 .kt 파일로 변환해주는 것. 완벽히 변환하지는 않지만 초반에 코틀린이 어색하거나 할때 유용하게 사용 가능할 듯? 자바 파일 > 오른쪽 마우스 > Convert Java File to Kotlin File 2024. 3. 7. [Intellij] 코드 복사 text만 하는 방법 (copy as plain text) 문제 Intellij에서 코드를 복사해서 다른 곳에 붙여 넣을 때 코드 블록채로 복사되어 툴에 따라 코드블록이 생성되면서 붙여 넣어질 때가 있음 해결 방법 1. 오른쪽 마우스 > Copy as Plain Text (임시방편) 이렇게 하면 복사할 때마다 해줘야함. 방법 2. Copy as rich text 설정 해제 아래 그림처럼 기본적으로 Copy as rich text 설정을 체크 해제해서 기본적으로 복사 시 텍스트만 복사하도록 설정할 수 있음 2024. 3. 6. [GitHub] Personal access tokens으로 private repository 내려받기 remote: Repository not found. 문제 $ git clone Cloning into ... remote: Repository not found. fatal: repository not found GitHub private repository를 내려받으려는 중 위 처럼 repository url을 인식하지 못하는 오류 발생. 원인 해당 Repo에 접근할 수 있는 Git 계정이 OS에 설정된 Git 계정과 달라서 발생하는 문제로 예상. 로컬에서 여러 GitHub 계정을 사용할 것이기 때문에 글로벌 설정을 해주어도 매번 바꿔주어야함 해결 GitHub에서 Personal access tokens (classic)을 발급받아 아래처럼 url에 붙여서 사용 $ git clone @ Cloning into ... remote: Enumerating .. 2024. 1. 18. 이전 1 2 3 다음