Kotlin

JVM/Kotlin

[Coroutines] Dispatchers 알아보기

예제 fun main(): Unit = runBlocking { launch { // #1 println("main runBlocking : I'm working in thread ${Thread.currentThread().name}") } launch(Dispatchers.Unconfined) { // #2 println("Unconfined : I'm working in thread ${Thread.currentThread().name}") } launch(Dispatchers.Default) { // #3 println("Default : I'm working in thread ${Thread.currentThread().name}") } launch(newSingleThreadContext("M..

JVM/Java

[java] BigDecimal의 equals 와 compareTo with kotlin

😲 서론 BigDecimal 을 통해 연산자를 통해 값을 비교하다가 조심해야될 것을 발견했다. 🫡 본론 결과의 값이 1인지를 확인하려고 했는데, 내 생각과 다르게 false가 나왔다. fun main() { val result = BigDecimal("1.00") println(result == BigDecimal.ONE) // false } equals의 java doc 확인해보니 아래와 같은 설명이 적혀있었다. equals Javadoc Compares this BigDecimal with the specified Object for equality. Unlike compareTo, this method considers two BigDecimal objects equal only if they a..

JVM/Kotlin

[kotlin] kotest After/before each not working for withData

😏 서론 글작성 기준 kotest version 5.5 data-driven test를 위해 withData를 사용했을 때 afterEach / beforeEach가 예상과 달리 동작하지 않았다. 🤩 본론 간단하게 kotest의 TestType부터 살펴보고 넘어가보자면.. Type Description Container 다른 테스트를 포함할 수 있는 컨테이너 Test 중첩 테스트를 포함할 수 없는 리프 테스트 Dynamic Container, Test 둘 다 일 수 있으며, Propery test, data test와 같은 기능을 통해 테스트가 동적으로 추가될 때 사용 withData는 보다시피 TestType이 Dynamic을 사용하고 있다. 공식문서에서 나온 내용으로 살펴보자면 Dynamic은 모든 ..

JVM/Kotlin

Kotest 5.1 이상 버전 java.lang.NoClassDefFoundError: kotlinx/coroutines/test/TestDispatcher 해결방법

😳 서론 사용 중인 버전 정보 kotlin - 1.6 kotest - 5.5.4 spring boot - 2.6.x 😎 본론 kotest 도입을 위해 모듈을 추가해서 테스트를 돌렸더니 아래와 같은 에러가 발생했다. 원인 kotest 5.1 버전부터 kotlin-coroutiones 1.6 버전을 사용하고 있다. 하지만, spring boot 2.6.x 대의 kotlin-coroutiones 버전은 1.5.2 를 사용하고 있어서 문제가 발생했다. 해결방법 io.spring.dependency-management 에서 정의한 기본 버전정보를 변경해주면 된다. build.gradle.kts extra["kotlin-coroutines.version"] = "1.6.0" or gradle.properties k..

JVM/Kotlin

[Kotlin] 코틀린 학습 시작!

📚서론 - 본론 - 결론 취업을 준비하고, 회사 채용공고를 보면서 가장 많이 느껴진 부분은 이제 Java가 아닌 Kotlin을 정말 많이 사용하고 있다는 걸 느꼈다. 그렇게 생각한 이유는 아무래도 대부분의 회사에서 자격요건에 Java만을 표기하기 보다는 Kotlin을 곁들인 경우가 많았다. 그리고 지금까지 내 주위에서 Kotlin을 써본 사람들 모두 입을 모아 이렇게 말한다. "자바로 돌아가기 싫다." 모두 코틀린의 장점으로 무조건 나오는 말은, Java에 비해 매우 간결하고, Java와 호환이 되며, 마지막으로 Null 처리에 대해서 아주아주 칭찬이 많았다. 왜 어떻게 Java를 대체하려고 웅성웅성인지 이제 너무 궁금해서 한 번 공부해봐야겠다!

JVM/Java

[Java] Gradle, Groovy Gradle, Kotlin Gradle

🙂 서론 이번 Project 에서 코드는 java를 사용하고, 빌드툴은 Kotlin Gradle DSL 을 사용하기로 하였습니다. Gradle에 대해서도 한 번 정리하면 좋을 것 같아서 글을 적어봅니다. 😁 본론 Gradle 이란? https://github.com/gradle/gradle Gradle 은 빌드 자동화 및 다국어 개발 지원에 중점을 둔 빌드 도구입니다. 모든 플랫폼에서 소프트웨어를 Building, Testing, publishing, deploying 하는 경우 Gradle 은 코드 컴파일 및 패키징에서 웹 사이트 게시에 이르기까지 전체 개발 수명 주기를 지원할 수 있는 유연한 모델을 제공합니다. Gradle은 Java, Scala, Android, Kotlin, C/C++ 및 Gro..

Hyo Kim
'Kotlin' 태그의 글 목록