코틀린

안녕하세요~! ㅎㅎ 오늘은 kotlin 에서 Annotation 에 대해 알아보도록 할게요. 개발을 진행하다보면 custom 한 validation annotation 을 만들거나, spring aop 혹은 여러 유틸들을 만들때 유용하게 사용되는데요. Java 와는 약간 다른 컨셉으로 kotlin 에서는 정의되어 있다보니, 하나씩 차근차근히 봐보도록해요. Annotation kotlin 의 어노테이션을 코드와 함께 살펴보도록 해봅시다. @Target( AnnotationTarget.FIELD, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE_PARAMETER, AnnotationTarget.P..
Coroutine 안녕하세요~ 오늘은 Coroutine 을 구현할 때 예외 처리에 대한 방법을 알아보도록 해볼려고 해요 흔히들 kotlin 에서는 try catch 문을 활용해서 예외를 핸들링 하거나 runCatching 문을 통해서 Result 객체를 기반으로 처리를 많이 하게 되는데요. Coroutine 에서는 직접적으로 예외를 catch 해서 하는 방식보다 다양한 방식으로 예외처리하는 유틸들을 제공한답니다. 하나씩 알아보도록 해보죠~! 🤗 Coroutine Hierarchy 예외에 대해 직접적으로 살펴보기전에 우리는 Coroutine 의 계층 구조를 알아볼 필요성이 있습니다. Coroutine 에서의 구조는 계층 구조를 띄고 있습니다. 부모로부터 호출된 coroutine 은 자식의 성격을 띄고, 자..
코루틴이란? 같은 프로세스라도 쓰레드를 어떻게 운영하느냐에 따라서 처리량이 많이 달라질 수 있죠 🔄 코틀린의 경우 코루틴 이라는 동시성이 가능하도록 하는 기능이 있습니다 코루틴은 일반적으로 경량 쓰레드 라고 불리워지며 쓰레드당 하나의 명령만 실행됩니다 즉, 쓰레드보다는 생성비용이 가볍고 빠르게 생성할 수 있다는 것에 장점이 있습니다 👍 코틀린은 왜 경량 쓰레드라고 불러질까요? https://stackoverflow.com/questions/63719766/why-kotlin-coroutines-are-considered-light-weight Why kotlin coroutines are considered light weight? If coroutines is still using threads to ..
Kotlin의 Collection 함수들 오늘은 Kotlin의 Collection 함수들에 대해서 파헤쳐보는 시간을 가지도록 하겠습니다 ㅎㅎ 현업에서 코틀린을 처음 접한지 벌써 저도 5개월차가 되어가는데요 현업에 다양한 비즈니스 로직을 구현하다보면 Collection에 있는 기본 Util 함수들을 자주 사용하게 됩니다 하지만, 아주 기본적이면서도 구체적으로 동작하는 원리를 알아야 어떻게 활용되는지 알 수 있기 때문에 조금 더 deep 하게 파헤쳐보는 시간을 가져볼까 합니다 참고할 코드 우리가 참고하면서 파헤쳐 보는 코틀린 파일은 단 1개입니다 kotlin.collections.CollectionsKt.class 엥? 너무 짧지 않냐구요? 아닙니다 ㅎㅎ 엄청 길어요 ㅠㅠ 분류별로 하나씩 들어가봅시다~! 여..
JUnit 일반적으로 Spring 기반의 프로젝트에서 테스트를 다루게 된다면, 대부분의 경우에는 Junit 기반의 테스트를 작성하게 됩니다 그런데, Junit을 사용할 때 주의할 점이 몇 가지 있는데요 우리가 무심코 알고 지내지 못했던 사실들에 대해서 공부해보자 합니다 Junit의 생명주기? 테스트가 실행될 때 우리는 이 생명주기가 어떻게 되는지 알아볼 필요성이 있습니다. 왜냐하면, Spring 통합테스트(=Integration Test)를 작성하다보면, 어쩔 수 없이 하나의 Context 로 여러개의 테스트를 실행하는 경우가 존재할 수 밖에 없기 때문이죠 물론 Spring Context 를 사용하지 않는 방향이 제일 좋은 방향성이지만, 보다 철저한 테스트를 위해서 Context 를 Load 할 수 밖에..
고차 함수 코틀린은 Functional Programming 에 특화된 언어니 한번 파헤쳐보자 목차 고차 함수 목차 함수 정의하기 함수를 리턴하는 함수 고차 함수 흐름제어 함수 정의하기 코틀린을 처음하다 보면 굉장히 어색한 문법이 있는데, list.filter { it % 2 == 0 } 와 같은 문법이다 처음에는 정말 어색하지만, 두고 볼수록 정말 매력 있는 녀석이다 자바에서는 list.stream() .filter(num -> num % 2 == 0) 와 같은 녀석인데, 코틀린에서 위에서 저렇게 사용하는건 유감스럽게도 java stream 처럼 lazy 한 속성을 가지고 있지는 않다(일반적인 순차선회) kotlin의 stream을 쓰기 위해서는 asSequnence 를 선언해줘야 가능하다 아니 왜 함..
huisam
'코틀린' 태그의 글 목록