kotlin
-
코틀린, 스프링 기반 마이크로서비스 개발을 위해 읽은 책들Java 2022. 3. 11. 09:45
약 3개월 전, 새로운 팀에 합류하게 되었습니다. Kotlin, Spring Webflux, MySQL, Redis, Kafka, GRPC로 이어지는 새로운 기술 스택에 적응하기 위해 많은 자료들을 찾아보게 되었는데요. 이번 글에서는, 적응하기 위해 읽었던 책들 중 추천할만한 책들을 공유해보려고 합니다. 추천하는 책들 읽어볼만한 책들 추천하는 책들 추천하는 책들은 다뤄주고 있는 내용에 익숙하지 않다면, 50% 이상 정독을 권하는 책들입니다. Effective Kotlin by Marcin Moskala Kotlin의 기초 문법 보다는 실제로 Kotlin을 자주 사용할 때의 best practices들이 담겨 있습니다. Python, Java의 Effective 시리즈와는 다른 출판사에서 출시되었으나, e..
-
Kotlin Coroutines for BackendJava 2022. 2. 21. 22:09
최근 코틀린으로 Spring Webflux 기반의 서비스를 만들며 suspend, withContext 등등 다양한 코틀린 코루틴들을 살펴보게 되었습니다. 코틀린의 기본적인 문법은 익숙해졌지만, 코드를 살펴봐도 명확히 이해되지 않는 부분들이 바로 코루틴과 관련된 부분들이었는데요. 이번 글에서는 [1]을 기반으로, 코틀린의 코루틴이 무엇인지 알아보도록 하겠습니다: 왜 코루틴을 사용할까? Sequence builder Suspension은 어떻게 동작하는가? Coroutine의 내부구조 왜 코루틴을 사용할까? JVM 상에서는 이미 잘 갖춰젼 RxJava 또는 Reactor와 같은 라이브러리가 있습니다. 더욱이, 자바는 멀티쓰레딩을 지원하고 일부는 오래된 callback 형태를 선호하기도 합니다. 비동기 연산..
-
Kotlin Inline modifier의 장점Java 2022. 1. 2. 21:00
inline modifier가 무엇인지 먼저 알아보고, 어떤 장점이 있는지 기술합니다. [1]의 내용을 중심으로 정리하였습니다. Inline Modifier란? 코틀린의 stdlib을 살펴보면, 거의 모든 higher-order functions이 inline modifier를 달고 있는 것을 볼 수 있습니다. 예로, stdlib의 repeat function은 아래와 같습니다: inline fun repeat(times: Int, action: (Int) -> Unit) { for (index in 0 until times) { action(index) } } inline이 컴파일될 때에 하는 일은, 해당 함수를 사용하는 모든 곳을 함수의 body로 변경하도록 합니다. 또한, repeat 내부에서 함수..